주제

1. GenAI

2. LLM 소개
3. 나만의 LLM 만들기
4. GenAI 프롬프트 테그닉
5. AI의 발전

 

1. GenAI

  • 학습된 컨텐츠 바탕으로 새로운 컨텐츠를 만드는 딥러닝 기술
  • 프롬프트를 바탕으로 대답을 예측하거나 새로운 컨텐츠를 생성
  • 딥러닝의 모델 타입 :
    1. Discriminative
      • 분류/예측을 하는 것으로 레이블이 존재하는 데이터에 적용
      • 피처들과 레이블들간의 관계를 학습
    2. Generative
      • 훈련된 데이터와 비슷하지만 새로운 데이터를 생성
      • 훈련된 데이터의 통계적 특성을 이해
      • 비지도 학습에 해당
  • 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 모델링 과정

  • 훈련 데이터

LLM의 훈련 데이터

  • 나의 요구 사항에 맞는 적당한 크기의 LLM 사용
  • 모델링은 점점 덜 중요해지고 데이터가 중요해질 것(고품질 데이터셋을 만드는데 투자)

 

4. GenAI 프롬프트 테크닉

  1. Zero Shot Prompting
    • 예제나 설명없이 명령을 주는 방식
  2. Few Shot Prompting
    • 예제를 주면서 LLM에게 구체적으로 작업을 주는 방식
  3. Chain of thoughts promptin
    • 일련의 중간 추론 단계를 통해 대규모 언어 모델의 복잡한 추론 수행 능력을 크게 향상시키는 것
  4. Prompt Chaining
    • 한 프롬프트의 출력을 다음 프롬프트로 제공하여 연속적인 답변을 만들어내는 방식
    • 몇가지 유스 케이스
      • 순차적 정보 수집 또는 처리
      • 단계별 문제 해결
      • 반복적인 개선
  5. Prompt Extraction
    • 프롬프트에서 사용자의 의도를 파악하는 것
    • 간단한 키워드 추출로부터 복잡한 요청을 이해할 수 있는 보다 복잡한 머신러닝 접근 방식 등

+ Recent posts