TypeLLM/TypeLLM
TypeLLM: LLMs with type-safe generation
解決する課題
TypeLLMを使用すると、自己回帰型LLMは、モデルのアーキテクチャや重みを変更することなく、定義済みのJSON Schemaに厳密に従った出力を生成できます。選択肢を許容値内に制限することでスキーマ外のハルシネーションを排除し、カテゴリ選択や境界付き数値デコードにおけるトークンコストを削減します。
仕組み
SGLang上に構築されたTypeLLMは、制約付きデコード(constrained decoding)を実装し、モデルに特定の型(文字列、整数、数値、ブール値、列挙型、オブジェクト、配列)を強制的に生成させます。依存関係を認識する実行グラフをサポートしており、フィールドは以前のフィールドの結果に依存(depends_on)させることができ、条件付きフィールド(when)はそれらの依存関係に基づいて特定の条件が満たされた場合にのみトリガーされます。また、最終的な制約付き回答を出す前にモデルが推論を行う「思考モード(thinking mode)」や、列挙型やブール値の確率におけるバイアスを軽減するための順列平均化(permutation averaging)も備えています。
対象ユーザー
SGLangまたはTypeLLM APIを通じて提供されるオープンな自己回帰モデルから、構造化された型安全なデータ抽出や意思決定を必要とするLLMアプリケーションを構築する開発者。
ハイライト
- スキーマ保証された出力: ネストされたオブジェクトや配列を含む幅広い型をサポート。
- 依存グラフ:
depends_onを使用してフィールドを宣言し、順序付けられた型付きワークフローを作成可能。 - 条件付きロジック: 前の回答の値や信頼度に基づいて、フィールドをスキップまたは実行可能。
- 思考モード: フィールドごとの推論予算を設定可能。必要な努力レベルを決定する「自動」モードも搭載。
- 視覚言語サポート: 互換性のあるモデルに画像を渡し、視覚データから型付き抽出を行うことが可能。
- 効率性: KVキャッシュと共有プレフィックスの再利用により、コンテキストの再処理を最小限に抑制。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト