Azure OpenAI リソースにおけるモデル別の利用トークン数と利用料金を確認してみた

2023.11.07

Azure OpenAI Service リソースで複数モデルを使い分けている状況において、モデル別の利用トークン数と利用料金を確認したいと思い、その方法を調べてみました。モデル別の利用状況や料金を把握することでコスト最適化の検討がしやすくなります。


本ブログで紹介する例を先に掲載します。

モデル別の Generated Completion Tokens (生成された完了トークン数) を可視化した例です。

モデル別の利用料金を確認した例です。

モデル別の利用トークン数を確認

Azure OpenAI リソースの「メトリック」からモデル別の利用トークン数を調べることができました。

トークン数を確認するためのメトリックは次のドキュメントに掲載されています。

Azure OpenAI Service の監視 - Azure AI services | Microsoft Learn


今回は、トークンに関する次の 2 つのメトリックを確認してみます。

  • ProcessedPromptTokens
    • 英語ページの表示名:Processed Prompt Tokens
    • 日本語ページの表示名:処理されたプロンプト トークン数
  • GeneratedTokens
    • 英語ページの表示名:Generated Completion Tokens
    • 日本語ページの表示名:生成された完了トークン数

日本語のドキュメント上では表示名が日本語化されているのですが、Azure Potal 上でメトリックを選択する際のメトリック名は英語ページの表示名となっていました。


始めに、ProcessedPromptTokens を確認します。次の設定例で確認できます。

  • メトリックの設定
    • スコープ:分析したい Azure OpenAI リソース
    • メトリック名前空間:コグニティブ サービス
    • メトリック:Processed Prompt Tokens
    • 集計:合計
  • 「分割を適用する」設定
    • 値:ModelName
    • 最大:10
    • 並べ替え:降順
  • 時間の範囲
    • 期間:任意の期間
    • 時間の粒度:1 日(指定した期間に合わせる)
    • 公開する時間帯の種類:ローカル

表示される Processed Prompt Tokens メトリックに関するグラフの例です。モデルの利用状況が分かりやすくなりました。

次に、GeneratedTokens の表示です。上述した ProcessedPromptTokens の設定例から選択するメトリックを Generated Completion Tokens に変更することで確認できます。

Azure OpenAI リソースにおけるモデル別のトークン数を確認できました。

モデル別の利用料金を確認

Azure Open AI リソースにおけるモデル別の料金を確認する場合は、Azure OpenAI の画面から確認することも「コストの管理と分析」サービスから確認することもできます。それぞれ紹介します。

なお、Azure OpenAI の料金は次のページから確認できます。

Azure OpenAI Service - 価格 | Microsoft Azure


Azure OpenAI の画面から確認する場合

分析したい Azure OpenAI リソースの画面において「コスト分析」を選択します。

次の設定を行い、リソース名のトグルを開くことで確認できます。

  • スコープ:コスト分析したい Azure OpenAI リソース
  • 表示:リソースごとのコスト(CostByResource)
  • 期間:コスト分析したい期間
  • グループ化:リソース
  • 細分性:なし

モデル別の利用料金を確認できました。指定した期間の累計料金が表示されており、Prompt Tokens と Completion Tokens に分かれて表示されています。また、グループ化を Meter とすることでもモデル別の料金を表示できます。


コストの管理と請求サービスから確認する場合

「コストの管理と請求」サービスの「Cost Management」→「コスト分析」から確認することもできます。

今回は「累計コスト」を選択してモデル別の料金を確認してみます。


次の設定例でモデル別の料金を表示できました。ただし、下記設定の場合は他の Cosnitive Services の利用があれば、その内容も表示されると思われます。その場合は、フィルターとして Meter を選択して各モデルを個別に選択する方法があります。

  • スコープ:コスト分析したいリソースグループ
  • 表示:リソースごとのコスト(CostByResource)
  • 期間:コスト分析したい期間
  • フィルター:Meter category : Cosnitive
  • グループ化:Meter
  • 細分性:なし

モデル別の利用料金を確認できました。Azure OpneAI リソース画面から確認したときと同様に、指定した期間の累計料金が表示されており、Prompt Tokens と Completion Tokens に分かれて表示されています。

さいごに

Azure OpenAI Service リソースにおけるモデル別の利用トークン数と利用料金を確認する方法の一例を紹介しました。ダッシュボード化していつでも見られるようにすると便利です。性能と料金のバランスを取って上手にモデルを使っていきたいです。

以上、このブログがどなたかのご参考になれば幸いです。