Hugging Face 텍스트 생성 디코딩 방법 가이드

텍스트 생성 디코딩 개요

자기회귀 언어 생성은 단어 시퀀스의 확률 분포가 조건부 다음 단어 분포의 곱이라고 가정합니다. 디코딩 방법의 선택—모델이 이 분포에서 다음 토큰을 선택하는 방식—은 생성된 텍스트의 유창성, 일관성, 창의성에 큰 영향을 미칩니다.

그리디 서치

그리디 서치는 가장 간단한 디코딩 방법으로, 각 타임스텝에서 확률이 가장 높은 토큰을 선택합니다: $w_{t} = \text{argmax}{w} P(w \mid w{1:t-1})$.

주요 제한 사항:

  • 반복: 그리디 서치를 사용하는 모델은 자주 반복 루프에 빠집니다.
  • 최적이 아닌 시퀀스: 낮은 확률의 초기 토큰 뒤에 숨겨진 높은 확률의 시퀀스를 놓칠 수 있습니다. 예를 들어, 단계 $t+1$에서 매우 가능성이 높은 단어는 단계 $t$의 단어가 절대 최대 확률 후보가 아니면 도달할 수 없습니다.

빔 서치

빔 서치는 각 타임스텝에서 num_beams 개 가장 가능성 높은 가설을 유지함으로써 높은 확률의 시퀀스를 놓치는 위험을 줄이고,最終的に 전체 확률이 가장 높은 시퀀스를 선택합니다.

N-gram 페널티로 빔 서치 개선

빔 서치의 반복적인 성격을 완화하기 위해 n-gram 페널티를 적용할 수 있습니다. no_repeat_ngram_size를 설정하면 중복 n-gram을 생성하는 토큰의 확률을 0으로 수동으로 설정합니다. 그러나これを 주의해서 사용해야 합니다; 예를 들어, 2-gram 페널티는 텍스트에서 "New York"이라는 구문이 두 번 이상 나타나는 것을 방지합니다.

개방형 생성에서의 트레이드오프

예측 가능한 길이의 작업(번역이나 요약 등)에 효과적이지만, 빔 서치는 여러 이유로 개방형 생성(스토리텔링 등)에서 종종 최적이 아닙니다.

  • 반복 출력: 반복에 매우 취약합니다.
  • 예측 가능성: 인간 언어는 일반적으로 높은 확률의 단어만 따르는 분포를 따르지 않으며, 빔 서치는 종종 너무 예측 가능하거나 "지루한" 텍스트를 생성합니다.

샘플링 전략

샘플링은 조건부 확률 분포에 따라 다음 단어를 무작위로 선택하여 생성을 비결정적으로 만듭니다.

기본 샘플링과 온도

순수 샘플링은 비일관된 "잡소리"를 초래할 수 있습니다. 이를 개선하기 위해 온도를 사용하여 소프트맥스 분포를 sharpen할 수 있습니다. 온도를 낮추면 높은 확률 단어의 가능성은 증가하고 낮은 확률 단어의 가능성은 감소합니다. 온도가 0에 가까워지면 샘플링은 그리디 디코딩과 동등해집니다.

Top-K 샘플링

Top-K 샘플링은 분포를 상위 $K$개의 가장 가능성 높은 다음 단어로 필터링하고, 그들 사이에 확률 질량을 재분배합니다.これにより incoherence를 일으키는 경우가 많은 "긴 꼬리"의 낮은 확률 토큰을 제거합니다.

제한 사항: Top-K는 분포의 형태에 적응하지 않습니다. "날카로운" 분포에서는 부적합한 단어를 포함할 수 있고, "평평한" 분포에서는 합리적인 후보를 제외할 수 있습니다.

Top-p (Nucleus) 샘플링

Top-p 샘플링은 누적 확률이 임계값 $p$를 초과하는 가장 작은 단어 집합을 동적으로 선택합니다.これにより 다음 단어가 예측 불가능할 때는 샘플 풀을 확장하고, 다음 단어가 매우 예측 가능할 때는 샘플 풀을 축소할 수 있습니다.

디코딩 방법 요약

방법 접근 방식 주요 강점 주요 약점
그리디 서치 最高確率トークン シンプル、高速 繰り返し、最適な経路を見逃す
ビームサーチ 上位 $N$ 仮説 全体確率が高い 繰り返し、予測可能
サンプリング 分布に基づくランダム 多様性、創造性 不整合になる可能性
Top-K 上位 $K$ トークン ギブリッシュを削減 分布にかかわらず固定プールサイズ
Top-p 累積確率 $p$ ダイナミックかつ流暢 それでも繰り返しに苦しむ可能性

リサーチによると、サンプリング方法はオープンエンドタスクにおいて人間らしい感覚を与えることが多いですが、モデルの学習目的が特別に適応されている場合はビームサーチの方が流暢になることがあります。最終的に、デコーディング戦略の選択は具体的なユースケースと、一貫性と創造性の間の望むバランスに依存します。

Sources