Azure OpenAIサービスを使いだすまで
はじめに
Azure OpenAIサービス(AOAIサービス)、企業ユースだったらこれだよねみたいな話をいろんなところで見聞きしつつ、恥ずかしながら未だに自分で使ったことがありませんでした。
ということで、「さすがに触ったことくらいありますわ~」と言えるようにするために、実際に使ってみた、までを記録してみます。
利用の流れ
以下のステップがありました。
- Azureの利用契約(サブスクリプション作成)
- AOAIサービス利用申し込み
- AOAIインスタンス作成
- オプトアウト申請
- abuse monitoring
- filtering
- モデルのデプロイ
各ステップの内容を見ておきます。
Azureの利用契約(サブスクリプション作成)
ここのやり方は、これはこれで1テーマになりそうですがここでは割愛します。
AOAIサービス利用申し込み
デフォルトの状態だと、Azureポータル上でAOAIサービスを使おうとしても「許可されてないから使えないよ」というエラーになってしまいます。
この画面にもある「AOAIサービスへのアクセスをリクエスト」が最初のステップです。
Request Access to Azure OpenAI Service
どこの誰が、どういう目的で、どういう生成AIを使いたいのだ?というのをアンケートフォームに入れて申請します。
ポイントとなるのは、現時点では「承認された顧客企業とパートナー」だけが使える、となっており、企業名や企業ドメインのメールアドレスが必須になるということです。
あとは、MSのAIポリシーに従うこと、というのに同意するだとか、大小30近い質問に答えます。
私の場合、この申請をしてから割とすぐに「OK、承認したよ」というメールが返ってきましたが、窓口の混み具合や申請内容、リソース状況次第と思われますので、過度な期待をしないようにします。(実際、サービスイン当初は週レベルで待たされたようですので…。)
AOAIインスタンス作成
まず見慣れたAzureの画面でAOAIインスタンスの作成を行います。
2023/7時点で東日本リージョンにも対応したので、さっそくJapan Eastを指定して作成してみます。
また、価格レベル(プラン)をプルダウンで選択していますが、AOAIサービスはAIを利用した「トークン」課金の一択なので、実質選択肢はありません。(ちなみに、2023/7/時点、「価格」ページを見ても東日本リージョンは選択できず価格不明でした)
続けてネットワークの設定です。よくあるAzureのPaaSと同じように、「どこからでもアクセスできる」「指定のVNETや、グローバルIPからアクセスできる」「プライベートエンドポイントからしかアクセスできない」の3段階で設定できます。
今回は、「指定のグローバルIPからアクセスする」を想定して設定しています。
インスタンスの作成自体はすぐで、1-2分で出来上がりました。AOAI Studioに接続できるようになり、下記のような画面が表示されます。
オプトアウト申請
使いだす前に、オプトアウト申請の要否を考えます。
Azure OpenAI Limited Access Review: Modified Content Filters and Abuse Monitoring
先ほどのAOAIサービスの申請とほとんど同じですが、もう少し詳細にアプリケーションの使い道を回答することになります。
この申請により、2つの制約を取っ払うことができます。
Abuse Monitoring
デフォルトでは、Microsoft社の想定するポリシーに違反した使い方をしていないか、AOAIサービスの入出力をチェックできることになっています。この制約を拒否することができ、オプトアウト申請が通れば他者に見られることなく、AOAIサービスを利用することができます。
Content Filter
AOAIサービスでは、憎悪、暴力、性的といったカテゴリの入出力がフィルタリングされています。これらを入出力できるようにするためにオプトアウト申請が必要になります。ただし、こちらには「なぜ、オプトアウトが必要か」という理由も含めて申請する必要があり、おそらくなかなか申請は通らないのではないか…と想定されます。
モデルデプロイ
ココまできたら、生成AIのモデルを選択してデプロイしてみます。
画面のUiに沿って作るだけで、特に難しいことはありません。ここでは所謂ChatGPT相当のGPT3.5 Turboを選択してみました。
使ってみた
ここまで来て、やっと使えるようになりました。
おわりに
以上のようにChatGPT相当のことくらいは簡単に作れます。「企業利用なのである程度セキュアなOpenAI環境作ってみたいな~」からのAOAIサービス構築は、簡単にセットアップできました。
具体的なアプリケーションに仕立てるところはこの先で、そこからが難しい話ですが・・・。
Discussion