디코딩
디코딩: 언어 모형이 텍스트를 생성하는 방법
- 이전의 문장을 바탕으로 다음에 나올 토큰(token)을 예측
- 결정론적 디코딩: 가장 확률이 높은 텍스트를 생성(예: AI is a …)
- 확률적 디코딩: 확률에 따라 텍스트를 생성 (예: 0~1 사이에서 난수를 하나 추출 → 0.099가 추출되면 → AI is the …)
그림 출처: https://huggingface.co/blog/constrained-beam-search
결정론적 디코딩 deterministic decoding
- 주어진 텍스트가 같으면 항상 똑같이 이어지는 텍스트를 생성
- 결과가 결정되어 있음 → 결정론적
- 기본적으로 확률이 높은 텍스트를 생성
- 주로 번역, 요약처럼 일종의 "정답"이 있는 문제에 활용
- 방법들:
- 완전 탐색
- 탐욕 탐색
- 빔 탐색

확률적 디코딩 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%)