주제
1. GenAI
2. LLM 소개
3. 나만의 LLM 만들기
4. GenAI 프롬프트 테그닉
5. AI의 발전
1. GenAI
- 학습된 컨텐츠 바탕으로 새로운 컨텐츠를 만드는 딥러닝 기술
- 프롬프트를 바탕으로 대답을 예측하거나 새로운 컨텐츠를 생성
- 딥러닝의 모델 타입 :
- Discriminative
- 분류/예측을 하는 것으로 레이블이 존재하는 데이터에 적용
- 피처들과 레이블들간의 관계를 학습
- Generative
- 훈련된 데이터와 비슷하지만 새로운 데이터를 생성
- 훈련된 데이터의 통계적 특성을 이해
- 비지도 학습에 해당
- Discriminative
- GenAI 모델에서는 출력은 보통 자연어 문장, 이미지, 오디오 등이 됨
- 모델의 헛소리 / 환각 : 부정확하거나 무의미하거나 완전히 조작된 정보를 생성하는 경우
- 사실 확인이 항상 필요함
- 발생 이유 : 훈련 데이터 불충분, 데이터의 최신성 부족, 데이터의 품질 이슈 등
- 인공 지능과 관련하여 Modality란 데이터의 유형을 의미함(멀티모달 파운데이션 모델)
1.1 GenAI의 파운데이션 모델
- 광범위한 데이터 세트에 대해 학습된 대규모 머신 러닝 모델의 한 유형으로 이미 일반적인 지식이 학습되어 있음
- 대용량 데이터로 학습하기 때문에 엄청난 시간과 돈과 인력이 필요
- 트랜스포머 모델 아키텍처를 사용함
- 특벌한 학습 없이 다양한 작업에 적용 가능
- 파인튜닝의 형태로 특정 지식을 학습 시킴
2. LLM 소개
- Large Language Model로 문장의 일부를 보고 빈 단어를 확률적으로 맞추는 모델
- "확률적"은 temperature라고 표현함
- 0-100 사이의 값으로 100에 가까울수록 더 랜덤해짐
- Language Model 훈련 :
- 웹상에서 존재하는 문서들이 훈련 데이터가 됨(위키피디아를 많이 사용)
- 단점 : 서버에 유지하는 비용이 굉장히 큼
3. 나만의 LLM 만들기
- 직접 만들기(개인은 사실상 불가능)
- 기존 LLM 파인튜닝하기
- Pre-trained Model 위에 새로운 레이어를 얹어 다른 용도의 데이터로 훈련하는 것(ChatGPT)
- GPT는 API로 지원함
- LLM을 그대로 사용하되 컨텍스트 정보를 프롬프트의 일부로 보내기(RAG)
- RAG : 프롬프트에 사용자 질문과 관련된 도메인 정보를 같이 넘기는 방식
- 별도의 관심 검색 데이터베이스를 만들어두고 사용자 질문으로 먼저 검색하고 그 결과를 프롬프트의 일부로 LLM에게 넘겨서 LLM의 강점과 장점을 취합하는 방식
- RAG : 인덱싱 + 검색
- 인덱싱 단계 : LLM에 프롬프트의 일부로 넘길 기타 정보들을 Vector DB에 저장
- 검색 단계 : 사용자 질문이 들어오면 DB에서 검색해서 관련 컨텐츠 추출. 컨텐츠와 질문을 조합해서 프롬프트 생성하고 LLM에게 질문, 결과를 받아 후처리 후 사용자에게 전송
- RAG 구조


3.1 LLM 사용법
- 모델링 :

- 훈련 데이터

- 나의 요구 사항에 맞는 적당한 크기의 LLM 사용
- 모델링은 점점 덜 중요해지고 데이터가 중요해질 것(고품질 데이터셋을 만드는데 투자)
4. GenAI 프롬프트 테크닉
- Zero Shot Prompting
- 예제나 설명없이 명령을 주는 방식
- Few Shot Prompting
- 예제를 주면서 LLM에게 구체적으로 작업을 주는 방식
- Chain of thoughts promptin
- 일련의 중간 추론 단계를 통해 대규모 언어 모델의 복잡한 추론 수행 능력을 크게 향상시키는 것
- Prompt Chaining
- 한 프롬프트의 출력을 다음 프롬프트로 제공하여 연속적인 답변을 만들어내는 방식
- 몇가지 유스 케이스
- 순차적 정보 수집 또는 처리
- 단계별 문제 해결
- 반복적인 개선
- Prompt Extraction
- 프롬프트에서 사용자의 의도를 파악하는 것
- 간단한 키워드 추출로부터 복잡한 요청을 이해할 수 있는 보다 복잡한 머신러닝 접근 방식 등
'Data Science > TIL (Today I Learned)' 카테고리의 다른 글
| 프로그래머스 데이터분석 데브코스 1기 - 73일차 (0) | 2024.03.06 |
|---|---|
| 프로그래머스 데이터분석 데브코스 1기 - 72일차 (0) | 2024.03.05 |
| 프로그래머스 데이터분석 데브코스 1기 - 70일차 (0) | 2024.03.01 |
| 프로그래머스 데이터분석 데브코스 1기 - 69일차 (0) | 2024.02.29 |
| 프로그래머스 데이터분석 데브코스 1기 - 68일차 (1) | 2024.02.28 |