今回は、Azure workbooks を使って Azure OpenAI の Insights を監視する第一歩の踏み出し方って感じの話です。
監視をするには
Azure では、Azure portal からほとんどのリソースで "Metric" や "Log Analytics" を使って Insights を監視・分析することも可能です。
Azure OpenAI Service のリソースでももちろんリクエスト数やトークンの使用量などを確認したり、状況に応じてアラートをあげることが可能です。
ただ、本番環境で Azure OpenAI Service を利用することを考えると、サービスごとや顧客ごとで model をデプロイしてクオータを制御したりメトリックを監視するようになってくるようになり、慣れていないとどんなダッシュボードを作ろうか悩んだり、考え抜いたダッシュボードを作る手間が発生します。
今回のネタである Azure OpenAI Insights と名付けられた Azure workbook を構成すると、考えたり作る手間をなくして、汎用的かつカスタマイズ性に優れた監視のダッシュボードをサクッと構成できます。
ということでセットアップして、どんなメトリックがみれるかを確認していきます。
Azure OpenAI Insights の workbook をセットアップ
Azure portal で、上部検索バーで「azure workbooks」と入力して "Azure Workbooks" をクリックします。
Azure Workbooks の一覧が表示されるので、"Create" をクリックします。
Grallery が表示されるので、"New" をクリックします。
"Advanced Editor" のアイコンをクリックします。
ここで、一旦ブラウザの別タブを開き、以下の URL を開きます。
右上の方にある "Copy raw file" をクリックしてファイルの内容をコピーします。
さきほどまで開いていた Azure portal を開き、以下の操作をします。
- Gallery Template が選択されていることを確認する (①)
- ②の部分を一度すべて空にしてから、コピーした workbook の内容を貼り付ける
- Apply をクリック (①)
上部の "Save" をクリックします。
Save As のウインドウが表示されるので、監視したいリソースにあった情報を入力して "Apply" をクリックすると、この workbook が保存されます。
これでセットアップは完了です。できた workbook をサクッと見ていきます。
Azure OpenAI Insights を確認する
この workbook を開いたら、まずは上部で Subscription や Azure OpenAI Service のインスタンス、Time range を絞り込むことができます。
そのすぐ下に "Overview", "Monitor", "Insights" の3つのタブがあるのでそれぞれ見ていきます。
Overview タブ
デフォルトで Overview タブが表示されます。リソースグループごとやリージョンごとの概要レベルのグラフが表示されます。ここはみたままで大した内容がないので説明は省きます。
Momitor タブ
Monitor タブを開くとそのすぐ下に、"Overview", "HTTP Requests", "Token-Based Usage" などそれぞれに特化したグラフが用意されています。
それぞれのメトリックが何を意味しているかは、UI 上で親切に説明してくれているのがいい感じです。また、以下のドキュメントでも確認可能です。
また、それぞれのグラフに "Open in Metric Explorer" のボタンがついてるので (下図の矢印)、ボタンをクリックして細かい時間軸で分析が可能です。
Insights タブ
Insights タブは Log Analytics の KQL での集計を利用するため、Azure OpenAI のリソースから diagnostic settings (診断設定) で Log Analytics への送る構成をしておく必要があります。構成方法は以下のドキュメントに書かれています。
あとは、Insights タブをクリックし、Log Analitics workspace を選択したらダッシュボードが見えます。
Insights タブ内で以下3つのタブに分かれています。
- "Overview": HTTP Request 関連のダッシュボード
- "By CallerIP": アクセスしてきた Client 側の IP 毎のダッシュボード
- "All Logs": Request / Response のログ。細かい分析は Logs のアイコンをクリックして KQL でクエリして確認って感じ。
終わりに
ということで Azure OpenAI Insights のセットアップ方法とどんな感じで見れるかの話でした。
Workbook や Metric 自体がカスタマイズ性にも優れているので、ここを出発点に自分にあったダッシュボードにカスタマイズすることも容易ですね。
あとはこれを必要に応じてアラートを構成したり、Azure portal の Dashboard として構成しておけばより実用的に監視が捗ると思っています。
最後に、Azure OpenAI の監視については以下を読んでおくと基本的な知識が身に付くと思います。