디코딩: 온도, top-p, 빔 탐색(Decoding: temperature, top-p and beam search)
언어 모델(language model)이 준 다음 토큰(token)의 분포에서 실제로 토큰을 고르는 규칙. 온도로 분포를 날카롭거나 평평하게 바꾸고, top-k·top-p로 꼬리를 자르며, 빔 탐색(beam search)으로 확률(probability)이 큰 문장을 찾는다.
언어 모델은 다음 토큰의 확률 분포를 줄 뿐, 무엇을 쓸지는 정하지 않습니다. 분포에서 토큰 하나를 고르고, 그것을 문맥에 붙여 다시 분포를 얻고, 또 고르는 일을 되풀이하는 규칙이 디코딩입니다. 아래는 "오늘 날씨가 정말" 뒤에 올 후보 12개와 모델이 준 점수(로짓, logit) z입니다. 설명을 위해 정한 값입니다. 확률은 소프트맥스(softmax)로 얻습니다.
방식:
온도. 로짓을 T로 나누면, T가 작을수록 큰 점수가 더 크게 앞서서 분포가 1등 하나로 몰립니다. T → 0이면 늘 1등만 고르는 탐욕 디코딩(greedy decoding)이 됩니다. T = 1이면 모델의 분포 그대로이고, T가 크면 고른 분포에 가까워집니다. 이름은 물리에서 왔습니다. 에너지가 E인 상태가 온도 T에서 나타날 확률이
꼬리 자르기. 실제 어휘는 수만 개라서, 하나하나는 가능성이 아주 낮은 토큰들이 모여 무시할 수 없는 몫을 차지합니다. 예를 들어 확률 0.00003짜리 토큰 1만 개를 모으면 0.3입니다. 그대로 뽑으면 평균 열 번에 세 번은 이 꼬리에서 엉뚱한 토큰이 나오고, 한 번 끼어든 엉뚱한 토큰은 뒤의 문맥을 계속 흔듭니다. top-k(2018년 앤절라 팬 등)는 확률이 큰 k개만 남기고, top-p(핵 샘플링(nucleus sampling), 2019년 아리 홀츠먼 등)는 큰 것부터 더해 누적 확률이 처음으로 p 이상이 되는 가장 작은 집합(set)만 남깁니다. 어느 쪽이든 남은 후보끼리 합이 1이 되도록 다시 나눕니다. top-p는 분포가 뾰족하면 후보를 적게, 평평하면 많이 남기므로 k를 문맥마다 저절로 조절하는 셈입니다.
탐욕 디코딩과 빔 탐색. 번역이나 요약처럼 '가장 그럴듯한 한 문장'을 원할 때는 뽑지 않고 확률이 가장 큰 문장을 찾으려 합니다. 문장의 확률은 조건부 확률(conditional probability)의 곱이므로, 매번 1등 토큰을 고르는 탐욕 디코딩이 가장 확률이 큰 문장을 준다는 보장은 없습니다. 첫 토큰에서 조금 앞선 쪽이 뒤에서 크게 밀릴 수 있기 때문입니다. 빔 탐색은 매 단계 지금까지의 곱이 가장 큰 후보 문장 B개(빔 너비)를 남기고, 각각을 한 토큰씩 늘린 모든 후보 가운데서 다시 B개를 남깁니다. 너비 1은 탐욕 디코딩과 같습니다. 빔 너비:
이 나무에서 탐욕 디코딩(너비 1)은 첫 단계의 0.5를 따라가 0.5 × 0.4 × 0.6 = 0.12를 얻습니다. 너비 2는 '책을 읽고'(0.4 × 0.9 = 0.36)를 살려 0.162를 찾지만, 둘째 단계에서 셋째로 밀린 '빵을 샀다'(0.175)를 버립니다. 너비 3에서야 모든 문장 가운데 가장 큰 0.175를 찾습니다. 너비를 늘리면 대개 나아지지만, 너비가 모든 후보를 담을 만큼 크지 않은 한 최선을 보장하지는 않습니다.
그러면 전부 살펴보면 되지 않을까요? 어휘가 5만 개이고 길이가 20이면 후보 문장은
더 곤란한 사실도 있습니다. 확률이 가장 큰 문장이 가장 좋은 문장은 아닐 수 있습니다. 확률의 곱은 토큰이 늘 때마다 1보다 작은 수를 곱하므로 짧은 문장을 편애하고(그래서 흔히 길이로 나눠 보정합니다), 같은 말을 되풀이하는 문장이 높은 확률을 받기도 합니다. 2019년 펠릭스 스탈베르크와 빌 번은 한 기계 번역(machine translation) 모델에서 가지치기를 곁들인 정확한 탐색으로 확률이 가장 큰 번역을 찾았더니, 절반이 넘는 문장에서 빈 번역이 1등이었다고 보고했습니다. 그들은 빔 탐색이 잘 되는 것이 어느 정도는 탐색이 부정확한 덕분이라고 해석했습니다. 모델의 결함을 디코딩 규칙이 가려 주는 셈입니다.
반대로 T = 1에서 자르지 않고 한 토큰씩 뽑으면, 곱셈 규칙 덕분에 문장 전체가 모델의 결합 분포(joint distribution)
이어지는 곳. 온도가 있는 소프트맥스는 어텐션(attention)의 가중치(weight)에도, 인간 피드백 강화 학습(reinforcement learning)의 최적 정책
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 욕심쟁이 알고리즘
… 가장 큰 토큰 하나를 고르는 탐욕 디코딩도 욕심쟁이라서, 확률이 가장 큰 문장을 찾는다는 보장이 없습니다(디코딩).
- 소프트맥스와 교차 엔트로피
… 대한 소프트맥스로 내고, 교차 엔트로피로 학습합니다. 그 확률에서 글을 뽑을 때 온도를 바꾸는 것이디코딩의 가장 단순한 손잡이입니다. 어텐션은 단어 사이의 유사도 점수를 소프트맥스로 가중치로 바꾸어, 어느 …
- 인공지능
… 어텐션, 그것으로 쌓은 트랜스포머, 다음 토큰을 맞히는 언어 모델, 확률에서 실제 글을 뽑는디코딩, 크기와 성능의 관계인 규모의 법칙, 사람의 선호로 답을 다듬는 인간 피드백 강화 학습으로 …
- 어텐션
… 쌓은 트랜스포머를 내놓았습니다. 이어지는 곳. 온도를 낮출수록 한 곳으로 몰리는 소프트맥스의 성질은디코딩에서 다음 토큰을 고를 때 다시 나오고, 소프트맥스가 왜 지수 꼴인지는 최대 엔트로피 원리가 …
- 트랜스포머
… 수 N과 학습 토큰 수 D로 손실을 가늠하는 경험식은 규모의 법칙에서, 학습된 모델로 글을 쓰는 규칙은디코딩에서 다룹니다. 블록 안의 MLP를 여러 개 두고 토큰마다 몇 개만 골라 쓰는 방법은 전문가 혼합에, …
- 언어 모델과 다음 토큰 예측
… 쓰이며, 분류 문제의 로지스틱 회귀가 같은 손실을 씁니다. 학습된 분포에서 실제로 글을 뽑는 규칙은디코딩이 정하고, 손실이 모델과 자료의 크기에 따라 어떻게 줄어드는지는 규모의 법칙이 경험적으로 요약합니다. …
- 인간 피드백 강화 학습과 정렬
… 이고, KL은 π = π*일 때만 0이기 때문입니다. 기준 분포에 보상의 지수를 곱해 다시 나눈 모양으로,디코딩의 온도와 같은 볼츠만 꼴이며 β가 온도 구실을 합니다. 아래 다섯 답과 점수는 설명을 위해 정한 …
- 추론 모델과 테스트 시점 계산
… 있다'는 표현력의 결과이지, 학습된 모델이 실제로 그렇게 계산한다는 뜻은 아닙니다. 여러 번 풀고 다수결.디코딩할 때 온도를 두고 무작위로 뽑으면 풀이마다 최종 답이 달라질 수 있습니다. 2022년 3월 왕쉐즈 등은 …
- 언어 모델의 발전사: RLHF 이후
… 경우의 확률을 더하면 \min(p, q) + \max(0, p - q) = p ). 속도만 바뀌고디코딩결과의 분포는 바뀌지 않는 드문 최적화입니다. 2023: 공개 가중치와 선호 학습의 단순화. 2월 메타가 …