Ollamaは9月29日に0.35から決定モデルに対応したと発表し、ggml-orgは10月2日にllama.cppサーバーの対応を発表した。どちらも/v1/systemoneエンドポイントでstateと名前付きの質問を受け取る。
決定モデル(decision model)は文を生成せず、与えられた選択肢に点数を付けて答えるモデルだ。答えは常に選択肢のいずれかで、確率が付く。
質問の型は3つある。choiceは選択肢ごとの確率を、scoreは2〜10段階の期待水準を、noulは「はい・いいえ」の質問に対する「はい」の確率を返す。
llama.cppのリストで画像を読めるモデルは、執筆時点でOpenJevなど一部だけだ。画像入力は決定モデル共通の機能ではない。
注意点:ライセンス、モデルごとの信頼度、ベンダーの数値
インターフェースは同じでもライセンスは異なる。OpenJevはCC BY-NC 4.0で、Julia-1・Kev-4Bなど他の項目はApache 2.0だ。
llama.cppの記事は、信頼度の基準をモデルごとに決めるよう書いている。曖昧な問い合わせ1件が、Julia-1では0.25、Kev-4Bでは0.80になった。
選択肢の説明も結果を変えた。ラベルだけの選択肢ではJulia-1が二重請求の問い合わせをshippingに回し、説明を付けるとbilling(0.99)に回した。
速度の数値はベンダーの測定だ。llama.cppはRTX PRO 6000 1台での中央値を、OllamaはM5 MaxでNimble 9Bが決定1回あたり平均91msだったと示した。この記事ではモデルを実行しておらず、レイテンシも測っていない。
ルーティングの前に決めるラベルと保留経路
分類やルーティングに使うなら、閾値より先にラベルの定義と判断を保留する経路を決める。評価用の入力には典型例だけでなく、曖昧な例や範囲外の例も入る。
確率が1つの選択肢に偏っても、正確さや較正が確認されたわけではない。重要な決定には、予測を信頼しにくいときに回す代替経路が残っている必要がある。
決定モデルはパースをなくしてくれるが、どの確率なら信頼できるかは今もモデルごとに自分で決めることだ。