ビームサーチとは
ビームサーチ(Beam Search)とは、テキスト生成において複数の候補系列を並行して探索し、最も確率の高い出力系列を見つけるデコーディングアルゴリズムです。各ステップで上位k個(ビーム幅)の候補を保持しながら探索を進めるため、グリーディデコーディングよりも全体的に最適な出力を得やすい特徴があります。
ビームサーチの仕組み
ビーム幅をk=3とした場合、生成の各ステップで3つの候補系列を保持します。各候補に対して次のトークンの確率を計算し、累積確率の上位3つの系列を次のステップに引き継ぎます。最終的に全ステップを通じて最も高い累積確率を持つ系列が出力として選ばれます。ビーム幅を大きくするほど探索が網羅的になりますが、計算コストも増大します。
ビームサーチの特性と用途
ビームサーチは機械翻訳や音声認識など、正確性が重視されるタスクで伝統的に使われてきました。一方で、出力が無難で画一的になりやすい(多様性が低い)傾向があり、クリエイティブな文章生成には向きません。また、同じフレーズの繰り返しが発生しやすいという欠点もあります。近年のLLMではTop-pサンプリングなどの確率的手法が主流となっていますが、精度が最優先される用途では依然として有効な手法です。