デコーディングとは
Decoding / デコード
モデルが計算した確率分布から、次に出力するトークンを実際に選び取る処理
ひとことで言うと
AIが計算した確率をもとに、次に出す言葉を実際に選ぶ処理。
概要
デコーディング(Decoding)とは、LLMが各ステップで計算した「次のトークンの確率分布」から、実際に出力する1つのトークンを選び取る処理、およびその選び方の戦略全般を指す。 常に最も確率の高いトークンを選ぶ貪欲法(Greedy Decoding)のほか、Temperature・Top-p・Top-kといったパラメータで分布を調整したうえで確率的にサンプリングする方法、複数の候補系列を並行して評価するビームサーチなど、様々なデコーディング戦略が存在する。 同じモデル・同じプロンプトでも、デコーディング戦略やパラメータを変えることで出力の性質(決定性・多様性・品質)が大きく変わる。 貪欲法は再現性の高さから事実性が求められるタスクに向く一方、確率的サンプリングは文章表現に多様性を持たせやすいため、用途に応じて戦略とパラメータを選択する必要がある。
背景
LLMの出力層は、語彙全体に対する確率分布を計算するだけであり、そこからどのトークンを実際に選ぶかは別途決める必要がある。 この選び方によって生成されるテキストの性質が大きく変わるため、デコーディングはLLM活用における重要な設計要素として発展した。
アーキテクチャ
各生成ステップで、モデルはまず語彙全体に対するロジット(スコア)を出力する。 デコーディング戦略は、このロジットにTemperature等の変換を施し、Top-p・Top-k等で候補を絞り込んだうえで、貪欲法・サンプリング・ビームサーチ等の方式に従って次のトークンを決定する。
利点
- タスクの性質(事実重視・創造性重視等)に応じて出力の性質を調整できる
- モデル自体を再学習せずに、推論時の設定変更だけで挙動を制御できる
欠点
- デコーディング戦略・パラメータの組み合わせは、タスクやモデルに応じて調整が必要になる
- 貪欲法は同じ入力に対し常に同じ出力になり、単調な繰り返しに陥りやすい
比較
- Temperature — Temperatureは、デコーディングにおける確率分布のばらつきを調整するパラメータの1つ
- ビームサーチ — ビームサーチは、複数の候補系列を並行評価する代表的なデコーディング戦略
- 投機的デコーディング — 投機的デコーディングは、デコーディングの速度を高速化する手法
関連用語
よくある質問
参考文献
- DocumentationHugging Face: Generation strategies