ホームへ戻る

本機推論

Ollama 0.32.14、llama-server への送信前に WebP をトランスコードし、Qwen の system message の位置制約を緩和

新版では、モデルの前処理レイヤーにある2つの互換性上の問題を修正した。WebP 画像は事前にトランスコードされ、Qwen renderer も system message が必ず先頭にあることを要求しなくなった。新モデルや kernel に関する変更ではないものの、マルチモーダル処理やエージェント対話が推論コアに到達する前に失敗する事態を防げる。

Mattruffoni · CC BY-SA 4.0 · Image source
zh-Hant

Ollama 0.32.14 は、リクエストが `llama-server` に到達する前の2つの変換経路を重点的に修正した。1つ目の変更では、WebP 画像をトランスコードしてから下位のサーバーに渡す。Ollama の vision API では、chat message の `images` フィールドに画像のパスまたは内容を渡せる。上流アプリケーションがWeb画像、スクリーンショットサービス、ブラウザエージェントの生成物を直接受け取る場合、WebP は非常に一般的だ。API レイヤーがファイルを受け付けても、下位のデコーダーが処理できなければ、モデルの重みやプロンプトとは無関係に、vision encoder に到達する前に障害が発生する。新版では、Ollama と llama-server の境界でフォーマットを正規化するため、各クライアントが個別に変換処理の分岐を追加する必要がなくなる。

2つ目の変更は Qwen chat renderer にあり、system message が会話配列の先頭要素でなくても許容されるようになった。従来の単一ターンのチャットでは通常、system prompt を先頭に固定する。しかし、エージェントフレームワークでは、履歴の復元、ポリシー通知の挿入、コンテキストの圧縮、エージェント間の引き継ぎなどにより、会話の途中や後半に system message が追加される場合がある。従来の renderer が「最初のメッセージは必ず system」というテンプレート上の前提に依存していると、リクエストを拒否したり、想定と異なるテンプレートを生成したりする可能性があった。位置制約の緩和により、非標準的な履歴との相互運用性は向上する。ただし、すべての Qwen モデルが会話途中の system 指示を同じように解釈するとは限らないため、アプリケーション側では引き続きテンプレート出力と tool calling の挙動をテストすべきだ。

これは互換性修正であり、推論性能のアップデートではない。公式 release note では、WebP の変換先エンコーディング、追加のメモリ使用量やレイテンシーコスト、影響を受けるモデルのマトリクスは公開されていない。マルチモーダル RAG やブラウザエージェントをデプロイしているチームは、アップグレード後に、透過 WebP、アニメーション WebP、大きな画像、複数の system message を含む保存済み会話を使って回帰テストを実施し、テンプレート変更によって出力 token やツールのパラメーターにずれが生じていないことを確認すべきだ。

出典

  1. Ollama v0.32.14 release notes
  2. Ollama Vision documentation