AI・機械学習
中級

ビームサーチ(LLM)(ビームサーチエルエルエム)

LLMデコーディングで複数の候補シーケンスを並列に展開・スコアリングし最良シーケンスを選ぶ手法。Beam幅Kを維持しながら逐次展開。高品質だが計算コストが高く多様性が低い。

0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
LLM
ビームサーチ
デコーディング
翻訳
シーケンス生成

ビームサーチ(Beam Search)とは

ビームサーチ(Beam Search)は、シーケンス生成タスクにおいて複数の候補シーケンス(ビーム)を並列に維持・拡張することで、貪欲法(Greedy Decoding)より高品質な出力を得るデコーディングアルゴリズムである。ニューラル機械翻訳(NMT)で広く採用され、seq2seqモデルのデファクトスタンダードとして確立された。

アルゴリズムの仕組み

  1. 初期化: 開始トークン<BOS>からK個のトップトークンを展開し、K本のビームを初期化
  2. 展開: 各ビームから次トークンを語彙全体に展開 → K×V個の候補を生成
  3. スコアリング: 累積対数尤度(sum of log probabilities)でスコア計算
  4. 選択: 全候補からトップKを選択して新ビームセットに
  5. 終了条件: 終端トークン<EOS>に達したビームを完了候補に移動
  6. 出力: 全ビーム終了後、最高スコアのシーケンスを採用

貪欲法との比較

貪欲法(Greedy)は1経路のみ探索・O(n)コスト・局所最適。Beam Search(K=5)はK経路並列・O(K×n)コスト・貪欲より良い傾向。ただし多様性は低く決定論的。

ビームサーチの問題点

多様性の欠如: Beam Search出力は互いに類似したシーケンスになりやすい。対策としてDiverse Beam Search(ビーム間に多様性ペナルティ導入)が提案されている。

反復問題: 同じフレーズが繰り返されるループに陥る場合がある(ngram repetition penaltyで対策)。

不自然さ: 対話・創作系タスクでは「模範的すぎる」テキストになり不自然に感じられることがある。

現在の使われ方

LLM(GPT系・LLaMA系等)の推論APIではサンプリング(temperature + top-p)が主流。ビームサーチは機械翻訳・医療要約・法律文書生成など「正確な単一最良出力」が求められる特定タスクで使われる。HuggingFace Transformersではnum_beams=5で指定可能。

この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/6/6