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

重要

この記事で説明する機能の一部は、プレビューでのみ使用できる場合があります。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

この記事では、従量課金制トークン ベースの課金を使用して、モデル カタログからモデルをサーバーレス API としてデプロイする方法について説明します。

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

前提条件

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

  • Azure AI Studio ハブ

  • Azure AI Studio プロジェクト

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

  • Azure AI Studio を使用するには、次のソフトウェアをインストールする必要があります。

    互換性のある任意の Web ブラウザーを使用して、Azure AI Studio 内を移動できます。

プロジェクトをモデル オファリングにサブスクライブする

Azure Marketplace を通じて提供されるモデルの場合は、それらをサーバーレス API エンドポイントにデプロイして予測を使用できます。 プロジェクトにモデルを初めてデプロイする場合は、Azure Marketplace から特定のモデル オファリングのプロジェクトをサブスクライブする必要があります。 プロジェクトごとに、モデルの特定の Azure Marketplace オファリングへの固有のサブスクリプションがあり、それを使って支出を管理および監視できます。

Note

Azure Marketplace を通じて提供されるモデルは、特定のリージョンのサーバーレス API エンドポイントへのデプロイに使用できます。 サーバーレス API デプロイのモデルとリージョンの可用性を確認して、使用可能なモデルとリージョンを確認します。 必要なものが一覧にない場合は、サポートされているリージョンのワークスペースにデプロイし、別のワークスペースからサーバーレス API エンドポイントを使用できます。

  1. Azure AI Studio にサインインします。

  2. アカウントにリソース グループに対する Azure AI 開発者ロールのアクセス許可があること、またはモデル オファリングをサブスクライブするために必要なアクセス許可を満たしていることを確認します。

  3. 左側のサイドバーから [モデル カタログ] を選択し、デプロイするモデルのモデル カードを見つけます。 この記事では、Meta-Llama-3-8B-Instruct モデルを選択します。

    1. Azure CLI、Python、または ARM を使用してモデルをデプロイする場合は、モデル ID をコピーします。

      重要

      モデル ID をコピーするときにバージョンを含めないでください。 サーバーレス API エンドポイントは、常に使用可能なモデルの最新バージョンをデプロイします。 たとえば、モデル ID azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct/versions/3 の場合は、azureml://registries/azureml-meta/models/Meta-Llama-3-8B-Instruct をコピーします。

    モデルの詳細ページを示すスクリーンショット。

  4. モデルのマーケットプレース サブスクリプションを作成します。 サブスクリプションを作成するときは、モデル オファーに関連付けられている使用条件に同意します。

    1. モデルの [詳細] ページで、[デプロイ] を選択し、[サーバーレス API] を選択してデプロイ ウィザードを開きます。

    2. モデルをデプロイするプロジェクトを選びます。 すべてのリージョンがサポートされているわけではないことに注意してください。

      サーバーレス API オプションを使用してモデルをデプロイする方法を示すスクリーンショット。

    3. このプロジェクトの Azure Marketplace サブスクリプションが既にあることを示すメモが表示される場合は、サブスクリプションを既に持っているため、サブスクリプションを作成する必要はありません。 サーバーレス API エンドポイントへのモデルのデプロイに進むことができます。

    4. デプロイ ウィザードで、[Azure Marketplace の使用条件] へのリンクを選び、使用条件の詳細を確認します。 また、選択したモデルの価格を参照するには、[利用料金および使用条件] タブを選択します。

    5. [サブスクライブしてデプロイ] を選択します。

  5. 特定の Azure Marketplace オファリングのプロジェクトにサインアップすると、"同じ" プロジェクト内の "同じ" オファリングの以降のデプロイで再度サブスクライブする必要はありません。

  6. プロジェクトが現在サブスクライブされているモデル オファーは、いつでも確認できます。

    1. Azure ポータルにアクセスします。

    2. プロジェクトが属するリソース グループに移動します。

    3. [種類] フィルターで、[SaaS] を選択します。

    4. 現在サブスクライブしているすべてのオファリングが表示されます。

    5. 詳細を表示するには、リソースを選びます。

サーバーレス API エンドポイントにモデルをデプロイする

モデルのサブスクリプションを作成したら、関連付けられているモデルをサーバーレス API エンドポイントにデプロイできます。 サーバーレス API エンドポイントは、組織が必要とする企業レベルのセキュリティとコンプライアンスを維持しながら、サブスクリプションでホストせずに API としてモデルを使用する方法を提供します。 このデプロイ オプションでは、サブスクリプションからのクォータを必要としません。

この記事では、meta-llama3-8b-qwerty という名前のエンドポイントを作成します。

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

    1. 前のウィザードで [デプロイ] を選択します (前のセクションでプロジェクトをモデル オファーにサブスクライブしたばかりの場合)、または [Continue to deploy]\(デプロイを続行する\) を選択します (デプロイ ウィザードにこのプロジェクトの Azure Marketplace サブスクリプションが既にあることを示すメモがある場合)。

      既にオファリングにサブスクライブ済みのプロジェクトを示すスクリーンショット。

    2. デプロイに名前を付けます。 この名前は、デプロイ API URL の一部になります。 この URL は、Azure リージョンごとに一意である必要があります。

      作成対象のデプロイの名前を指定する方法を示すスクリーンショット。

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

  2. いつでも、プロジェクトにデプロイされたエンドポイントを確認できます。

    1. プロジェクトに移動します。

    2. セクション [デプロイ] を選択します

    3. サーバーレス API エンドポイントが表示されます。

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

    [デプロイ] ページに戻ってデプロイを選び、エンドポイントのターゲット URIキーを記録できます。 これらを使用してデプロイを呼び出し、予測を生成します。

    Note

    Azure portal を使用するときは、リソース グループにサーバーレス API エンドポイントが既定では表示されません。 リソース グループに表示するには、[非表示の種類を表示] オプションを使用します。

  4. これで、エンドポイントを使用する準備ができました。

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

    ヒント

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

サーバーレス API エンドポイントの使用

サーバーレス API エンドポイントの Azure Machine Learning と Azure AI Studio にデプロイされたモデルは、Azure AI Model Inference API をサポートします。これは、基本モデルの一般的な機能セットを公開していて、さまざまなモデル セットからの予測を一定かつ一貫した方法で利用するために開発者が使用できます。

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

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

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

サーバーレス API エンドポイントを削除するには、次の操作を行います。

  1. Azure AI Studio に移動します。

  2. [コンポーネント]>[デプロイ] の順に移動します。

  3. 削除するデプロイを開きます。

  4. [削除] を選択します。

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

  1. Azure portal に移動します

  2. プロジェクトが属するリソース グループに移動します。

  3. [種類] フィルターで、[SaaS] を選択します。

  4. 削除するサブスクリプションを選択します。

  5. [削除] を選択します。

サーバーレス API エンドポイントとしてデプロイされるモデルのコストとクォータに関する考慮事項

サーバーレス API エンドポイントとしてデプロイされたモデルは、Azure Marketplace を通じて提供され、使用するために Azure AI Studio と統合されます。 モデルをデプロイまたはモデルを微調整するときに、Azure Marketplace の価格を確認できます。

プロジェクトが Azure Marketplace から特定のオファーにサブスクライブするたびに、その消費に関連するコストを追跡するための新しいリソースが作成されます。 推論と微調整に関連するコストを追跡するために同じリソースが使用されますが、各シナリオを個別に追跡するために複数の測定値を使用できます。

コストを追跡する方法の詳細については、「Azure Marketplace を通じて提供されるモデルのコストを監視する」を参照してください。

さまざまなモデル オファーとその関連するメーターに対応するさまざまなリソースを示すスクリーンショット。

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

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

Azure AI Studio での操作に対するアクセスを許可するには、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 Studio でのロールベースのアクセス制御」をご覧ください。

次のステップ