Elastic Algorithm Service (EAS) を使用して、モデルをオンライン推論サービスとして迅速にデプロイします。このトピックでは、EAS を使用してサービスをデプロイおよび呼び出す方法について説明します。この例では、vLLM フレームワークを使用して Qwen3-0.6B 大規模言語モデルをデプロイします。
このトピックでは、EAS に慣れていただくために、大規模言語モデル (LLM) のカスタムデプロイメントのみを使用します。本番環境で LLM をデプロイするには、LLM 大規模言語モデルのデプロイメントによるシナリオベースのデプロイメント、または モデルギャラリーからのワンクリックデプロイメントを使用することを推奨します。これらのオプションはより迅速かつ簡単です。
前提条件
ルートアカウントを使用して PAI をアクティブ化し、ワークスペースを作成します。PAI コンソールにログインします。左上隅で、PAI をアクティブ化するリージョンを選択します。次に、ワンクリック権限付与をクリックしてサービスをアクティブ化します。
課金情報
このトピックでは、パブリックリソースを使用してモデルサービスを作成します。課金方法は従量課金です。課金ルールの詳細については、「EAS の課金情報」をご参照ください。
事前準備
モデルサービスをデプロイするには、モデルファイルや Web インターフェイスなどのコードファイルを準備する必要があります。Alibaba Cloud の公式イメージがデプロイメント要件を満たさない場合は、カスタムイメージをビルドする必要があります。
モデルファイルの準備
次の Python コードを実行して、この例で使用される Qwen3-0.6B モデルファイルをダウンロードします。ファイルはデフォルトパスの ~/.cache/modelscope/hub にダウンロードされます。
# Download the model
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-0.6B')コードファイルの準備
vLLM フレームワークを使用すると、OpenAI API と互換性のある API サービスを簡単に構築できます。この例では、カスタムコードファイルを準備する必要はありません。
複雑なビジネスロジックや特別な API 要件がある場合は、独自のコードを記述する必要があります。たとえば、次の例に示すように、Flask を使用して簡単な API インターフェイスを作成できます。
OSS へのファイルのアップロード
ossutil ツールを使用して、モデルファイルとコードファイルを OSS にアップロードします。その後、OSS バケットをサービスにマウントしてモデルファイルを読み取ることができます。
他のストレージオプションも使用できます。詳細については、「ストレージのマウント」をご参照ください。
必要なすべてのデプロイメントファイルをイメージにパッケージ化することもできます。ただし、次の理由により、このアプローチは推奨されません:
モデルを更新または反復するには、イメージを再ビルドして再アップロードする必要があります。これにより、メンテナンスのオーバーヘッドが増加します。
大規模なモデルファイルはイメージサイズを大幅に増加させます。これにより、イメージのプルプロセスが遅くなり、サービスの起動効率が低下します。
ランタイムイメージの準備
vllm>=0.8.5 を使用して、Qwen3-0.6B モデル用の OpenAI 互換 API エンドポイントを作成できます。EAS 公式イメージ vllm:0.11.2-mows0.5.1 はこの要件を満たしています。このトピックでは、このイメージを使用します。
適切な公式イメージが存在しない場合は、カスタムイメージを作成する必要があります。DSW インスタンスでモデルをトレーニングする場合は、DSW インスタンスのイメージ作成機能を使用して、トレーニング環境とデプロイメント環境の一貫性を確保できます。
サービスのデプロイ
-
PAI コンソールにログインします。ページの上部でリージョンを選択します。次に、目的のワークスペースを選択し、[Elastic Algorithm Service (EAS)] をクリックします。
-
[サービスをデプロイ] をクリックします。[カスタムモデルのデプロイ] セクションで、[カスタムデプロイメント] をクリックします。
デプロイメントパラメーターを設定します。主要なパラメーターを次のように設定します。他のパラメーターはデフォルト値のままでかまいません。
Deployment Method はイメージベースのデプロイメントです。
Image Configuration: Alibaba Cloud Image リストから
vllm:0.11.2-mows0.5.1を選択します。Mount storage:このトピックでは、モデルファイルを OSS に保存する方法について説明します。たとえば、パスが
oss://examplebucket/models/Qwen/Qwen3-0___6Bの場合、OSS を選択して次のように設定できます。Uri:モデルが保存されている OSS パス。この例では、このパラメーターを
oss://examplebucket/models/に設定します。Mount Path:ストレージがマウントされるサービスインスタンス上の宛先パス。例:
/mnt/data/。
実行コマンド:公式イメージにはデフォルトの実行コマンドが含まれています。必要に応じてコマンドを変更できます。この例では、このパラメーターを
vllm serve /mnt/data/Qwen/Qwen3-0___6Bに設定します。Resource Type で Public Resources を選択します。次に、Resource Specification で
ecs.gn7i-c16g1.4xlargeを選択します。詳細については、「リソース設定」をご参照ください。
Deploy をクリックします。サービスのデプロイには約 5 分かかります。Service Status が Running になると、サービスは正常にデプロイされます。
オンラインデバッグ
サービスがデプロイされた後、オンラインデバッグ機能を使用して、サービスが期待どおりに実行されるかテストできます。モデルサービスに基づいて、リクエストメソッド、URI、およびリクエストボディを設定します。
サービスをオンラインでデバッグするには、次の手順を実行します:
Inference Service タブで、対象のサービスをクリックして概要ページに移動し、Online Debugging タブに切り替えます。
デバッグページの Request Parameter Online Tuning セクションで、リクエストパラメーターを設定し、Send Request をクリックします。リクエストパラメーターは次のとおりです:
チャットインターフェイス:既存の URL に
/v1/chat/completionsを追加します。ヘッダー:リクエストヘッダーを追加します。キーを
Content-Typeに、値をapplication/jsonに設定します。
本文:
{ "model": "/mnt/data/Qwen/Qwen3-0___6B", "messages": [ { "role": "user", "content": "Hello!" } ], "max_tokens": 1024 }
応答は次の図に示されています。

サービスの呼び出し
エンドポイントとトークンの取得
デフォルトでは、このトピックのサービスは共有ゲートウェイを使用します。サービスがデプロイされた後、サービス詳細ページからエンドポイントとトークンを取得できます。
Inference Service タブで、対象のサービス名をクリックして Overview ページを開きます。Basic Information セクションで、View Endpoint Information をクリックします。
Invocation Method パネルで、エンドポイントとトークンを取得します。ニーズに応じて、インターネットまたは VPC エンドポイントのいずれかを選択します。以降、これらの値を <EAS_ENDPOINT> および <EAS_TOKEN> と呼びます。

curl または Python を使用したサービスの呼び出し
次のコードは例を示しています:
curl http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/****/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: *********5ZTM1ZDczg5OT**********" \
-X POST \
-d '{
"model": "/mnt/data/Qwen/Qwen3-0___6B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"max_tokens": 1024
}' import requests
# Replace with your actual endpoint
url = 'http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/***/v1/chat/completions'
# Replace the Authorization value with your actual token
headers = {
"Content-Type": "application/json",
"Authorization": "*********5ZTM1ZDczg5OT**********",
}
# Format the request data according to your model's requirements
data = {
"model": "/mnt/data/Qwen/Qwen3-0___6B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"max_tokens": 1024
}
# Send the request
resp = requests.post(url, json=data, headers=headers)
print(resp)
print(resp.content)サービスの停止または削除
このトピックで作成された EAS サービスはパブリックリソースを使用し、従量課金制で課金されます。不要な料金が発生しないように、不要になったサービスは停止または削除してください。

参考
LLM サービスの効率を向上させるには、「LLM インテリジェントルーターのデプロイメント」をご参照ください。
EAS の機能の詳細については、「EAS の概要」をご参照ください。