Docker Model Runnerの機能拡張
本日、 Docker Model Runner がvLLM推論エンジンとセーフテンサーモデルを統合し、既に使っているDockerツールで高スループットのAI推論を解放することを発表できることを嬉しく思います。
Docker Model Runnerを最初に導入した際、開発者がDockerを使って大規模言語モデル(LLM)を簡単に実行・実験できるようにすることが目標でした。私たちはllama.cppから始まる複数の推論エンジンを統合するよう設計し、どこでもモデルを簡単に動かせるようにしました。
今、私たちはその旅の次のステップに踏み出しています。vLLM統合により、Dockerのワークフローから離れることなく、低価格帯から高性能なNvidiaハードウェアまでAIワークロードをスケールできます。
なぜvLLMなのか?
vLLM は、大規模言語モデルを大規模に効率的に提供するために設計された高スループットのオープンソース推論エンジンです。スループット、レイテンシ、メモリ効率に重点を置くため、業界全体で本番レベルのLLMの展開に使われています。
vLLMが際立っているのは以下の通りです:
- 最適化されたパフォーマンス:メモリオーバーヘッドを最小限に抑えGPU利用率を最大化する高度な注意アルゴリズムであるPagedAttentionを使用します。
- スケーラブルなサービング:バッチリクエストやストリーミング出力をネイティブで処理し、インタラクティブでトラフィックの多いAIサービスに最適です。
- モデルの柔軟性:GPT-OSS、Qwen3、Mistral、Llama 3などの人気のオープンウェイトモデルとセーフテンサー形式でシームレスに動作します。
vLLMをDocker Model Runnerに導入することで、高速なローカル実験と堅牢な本番推論のギャップを埋めています。
vLLMの仕組み
Docker Model RunnerでvLLMモデルを動かすのは、バックエンドをインストールしてモデルを実行するだけで、特別なセットアップは不要です。
vLLMバックエンドでDocker Model Runnerをインストールする:
docker model install-runner --backend vllm --gpu cuda
設置が完了したら、すぐに使い始めることができます:
docker model run ai/smollm2-vllm "Can you read me?"
Sure, I am ready to read you.
またはAPI経由でアクセスすることもできます:
curl --location 'http://localhost:12434/v1/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"model": "ai/smollm2-vllm",
"messages": [
{
"role": "user",
"content": "Can you read me?"
}
]
}'
HTTPリクエストやCLIコマンドにはvLLMへの言及はありません。
それは、Docker Model Runnerが使用するモデルに基づいてリクエストを自動的に正しい推論エンジンにルーティングするためで、llama.cppでもvLLMでもシームレスな体験が保証されているからです。
なぜ複数の推論エンジンを使うのか?
これまで開発者はシンプルさとパフォーマンスのどちらかを選ばなければなりませんでした。モデルを簡単に実行することもできます(Docker Model Runnerのような簡易ポータブルツールを使えば、llama.cppまたは最大スループットを達成する(vLLMのようなフレームワークで)。
Docker Model Runnerは今や両方を提供できます。
できます:
- llama.cppでローカルプロトタイプを作ってみて。
- vLLMで本番環境までスケールアップします。
同じ一貫したDockerコマンド、CI/CDワークフロー、デプロイ環境を全体的に使いましょう。
この柔軟性により、Docker Model Runnerは業界初の存在であり、単一のポータブルコンテナ化されたワークフロー内で複数の推論エンジンを切り替えられるツールは他にありません。
これらのエンジンを一つのインターフェースに統合することで、Dockerはノートパソコンからクラスタ、そしてその間のあらゆる環境に至るまで、AIを真に移植可能にしています。
セーフテンサー(vLLM)対GGUF(llama.cpp):適切なフォーマットの選択
vLLMの追加により、Docker Model Runnerは現在、最も支配的な2つのオープンソースモデルフォーマットであるSafetensorsとGGUFと互換性を持つようになりました。Model Runnerはエンジン設定の複雑さを抽象化しますが、これらのフォーマットの違いを理解することで、インフラに適したツールを選ぶのに役立ちます。
- GGUF(GPT生成統一フォーマット): llama.cppのネイティブフォーマットは、GGUFは高い移植性と量子化を重視して設計されています。メモリ帯域幅が限られている汎用ハードウェア上でモデルを動かすのに最適です。モデルアーキテクチャと重み付けを1つのファイルにまとめます。
- セーフテンサー: vLLMのネイティブフォーマットであり、ハイエンド推論の現代標準であるセーフテンサーは、高スループット性能のために構築されています。
Docker Model Runnerはあなたのリクエストを賢くルーティングします。GGUFモデルを引くと、llama.cppを利用します。セーフテンサーモデルを活用すれば、vLLMの力を活用できます。Docker Model Runnerでは、両方ともOCIイメージとして任意のOCIレジストリにプッシュ・プルできます。
Docker Hub上のvLLM互換モデル
vLLMモデルはセーフテンサー形式です。Docker Hubで利用可能な初期のセーフテンサーモデルの一部:
現在入手可能:x86_64 Nvidiaで
初期リリースはNvidia GPUを搭載したx86_64 アーキテクチャを搭載したシステム向けに最適化されており、利用可能です。私たちのチームはこのプラットフォームで安定した体験を作るために全力を尽くしており、その違いをきっと実感していただけると確信しています。
次は何ですか?
このローンチは始まりに過ぎません。私たちのvLLMロードマップは、プラットフォームアクセスの拡大と継続的なパフォーマンスチューニングという2つの重要な分野に焦点を当てています。
- WSL2/Docker Desktop 互換性: 私たちは、シームレスな「インナーループ」が開発者にとって極めて重要であることを知っています。私たちはWSL2を通じてvLLMバックエンドをWindowsに導入するために積極的に取り組んでいます。これにより、Linux環境で使うワークフロー(まずはNvidia Windowsマシン)で高スループットAIアプリケーションのDocker Desktopを構築、テスト、プロトタイプできます。
- DGX Sparkの互換性: 私たちはModel Runnerをさまざまな種類のハードウェア向けに最適化しています。Nvidia DGXシステムとの互換性追加に取り組んでいます。
- パフォーマンス最適化: 改善すべき点も積極的に追跡しています。vLLMは驚異的なスループットを提供しますが、現在はllama.cppよりも起動時間が遅いことを認識しています。これは、急速な開発サイクルを実現するために「最初のトークンまでの時間」を改善するための今後の強化で最適化しようとしている重要な分野です。
成長に関わる中でのご支援とご辛抱に感謝いたします。
参加方法
Docker Model Runnerの強みはコミュニティにあり、成長の余地は常にあります。このプロジェクトを最高のものにするために、皆さんのご協力が必要です。参加するには、以下の方法があります:
- リポジトリにスターを付けます。 サポートを示し、 Docker Model Runnerリポジトリにスターを付けて可視性を高めるのにご協力ください。
- アイデアを投稿してください。 新機能やバグ修正のアイデアはありますか?問題を作成して議論します。または、リポジトリをフォークし、変更を加えて、pull request を送信します。私たちはあなたがどんなアイデアを持っているかを見るのを楽しみにしています!
- 言葉を広める: 友人、同僚、および Docker で AI モデルを実行することに興味がある可能性のある人に伝えてください。
私たちは Docker Model Runner のこの新しい章に非常に興奮しており、一緒に何を構築できるかを見るのが待ちきれません。さあ、仕事に取り掛かりましょう!