본문 바로가기

ML & AI/Algorithm

(5)
[알고리즘] ChatGPT - fine tuning #1 요새 ChatGPT가 핫 하다. Transformer에서 발전한 NLP 모델 중 가장 유명한 모델은 BERT와 GPT다. GPT 모델은 현재 4.0 버전까지 개발되었고, 현재 우리가 사용하는 ChatGPT는 GPT3.5 모델을 기반으로 한다. GPT3.0 버전에서 fine-tuning을 지원하는 모델은 "ada", "curie", "babbage", "davinci" 이며, 아쉽게도 ChatGPT의 근간인 text-davinci-003은 fine-tuning에 사용할 수 없다. 다만 ChatGPT 의 공개 API를 사용해서 Custom한 메세지를 생성하고자 Prompt 테스트를 해 보았다. Prompt 만으로도 내가 원하는 메세지를 출력할 수 있었지만, 메세지의 종류가 다양해질 수록 Prompt의 양이 ..
[알고리즘] ChatGPT - API 활용 #1 GPT3.5를 오픈한지 얼마되지도 않았는데, 벌써 GPT4.0이 오픈되었다. 최근까지 ChatGPT에 대한 여러가지 긍정적인 평가와 놀라움들에 대한 경험담이 올라오고 있음에도, 나는 그다지 새로울것이 없다고 치부해 버렸다. 이제부터라도 오만함을 버리고, 차근차근 새로운 경험을 배우는 자세로 ChatGPT를 공부하려한다. ▶ 확인하고 싶은 문제 나도 ChatGPT를 만들 수 있을까? ChatGPT를 확장하거나 재사용해서 새로운 AI를 만들 수 있을까? ChatGPT가 제공하는 기능을 어떻게 활용할 수 있을까? ▶ 활용하기 위한 방법 (2023.03.22 기준으로 내가 이해한 것) ChatGPT는 GPT3.5를 fine-tunning한 자연어처리 AI라는 점 ChatGPT의 stable version이 gp..
[알고리즘] 임베딩과 손실함수 선택하기 #4 알고리즘은 크게 분류(Classification)과 회기(Regression)으로 나눌 수 있다. 이러한 알고리즘을 사용하여 데이터를 학습하고, 서비스하기 위해서는 임베딩 작업과 손실함수를 선택하는 것이 필수다. 다만 임베딩을 위한 인코딩 방법이나 손실함수의 종류가 다양하기 때문에 Case에 따라 선택방법을 정리해 본다. "Classification vs Regression" 분류와 회기는 N개의 입력값을 M개로 출력값으로 변환한다는 점에서 유사하다. 하지만, 분류는 출력값(y1, y2 ... ym)을 "0~1" 사이값으로 출력하며, 모든 출력값의 합이 "1"된다. 즉 분류 알고리즘의 출력값은 확률값으로 이해해도 무방하다. 이와는 다르게 회기 알고리즘의 출력값(y1, y2 ... ym)은 범위가 없는 연..
[알고리즘] Merge를 통한 데이터 Filtering & Mapping #3 "데이터프레임 병합", pd.merge() 활용! A와 B 두 개의 데이터 소스가 있다. 예를 들어 A는 1일 동안 우리 회사의 "과자"를 구매한 고객들의 정보이고, B는 1일 동안 "음료"를 구매한 고객들의 정보라고 하자. 이때 과자와 음료를 구매한 고객이 추가로 구매할 상품이 무엇인지 알고 싶다면? 이 경우 Classifcation 알고리즘을 사용해서 추가 상품을 예측하는 모델을 만들 수 있다. 또한 모델 학습을 위한 학습 데이터, "과자와 음료를 구매한 고객 정보와 그 고객이 추가 구매한 상품 정보"가 필요하다. 따라서, 1일 동안 과자를 구입한 고객과 음료를 구입한 고객 정보를 합쳐서 하나의 데이터셋을 만들어야한다. 생성할 수 있는 데이터는 3가지로 구분할 수 있다. 과자와 음료를 모두 구매한 고..
[알고리즘] 알고리즘을 활용한 AI모듈 개발 방법 #2 알고리즘 개발? 알고리즘을 활용한 모듈 개발? 어찌되었든 내가 생각하는 최선의 개발환경을 구성하는 방법을 정리했었다. https://jarikki.tistory.com/47?category=959329 [알고리즘] 로컬 개발 환경 구축 #1 머신러닝과 딥러닝 알고리즘을 활용하는 방법과 알고리즘을 탑재한 AI모듈을 개발하는 방법을 정리한다. AI모듈 개발에 필요한 구성 요소를 나름대로 정리해 보았다. AI 모델 개발을 위한 구성요 jarikki.tistory.com 이제 실제 AI 서비스를 위한 모듈 개발 방법에 대해 나름의 방법론을 정리해 본다. AI 서비스를 개발하기 위해 우리는 Keras, Pytorch 등 다양한 프레임워크를 사용할 수 있다. ML 프레임워크의 사용 방법과는 별개로 어떻게 하면 조금..