NVIDIA/logits-processor-zoo

A collection of LogitsProcessors to customize and enhance LLM behavior for specific tasks.

解決する課題

大規模言語モデル(LLM)がテキスト生成中に特定のフォーマットや行動指示を厳密に遵守するのを困難にしている問題に対処します。単なる文法の遵守を超えて、応答の実際の内容と構造を制御します。

動作方法

このライブラリは、モデルが次のトークンをサンプリングする前に、確率分布(logits)をインターセプトして変更する「logitsプロセッサ」のコレクションを提供します。特定のトークンの可能性を強調または低減することで、モデルに特定のフレーズを使用させたり、応答の長さを制限したり、特定の出力形式を保証したりできます。

対象ユーザー

transformersvLLMTensorRT-LLM フレームワークを使用している開発者で、モデルの出力形式や挙動に対して正確な制御が必要な方。

主な特徴

  • 長さ制御: EOSトークンの可能性を調整して、短い回答を促進または抑制します。
  • プロンプトベースの引用: プロンプトに含まれるトークンの可能性を高め、モデルにプロンプトの内容を参照するように促します。
  • フレーズの強制: 応答を終了する前に特定のフレーズ(例:参考文献やお礼の言葉)を含ませます。
  • 複数選択: 提供された選択肢のみを使用して、複数選択問題に回答するようにモデルを制約します。
  • トリガー付きフレーズ: 特定のトークンが出現したときに、特定のフレーズ(例:Pythonコードブロック)を自動挿入します。
  • 幻覚の軽減: モデルのトークン信頼度がしきい値を下回った場合、フォールバックフレーズを強制します。
  • 時間ベースの終了: 最大時間制限後に文の終了を強制し、生成の遅延を制御します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト