生成設定:温度、top-k、top-p、テスト時計算
AIモデルの出力の確率的性質を理解するための、温度、top-k、top-pなどのサンプリング戦略、テスト時計算、構造化出力についての詳細な解説。
AIモデルの出力は確率的であり、これが創造的なタスクに適している一方で、不整合や幻覚の原因にもなります。モデルがどのように応答を生成するか(サンプリング)を理解することは、AIを効果的に活用する上で不可欠です。本記事では、Chip Huyen氏が温度、top-k、top-p、テスト時計算、構造化出力などの主要な生成設定を解説します。
サンプリングでは、ニューラルネットワークが入力に対して全可能値の確率分布を計算します。分類タスクでは最大確率の値を選べますが、言語モデルでは貪欲サンプリングは退屈な出力を生むため、確率分布に従ってサンプリングします。温度パラメータはロジットを調整し、確率を再分配します。高温では珍しいトークンの確率が上がり創造性が高まりますが、一貫性は低下します。低温では出力が決定論的になります。一般的に温度0.7が推奨されますが、用途に応じて調整が必要です。
Top-kサンプリングは確率上位k個のトークンのみを考慮し、softmax計算を軽減します。kが小さいと予測可能ですが面白みに欠けます。Top-p(核サンプリング)は累積確率がpに達する最小のトークン集合を動的に選択し、文脈に適した出力を実現します。理論的優位性は明確でないものの、実践で良好な結果が得られています。また、停止条件(最大トークン数や終了トークン)を用いて出力長を制御し、レイテンシとコストを低減できます。
テスト時計算では、複数の出力を生成し最良のものを選択することでモデル性能を向上させます。選択方法には平均対数確率の最大化、報酬モデルによるスコアリング、ヒューリスティクス(最短出力など)があります。OpenAIのbest_ofパラメータはこの手法を採用しています。ただし、複数サンプリングはコストが倍増し、性能向上には限界があります(例:400サンプルを超えると逆効果)。
構造化出力は、生産環境でJSONやSQLなどの形式を保証するために重要です。プロンプトが最も簡単ですが信頼性に欠け、ファインチューニングはより確実で推論コストも削減できます。制約付きサンプリングはトークン生成時にロジットをフィルタリングし、文法に従った出力を強制しますが、実装は複雑です。モデルが高性能化するにつれ、これらの手法の重要性は低下する可能性があります。
本記事は、AIモデルのサンプリング設定を理解し、適切に活用するための包括的なガイドです。確率的な性質をうまく扱うことで、より信頼性の高いAIアプリケーションを構築できるでしょう。