モデルを微調整した後は、Chat Completions API または Evaluations サービスを使用してその品質をテストできます。
Developer Tier デプロイを使用すると、Standard デプロイまたはグローバル デプロイで発生する時間単位のホスティング料金なしで、新しいモデルをデプロイできます。 発生する料金はトークンごとのみです。 最新の料金については、価格ページを参照してください。
Von Bedeutung
開発者層では、可用性 SLA と データ所在地の 保証はありません。 SLA またはデータ所在地が必要な場合は、モデルをテストするための別の デプロイの種類 を選択します。
開発者層のデプロイの有効期間は 24 時間です。 デプロイライフサイクルの詳細については、 以下 を参照してください。
微調整されたモデルをデプロイする
モデル候補をデプロイするには、デプロイする微調整されたモデルを選択し、[デプロイ] を選択 します。
[モデルをデプロイします] ダイアログ ボックスが開きます。 ダイアログ ボックスで、 デプロイ名 を入力し、展開の種類のドロップダウンから [開発者 ] を選択します。 [ 作成] を選択して、カスタム モデルのデプロイを開始します。
Azure AI Foundry ポータルの [デプロイ ] ウィンドウで、新しいデプロイの進行状況を監視できます。
import json
import os
import requests
token = os.getenv("<TOKEN>")
subscription = "<YOUR_SUBSCRIPTION_ID>"
resource_group = "<YOUR_RESOURCE_GROUP_NAME>"
resource_name = "<YOUR_AZURE_OPENAI_RESOURCE_NAME>"
model_deployment_name = "gpt41-mini-candidate-01" # custom deployment name that you will use to reference the model when making inference calls.
deploy_params = {'api-version': "2024-10-21"}
deploy_headers = {'Authorization': 'Bearer {}'.format(token), 'Content-Type': 'application/json'}
deploy_data = {
"sku": {"name": "developer", "capacity": 50},
"properties": {
"model": {
"format": "OpenAI",
"name": <"fine_tuned_model">, #retrieve this value from the previous call, it will look like gpt41-mini-candidate-01.ft-b044a9d3cf9c4228b5d393567f693b83
"version": "1"
}
}
}
deploy_data = json.dumps(deploy_data)
request_url = f'https://management.azure.com/subscriptions/{subscription}/resourceGroups/{resource_group}/providers/Microsoft.CognitiveServices/accounts/{resource_name}/deployments/{model_deployment_name}'
print('Creating a new deployment...')
r = requests.put(request_url, params=deploy_params, headers=deploy_headers, data=deploy_data)
print(r)
print(r.reason)
print(r.json())
変数 |
定義 |
トークン |
認証トークンを生成するには、複数の方法があります。 初期テストの最も簡単な方法は、Azure portal から Cloud Shell を起動することです。 次に、az account get-access-token を実行します。 このトークンは、API テストの一時的な認証トークンとして使用できます。 これを新しい環境変数に格納することをお勧めします。 |
サブスクリプション |
関連付けられている Azure OpenAI リソースのサブスクリプション ID。 |
リソースグループ |
Azure OpenAI リソースのリソース グループ名。 |
リソース名 |
Azure OpenAI リソース名。 |
モデルデプロイメント名 |
微調整された新しいモデル デプロイのカスタム名。 これは、チャット入力候補の呼び出しを行うときにコードで参照される名前です。 |
ファインチューニングされたモデル(fine_tuned_model) |
この値は、前の手順の微調整ジョブの結果から取得します。 これは gpt41-mini-candidate-01.ft-b044a9d3cf9c4228b5d393567f693b83 のようになります。 その値を deploy_data json に追加する必要があります。 また、ftchkpt-e559c011ecc04fc68eaa339d8227d02d 形式で表示されるチェックポイント ID を渡すことで、チェックポイントをデプロイすることもできます。 |
次の例は、REST API を使用して、カスタマイズしたモデルのモデル デプロイを作成する方法を示しています。 REST API は、カスタマイズしたモデルのデプロイの名前を生成します。
curl -X POST "https://management.azure.com/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.CognitiveServices/accounts/<RESOURCE_NAME>/deployments/<MODEL_DEPLOYMENT_NAME>api-version=2024-10-21" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"sku": {"name": "developer", "capacity": 50},
"properties": {
"model": {
"format": "OpenAI",
"name": "<FINE_TUNED_MODEL>",
"version": "1"
}
}
}'
変数 |
定義 |
トークン |
認証トークンを生成するには、複数の方法があります。 初期テストの最も簡単な方法は、Azure portal から Cloud Shell を起動することです。 次に、az account get-access-token を実行します。 このトークンは、API テストの一時的な認証トークンとして使用できます。 これを新しい環境変数に格納することをお勧めします。 |
サブスクリプション |
関連付けられている Azure OpenAI リソースのサブスクリプション ID。 |
リソースグループ |
Azure OpenAI リソースのリソース グループ名。 |
リソース名 |
Azure OpenAI リソース名。 |
モデルデプロイメント名 |
微調整された新しいモデル デプロイのカスタム名。 これは、チャット入力候補の呼び出しを行うときにコードで参照される名前です。 |
ファインチューニングされたモデル(fine_tuned_model) |
この値は、前の手順の微調整ジョブの結果から取得します。 これは gpt-35-turbo-0125.ft-b044a9d3cf9c4228b5d393567f693b83 のようになります。 その値を deploy_data json に追加する必要があります。 また、ftchkpt-e559c011ecc04fc68eaa339d8227d02d 形式で表示されるチェックポイント ID を渡すことで、チェックポイントをデプロイすることもできます。 |
Azure CLI を使用してモデルをデプロイする
次の例は、Azure CLI を使用して、カスタマイズしたモデルをデプロイする方法を示しています。 Azure CLI を使用する場合、カスタマイズしたモデルのデプロイの名前を指定する必要があります。 Azure CLI を使用して、カスタマイズしたモデルをデプロイする方法の詳細については、「az cognitiveservices account deployment
」を参照してください。
コンソール ウィンドウでこの Azure CLI コマンドを実行するには、次の<プレースホルダー>を、カスタマイズしたモデルの対応する値に置き換える必要があります。
プレースホルダー |
価値 |
<YOUR_AZURE_SUBSCRIPTION> |
Azure サブスクリプションの名前または ID。 |
<YOUR_RESOURCE_GROUP> |
Azure リソース グループの名前。 |
<YOUR_RESOURCE_NAME> |
Azure OpenAI リソースの名前。 |
<YOUR_DEPLOYMENT_NAME> |
モデル デプロイに使用する名前。 |
<YOUR_FINE_TUNED_MODEL_ID> |
カスタマイズしたモデルの名前。 |
az cognitiveservices account deployment create
--resource-group <YOUR_RESOURCE_GROUP>
--name <YOUR_RESOURCE_NAME>
--deployment-name <YOUR_DEPLOYMENT_NAME>
--model-name <YOUR_FINE_TUNED_MODEL_ID>
--model-version "1"
--model-format OpenAI
--sku-capacity "50"
--sku-name "Developer"
デプロイ済みの微調整されたモデルを使用する
カスタム モデルは、デプロイ後、他のデプロイ済みモデルと同様に使用できます。 Azure AI Foundry ポータルの [プレイグラウンド] を使用して、新しいデプロイを試すことができます。 カスタム モデルでは、他のデプロイ済みモデルと同様に、temperature
や max_tokens
などの同じパラメーターを引き続き使用できます。
Evaluations サービスを使用して、デプロイされたモデル候補とその他のモデル バージョンに対してモデル評価を作成して実行することもできます。
import os
from openai import AzureOpenAI
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-01"
)
response = client.chat.completions.create(
model="gpt41-mini-candidate-01", # model = "Custom deployment name you chose for your fine-tuning model"
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure AI services support this too?"}
]
)
print(response.choices[0].message.content)
curl $AZURE_OPENAI_ENDPOINT/openai/deployments/<deployment_name>/chat/completions?api-version=2024-10-21 \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'
デプロイをクリーンアップする
開発者のデプロイでは、アクティビティに関係なく、自動的に削除されます。 各デプロイの有効期間は 24 時間 に固定され、その後は削除の対象となります。 デプロイを削除しても、基になるカスタマイズされたモデルは削除または影響を受けず、カスタマイズされたモデルはいつでも再デプロイできます。
デプロイを手動で削除するには、Azure AI Foundry ポータルを使用するか 、Azure CLI を使用します。
Deployment - Delete REST API を使用するには、デプロイ リソースに HTTP DELETE
を送信します。 デプロイの作成時と同様に、次のパラメーターを含める必要があります。
- Azure サブスクリプション ID
- Azure リソース グループ名
- Azure OpenAI リソースの名前
- 削除するデプロイの名前
デプロイを削除する REST API の例を次に示します。
curl -X DELETE "https://management.azure.com/subscriptions/<SUBSCRIPTION>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.CognitiveServices/accounts/<RESOURCE_NAME>/deployments/<MODEL_DEPLOYMENT_NAME>api-version=2024-10-21" \
-H "Authorization: Bearer <TOKEN>"
次のステップ