Ollama、マルチモーダルモデル向けの新しいエンジンを発表
(ollama.com)- Ollamaは新しいエンジンにより、マルチモーダル(テキスト+画像)モデルのサポートを開始
- Llama 4 ScoutやGemma 3など、さまざまな視覚マルチモーダルモデルをサポートし、画像とテキストを組み合わせた質問応答が可能に
- 新しいエンジンはモデルのモジュール性向上、精度改善、効率的なメモリ管理機能を提供
- 画像キャッシュ、ハードウェアメタデータ活用などにより、高速な推論性能とハードウェア最適化を実現
- 今後は、より長いコンテキスト対応、ツール呼び出し、ストリーミングなど、さまざまな機能拡張を予定
Ollamaのマルチモーダルモデル対応
Ollamaは新しいマルチモーダルエンジンの導入により、画像とテキストを複合的に扱う最新のビジョンマルチモーダルモデルをサポートします。
総合的なマルチモーダル理解と推論
Llama 4 Scout
- OllamaではLlama 4 Scout(1090億パラメータ、mixture-of-expertsモデル)をサポート
- 例として、動画フレームに対する位置ベースの質問が可能
- 例)特定の建物、環境要素、背景情報など、さまざまな画像特徴を検出
- 続けて多様な後続質問も自然に行える
- 例)「この建物からスタンフォードまでどれくらい遠いか?」「どう行くのが最適か?」といった質問に正確な情報を提供
- 複数の交通手段、経路、予想所要時間など、実際の状況に合った回答を提供
Gemma 3
- Gemma 3は複数の画像を同時に入力し、画像間の関係を分析できる
- 例)4枚の画像に共通して登場する動植物、特定の場面の有無、特異な状況など、さまざまな条件を素早く把握
- 面白い例として、ラマとイルカがボクシングする様子を見て、どちらが勝つかを分析し、個体の特徴や動きのダイナミクスを把握
文書認識と分析
Qwen 2.5 VL
- Qwen 2.5 VLモデルは、文字認識(OCR)や画像内の特定テキスト情報の抽出に活用される
- 実際の利用例として、小切手の情報を抽出したり、春節の対聯のような中国語の縦書き句を英語に翻訳したりする作業を処理
Ollamaマルチモーダルエンジンの特徴
- Ollamaはこれまでggml-org/llama.cppプロジェクトに依存してモデル対応を進めてきており、使いやすさとモデル移植性を中心に開発してきた
- 近年、さまざまな研究機関がマルチモーダルモデルを公開しており、Ollamaは目標どおり、より幅広いモデル対応のためにエンジンを独自に強化
- 新しいエンジンはマルチモーダルモデルを独立した一級オブジェクトとして扱い、パートナーやコミュニティの参加も高めている
エンジン進化の意味
- Ollamaのローカル推論における信頼性と精度の向上、そして今後の多様なマルチモーダル分野への対応基盤を整備(例:音声、画像生成、動画生成、長いコンテキスト対応、改善されたツール活用など)
モデルのモジュール性
- 各モデルの「影響範囲」を独立させ、信頼性を高め、開発者が新モデルを容易に統合できるように設計
- 従来のggml/llama.cppはテキスト専用モデルのみをサポートしており、マルチモーダルではテキストデコーダとビジョンエンコーダが分離されて別々に実行される
- 画像はビジョンアルゴリズムで埋め込み化された後にテキストモデルへ渡される必要があるため、各モデルごとのロジックをスリムに実装できる
- Ollama内では、モデルが独自に埋め込み射影層や、モデル固有の学習体系に合わせた分離を行える
- モデル開発者は追加パッチや複雑な条件分岐なしに、自身のモデルと学習に集中できる
- 一部のモデル構造の例はOllamaのGitHubリポジトリで確認できる
精度向上
- 大きな画像はトークン数が多く、バッチサイズを超える可能性がある
- 画像がバッチを超える場合、位置情報が崩れることがある
- Ollamaは画像処理時に追加メタデータを付与し、精度を高めている
- causal attentionの適用有無、画像埋め込みのバッチ分割と境界管理などを細かく処理
- 分割位置が不適切だと出力品質が低下する懸念があり、各モデルの論文基準に合わせて基準点を調整
- 他のローカル推論ツールはそれぞれ異なる方式で実装しているが、Ollamaはモデル設計と学習方式に合わせた正確な処理で品質を保証する
メモリ管理の最適化
- 画像キャッシュ: 一度処理した画像は継続してメモリに保持されるため、後続プロンプトの処理速度が向上する。メモリ限界に達しない限り、画像は保持される
- メモリ予測とKVキャッシュ最適化: ハードウェアメーカーおよびOSパートナーと協力し、ハードウェアメタデータを正確に認識して、メモリ使用の最適化を追求
- ファームウェアバージョンごとの検証を実施し、新機能のベンチマークも進めている
- Ollamaはcausal attentionをモデル単位で個別に最適化し、グループ単位ではなく各モデルに合わせた設定を提供
- 例:
- Google DeepMindのGemma 3: スライディングウィンドウアテンションによって一部のコンテキスト長のみを割り当て、残りのメモリを同時推論などに割り当て
- MetaのLlama 4 Scout、Maverickなど: chunked attention、2D rotary embeddingなどをサポートし、mixture-of-expertsモデルの長いコンテキスト対応を実装
- 例:
- アテンション層が完全には実装されていないモデルは「動作」することはあっても、長期的には出力品質の低下や異常な結果を招く可能性がある
今後の計画
- より長いコンテキスト長への対応
- 推論・思考能力の強化
- ツール呼び出しとストリーミング応答の提供
- コンピュータ直接活用機能の拡張
謝辞
- モデル開発に貢献した団体および研究者
- Google DeepMind、Meta Llama、Alibaba Qwen、Mistral、IBM Graniteなど、ビジョンモデル開発に尽力した多数の研究機関とコミュニティメンバーに感謝
- GGML
- GGMLチームのテンソルライブラリは、Ollamaの推論エンジンを構成する中核要素。GoからGGMLへ直接アクセスし、カスタム推論グラフや複雑なモデルアーキテクチャ設計に活用できる
- ハードウェアパートナー企業
- さまざまなデバイスでの推論性能向上に協力したNVIDIA、AMD、Qualcomm、Intel、Microsoftなどのハードウェアパートナーに感謝
1件のコメント
Hacker Newsのコメント