AI VIDEO BRIEFING
LLM 샘플링 기법 정리: 온도·top-k·top-p부터 국소 전형성 샘플링까지 CMU 강의 해설
CMU 고급 자연어처리 강의에서 아만다 버치가 언어모델을 확률분포로 보는 관점부터 온도 조절, top-k, top-p, 엡실론, 국소 전형성 샘플링까지 비교하며 상황에 맞는 디코딩 전략을 고르는 기준을 설명한다.

핵심 메시지
쉽게 이해하기
카네기멜런대 고급 자연어처리(CS 11-763) 강의에서 아만다 버치는 모델에서 문장을 뽑아내는 첫 번째 알고리즘 계열인 샘플링을 다뤘다. 출발점은 모델을 조건부 확률분포로 보는 관점이다. 그 분포가 어떻게 만들어졌는지는 이날 논의에서 제쳐두고, 입력과 지금까지 생성한 토큰이 주어졌을 때 다음 토큰에 대한 분포가 나온다는 사실만 놓고 시작한다. 여기서 가장 중요한 성질이 국소 정규화다. 각 단계에서 확률의 합이 1이 되도록 정규화되기 때문에 토큰을 추가할 때마다 전체 확률은 줄어들기만 한다. 강의에서는 '2023년 미국 대통령은'이라는 문장을 예로 든다. '조 바이든이었다'로 시작한 문장과 '조 바이든의 딸'로 시작한 문장 중 후자가 뒤에서 '버락 오바마의 전 부통령'으로 말을 이어 붙여 더 그럴듯해지더라도, 앞에서 이미 낮은 확률질량을 받았다면 되돌아가 확률을 더해줄 방법이 없다. 이후 학기 내내 다룰 기법들은 대부분 국소 정규화로 학습된 모델에 전역 제약을 어떻게 부과할지에 관한 것이다.
다음으로 다루는 것은 보정(calibration)이다. 모델이 B에 50%의 확률을 줬다면 실제로 절반 정도는 B가 정답이어야 한다는 성질이다. 강의에서 제시된 그래프에 따르면 GPT-4는 MMLU에서 RLHF 이전에는 매우 깔끔한 보정 곡선을 보이지만, RLHF 이후에는 이 성질이 훼손된다. 출력 품질을 높이는 후속 학습이 확률값을 신뢰도 지표로 쓰기 어렵게 만든다는 뜻이다. 또한 모델이 사실이 아닌 것에도 어느 정도 확률을 주는 현상은, 보정을 유지하려는 한 완전히 없앨 수 없다는 이론적 결과가 있다고 소개한다.
그렇다면 왜 분포에서 그대로 뽑으면 안 되는가. 문제는 긴 꼬리다. 2022년 무렵 라마의 어휘는 3만 2천 개였지만 라마 3은 12만 8천 개에 이른다. 개별적으로는 확률이 미미한 토큰들이 모여 전체 확률질량의 절반을 차지하고, 수백 번 샘플링하다 보면 그중 아주 이상한 것이 뽑힐 확률이 무시할 수 없게 커진다. 대응은 두 갈래다. 온도로 분포를 다시 빚거나, 꼬리를 잘라내는 것이다. 온도가 1보다 작으면 봉우리가 높아지고 꼬리가 얇아지며, 1보다 크면 반대로 평평해져 다양성이 커진다.
잘라내는 방식에도 여러 갈래가 있다. top-k는 확률 상위 k개만 남긴다. 다만 같은 k라도 문맥에 따라 담기는 확률질량이 68%가 되기도 하고 99%가 되기도 한다. 그래서 확률질량 기준으로 자르는 top-p(뉴클리어스) 샘플링이 등장한다. 엡실론 샘플링은 반대로 '아주 낮은 확률만 잘라내자'는 발상이다. 강의는 허깅페이스에서 이 값들을 직접 다뤄볼 것을 권하면서, 라마 3.1이나 Qwen 3처럼 모델 제공자가 생성 설정 파일에 자체 기본값을 넣어두는 경우가 많으니 라이브러리 기본값과 모델 설정을 모두 확인하고 필요한 값을 명시적으로 덮어쓰라고 조언한다.
강의 후반부는 '가장 확률이 높은 것'과 '전형적인 것'이 다르다는 직관으로 넘어간다. 앞면이 60% 나오는 동전을 100번 던질 때 단일 확률이 가장 높은 결과는 앞면 100연속이지만, 우리가 기대하는 전형적인 결과는 6대 4에 가까운 조합이다. 국소 전형성 샘플링은 이 발상을 각 단계에 적용한다. 그 시점 분포의 엔트로피를 구한 뒤, 로그 확률이 그 엔트로피에 가까운 순서로 토큰을 다시 정렬하고 top-p로 잘라 샘플링한다. 확률이 높은 토큰도 잘려나갈 수 있다는 점이 기존 방식과 다르다.
주요 인사이트
- 전형성 개념을 엄밀히 적용하려면 확률과정이 이산적·정상적·에르고딕이어야 하는데, 언어모델은 문장 종료 토큰이 흡수 상태로 작동해 에르고딕 조건을 만족하지 못한다. 그래서 전역 전형성 대신 각 단계의 국소 근사를 쓴다.
- 국소 전형성 샘플링을 뒷받침하는 근거는 인지과학에 가깝다. 실제 사람이 쓴 글을 보면 다음 토큰의 로그 확률이 그 시점 분포의 엔트로피에 가까운 경우가 대부분이라는 측정 결과가 제시된다. 늘 뻔한 말만 하면 정보를 전달하지 못하고, 늘 예상 밖의 말만 하면 헛소리가 된다는 것이다.
- 학습할 때는 퍼플렉서티가 낮을수록 분포를 잘 배웠다는 뜻이지만, 디코딩할 때는 오히려 퍼플렉서티가 약간 높은 출력이 바람직할 수 있다. 정보량이 조금 더 실린 문장이기 때문이다.
- 디코딩 전략은 문제의 개방성에 따라 달라진다. '개구리에 대한 창작 이야기를 써 달라'처럼 정답 범위가 넓으면 다양성이 중요하지만, '매사추세츠의 주도는?' 같은 질문은 선택지가 훨씬 좁다.
- 평가할 때 각 벤치마크마다 최적의 디코딩 설정을 따로 고르는 것은 과적합이다. 성능이 안정적으로 유지되는 구간을 찾아 하나의 전략으로 고정해야 하며, 그렇지 않으면 그 모델을 실제로 쓰는 사용자가 같은 조건을 재현하지 못한다.
자주 묻는 질문
top-k와 top-p(뉴클리어스) 샘플링은 어떻게 다른가?
top-k는 확률이 높은 순으로 정해진 개수 k개만 남기고 나머지를 잘라낸다. 문제는 같은 k라도 문맥에 따라 담기는 확률질량이 크게 달라진다는 점이다. 강의의 예에서는 상위 6개가 어떤 시점에서는 전체의 68%만, 다른 시점에서는 99%를 차지했다. top-p는 개수가 아니라 확률질량을 기준으로 삼아, 가장 확률이 높은 토큰부터 목표 질량(예: 94%)에 도달할 때까지 후보를 넓힌다. 어느 쪽이든 자른 뒤에는 다시 정규화해 그 부분집합에서 샘플링한다.
국소 전형성 샘플링은 구체적으로 어떻게 작동하나?
먼저 해당 시점 로짓 분포의 조건부 엔트로피 H를 계산한다. 그다음 각 토큰의 로그 확률이 H에 얼마나 가까운지를 기준으로 분포를 다시 정렬하고, 그 새로운 순서에 top-p를 적용해 잘라낸 뒤 샘플링한다. 기존 방식이 확률이 낮은 꼬리를 잘라냈다면 이 방식은 확률이 상당히 높은 토큰도 잘라낼 수 있다. 분포가 평평해 엔트로피가 높으면 가운데 쪽에서, 뾰족해 엔트로피가 낮으면 봉우리 쪽에서 뽑힐 가능성이 커진다.
실제로 어떤 디코딩 설정을 써야 하나?
강의는 정해진 정답이 없다고 말한다. 문제가 얼마나 개방적인지 먼저 따져보고, 설정을 바꾸는 데는 코드 몇 글자면 충분하니 직접 여러 값을 시도해 출력을 눈으로 확인하라고 권한다. 다만 작은 모델과 큰 모델의 거동이 크게 다르므로 실제로 쓸 모델에서 시험해야 한다. 출력이 반복적이거나 이상한 방향으로 흘러가면 꼬리에서 샘플링되고 있다는 신호이고, 백 번 뽑아도 거의 같은 결과가 나오면 다양성을 넓힐 여지가 있다는 신호다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗