LLM의 기본

Sirius·2023년 9월 30일
0

1) Autoregressive Model

다음 단어에 나올 확률을 보고 가장 높은거를 선택한다.(트랜스포머 기반)

모델을 키우면 키울수록 점점 성능이 좋아졌다 -> LLM
최근 회사들은 텍스트를 이해할 수 있는 길이를 늘리려고 한다.(context length)

2) RLHF(Reinforce Learning from Human Feedback)

GPT A. GPT B가 있다. GPT A가 생성한것을 사람이 평가한다. 그 평가를 기반으로 이렇게 해야 좋구나를 판단해서 그거를 GPT B가 학습함(Reward Model), 이 Reward Model은 함수로 사용되는데 이 Reward Model의 아웃풋이 GPT A의 학습에 다시 사용된다.

3) 파인튜닝 vs 프롬프트 엔지니어링

큰 모델을 사용하는 경우, 파인튜닝과 프롬프트 엔지니어링 간의 성능차이가 크지 않다.

그래도 파인튜닝이 필요한 경우는 존재(ex> 점수예측)
작은 LLM을 만들고 그거 기반으로 회귀모델 붙여서 연봉예측 제공함

4) 프롬프트 엔지니어링

컴퓨터에게 업무를 시키는 새로운 방식의 코딩
단계적으로 완성해 나감

1> 프롬프트 엔지니어링 스킬

1) Zero-shot

한마디로 정보없이 이야기함
Chat: "hi"를 한국어로 번역해줘

2) One-shot Learning

예시를 하나 던짐
Chat: "hi"를 한국어로 번역해줘
"bye" => 잘가

3) Few-shot Learning

예시를 몇개 던짐
Chat: "hi"를 한국어로 번역해줘
"bye" => 잘가
"hello" => 안녕
"Good Night" => 좋은밤

4) CoT(Chain of Thought)

이 문제를 풀때는 이런방식, 이런단계로 생각 해야해!(가이드줌)

계속 프롬프트 엔지니어링 방법 나오고 연구 되고 있음

2> 프롬프트 엔지니어링의 구성

1) 적절한 답변을 얻기위한 컨텍스트를 제공

2) 원하는 결과를 얻기 위한 프롬프트 작성

3) 원하는 포맷형식의 출력을 위한 프롬프트 작성

원하는 결과를 계속 지속적으로 의도한 대로 내어야 올바른 프롬프트를 완성한 것임!

5) LLM의 토큰 제한

1> Chunking

텍스트를 적절한 길이로 자르는 방법, 긴 텍스트를 여러개의 작은 부분으로 나누어 각 부분을 독립적으로 임베딩하도록 함

  • 구조화된 문서라면 Section단위로 자르는게 좋다.
    openai는 200~500토큰사이가 매우 좋다.

2> Overlap & Sliding

텍스트 분리시 의미가 소실되거나 왜곡되는 것을 방지하고 문맥을 보존하기 위해 사용함

0개의 댓글