DMR を始める
Docker Model Runner を始めましょう。
Docker Model Runner を有効にする
Docker Desktop で DMR を有効にする
-
設定ビューで AI タブに移動します。
-
Enable Docker Model Runner 設定を選択します。
-
Windows でサポート対象の NVIDIA GPU を利用している場合、Enable GPU-backed inference も表示され、選択できます。
-
(任意)TCP サポートを有効にしたい場合は、Enable host-side TCP support を選択します。
- Port フィールドに任意のポート番号を入力します。
- Model Runner をローカルのフロントエンド Web アプリから利用する場合は、CORS Allows Origins にそのアプリの URL(例:
http://localhost:3131
)を指定します。
これで docker model
コマンドを CLI で使用できるようになり、Docker Desktop の Models タブからローカルモデルを表示・操作できます。
Docker Desktop バージョン 4.45 以前では、この設定は Beta features タブにありました。
Docker Engine で DMR を有効にする
-
Docker Engine がインストールされていることを確認してください。
-
DMR はパッケージとして提供されています。以下のコマンドでインストールできます:
Ubuntu/Debian
$ sudo apt-get update
$ sudo apt-get install docker-model-plugin
-
インストールをテストします:
$ docker model version $ docker model run ai/smollm2
Docker Engine では TCP サポートがデフォルトで有効化されており、ポートは 12434 が使用されます。
Docker Engine で DMR を更新する
Docker Engine 上の Docker Model Runner を更新するには、まずアンインストールしてから再インストールします。
docker model uninstall-runner --images && docker model install-runner
上記コマンドではローカルモデルは保持されます。
アップグレード時にモデルも削除したい場合は、uninstall-runner
コマンドに --models
オプションを追加してください。
モデルを pull する
モデルはローカルにキャッシュされます。
Docker CLI を使用する場合、モデルは HuggingFace から直接 pull することもできます。
Docker Desktop から
- Models タブを開き、Docker Hub タブを選択します。
- 使用したいモデルを探して、Pull をクリックします。
モデルを実行する
Docker Desktop から
- Models タブを開き、Local タブを選択します。
- 実行したいモデルの再生ボタン(▶)をクリックします。インタラクティブなチャット画面が表示されます。
モデルを設定する
モデルの最大トークン数などを設定するには Docker Compose を使用します。
詳細は Models and Compose - Model configuration options を参照してください。
モデルの公開(Publish)
この機能は Docker Hub に限らず、OCI アーティファクトをサポートするすべてのコンテナレジストリで利用可能です。
既存のモデルに新しい名前を付けて、別の namespace やリポジトリで公開できます:
# Pull 済みのモデルに新しい名前をタグ付け
$ docker model tag ai/smollm2 myorg/smollm2
# Docker Hub に Push
$ docker model push myorg/smollm2
詳細は docker model tag
および docker model push
のコマンドリファレンスを参照してください。
GGUF 形式のモデルファイルを直接 OCI アーティファクトとしてパッケージ化し、Docker Hub に公開することもできます:
# 例:HuggingFace から GGUF 形式のモデルファイルをダウンロード
$ curl -L -o model.gguf https://huggingface.co/TheBloke/Mistral-7B-v0.1-GGUF/resolve/main/mistral-7b-v0.1.Q4_K_M.gguf
# OCI アーティファクトとしてパッケージ化し、Docker Hub に Push
$ docker model package --gguf "$(pwd)/model.gguf" --push myorg/mistral-7b-v0.1:Q4_K_M
詳細は docker model package
のコマンドリファレンスをご覧ください。
トラブルシューティング
ログの表示
問題が発生した場合は、ログを表示して原因を確認できます:
Docker Desktop から
Models タブを開き、Logs タブを選択します。
リクエストとレスポンスの確認
リクエストとレスポンスを確認することで、モデル関連の問題を診断できます。 例えば、コンテキストウィンドウ内に収まっているかを確認したり、フレームワークを使った開発時に渡しているリクエストパラメータを制御したりするために、リクエスト本文を表示できます。
Docker Desktop でモデルごとのリクエストとレスポンスを確認するには:
-
Models を選択し、Requests タブを開きます。このビューでは、すべてのモデルへのリクエストが表示されます:
- リクエスト送信時刻
- モデル名とバージョン
- プロンプト/リクエスト内容
- コンテキスト使用量
- レスポンス生成にかかった時間
-
任意のリクエストを選択すると、さらに詳細が表示されます:
- Overview タブでは、トークン使用量、レスポンスのメタデータ、生成速度、実際のプロンプトとレスポンスを確認可能
- Request タブと Response タブでは、リクエストとレスポンスの完全な JSON ペイロードを確認可能
特定のモデルを選択して Requests タブを開くと、そのモデルに対するリクエストのみを表示できます。