一文定義
複数の候補シーケンス(ビーム)を並行して保持しながら最も確率の高い出力を探索するデコーディング戦略。翻訳・要約で広く使用される。
詳細解説
ビームサーチ(Beam Search)とは、テキスト生成において複数の候補シーケンス(ビーム)を同時並行で追跡し、最終的に累積確率が最も高いシーケンスを選択するデコーディングアルゴリズムです。貪欲デコーディング(毎回最高確率のトークンのみ選択)が局所最適に陥る問題を緩和するために考案されました。
ビーム幅(Beam Width)パラメータBを設定すると、各ステップでB本の候補シーケンスを保持します。例えばB=4の場合、各トークン生成ステップで各ビームの上位候補を展開し、全体でB本に絞り込みながら末尾(EOS)トークンまで探索を続けます。ビーム幅が大きいほど探索が広くなり品質が上がりますが、計算コストもB倍になります。
機械翻訳・テキスト要約・コード生成など出力の決定性が重要なタスクではビームサーチが標準的に使われてきました。Google翻訳をはじめとする翻訳システムのデコーダーにも採用されています。
一方、チャット・創作・ブレインストーミングなど多様な出力が望まれる用途では、ビームサーチより温度付きサンプリング(temperature sampling)が好まれます。LLM APIでは通常デフォルトがサンプリングであり、決定的な出力が必要な場合はtemperature=0(または=0に近い値)を指定することでビームサーチに近い挙動が得られます。
参考情報・出典
- ▸Sequence to Sequence Learning with Neural Networks— arXiv / Sutskever et al. (2014)(参照日: 2026-02-26)
- ▸Beam search – Hugging Face Documentation— Hugging Face(参照日: 2026-02-26)