推論サービスは、マウントされた OSS または NAS パスからモデルファイルを読み取りますが、ネットワーク帯域幅の制限により遅延が発生する可能性があります。Elastic Algorithm Service (EAS) では、モデルファイルをメモリ内にキャッシュすることで読み取り速度を向上させ、遅延を低減する「モデルキャッシュアクセラレーション」機能を提供しています。
仕組み
モデルキャッシュアクセラレーションは、以下の 2 つの方法をサポートしています。
-
ローカルキャッシュ:推論サービスのアイドルメモリ内にモデルファイルをキャッシュし、ファイルシステムディレクトリとして公開します。この方法はスケールアウトシナリオに最適です。同一サービスの複数インスタンスがピアツーピア (P2P) ネットワークを形成し、新規インスタンスがソースの OSS や NAS からではなく、既存のキャッシュ済みインスタンスから直接データをプルできるようになります。
-
ローカルキャッシュ+キャッシュウォームアップ:ローカルキャッシュをベースに、専用のキャッシュウォームアップサービスを別途デプロイしてモデルファイルを事前にメモリに読み込みます。これは新規デプロイメントに最適で、ローカルキャッシュに内在するコールドスタート問題を解決します。
構成後、システムは各推論サービスインスタンスにアクセラレーションパスをマウントします。ご利用のアプリケーションは、コード変更なしにこのディレクトリからモデルファイルを読み取ることができます。モデル読み込み時の優先順位は以下のとおりです。
-
コールドスタート:システムはまず、構成されている場合にキャッシュウォームアップサービスからデータを取得しようと試みます。構成されていない場合は、OSS または NAS からデータをプルし、ローカルにキャッシュします。
-
スケールアウト:システムはローカルキャッシュヒットを優先します(LRU エビクションをサポート)。キャッシュミスが発生した場合は、キャッシュウォームアップサービスからの取得を試みます。それでもデータが見つからない場合は、ソースの OSS または NAS にフォールバックします。
注意事項
-
データ整合性を維持するため、マウントされたアクセラレーションパスは読み取り専用です。
-
モデルファイルを追加するには、ソースパスに追加してください。アクセラレーションパスは自動的にソースから新しいファイルを読み取ります。
-
ソースパス内のモデルファイルを直接更新または削除しないでください。この方法でファイルを更新または削除すると、キャッシュが不整合なデータや古いデータを提供する可能性があります。
操作手順
カスタムデプロイメント
-
PAI コンソールにログインします。ページ上部でリージョンを選択し、目的のワークスペースを選択して、Elastic Algorithm Service (EAS) をクリックします。
-
サービスのデプロイメント をクリックします。カスタムモデルのデプロイ セクションで、カスタムデプロイメント をクリックします。
-
主要なパラメーターは次のとおりです。その他のパラメーターの詳細については、「カスタムデプロイメント」をご参照ください。
-
環境コンテキスト セクションで、ストレージのマウント を構成し、モデルファイルをコンテナディレクトリにマウントします。たとえば、OSS からファイルをマウントする場合:
-
Uri:モデルファイルが配置されている OSS パス。例:
oss://path/to/models/Qwen3-8B/ -
マウントパス:コンテナ内でファイルがマウントされるパス。例:
/mnt/models/Qwen3-8B/
-
-
サービス機能の設定 セクションで、メモリキャッシュによる高速化 スイッチをオンにして、以下のパラメーターを構成します。
パラメーター
説明
最大メモリ使用量
キャッシュが使用できる最大メモリ容量(単位:GB)。この上限を超えると、システムは LRU ポリシーに基づいてデータをエビクションします。例:
20GBソースパス
アクセラレーション対象のソースディレクトリです。OSS または NAS ストレージがマウントされているコンテナパスを入力します。
マウントパス
ローカルキャッシュパスです。ご利用のアプリケーションはこのディレクトリからモデルを読み取ります。このパスはソースパスと異なる必要があります。例:
/mnt/models/Qwen3-8B-fast/モデルキャッシュプリフェッチサービス
(オプション)デプロイ済みのキャッシュウォームアップサービスを選択します。大規模モデルファイルや頻繁なスケールアウトなど、高速なコールドスタートが求められる新規デプロイメントに推奨されます。このオプションを使用するには、事前にキャッシュウォームアップサービスをデプロイしておく必要があります。
-
環境コンテキスト セクションで、コマンドの実行 を変更し、コマンド内のモデルファイルパスをソースパスからアクセラレーションパスに変更します。たとえば、LLM サービスをデプロイする場合:
vllm serve /mnt/models/Qwen3-8B-fast/
-
-
パラメーターを構成したら、デプロイメント をクリックします。
JSON デプロイメント
-
PAI コンソールにログインします。ページ上部でリージョンを選択し、目的のワークスペースを選択して、Elastic Algorithm Service (EAS) をクリックします。
-
Elastic Algorithm Service (EAS) ページで、サービスのデプロイメント をクリックします。カスタムモデルのデプロイ セクションで、JSON 独立デプロイメント をクリックします。
-
JSON 構成を入力します。例:
{ "cloud": { "computing": { "instances": [ { "type": "ecs.gn6e-c12g1.3xlarge" } ] }, "networking": { "security_group_id": "your-security-group-id", "vpc_id": "your-vpc-id", "vswitch_id": "your-vswitch-id" } }, "containers": [ { "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/vllm:0.11.2-py312-mows0.5.1", "port": 8000, "script": "vllm serve /mnt/models/Qwen3-8B-fast/" } ], "metadata": { "cpu": 12, "disk": "30Gi", "gpu": 1, "instance": 1, "memory": 92000, "name": "vllm_test", "workspace_id": "your-workspace-id" }, "storage": [ { "mount_path": "/mnt/models/Qwen3-8B/", "oss": { "path": "oss://path/to/models/Qwen3-8B/", "readOnly": false } }, { "cache": { "capacity": "10G", "path": "/mnt/models/Qwen3-8B/", "cacheroot_service": "your-cacheroot-service" }, "mount_path": "/mnt/models/Qwen3-8B-fast/" } ] }次の表では、モデルキャッシュの高速化に関連するパラメーターについて説明します。その他のパラメーターについては、「JSON デプロイメント」をご参照ください。
パラメーター
説明
containers.script
実行コマンド内のモデルファイルパスを、ソースパス(OSS/NAS マウントパス)からアクセラレーションパスに変更します。
storage[].cache
capacity
キャッシュが使用できる最大メモリ容量(単位:GB)。この上限を超えると、システムは LRU ポリシーに基づいてデータをエビクションします。
path
アクセラレーション対象のソースディレクトリです。OSS または NAS ストレージがマウントされているコンテナパスを入力します。
preload
サービス起動時にファイルをメモリにキャッシュします。この値を
"/"に設定します。cacheroot_service
キャッシュウォームアップサービスの名前です。
storage[].mount_path
コンテナ内でストレージがマウントされるパスです。
-
デプロイメント をクリックします。
キャッシュウォームアップサービスのデプロイ
キャッシュウォームアップサービスは、モデルファイルを事前にメモリに読み込み、キャッシュアクセラレーションを有効にした推論サービス向けの高速データソースとして機能します。これは、LLM、AI 画像生成、AI 動画生成などの大規模モデルファイルを OSS や NAS 上に配置するシナリオに最適です。
推論サービスのキャッシュアクセラレーション構成における ソースパス に対応する OSS パスは、キャッシュウォームアップサービスがマウントする OSS パスと完全に一致している必要があります。パスが一致しない場合、キャッシュウォームアップは失敗します。
たとえば、推論サービスのキャッシュアクセラレーションにおけるソースパスが /mnt/models/Qwen3-8B/(対応する OSS パス:oss://path/to/models/Qwen3-8B/)の場合、キャッシュウォームアップサービスも oss://path/to/models/Qwen3-8B/ をマウントする必要があります。
-
オンライン推論サービス タブで、モデルのアップロードとデプロイメント をクリックします。シナリオベースのモデルデプロイ セクションで、モデルウォームアップキャッシュサービスのデプロイ をクリックします。
-
以下の主要パラメーターを構成し、デプロイメント をクリックします。
パラメーター
説明
基本情報
リソースのデプロイメント
必要なメモリサイズに基づいてリソースを選択します。
キャッシュ設定
キャッシュパス
キャッシュ対象のモデルディレクトリです。複数のパスをマウントできます。
最大メモリ使用量
必須項目です。キャッシュウォームアップサービスが使用できる最大メモリ容量を指定します。
ネットワーク情報
VPC
必須項目です。推論サービスと同じ VPC である必要があります。 そうでない場合、推論サービスはキャッシュウォームアップサービスにアクセスできません。
負荷分散 NLB の関連付け
有効にする必要があります。デフォルトでは、システムが自動的に NLB を作成します。
パフォーマンスベンチマーク
以下のベンチマークは、モデルキャッシュアクセラレーションのパフォーマンスを示しています。実際の結果は異なる場合があります。
Qwen3-32B
モデル:Qwen3-32B(62 GB)
マシン:ml.gu8is.c64m512.4-gu60 | 64 コア 512 GB + 4× GU60(48G) | L20
|
デプロイモード |
モデル読み込み時間 |
モデル読み込み速度 |
サービス準備完了時間 |
|
標準(キャッシュアクセラレーションなし) |
01:05 |
7.63 Gbit/s |
01:43 |
|
コールドスタートアクセラレーション(キャッシュウォームアップあり) |
00:21 |
23.62 Gbit/s |
01:01 |
|
スケールアウトアクセラレーション(ローカルキャッシュあり) |
00:18 |
27.55 Gbit/s |
00:58 |
ミニマックス-M2
モデル:MiniMax-M2(215 GB)
マシン:ml.gu8tf.8.40xlarge | 160 vCPU + 1800 GB + 8×GU8T | H20(96 GB)
|
デプロイモード |
モデル読み込み時間 |
モデル読み込み速度 |
サービス準備完了時間 |
|
標準(キャッシュアクセラレーションなし) |
06:42 |
4.28 Gbit/s |
09:16 |
|
コールドスタートアクセラレーション(キャッシュウォームアップあり) |
01:49 |
15.78 Gbit/s |
04:49 |
|
スケールアウトアクセラレーション(ローカルキャッシュあり) |
01:42 |
16.86 Gbit/s |
04:34 |
DeepSeek-V3.2
モデル:DeepSeek-V3.2(643 GB)
マシン:ml.gu8tef.8.46xlarge | 184 vCPU + 1800 GB + 8×GU8TE | H20-3e(141 GB)
|
デプロイモード |
モデル読み込み時間 |
モデル読み込み速度 |
サービス準備完了時間 |
|
標準(キャッシュアクセラレーションなし) |
12:33 |
6.83 Gbit/s |
27:41 |
|
コールドスタートアクセラレーション(キャッシュウォームアップあり) |
02:43 |
31.56 Gbit/s |
13:01 |
|
スケールアウトアクセラレーション(ローカルキャッシュあり) |
01:58 |
43.60 Gbit/s |
12:49 |