Qwen2.5-0.5B의 실제 확률을 이용해 언어 모델이 다음 토큰을 선택하는 과정을 애니메이션으로 제작했습니다: 소프트맥스, 그리디 vs
요약
본 영상은 Qwen2.5-0.5B를 예시로, 언어 모델이 다음 토큰을 선택하는 과정을 애니메이션으로 설명합니다. Softmax, Greedy 방식과 Sampling 기법의 차이를 비교하며, Temperature, top-k, top-p와 같은 핵심 파라미터가 모델 출력에 미치는 영향을 실제 실행 결과를 통해 분석했습니다.
핵심 포인트
- Softmax는 모든 어휘 토큰에 확률을 부여하지만, Greedy 방식은 항상 최고 확률만 선택합니다.
- Sampling 기법은 가중치 기반 무작위 선택으로, 예측 불가능한 다양성을 보여줍니다.
- Temperature를 낮추면(예: T=0.2) 모델의 출력 범위가 크게 제한되는 것을 확인할 수 있습니다.
- top-k와 top-p는 샘플링 시 고려할 토큰 후보군을 제어하는 중요한 파라미터입니다.
저는 작은 채널을 위해 이 설명 영상을 만들었으며, 특히 배우는 분들로부터 피드백을 받고 싶습니다. 혹시 잘못된 부분이 있다면 알려주세요. 이 영상은 하나의 실제 예시를 끝까지 따라갑니다. 저는 Qwen2.5-0.5B-Instruct에게 동일한 설정(temperature 1, top-k 또는 top-p 없음, 다른 seed)으로 "Write one sentence about the moon."을 두 번 요청했습니다. 두 답변 모두 "The"로 시작하며, 이후 분기됩니다: "The moon, a satellite of the Earth…" 대 "The lunar South Equatorial region…". "The" 다음에서 모델은 151,936개의 모든 어휘 토큰에 대한 점수를 매깁니다. Softmax는 'moon'에 78.04%, 전체(full)에 4.46%, vast에 2.24%, 'Moon'에 1.51%, 'lunar'에 1.50%의 확률을 부여합니다. Greedy 방식은 항상 'moon'을 선택합니다. Sampling은 가중치 기반 무작위 선택이므로, 'lunar'가 약 67번 중 1번 정도 승리하며, 두 번째 실행(run 2)에서 성공했습니다. 루프는 토큰을 추가하고 모델을 다시 실행하는 방식입니다. 나중에 선택된 대부분의 토큰은 순위 1위였지만, run 2에서는 'South'(순위 219)와 'empty'(순위 1,098)를 선택했고, run 1에서는 'green'(순위 536)을 선택했습니다. Temperature는 Softmax 이전에 점수를 나누어 줍니다: T=0.2일 때 'moon'은 100%에서 T=2.0일 때는 6.3%로 떨어집니다. 같은 단계에서의 top-k 대 top-p 비교: top-k 3은 'moon'을 92.1%로 재조정하는 반면, top-p 0.9는 여기에서 8개의 토큰을 유지하지만, 나중에 "of"가 97.9%를 차지하는 단계에서는 단지 1개만 남깁니다. 이는 Holtzman et al. (2019)의 논문에서 제시된 주장입니다. 모델의 기본 top-p 0.8에서는 'lunar'가 잘립니다. 심지어 temperature 0일 때도 서버마다 다르게 작동할 수 있습니다: Thinking Machines는 배치 크기 의존적인 추가 순서 때문에 Qwen3-235B를 1,000번 실행하여 80개의 다른 답변을 얻었습니다. 모든 숫자는 Colab에서 transformers를 사용하여 CPU로 모델을 실행한 결과입니다. 출처는 설명란에 있습니다. 내레이션은 제가 작성한 스크립트를 AI 음성으로 읽어준 것입니다. 영상:
(제공자: /u/Rajucg) [링크] [댓글]AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Research의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기