舞台裏: Docker Model Runner の蚭蚈方法ず今埌の予定

投皿日: Jun 18, 2025

ここ数幎で、AIモデルが今埌も倚くのアプリケヌションの基本的なコンポヌネントであるこずが明らかになりたした。問題は、それらが根本的に 異なる タむプのコンポヌネントでもあり、耇雑な゜フトりェアずハヌドりェアの芁件が(ただ)コンテナ指向の開発ラむフサむクルずアヌキテクチャの制玄にうたく適合しおいないこずです。この問題に察凊するために、Docker は Docker Desktop 4で Docker Model Runner をリリヌスしたした。40。それ以来、私たちは Docker Model Runner の拡匵に積極的に取り組み、OS ずハヌドりェアのサポヌトを远加し、䞀般的な Docker ツヌルずのより緊密な統合を行い、パフォヌマンスずナヌザビリティを改善しおきたした。
Docker Model Runner ずその将来に関心のある方のために、その蚭蚈、開発、ロヌドマップの舞台裏をご玹介したす。

手蚘 Docker Model Runner は、実際には Model Runner ず Model Distribution Specification の 2 ぀の コンポヌネントです。この蚘事では、前者に぀いお説明したすが、ストヌリヌの同様に重芁な配垃の偎面に぀いおは、Emily Caseyによる コンパニオンブログ投皿 を必ずチェックしおください。

蚭蚈目暙

Docker Model Runnerの䞻な蚭蚈目暙は、ナヌザヌが AIモデルをロヌカルで実行 し、コンテナずホストプロセスの䞡方からアクセスできるようにするこずでした。これは簡単に衚珟できたすが、それでも解決策を芋぀けるための巚倧なデザむン空間が残されおいたす。幞いなこずに、私たちは小さな゚ンゞニアリングチヌムであり、野心的なタむムラむンを持っおいたずいう制玄がありたした。最も重芁なこずは、UXを䞀床に提䟛できなくおも、UXに劥協したくなかったこずです。最終的には、これが蚭蚈䞊の決定を動機付け、これたでのずころ、実行可胜な゜リュヌションを提䟛しながら、将来の改善の䜙地を十分に残すこずができたした。





耇数のバック゚ンド

早い段階でわかっおいたこずの 1 ぀は、独自の掚論゚ンゞンを䜜成する぀もりはないずいうこずでした (Docker の操舵宀はコンテナ化された開発であり、䜎レベルの掚論゚ンゞンではありたせん)。たた、私たちはオヌプン゜ヌスの倧きな支持者でもあり、既存の玠晎らしい゜リュヌションがたくさんありたした。llama.cppがありたす、vLLM、MLX、ONNX、PyTorch など、さたざたなものがありたす。

もちろん、遞択の䜙地がないずいうのは呪いにもなり埗たす - どちらを遞ぶべきか?明癜な答えは、䞀床にすべおではなく、できるだけ倚くの人を遞ぶこずでした。

最初の実装では llama.cpp を採甚するこずにしたしたが、ナヌザヌが将来の耇数のバック゚ンドを利甚できるように、意図的に远加のオプションのパスコンポヌネント (/engines/{name} の {name}}) を䜿甚しお API を蚭蚈したした。たた、他のバック゚ンドのむンタヌフェヌスを蚭蚈し、実装をスタブアりトしお、開発の衛生状態を良奜に保ち、1぀の「初期」実装に瞛られるのを避けたした。

OpenAI API の互換性

私たちが行わなければならなかった 2 番目の蚭蚈䞊の遞択は、掚論をコンテナ内の消費者にどのように公開するかでした。掚論 API の分野でもかなりの遞択肢がありたしたが、OpenAI API 暙準が初期ツヌルの互換性ずしお最適であるように思われるこずがわかりたした。たた、Docker 内のいく぀かのチヌムが、すでにこの API をさたざたな珟実䞖界の補品に䜿甚しおいるずいう事実にも動機付けられたした。将来的には远加の API をサポヌトする可胜性がありたすが、これたでのずころ、この API サヌフェスはほずんどのアプリケヌションにずっお十分であるこずがわかりたした。私たちが知っおいるギャップの1぀は、このAPIサヌフェスず の完党な 互換性であり、これは私たちが繰り返し取り組んでいるこずです。

この決定は、最初のバック゚ンドずしおllama.cppを遞択するきっかけにもなりたした。llama.cppプロゞェクトは、 サヌバヌ の実装を通じお、OpenAI API互換性のタヌンキヌオプションをすでに提䟛しおいたした。いく぀かの小さな倉曎を加える必芁がありたしたが(䟋:Unix ドメむン゜ケットのサポヌト)、これにより、゜リュヌションぞの最速の道筋が提䟛されたした。たた、これらの小さなパッチをアップストリヌムで提䟛し始めおおり、将来的にはこれらのプロゞェクトぞの貢献を拡倧したいず考えおいたす。

Docker API のモデルに察する第䞀玚垂民暩

OpenAI API 暙準は、既存のツヌルの䞭で最もナビキタスなオプションでしたが、 Docker Engine API ではモデルを最玚垂民にしたいこずもわかっおいたした。モデルの実行ラむフサむクルは、通垞コンテナの ENTRYPOINTを構成するプロセスずは根本的に異なるため、Docker Engine API の暙準の /containers ゚ンドポむントにはうたく適合したせん。ただし、コンテナ、むメヌゞ、ネットワヌク、ボリュヌムず同様に、モデルは基本的なコンポヌネントであるため、独自の API リ゜ヌスタむプに本圓に倀したす。これにより、/images ゚ンドポむントを厳密にモデルにした䞀連の /models ゚ンドポむントを远加する動機ずなりたしたが、ディストリビュヌションのブログ蚘事で最もよく説明されおいる理由から分離されおいたす。

GPUアクセラレヌション

もう 1 ぀の重芁な蚭蚈目暙は、掚論挔算の GPU アクセラレヌションのサポヌトでした。最も小さくお有甚なモデルでさえ、非垞に蚈算負荷が高くなりたすが、より掗緎されたモデル(ツヌル呌び出し機胜を備えたモデルなど)は、ロヌカルハヌドりェアに適合させるのは困難です。GPUのサポヌトは、䟿利な゚クスペリ゚ンスのために亀枉の䜙地がないものでした。

残念ながら、Docker Desktop で VM の境界を越えお GPU を枡すこずは、特にプラットフォヌム間で信頌性が高く、コンテナ内で䜿甚可胜な蚈算 API を提䟛する方法では、䞍可胜であるか、非垞に䞍安定なものでした。

劥協案ずしお、Docker Desktop VM の倖郚で掚論操䜜を実行し、VM からホストぞの API 呌び出しを単玔にプロキシするこずにしたした。このアプロヌチにはいく぀かのリスクがありたすが、macOS ず Windows でのコンテナホスト型サンドボックス化により、これらを軜枛する取り組みに取り組んでいたす。さらに、Docker が提䟛するモデルずアプリケヌションが提䟛するプロンプトを䜿甚するず、特に掚論が䞻に数倀挔算で構成されおいるこずを考えるず、リスクはいくらか䜎くなりたす。Docker Desktop のリスクは、 host.docker.internal を介しおホスト偎のサヌビスにアクセスする堎合ずほが同等であるず評䟡しおいたす (これはデフォルトですでに有効になっおいたす)。

しかし、モデル出力でツヌルの䜿甚を促進する゚ヌゞェントは、より重倧な副䜜甚を匕き起こす可胜性があり、それに察凊する必芁がありたした。幞いなこずに、 Docker MCP Toolkit を䜿甚するず、゚フェメラル コンテナ内でツヌルの呌び出しを実行でき、モデルが匕き起こす可胜性のある副䜜甚を確実にカプセル化できたす。このハむブリッドなアプロヌチにより、ツヌルを䜿甚する際に比范的安心しお、可胜な限り最高のロヌカルパフォヌマンスを提䟛するこずができたす。

Docker Desktop のコンテキスト以倖では、たずえば Docker CE では、ホスト ハヌドりェアずコンテナの間に VM 境界 (ハむパヌバむザヌの堎合は少なくずも 非垞に透明な VM 境界) がないため、非垞に有利な立堎にありたす。Docker CE でスタンドアロン モヌドで実行するず、Docker Model Runner はホスト ハヌドりェアに盎接 ( NVIDIA Container Toolkit などを介しお) アクセスでき、コンテナ内で掚論操䜜を実行したす。

モゞュヌル性、むテレヌション、オヌプン゜ヌス化

前述のように、Docker Model Runner チヌムは比范的小芏暡であるため、Docker Model Runner の開発䜜業を効果的に䞊列化するためには、モノリシック アヌキテクチャに頌るこずはできたせんでした。さらに、私たちは早くから、可胜な限りオヌプン゜ヌスにするずいう包括的な指瀺を持っおいたした。

私たちは、開発䜜業を敎理するための 3 ぀の高レベルのコンポヌネント ( モデル ランナヌ、 モデル配垃ツヌル、 モデル CLI プラグむン) を決定したした。

これらのコンポヌネントを分割するこずで、䜜業をより効果的に分割し、より迅速に反埩し、異なる懞念事項間で明確な API 境界を定矩するこずができたした。䟝存関係にはいく぀かの厄介なハヌドルがありたしたが (特にクロヌズド゜ヌスのコンポヌネントず統合する堎合)、モゞュラヌアプロヌチにより、新しいプラットフォヌムの迅速な増分倉曎ずサポヌトが促進されたこずがわかりたした。

高レベルのアヌキテクチャ

倧たかに蚀うず、Docker Model Runner アヌキテクチャは、䞊蚘の 3 ぀のコンポヌネント (ランナヌ、ディストリビュヌション コヌド、CLI) で構成されおいたすが、それぞれには興味深いサブコンポヌネントもいく぀かありたす。

図 1:Docker Model Runnerの高レベルアヌキテクチャ

これらのコンポヌネントがどのようにパッケヌゞ化され、ホストされるか (およびそれらがどのように盞互䜜甚するか) は、デプロむされるプラットフォヌムによっおも異なりたす。いずれの堎合も、芋た目は少し異なりたす。ホスト䞊で実行される堎合もあれば、VM で実行される堎合もあれば、コンテナヌで実行される堎合もありたすが、党䜓的なアヌキテクチャは同じように芋えたす。

モデル ストレヌゞずクラむアント

䞭栞ずなるアヌキテクチャ コンポヌネントは モデル ストアです。このコンポヌネントは、モデル配垃コヌドによっお提䟛され、実際のモデルテン゜ルファむルが栌玍される堎所です。これらのファむルは、 (1) 高゚ントロピヌで特に圧瞮性がなく、 (2) 掚論゚ンゞンが mmap() を介しお仮想アドレス空間にマッピングするようなこずをするために、ファむルに盎接アクセスする必芁があるため、画像ずは異なる (そしお別々に) 保存されたす。詳现に぀いおは、付属のモデル配垃に関するブログ蚘事を参照しおください。

モデル配垃コヌドは、 モデル配垃クラむアントも提䟛したす。このコンポヌネントは、OCIレゞストリに察しおモデル配垃プロトコルを䜿甚しお操䜜(モデルのプルなど)を実行したす。

モデルランナヌ

モデル ストアの䞊に構築されるのは 、モデル ランナヌです。モデルランナヌは、むンバりンド掚論APIリク゚スト(䟋:/v1/chat/completions たたは /v1/embeddings requests) を、掚論゚ンゞンずモデルのペアをホストしおいるプロセスに送信できたす。これには、モデルを同時にロヌドできない堎合でも、同時リク゚ストを凊理できるように、メモリ内およびメモリ倖ぞのモデルの読み蟌みを調敎するスケゞュヌラ、ロヌダヌ、およびランナヌコンポヌネントが含たれたす(䟋:リ゜ヌスの制玄のため)。これにより、モデルの実行ラむフサむクルはコンテナの実行ラむフサむクルずは異なり、゚ンゞンずモデルは䞀時的なプロセス(ほずんどがナヌザヌから隠される)ずしお機胜し、必芁に応じお(たたはアむドル状態のずきに)メモリから終了およびアンロヌドできたす。゚ンゞンの組み合わせごずに異なるバック゚ンドプロセスが実行されたす (䟋:llama.cpp)およびモデル(䟋:ai/qwen3:8B-Q4_K_M)掚論 API リク゚ストで必芁に応じお (ただし、同じペアを察象ずする耇数のリク゚ストは、可胜であれば同じランナヌずバック゚ンド プロセスを再利甚したす)。

ランナヌには、バック゚ンドのバむナリずラむブラリを動的にダりンロヌドできるむンストヌラヌサヌビスも含たれおおり、ナヌザヌは数癟MBの䟝存関係のダりンロヌドが必芁になる可胜性のある機胜(CUDAサポヌトなど)を遞択的に有効にするこずができたす。

最埌に、モデルランナヌは、 /models API (モデル配垃コヌドにルヌティングされる) や /engines API (スケゞュヌラヌにルヌティングされる) など、すべおの Docker Model Runner API の䞭倮サヌバヌずしお機胜したす。このAPIサヌバヌは、 503 レスポンスのようなものを返すのではなく、リ゜ヌス(䞻にRAMたたはVRAM)がそれらを凊理するために䜿甚できるたで、垞に凊理䞭のリク゚ストを保持するこずを遞択したす。これは、耇数の゚ヌゞェントが異なるモデルで実行されおいる堎合や、埋め蟌みず完了の䞡方に察する同時芁求など、倚くの䜿甚パタヌンにずっお重芁です。

モデルCLI

Docker Model Runner アヌキテクチャの䞻芁なナヌザヌ向けコンポヌネントは、 モデル CLI です。このコンポヌネントは、 docker image コマンドず非垞によく䌌たむンタヌフェむスを提䟛する暙準の Docker CLI プラグむン です。モデル実行のラむフサむクルはコンテナのラむフサむクルずは異なりたすが、抂念(プッシュ、プル、実行など)は、既存のDockerナヌザヌにずっお十分に銎染み深いものでなければなりたせん。

モデル CLI は、モデル ランナヌの API ず通信しお、ほがすべおの操䜜を実行したす (ただし、その通信のトランスポヌトはプラットフォヌムによっお異なりたす)。モデル CLI はコンテキスト察応であるため、Docker Desktop モデルランナヌ、Docker CE モデルランナヌ、たたはカスタムプラットフォヌム䞊のモデルランナヌず通信しおいるかどうかを刀断できたす。暙準のDocker CLIプラグむンフレヌムワヌクを䜿甚しおいるため、暙準の Docker Context 機胜をすべお無料で利甚でき、この怜出がはるかに容易になりたす。

APIの蚭蚈ずルヌティング

前述のように、Docker Model Runner は、Docker スタむルの API ず OpenAI 互換の API の 2 ぀の API セットで構成されおいたす。Docker スタむルの API ( /image API をモデルにしおいたす) には、次の゚ンドポむントが含たれたす。

  • POST /models/create (モデルのプル)
  • GET /models (モデル䞀芧)
  • GET /models/{namespace}/{name} (モデルメタデヌタ)
  • DELETE /models/{namespace}/{name} (モデルの削陀)

これらのリク゚ストの本文は、画像の類䌌物ず非垞によく䌌おいたす。珟時点ではドキュメントはありたせんが、 察応するGoタむプを芋るこずで、圢匏を垣間芋るこずができたす。

察照的に、OpenAI ゚ンドポむントは、異なるが RESTful な芏則に埓いたす。

  • GET /engines/{engine}/v1/models (OpenAI圢匏のモデルリスト)
  • GET /engines/{engine}/v1/models/{namespace}/{name} (OpenAI 圢匏のモデルメタデヌタ)
  • POST /engines/{engine}/v1/chat/completions (チャットの完了)
  • POST /engines/{engine}/v1/completions (チャットの完了 (レガシヌ ゚ンドポむント))
  • POST /engines/{engine}/v1/embeddings (埋め蟌みを䜜成する)

珟時点では、サポヌトされおいる {engine} 倀は 1 ぀だけです (llama.cpp)。たた、デフォルト(llama.cpp)の䜿甚を省略するこずもできたす゚ンゞン。

これらの API は、いく぀かの異なる゚ンドポむントで䜿甚できるようにしたす。


たず、Docker Desktop では、Docker ゜ケット (/var/run/docker.sock) で䜿甚できたす。コンテナの内偎ず倖偎の䞡方。これは、Docker Engine API でモデルを第䞀玚垂民ずしお持぀ずいう蚭蚈目暙にサヌビスを提䟛するものです。珟時点では、これらの゚ンドポむントの先頭には /exp/vDD4が付けられおいたす40path (開発䞭に進化する可胜性のある API ぞの䟝存を避けるため) ですが、これらの API は珟圚ほずんど安定しおおり、䞋䜍互換性のある方法で進化するため、次のいく぀かのリリヌスでこのプレフィックスを削陀する可胜性がありたす。

次に、Docker Desktop でも、コンテナからのみアクセス可胜な特別な model-runner.docker.internal ゚ンドポむントで API を利甚できるようにしたす (ただし、掚論サンドボックスを最初に実装したいため、珟圚は ECI コンテナからではありたせん)。この TCP ベヌスの゚ンドポむントは、(Docker API 党䜓ではなく) /models API ゚ンドポむントず /engines API ゚ンドポむントのみを公開し、既存のツヌル (Unix ドメむン ゜ケット経由で API にアクセスできない可胜性が高い) を提䟛するように蚭蚈されおいたす。/exp/vDD4がありたせん。40この堎合、プレフィックスが䜿甚されたす。

最埌に、Docker Desktop ず Docker CE の䞡方で、/models API ゚ンドポむントず /engines API ゚ンドポむントをホスト TCP ゚ンドポむント (localhost:12434で、デフォルトで /exp/vDD4 なしで䜿甚できるようにしたす40プレフィックス)。Docker Desktop では、これはオプションであり、デフォルトでは有効になっおいたせん。Docker CE では、API ゚ンドポむントぞのアクセス方法の重芁なコンポヌネントであり、珟圚、Docker CE の /var/run/docker.sock に゚ンドポむントを远加したり、カスタムの model-runner.docker.internal ホスト名を挿入したりするための統合がないため、暙準の 172.17.0.1 を䜿甚するこずをお勧めしたす。この localhost に公開されおいるポヌトにアクセスするためのホスト ゲヌトりェむ アドレス (䟋:OpenAI API のベヌス URL を http://172.17.0.1:12434/engines/v1) に蚭定したす。近い将来、これをDockerプラットフォヌム間で統合できるようになるこずを願っおいたす(以䞋のロヌドマップを参照)。

たずは、Docker Desktop

Docker Model Runner の自然な最初のステップは、Docker Desktop ぞの統合でした。Docker Desktop では、Docker ゚ンゞンずの統合や、モデルランナヌコンポヌネントのホストに䜿甚できる既存のプロセスをより盎接的に制埡できたす。この堎合、モデルランナヌずモデル配垃コンポヌネントはDocker Desktopホストバック゚ンドプロセス( com.docker.backend プロセスが実行されおいるのを芋たこずがあるかもしれたせん)に存圚し、特別なミドルりェアずネットワヌキングマゞックを䜿甚しお 、/var/run/docker.sock ず model-runner.docker.internal 䞊のリク゚ストをモデルランナヌのAPIサヌバヌにルヌティングしたす。個々の掚論バック゚ンドプロセスは com.docker.backend のサブプロセスずしお実行されるため、たずえば、掚論バック゚ンドがメモリ䞍足 (OOM) ゚ラヌによっお匷制終了された堎合、Docker Desktop でクラッシュするリスクはありたせん。

圓初は、モデルランナヌ機胜を開発するための最も統䞀されたプラットフォヌムを提䟛した Apple Silicon 䞊の macOS のサポヌトから始めたしたが、すべおの Docker Desktop プラットフォヌム向けにビルドずテストを行う途䞭でほずんどの機胜を実装したした。これにより、AMD64 および ARM64 プラットフォヌム䞊の Windows ぞの移怍が倧幅に容易になり、そこで芋぀かった GPU のバリ゚ヌションも䜿甚できるようになりたした。

Windows で問題になったのは、GPU ベヌスのバック゚ンドのサポヌトラむブラリの䟝存関係のサむズが倧きいこずでした。Docker Desktop for Windowsむンストヌラヌにさらに 500 MB〜 1 GBを远加しおも実珟䞍可胜(たたは蚱容)ではなかったため、Docker Desktop for WindowsのCPUベヌスのバック゚ンドをデフォルトにし、オプションでGPUバック゚ンドをサポヌトするこずにしたした。これが、モデルランナヌの動的むンストヌラヌコンポヌネントの䞻な動機付けでした(さらに、さたざたなバック゚ンドぞの増分曎新を望んでいたした)。

これはすべお非垞によく蚈画された挔習のように聞こえ、実際、3぀のコンポヌネント蚭蚈ず厳密に匷制されたAPI境界から始めたしたが、実際には、Docker Desktop゜ヌスコヌドのサブパッケヌゞずしおモデルランナヌサヌビスコヌドから始めたした。これにより、特にさたざたなサヌビスのアヌキテクチャを探求する際に、迅速なむテレヌションがはるかに容易になりたした。幞いなこずに、コヌドに察しお比范的厳栌な分離ポリシヌを堅持し、API ずむンタヌフェむスを通じおクリヌンな䟝存関係を匷制するこずで、オヌプン゜ヌス化の目的でコヌド (優れた git-filter-repo ツヌルに称賛を送りたす) を別のリポゞトリに簡単に抜出するこずができたした。

次の目的地:Docker CE

Docker のオヌプン゜ヌス化ぞのこだわりは別ずしお、Docker Model Runner の゜ヌスコヌドを公開したいず考えた䞻な理由の 1 ぀は、Docker CE ぞの統合をサポヌトするこずでした。私たちの目暙は、docker buildx や docker compose ず同じ方法で docker model コマンドをパッケヌゞ化するこずでした。

Docker CE の秘蚣は、Docker Model Runner を「バニラ」の Docker CLI プラグむン (぀たり、特別な暩限やAPIアクセスがない)、぀たり、モデルランナヌサヌビスをホストできるバック゚ンドプロセスがなかったのです。ただし、Docker CE の堎合、ホスト ハヌドりェアずコンテナ プロセスの間の境界は䞭断がはるかに少ないため、実際にはコンテナ内で Docker Model Runner を実行し、アクセラレヌタ ハヌドりェアを盎接利甚できるようにするこずができたす。そのため、スタンドアロンの BuildKit ビルダヌコンテナず同様に、Docker Model Runner を Docker CE のスタンドアロンコンテナずしお実行し、モデルストレヌゞ甚に特別な名前のボリュヌムを䜿甚したす (぀たり、モデルを再プルせずにランナヌをアンむンストヌルできたす)。この「むンストヌル」は、 docker/model-runner むメヌゞをプルしおコンテナを起動するこずにより、モデル CLI によっお自動的に (必芁に応じお) 実行されたす。ランナヌの明瀺的な蚭定は、 docker model install-runner コマンドを䜿甚しお指定するこずもできたす。必芁に応じお、 docker model uninstall-runner を䜿甚しおモデルランナヌ (およびオプションでモデルストレヌゞ) を削陀するこずもできたす。

残念ながら、これはUXずの小さな劥協点の1぀に぀ながりたす:珟圚、 /var/run/docker.sock たたは特別な model-runner.docker.internalURL でモデルランナヌAPIをサポヌトしおいたせん。代わりに、モデルランナヌ API サヌバヌは、ホストシステムのルヌプバックむンタヌフェむスである localhost: の lamp:12434 (デフォルト) をリッスンしたす。これは、ほずんどのコンテナ内で 172. . .17.0.1:12434.必芁に応じお、ナヌザヌはこれをmodel-runner.docker.internalで利甚できるようにするこずもできたす12434–add-host=model-runner.docker.internal:host-gateway のようなものを利甚するdocker run たたは docker create コマンドを実行する堎合。これは、Compose YAML ファむルで extra_hosts キヌを䜿甚しおも実珟できたす。今埌のリリヌスでは、これをより人間工孊に基づいたものにする予定です。

これからの道...

珟状は、macOSおよびWindowsのDocker DesktopでのDocker Model Runnerのサポヌトず、Linux(WSL2を含む)でのDocker CEのサポヌトですが、それで話が終わるわけではありたせん。今埌数か月の間に、Docker Model Runner のナヌザヌ ゚クスペリ゚ンス、パフォヌマンス、セキュリティを再構築するず思われるいく぀かのむニシアチブを蚈画しおいたす。

远加のGUIおよびCLI機胜

今埌数か月の間に登堎する最も目立぀機胜は、モデルCLIずDocker Desktopダッシュボヌドの[モデル]タブです。モデルの実行の監芖ず制埡をより盎接的にサポヌトする新しいコマンド ( df、 ps、 unload など) が登堎する予定です。たた、[モデル] タブには、新しいレむアりトず拡匵されたレむアりトず機胜が衚瀺されたす。

OpenAI API サポヌトの拡匵

Docker Model Runner のナヌザヌ ゚クスペリ゚ンスであたり目立たないが、同様に重芁な偎面は、OpenAI API ずの互換性です。サポヌトする゚ンドポむントずパラメヌタは倚数ありたす(すでに倚くのパラメヌタをサポヌトしおいたす)ため、実際のナヌスケヌスに焊点を圓お、既存のツヌルずの互換性を優先しお、APIサヌフェスの互換性の拡倧に取り組みたす。

containerdずMobyの統合

私たちが怜蚎しおいる長期的な取り組みの1぀は、 containerdずの統合です。containerdは、ストレヌゞず調敎されたタスク実行を可胜にするモゞュラヌランタむムシステムをすでに提䟛しおいたす。私たちは、これが正しい方法であり、モデルの保存、モデルの実行、およびモデルの実行サンドボックスの関係をより適切に䜓系化できるず信じおいたす。

containerdの䜜業ず組み合わせお、Mobyプロゞェクトずのより緊密な統合も望んでいたす。既存のDocker CE統合は実行可胜でパフォヌマンスの高い゜リュヌションを提䟛したすが、より盎接的な統合により、より優れた人間工孊を実珟できるず考えおいたす。特に、Docker CE での model-runner.docker.internal DNS 解決のサポヌトなどの優れた点が泚目されおいたす。おそらく、この緊密な統合による最倧の利点は、Docker Model Runner API を Docker ゜ケットに公開し、API ゚ンドポむント (䟋:/models)Docker Engine API の公匏ドキュメントを参照しおください。

Kubernetes

Docker Model Runnerの補品目暙の1぀は、開発の内郚ルヌプから本番環境たで䞀貫した゚クスペリ゚ンスを実珟するこずであり、Kubernetesは間違いなくその道の䞀郚です。Docker CE に䜿甚しおいる既存の Docker Model Runner むメヌゞは、Kubernetes クラスタヌ内でも機胜し、珟圚、Kubernetes クラスタヌで Docker Model Runner むンスタンスを蚭定する手順を開発しおいたす。Kubernetesずの倧きな違いは、䜿甚されおいるクラスタヌずアプリケヌションのアヌキテクチャが倚様であるこずであるため、さたざたなシナリオでDocker Model Runnerを構成する方法に぀いお、さたざたな「レシピ」が必芁になる可胜性がありたす。

vLLMの

倚くのお客様から寄せられた声の 1 ぀は、vLLM がプロダクション スタックの䞭栞コンポヌネントであるずいうこずです。これは、モデルランナヌリポゞトリにスタブアりトした最初の代替バック゚ンドでもあり、実装を突っ蟌み始める時が来たした。

さらに増える...

最埌に、ただお話しできない郚分もありたすが、それらは開発者がモデルず察話する方法を根本的に倉えるでしょう。7 月 9日から11 日たで開催される WeAreDevelopers の Docker のセッションでは、Docker の AI 関連の取り組みに関する゚キサむティングな発衚をご芧いただけたす。

さらに詳しく

関連蚘事