#샘플링
4편
- 스펙큘러티브 디코딩 — 작은 모델이 먼저 쓰고 큰 모델이 검사한다큰 모델을 한 번 부를 때 토큰 하나만 얻는 것이 아깝다. 작은 모델에게 세 글자를 미리 쓰게 하고 큰 모델이 한 번에 검사하니 한 호출에 평균 3.56토큰이 확정돼 1.60배 빨라졌다. 놀라운 것은 결과가 근사가 아니라는 점이다 — 초안 모델의 분포가 0.657만큼 다른 자리에서도, 검사 규칙을 지킨 표본은 큰 모델이 직접 뽑은 것과 구별되지 않았다
- 거부 샘플링 — 싼 분포로 비싼 분포를 정확히 흉내내기스펙큘러티브 디코딩 편 스펙큘러티브 디코딩의 수락 판정 r < min(1, q/p) 가 왜 근사가 아니라 정확한가. 보정 없이 초안 모델에서 뽑으면 TV 0.199 만큼 분포가 틀어지지만, 수락-거부에 잔차 재샘플링을 붙이면 0.00094 로 떨어진다. 그리고 기대 수락률은 정확히 1 - TV(p,q) 였다
- 확산 모델 — 잡음에서 되돌아오는 법망가뜨리기는 쉽고 되돌리기는 어렵다. 확산 모델은 그 어려운 쪽을 잘게 쪼개 '조금 망가진 것을 조금 되돌리기' 400개로 바꾼다. 봉우리 8개를 모두 고르게 덮었고(11.6~13.4%, 실제 데이터가 12.0~12.9%) 모드 붕괴가 없었다. 그리고 샘플링 스텝을 400에서 20으로 줄이니 19배 빨라지면서 품질은 거의 그대로였지만, 2스텝에서는 분포가 통째로 무너졌다
- 디코딩과 샘플링 — temperature·top-p가 하는 일모델은 다음 토큰의 '확률'만 준다. 그걸 실제 토큰으로 고르는 게 디코딩이다. 온도를 0.2→3으로 올리자 분포가 뾰족(top-1 0.96)에서 평평(0.27)으로 퍼졌고, 늘 최고만 고르는 그리디는 24-주기 루프에 갇혀 반복률이 92%까지 치솟았다(샘플링은 44%). top-p는 긴 꼬리의 헛토큰을 잘라, 다양성은 그대로 두고 헛토큰만 1.6배 줄였다