Azure OpenAI Service のコストを管理するための計画

この記事では、Azure OpenAI Service のコストを計画および管理する方法について説明します。 サービスをデプロイする前に、Azure 料金計算ツールを使用して、Azure OpenAI のコストを見積もります。 後で、Azure リソースをデプロイするときに、推定コストを確認します。 Azure OpenAI リソースの使用を開始した後、コスト管理機能を使用して、予算の設定とコストの監視を行います。

また、予想コストを確認し、支出の傾向を特定して、対処が必要な領域を特定することもできます。Azure OpenAI Service のコストは、Azure の請求に記載された月額料金の一部にすぎません。 この記事では、Azure OpenAI のコストを計画して管理する方法について説明しますが、サードパーティのサービスを含め、課金は、Azure サブスクリプションで使用されるすべての Azure サービスとリソースに対して行われます。

前提条件

Cost Management のコスト分析では、ほとんどの種類の Azure アカウントがサポートされますが、すべてではありません。 サポートされているアカウントの種類の完全な一覧については、「Understand Cost Management data (Cost Management データの概要)」を参照してください。 コスト データを表示するには、少なくとも Azure アカウントの読み取りアクセス許可が必要です。 Azure Cost Management データに対するアクセス権の割り当てについては、データへのアクセス許可の割り当てに関するページを参照してください。

Azure OpenAI を使用する前にコストを見積もる

Azure 料金計算ツールを使用して、Azure OpenAI を使用するコストを見積もります。

Azure OpenAI の詳細な課金モデルを理解する

Azure OpenAI Service は、新しいリソースをデプロイする際にコストが発生する Azure インフラストラクチャ上で実行されます。 その他のインフラストラクチャ コストが発生する可能性があります。 次のセクションでは、Azure OpenAI Service に対する課金方法について説明します。

ベース シリーズと Codex シリーズ モデル

Azure OpenAI ベース シリーズと Codex シリーズ モデルは、1,000 トークンごとに課金されます。 コストは、選択したモデル シリーズ (Ada、Babbage、Curie、Davinci、Code-Cushman) によって異なります。

Azure OpenAI モデルでは、テキストをトークンに分割することで、テキストを理解して処理します。 参考までに、各トークンは一般的な英語テキストの約 4 文字です。

トークンのコストは、入力と出力の両方にかかります。 たとえば、1,000 トークンの JavaScript コード サンプルがあり、Azure OpenAI モデルに Python への変換を依頼するとします。 送信した最初の入力要求に対して約 1,000 トークン、応答で受信した出力に対してさらに 1,000 トークン、合計 2,000 トークンに対して課金されることになります。

実際には、この種の候補呼び出しでは、トークンの入出力が完全に 1 対 1 になることはありません。 あるプログラミング言語から別のものに変換すると、さまざまな要因に応じて、出力が長くなったり短くなったりする可能性があります。 このような要因の 1 つは、max_tokens パラメータに割り当てられた値です。

ベース シリーズおよび Codex シリーズの微調整モデル

Azure OpenAI の微調整されたモデルは、次の 3 つの要因に基づいて課金されます。

  • トレーニング時間
  • ホスティング時間
  • 1,000 トークンあたりの推論

微調整されたモデルがデプロイされると、アクティブに使用しているかどうかに関係なく、時間単位のコストが引き続き発生するため、ホスティング時間のコストに注意することが重要です。 微調整されたモデルのコストを注意深く監視します。

重要

カスタマイズされたモデルをデプロイした後、デプロイが 15 日を超えて非アクティブのままである場合、デプロイは削除されます。 カスタマイズされたモデルのデプロイは、モデルが 15 日以上前にデプロイされ、15 日間連続して完了またはチャット完了の呼び出しが行われなかった場合、"非アクティブ" になります。

非アクティブなデプロイを削除しても、基になるカスタマイズされたモデルは削除されることも影響を受けることもなく、カスタマイズされたモデルはいつでも再デプロイできます。

デプロイ済みのカスタマイズされた (微調整された) 各モデルには、入力候補またはチャット入力候補の呼び出しがモデルに対して行われているかどうかに関係なく、1 時間ごとのホスティング コストが発生します。 .

Azure OpenAI Service で発生する可能性があるその他のコスト

Azure Monitor ログへのデータの送信やアラートなどの機能を有効にすると、これらのサービスの追加コストが発生します。 これらのコストは、それらの他のサービスとサブスクリプション レベルで確認できますが、Azure OpenAI リソースのみにスコープが設定されている場合は表示されません。

Azure OpenAI Service での Azure 前払いの使用

Azure OpenAI Service の料金は、Azure 前払いのクレジットで支払うことができます。 ただし、Azure 前払いのクレジットを使用して、サードパーティの製品やサービス (Azure Marketplace で見つかる製品やサービスを含む) の料金を支払うことはできません。

Azure OpenAI Service での HTTP エラー応答コードと課金状態

サービスで処理が実行されると、状態コードが成功でない場合 (200 以外) でも課金される可能性があります。 たとえば、コンテンツ フィルターまたは入力制限による 400 エラー、タイムアウトによる 408 エラーなどです。

サービスで処理が実行されていない場合は、課金されません。 たとえば、認証による 401 エラーや、レート制限を超えた場合の 429 エラーなどです。

コストを監視する

Azure OpenAI で Azure リソースを使用する場合、コストが発生します。 Azure リソース使用のユニット コストは、期間 (秒、分、時間、日数など) やユニット使用量 (バイトおよびメガバイト) によって異なります。 Azure OpenAI の使用が開始されるとすぐにコストが発生し、コスト分析でコストを確認できます。

コスト分析を使用すると、さまざまな期間について、Azure OpenAI のコストをグラフや表で表示できます。 たとえば、日単位、現在の月、以前の月、年単位などがあります。 予算や予想コストを基準としてコストを表示することもできます。 時間経過を示す、より長い期間のビューに切り替えると、支出の傾向を特定するのに役立ちます。 超過出費が発生した可能性のある時期を確認できます。 予算を作成したら、それを超えた場所も簡単に確認できます。

コスト分析で Aure OpenAI のコストを表示するには:

  1. Azure portal にサインインします。
  2. Azure OpenAI リソースを 1 つ選択します。
  3. [リソース管理] で、[コスト分析] を選択します
  4. 既定では、コスト分析のスコープは個々の Azure OpenAI リソースです。

Azure OpenAI リソースをスコープとするコスト分析ダッシュボードのスクリーンショット。

そのコストを構成する内訳を理解するために、[グループ化][メーター] に変更し、グラフの種類を [折れ線] に切り替えることができます。 これで、この特定のリソースの場合、コストのソースの大部分が Text-Davinci Tokens を使用した 3 つの異なるモデル シリーズからのものになっていることがわかります。

[グループ化] が [メーター] に設定されているコスト分析ダッシュボードのスクリーンショット。

Azure OpenAI に関連するコストを評価する場合は、スコープを理解することが重要です。 リソースが同じリソース グループの一部である場合は、そのレベルでコスト分析のスコープを設定して、コストへの影響を理解できます。 リソースが複数のリソース グループに分散している場合は、サブスクリプション レベルにスコープを設定できます。

より高いレベルでスコープを設定する場合は、多くの場合、Azure OpenAI の使用状況に焦点を当てられるように、追加のフィルターを追加する必要があります。 サブスクリプション レベルでスコープを設定すると、Azure OpenAI コスト管理のコンテキストでは気にしない可能性がある他のリソースが多数表示されます。 サブスクリプション レベルでスコープを設定する場合は、Cost Management サービスの下にある完全なコスト分析ツールに移動することをお勧めします。

コスト分析ツールを使用して、サブスクリプションまたはリソース グループの累積コストを確認する方法の例を次に示します。

  1. 上部の Azure 検索バーで Cost Management を検索して、完全なサービス エクスペリエンスに移動します。これには、予算の作成などのその他のオプションが含まれます。
  2. 必要に応じて [変更] を選択します。これは、[スコープ:] で分析するリソース グループまたはサブスクリプションが指されていない場合です。
  3. 左側で、[レポートと分析]>[コスト分析] の順に選択します。
  4. [すべてのビュー] タブで、[累積コスト] を選択します。

累積コストへのアクセス方法が示されているコスト分析ダッシュボードのスクリーンショット。

コスト分析ダッシュボードには、[スコープ] に指定した内容に応じて分析される累積コストが表示されます。

スコープがサブスクリプションに設定されているコスト分析ダッシュボードのスクリーンショット。

サービス別にフィルターを追加しようとすると、一覧に Azure OpenAI が見つからないことがわかります。 この状況が発生するのは、Azure OpenAI には、サービス レベル フィルターが Cognitive Services であるという、Azure AI サービスのサブセットとの共通性があるためです。 他の種類の Azure AI サービス リソースを除くサブスクリプション全体のすべての Azure OpenAI リソースを表示する場合は、代わりにサービス レベル: Azure OpenAI にスコープを設定します。

サービス レベルが強調表示されているコスト分析ダッシュボードのスクリーンショット。

予算を作成する

予算を作成してコストを管理し、異常な支出や超過出費のリスクについて関係者に通知するアラートを作成できます。 アラートは、予算とコストのしきい値と比較した支出に基づきます。 Azure サブスクリプションとリソース グループの予算とアラートを作成します。 これらは、全体的なコスト監視戦略の一環として役立ちます。

さらに細かく監視したい場合は、Azure の特定のリソースまたはサービスに対するフィルターを使用して予算を作成できます。 フィルターを使用すると、追加のコストがかかる新しいリソースが誤って作成されないようにすることができます。 予算を作成するときに使用可能なフィルター オプションの詳細については、グループとフィルターのオプションに関する記事を参照してください。

重要

OpenAI には、予算を超過できないハード制限のオプションが用意されていますが、現在、Azure OpenAI ではこの機能は提供されていません。 予算通知の一部としてアクション グループから自動化を開始して、より高度なアクションを実行できますが、これには独自に追加のカスタム開発をする必要があります。

コスト データのエクスポート

ストレージ アカウントにコスト データをエクスポートすることもできます。これは、コストに対して他のユーザーが追加のデータ分析を行う必要がある場合に役立ちます。 たとえば、財務チームは、Excel や Power BI を使用してデータを分析できます。 日単位、週単位、または月単位のスケジュールでコストをエクスポートし、カスタムの日付範囲を設定することができます。 コスト データセットを取得する方法として、コスト データのエクスポートをお勧めします。

次のステップ