logo

디코딩

디코딩: 언어 모형이 텍스트를 생성하는 방법

  • 이전의 문장을 바탕으로 다음에 나올 토큰(token)을 예측
  • 결정론적 디코딩: 가장 확률이 높은 텍스트를 생성(예: AI is a …)
  • 확률적 디코딩: 확률에 따라 텍스트를 생성 (예: 0~1 사이에서 난수를 하나 추출 → 0.099가 추출되면 → AI is the …)

slide_15_image_01 그림 출처: https://huggingface.co/blog/constrained-beam-search

결정론적 디코딩 deterministic decoding

  • 주어진 텍스트가 같으면 항상 똑같이 이어지는 텍스트를 생성
    • 결과가 결정되어 있음 → 결정론적
  • 기본적으로 확률이 높은 텍스트를 생성
  • 주로 번역, 요약처럼 일종의 "정답"이 있는 문제에 활용
  • 방법들:
    • 완전 탐색
    • 탐욕 탐색
    • 빔 탐색 slide_16_image_01

확률적 디코딩 probabilistic decoding

  • 확률적으로 문장을 생성하는 방법
  • 생성할 때마다 다른 텍스트가 만들어짐
  • 대체로 확률이 높은 텍스트가 만들어질 가능성이 높으나, 확률이 낮은 텍스트가 만들어질 가능성도 낮지만 있음
  • 어느 정도 말이 되면서 다양한 답변이 중요할 경우에 많이 사용
    • 고객 상담을 하는 챗봇이면 같은 질문에 같은 답변을 하는 것이 바람직
    • 재미로 대화를 하는 경우에는 매번 조금씩 다르게 답변을 하는 쪽이 만족도가 더 높을 것

온도 조절

  • 언어 모형에서 단어들의 확률을 계산한 때 먼저 로짓이라는 값을 계산
    • 예: a (-98.9) / the (-99.5) / not (-99.9) / an (-100.2) / also (-100.3) / …
  • 로짓을 온도 T로 나눈 후, 소프트맥스 함수에 통과시켜서 최종적으로 확률을 구함
    • 온도는 열역학에서 유래한 용어
  • 예) k = 2일때 T = 1이면: a (63.4%) / the (36.6%)
  • 온도(T)가 낮아지면 확률 차이가 더 벌어짐 → 결정론적 디코딩의 탐욕 탐색과 비슷해짐
    • 예) T=0.5: a (75.1%) / the (24.9%)
  • 온도(T)가 높아지면 확률의 차이가 좁아짐 → 다양성 증가
    • 예) T = 2: a (56.8%) / the (43.2%)
Previous
언어 모델