Re Reference AI

技術

制約付き生成(制約付きデコーディング)とは

Constrained Generation / Constrained Decoding / 制約付きデコーディング

LLMの生成時に、文法・正規表現・スキーマ等の制約に従うトークンのみを候補とすることで出力形式を保証する技術の総称

デコーディングLLM

ひとことで言うと

AIが答えを作るとき、決まったルールに合うトークンしか選ばせないようにして、出力形式を守らせる技術。

概要

制約付き生成(Constrained Generation)とは、LLMが各デコードステップでトークンを生成する際、文法規則・正規表現・JSON Schema等の制約に基づき、許容されるトークン集合をあらかじめ絞り込むことで、制約に違反する出力が生成されないことを保証する技術の総称。 プロンプトによる指示のみでは形式違反が起こりうる問題を、デコード処理そのものへの介入によって解決するアプローチであり、JSON Schemaへの準拠を保証するStructured Output、正規表現に従う生成、コンテキストフリー文法(CFG)に従うコード生成等、幅広い応用の基盤になっている。 Outlinesやguidance、llama.cppのgrammar機能等のOSSライブラリで実装が提供されている。

背景

プロンプトのみでフォーマットを指示する方法は、モデルが指示を無視したり不完全な出力を生成したりするリスクを伴う。 制約付き生成は、生成過程そのものに制約を組み込むことで、出力形式の保証を実現するために発展した。

利点

  • 出力形式の違反を構造的に防止でき、後続処理でのパースエラーを削減できる
  • プロンプトによる指示だけに頼らず、確実性の高い形式保証を実現できる

欠点

  • 制約チェックの計算コストにより、生成速度が低下しやすい
  • 複雑な制約(文法規則)の定義・保守にコストが発生する

比較

  • Structured OutputStructured OutputはJSON Schemaへの準拠に特化した機能、制約付き生成は文法・正規表現等も含むより広い技術の総称
  • ガイド付き生成ガイド付き生成はテンプレートで生成の流れ自体を導く手法、制約付き生成はトークン候補を制約する技術という点でアプローチが異なる

関連用語

Structured Outputガイド付き生成デコーディング