次の方法で共有


サーバーレス API デプロイとしてモデルをデプロイする

重要

この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。

この記事では、Azure AI Foundry モデルをサーバーレス API デプロイとしてデプロイする方法について説明します。 モデル カタログ内の特定のモデル は、サーバーレス API デプロイとしてデプロイできます。 この種類のデプロイは、組織が必要とする企業レベルのセキュリティとコンプライアンスを維持しながら、サブスクリプションでホストせずに API としてモデルを使用する方法を提供します。 このデプロイ オプションでは、サブスクリプションからのクォータを必要としません。

サーバーレス API デプロイは、Azure AI Foundry モデルをデプロイするための 1 つのオプションですが、Foundry モデルを Azure AI Foundry リソースにデプロイすることをお勧めします。

Azure AI Foundry Models を Azure AI Foundry リソース にデプロイして、同じ認証とスキーマを持つ単一のエンドポイントを介してリソース内のデプロイを使用して推論を生成できるようにすることをお勧めします。 エンドポイントは、Foundry モデルがすべてサポートする Azure AI モデル推論 API に従います。 Foundry モデルを Azure AI Foundry リソースにデプロイする方法については、「Azure AI Foundry Models へのモデルの追加と構成」を参照してください。

前提条件

  • 有効な支払い方法を持つ Azure サブスクリプション。 無料または試用版の Azure サブスクリプションは機能しません。 Azure サブスクリプションを持っていない場合は、始めるために有料の Azure アカウントを作成してください。

  • 持っていない場合は、ハブ ベースのプロジェクトを作成します。

  • Azure AI Foundry ポータルで、Azure AI Foundry リソースへのモデルのデプロイ (プレビュー) 機能がオフになっていることを確認します。 この機能がオンの場合、サーバーレス API のデプロイはポータルから使用できません。

    Azure AI Foundry リソースへのデプロイを無効にする場所を示す Azure AI Foundry ポータルのスクリーンショット。

  • パートナーとコミュニティの Foundry モデルには Azure Marketplace へのアクセスが必要ですが、Azure によって直接販売される Foundry モデルにはこの要件はありません。 Azure Marketplace でモデル オファリングをサブスクライブするために必要なアクセス許可があることを確認します。

  • Azure AI Foundry ポータルでの操作に対するアクセス権を付与するには、Azure ロールベースのアクセス制御 (Azure RBAC) を使用します。 この記事の手順を実行するには、ご自分のユーザー アカウントに、リソース グループの Azure AI 開発者ロールを割り当てる必要があります。 アクセス許可について詳しくは、「Azure AI Foundry ポータルでのロールベースのアクセス制御」をご覧ください。

  • 互換性のある任意の Web ブラウザーを使用して、Azure AI Foundry を操作できます。

モデル カタログでモデルを検索する

  1. Azure AI Foundry にサインインします。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. [ このモデルを使用する ] を選択して[ サーバーレス API デプロイ ] ウィンドウを開き、[ 価格と用語 ] タブを表示できます。

  3. 展開ウィザードで、展開に名前を付けます。 [コンテンツ フィルター (プレビュー)] オプションは、既定で有効になっています。 サービスの既定の設定をそのままにして、ヘイト、自傷行為、性的、暴力コンテンツなどの有害なコンテンツを検出します。 コンテンツ フィルタリングの詳細については、 Azure AI Foundry ポータルでのコンテンツ フィルタリングに関するページを参照してください。

    Azure によって直接販売されたモデルのデプロイ ウィザードを示すスクリーンショット。

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。

  1. 展開ウィザードで、[展開] を選択 します。 デプロイの準備ができるまで待つと、[デプロイ] ページにリダイレクトされます。

  2. プロジェクトにデプロイされたエンドポイントを表示するには、左側のウィンドウの [ マイ アセット ] セクションで、[ モデルとエンドポイント] を選択します。

  3. 作成されたエンドポイントは、承認にキー認証を使用します。 特定のエンドポイントに関連付けられているキーを取得するには、次の手順に従います。

    1. デプロイを選択し、エンドポイントのターゲット URI とキーをメモします。

    2. これらの資格情報を使用してデプロイを呼び出し、予測を生成します。

  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning と Azure AI Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開する Azure AI モデル推論 API をサポートしています。この API は、開発者がさまざまなモデルセットからの予測を均一かつ一貫した方法で使用するために使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

ヒント

Azure AI Foundry ポータルで 左側のウィンドウをカスタマイズ できるため、これらの手順に示されている項目とは異なる項目が表示される場合があります。 探しているものが表示されない場合は、左側のペインの下部にある… もっと見るを選択してください。

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

サーバーレス API デプロイを削除するには:

  1. Azure AI Foundry に移動します。
  2. プロジェクトに移動します。
  3. [マイ アセット] セクションで、[モデル + エンドポイント] を選択します。
  4. 削除するデプロイを開きます。
  5. を選択して、を削除します。

関連付けられているモデル サブスクリプションを削除するには、次のようにします。

  1. Azure portalに移動します
  2. プロジェクトが属するリソース グループに移動します。
  3. [種類] フィルターで、[SaaS] を選択します。
  4. 削除するサブスクリプションを選択します。
  5. を選択して、を削除します。
  • Azure AI Foundry を使用するには、Azure Machine Learning 用の Azure CLIml 拡張機能をインストールします。

    az extension add -n ml
    

    拡張機能が既にインストールされている場合は、最新バージョンがインストールされていることを確認します。

    az extension update -n ml
    

    拡張機能がインストールされたら、次のように構成します。

    az account set --subscription <subscription>
    az configure --defaults workspace=<project-name> group=<resource-group> ___location=<___location>
    

モデル カタログでモデルを検索する

  1. Azure AI Foundry にサインインします。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. サーバーレス API デプロイでは常に使用可能なモデルの最新バージョンがデプロイされるため、モデルのバージョンを含めずにモデル ID を コピーします。 たとえば、モデル ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1 の場合は、azureml://registries/azureml-deepseek/models/DeepSeek-R1 をコピーします。

    Azure によって直接販売されたモデルのモデルの詳細ページを示すスクリーンショット。

この記事のこのセクションの手順では、図に DeepSeek-R1 モデルを使用します。 Azure で直接販売されている Foundry Models を使用している場合でも、パートナーやコミュニティから Foundry Models を使用している場合でも、手順は同じです。 たとえば、代わりに Cohere-command-r-08-2024 モデルをデプロイする場合は、コード スニペット内のモデル資格情報を Cohere の資格情報に置き換えることができます。

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。 エンドポイントに DeepSeek-R1-qwerty という名前を付けます。

  1. サーバーレス エンドポイントを作成します。

    endpoint.yml

    name: DeepSeek-R1-qwerty
    model_id: azureml://registries/azureml-deepseek/models/DeepSeek-R1
    

    endpoint.yml ファイルを使用してエンドポイントを作成します。

    az ml serverless-endpoint create -f endpoint.yml
    
  2. いつでも、プロジェクトにデプロイされたエンドポイントを確認できます。

    az ml serverless-endpoint list
    
  3. 作成されたエンドポイントは、承認にキー認証を使用します。 次の手順を使用して、特定のエンドポイントに関連付けられているキーを取得します。

    az ml serverless-endpoint get-credentials -n DeepSeek-R1-qwerty
    
  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning と Azure AI Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開する Azure AI モデル推論 API をサポートしています。この API は、開発者がさまざまなモデルセットからの予測を均一かつ一貫した方法で使用するために使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

サーバーレス API デプロイを削除するには:

az ml serverless-endpoint delete \
    --name "DeepSeek-R1-qwerty"

関連付けられているモデル サブスクリプションを削除するには、次のようにします。

az ml marketplace-subscription delete \
    --name "DeepSeek-R1"
  • Azure AI Foundry を使用するには、 Azure Machine Learning SDK for Python をインストールします。

    pip install -U azure-ai-ml
    

    インストールしたら、必要な名前空間をインポートし、プロジェクトに接続されたクライアントを作成します。

    from azure.ai.ml import MLClient
    from azure.identity import InteractiveBrowserCredential
    from azure.ai.ml.entities import MarketplaceSubscription, ServerlessEndpoint
    
    client = MLClient(
        credential=InteractiveBrowserCredential(tenant_id="<tenant-id>"),
        subscription_id="<subscription-id>",
        resource_group_name="<resource-group>",
        workspace_name="<project-name>",
    )
    

モデル カタログでモデルを検索する

  1. Azure AI Foundry にサインインします。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. サーバーレス API デプロイでは常に使用可能なモデルの最新バージョンがデプロイされるため、モデルのバージョンを含めずにモデル ID を コピーします。 たとえば、モデル ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1 の場合は、azureml://registries/azureml-deepseek/models/DeepSeek-R1 をコピーします。

    Azure によって直接販売されたモデルのモデルの詳細ページを示すスクリーンショット。

この記事のこのセクションの手順では、図に DeepSeek-R1 モデルを使用します。 Azure で直接販売されている Foundry Models を使用している場合でも、パートナーやコミュニティから Foundry Models を使用している場合でも、手順は同じです。 たとえば、代わりに Cohere-command-r-08-2024 モデルをデプロイする場合は、コード スニペット内のモデル資格情報を Cohere の資格情報に置き換えることができます。

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。 エンドポイントに DeepSeek-R1-qwerty という名前を付けます。

  1. サーバーレス エンドポイントを作成します。

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  2. いつでも、プロジェクトにデプロイされたエンドポイントを確認できます。

    endpoint_name="DeepSeek-R1-qwerty"
    
    serverless_endpoint = ServerlessEndpoint(
        name=endpoint_name,
        model_id=model_id
    )
    
    created_endpoint = client.serverless_endpoints.begin_create_or_update(
        serverless_endpoint
    ).result()
    
  3. 作成されたエンドポイントは、承認にキー認証を使用します。 次の手順を使用して、特定のエンドポイントに関連付けられているキーを取得します。

    endpoint_keys = client.serverless_endpoints.get_keys(endpoint_name)
    print(endpoint_keys.primary_key)
    print(endpoint_keys.secondary_key)
    
  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning と Azure AI Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開する Azure AI モデル推論 API をサポートしています。この API は、開発者がさまざまなモデルセットからの予測を均一かつ一貫した方法で使用するために使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

client.serverless_endpoints.begin_delete(endpoint_name).wait()

関連付けられているモデル サブスクリプションを削除するには、次のようにします。

client.marketplace_subscriptions.begin_delete(subscription_name).wait()
  • Azure AI Foundry を使用するには、Azure CLI の説明に従って Azure CLI をインストールします

    設定に従って次の環境変数を構成します。

    RESOURCE_GROUP="serverless-models-dev"
    LOCATION="eastus2" 
    

モデル カタログでモデルを検索する

  1. Azure AI Foundry にサインインします。
  2. プロジェクトに入っていない場合は、プロジェクトを選択してください。
  3. 左側のウィンドウから [モデル カタログ ] を選択します。
  1. デプロイするモデルのモデル カードを選択します。 この記事では、 DeepSeek-R1 モデルを選択します。

  2. サーバーレス API デプロイでは常に使用可能なモデルの最新バージョンがデプロイされるため、モデルのバージョンを含めずにモデル ID を コピーします。 たとえば、モデル ID azureml://registries/azureml-deepseek/models/DeepSeek-R1/versions/1 の場合は、azureml://registries/azureml-deepseek/models/DeepSeek-R1 をコピーします。

    Azure によって直接販売されたモデルのモデルの詳細ページを示すスクリーンショット。

この記事のこのセクションの手順では、図に DeepSeek-R1 モデルを使用します。 Azure で直接販売されている Foundry Models を使用している場合でも、パートナーやコミュニティから Foundry Models を使用している場合でも、手順は同じです。 たとえば、代わりに Cohere-command-r-08-2024 モデルをデプロイする場合は、コード スニペット内のモデル資格情報を Cohere の資格情報に置き換えることができます。

モデルをサーバーレス API にデプロイする

このセクションでは、モデルのエンドポイントを作成します。 エンドポイントに myserverless-text-1234s という名前を付けます

  1. サーバーレス エンドポイントを作成します。 次のテンプレートを使用して、エンドポイントを作成します。

    serverless-endpoint.bicep

    param projectName string = 'my-project'
    param endpointName string = 'myserverless-text-1234ss'
    param ___location string = resourceGroup().___location
    param modelId string = 'azureml://registries/azureml-deepseek/models/DeepSeek-R1'
    
    var modelName = substring(modelId, (lastIndexOf(modelId, '/') + 1))
    var subscriptionName = '${modelName}-subscription'
    
    resource projectName_endpoint 'Microsoft.MachineLearningServices/workspaces/serverlessEndpoints@2024-04-01-preview' = {
      name: '${projectName}/${endpointName}'
      ___location: ___location
      sku: {
        name: 'Consumption'
      }
      properties: {
        modelSettings: {
          modelId: modelId
        }
      }
      dependsOn: [
        projectName_subscription
      ]
    }
    
    output endpointUri string = projectName_endpoint.properties.inferenceEndpoint.uri
    

    次のようにデプロイを作成します。

    az deployment group create --resource-group $RESOURCE_GROUP --template-file model-subscription.bicep
    
  2. いつでも、プロジェクトにデプロイされたエンドポイントを確認できます。

    リソース管理ツールを使用して、リソースのクエリを実行できます。 次のコードは、Azure CLI を使用します。

    az resource list \
        --query "[?type=='Microsoft.MachineLearningServices/workspaces/serverlessEndpoints']"
    
  3. 作成されたエンドポイントは、承認にキー認証を使用します。 REST API を使用してこの情報を照会することで、特定のエンドポイントに関連付けられているキーを取得します。

  4. 別のプロジェクトまたはハブからこのデプロイを使用する必要がある場合、またはプロンプト フローを使用してインテリジェント なアプリケーションを構築する予定の場合は、サーバーレス API デプロイへの接続を作成する必要があります。 新しいプロジェクトまたはハブで既存のサーバーレス API デプロイを構成する方法については、「 別のプロジェクトまたはプロンプト フローからデプロイされたサーバーレス API デプロイを使用する」を参照してください。

    ヒント

    配置がデプロイされたのと同じプロジェクトまたはハブでプロンプト フローを使用している場合でも、接続を作成する必要があります。

サーバーレス API デプロイを使用する

サーバーレス API デプロイで Azure Machine Learning と Azure AI Foundry にデプロイされたモデルは、基本モデルの共通の機能セットを公開する Azure AI モデル推論 API をサポートしています。この API は、開発者がさまざまなモデルセットからの予測を均一かつ一貫した方法で使用するために使用できます。

この API の機能と、アプリケーションを構築するときのその使用方法について詳細を確認してください。

エンドポイントとサブスクリプションを削除する

モデルのサブスクリプションとエンドポイントを削除できます。 モデル サブスクリプションを削除すると、関連付けられているエンドポイントは [異常] になり、使用できなくなります。

リソース管理ツールを使用して、リソースを管理できます。 次のコードは、Azure CLI を使用します。

az resource delete --name <resource-name>

サーバーレス API デプロイとしてデプロイされた Foundry Models のコストとクォータに関する考慮事項

クォータはデプロイごとに管理されます。 各デプロイのレート制限は、1 分あたり 200,000 トークン、1 分あたり 1,000 個の API 要求です。 さらに、現在、プロジェクトごとにモデルごとに 1 つのデプロイを制限しています。 現在のレート制限がシナリオに十分でない場合は、Microsoft Azure サポートにお問い合わせください。

  • Azure によって直接販売されるモデルの価格情報は、[サーバーレス API デプロイ] ウィンドウの [価格と使用条件] タブにあります。

  • パートナーとコミュニティのモデル は、Azure Marketplace を通じて提供され、使用するために Azure AI Foundry と統合されます。 これらのモデルをデプロイまたは微調整する際に、Azure Marketplace の価格を確認できます。 プロジェクトで Azure Marketplace から特定のプランをサブスクライブするたびに、その消費に関連するコストを追跡するための新しいリソースが作成されます。 推論と微調整に関連するコストを追跡するために同じリソースが使用されますが、各シナリオを個別に追跡するために複数の測定値を使用できます。 コストを追跡する方法の詳細については、「Azure Marketplace を通じて提供されるモデルのコストを監視する」を参照してください。

モデル オファリングをサブスクライブするために必要なアクセス許可

Azure AI Foundry ポータルでの操作に対するアクセス権を付与するには、Azure ロールベースのアクセス制御 (Azure RBAC) を使用します。 この記事の手順を実行するには、ユーザー アカウントに、Azure サブスクリプションの所有者共同作成者、または Azure AI 開発者ロールを割り当てる必要があります。 別の方法として、アカウントに、次のアクセス許可を持つカスタム ロールを割り当てることができます。

  • Azure サブスクリプションで、ワークスペースを Azure Marketplace オファリングにサブスクライブします。ワークスペースごとに 1 回、オファリングごとに次の手順を実行します。

    • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
    • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
    • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
    • Microsoft.SaaS/register/action
  • リソース グループで - SaaS リソースを作成して使用するため:

    • Microsoft.SaaS/resources/read
    • Microsoft.SaaS/resources/write
  • ワークスペースで - エンドポイントをデプロイするため (Azure Machine Learning データ サイエンティスト ロールには、既に次のアクセス許可が含まれています):

    • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
    • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

アクセス許可について詳しくは、「Azure AI Foundry ポータルでのロールベースのアクセス制御」をご覧ください。