はじめてのAzure OpenAI ( GPT3.5 ) 利用までの流れ
目次
Azureの利用が初めての利用ため、言葉に間違いがあるかもしれませんが、温かい目で見ていただけると幸いです。
昨今の流行に合わせてAzure OpenAI を利用するまでの流れを記載したいと思います。
また当記事は2023/07/19時点の内容となり、Azureの更新によって大きく変わる可能性があり、
Azure OpenAI Service利用でのモデルや価格については変動すると思われるため割愛いたします。
Azure OpenAI Service とは
Microsoft Azure が提供するクラウドサービスの一つで、OpenAIのモデルを利用可能とします。
OpenAIとは違い、セキュリティ、安全性や信頼性が非常に高いです。以下のことがAzure OpenAI Serviceの記事に記載されていました。(日本語変換)
プロンプト (入力) と完了 (出力)、埋め込み、トレーニング データについて
- 他の利用者には利用されない
- OpenAIで利用されない
- OpenAI モデルを改善するためには使用されない
- Microsoft またはサードパーティの製品やサービスを改善するために使用されない
- リソースで使用するために Azure OpenAI モデルを自動的に改善するためには使用しない (トレーニング データを使用してモデルを明示的に微調整しない限り、モデルはステートレス)
- 微調整された Azure OpenAI モデルは、利用者専用に提供
- Azure OpenAI サービスは Microsoft によって完全に管理
- Microsoft は Microsoft の Azure 環境で OpenAI モデルをホストしており、本サービスは OpenAI によって運営されるサービス (ChatGPT や OpenAI API など) と対話しない
Data, privacy, and security for Azure OpenAI Service
Azure OpenAI Service 利用の注意点
現在Azure OpenAIは、承認された企業顧客およびパートナーのみが使用可能です。
このため、個人でAzureを利用しているユーザはAzure OpenAIの申請を行っても審査が通りません。
(フリーメールアドレスでの申請がそもそも行えません。)
Azure OpenAI Service 利用までの流れ
- Azureの企業アカウントの準備 (https://azure.microsoft.com)
- サブスクリプションの準備
- Azure OpenAI利用の申請と許可(2営業日~10日営業日)
- Azure OpenAIの作成
- Azure OpenAI Studioからのモデルのデプロイ
- ChatGPTプレイグラウンドでお試し
以上が、最低限利用までの流れとなっています。次はスクリーンショットを用いて簡単にご説明します。
1,2番に関しては準備済みとします。また、Azure企業アカウントについてはクレジットカード登録が済んでいれば30日間の無料状態のままでも処理を進めることができるので、すぐに従量課金サブスクリプションにアップグレードする必要はありません。
Azure OpenAI利用の申請と許可(最大10日営業日程度の審査)
企業アカウントが準備できてサブスクリプションの準備まで終わったうえで、次のURLから利用申請を行います。
Request Access to Azure OpenAI Service
こちらのフォームで必要項目を入力します。
タイミングにもよるとは思うのですが、申請から数時間で弊社は申請が通りました。しかし、受領メールには「10営業日程度お待ちください。」と記載されており、審査員の空き具合で変わると思います。
気を付ける点としては申請内容は英語で記載し、担当者メールアドレスはサブスクリプションを操作可能なメールアドレスにしておくと良いようです。ここで関係ないアカウントのメールアドレスを登録すると差し戻されると聞いたことがあります。また、他社様の案件等で我々が代行して申請はできないため、各お客様がMicrosoftに企業登録する必要があります。
余談ですが、審査が通っていない状態で、Azure OpenAI のインスタンスを作成しようとすると次の画面が表示されます。警告が表示され価格レベルの設定ができず、先に進むことができません。
Azure OpenAIの作成
無事利用可能承認がおりると次のメールが届きます。
早速AzureポータルにアクセスしAzure OpenAIを作成します。
Azureポータルの「すべてのサービス」→「AI + Machine Learning」→「Azure OpenAI」を選択すると次の画面が表示されます。
初めは空ですので、「Azure OpenAIの作成」を押すか、「+作成」から進むと次の画面が表示されます。
申請前とは異なり、申請承認完了後はリージョンと価格レベルが表示されました。
数か月前、数日前まではリージョンに無かった「Japan East」が追加されています。
お試しですので、「Japan East」を選択してみます。
価格レベルは「Standard S0」を選択。他の名称設定も行い、次へ進みます。
・ネットワークの設定
・タグの設定
・確認画面
とすすみ、Azure OpenAIを作成するとデプロイ処理が行われ、完了すると次の画面が表示されます。
また、Azure OpenAIの一覧画面から作成したリソースに移動すると次のような画面に行きますので、画面左上にある「Azure OpenAI Studio に移動する」で専用画面に進むことができます。ここまでくるとほぼ完了です。 また、「Azure OpenAI Studio に移動する」を押下するとその画面がAzureポータルから離れてしまうため、別ウィンドウで開くと幸せかもしれません。
Azure OpenAI Studioからのモデルのデプロイ
Azure OpenAI Studioに進みます。ここではモデルの選択をして、どのAIを使うか選ぶことができます。この時点ではGPT-4を利用することができません。
利用申請フォームで申請する必要があります。こちらも数日かかると思っていただいてよいと思います。
次の画面にある「GPT-4 access」リンクから申請を行いましょう。OpenAI利用申請よりは短く簡単に行えます。申請に必要なアプリケーションIDについては、利用申請時に受け取っているメールのタイトルに記載された番号(弊社では6桁)を入力します。サブスクリプションのIDはAzure OpenAI利用申請で使用したものを記載します。
申請承認を待っている間に、GPT-3.5の利用設定を行います。
左メニューの「デプロイ」を選択します。
こちらから「新しいデプロイの作成」を選択します。
使いたいGPTモデルを選択します。お試しですので、パラメータ等はデフォルトのものでよいと思います。
デプロイ名は自分に合った名前でよいと思います。今回は「demo-gpt35-turbo」にしました。
こちらで「作成」ボタンを押下すると、GPT3.5の利用が可能となります。
ChatGPT プレイグラウンドでお試し
デプロイが完了したら、「チャット」メニューで作成したモデルが「デプロイ」から選択可能になりますので、そちらを選択します。チャットセクションでメッセージを入力することが可能となります。
アシスタントのセットアップには様々な設定を行うことができます。
システムメッセージで、ChatGPTがどのように振る舞うかを指定します。デフォルトでは一般的なサポートAIとして返答できるように指定されています。他に様々なファイルを参照して回答をさせたりできる機能が「+ Add a data source」で指定可能です。こちらについては当記事では扱いません。
チャットセクションの右にあるConfigurationでは、デプロイ済みモデルに対してパラメータを変更することができます。
以下、インフォメーションに出る内容を記載します
デプロイ(過去のメッセージを含む)
新しい API 要求ごとに含める過去のメッセージの数を選択してください。これは、新しいユーザー クエリのモデル コンテキストを提供するのに役立ちます。この数値を 10 に設定すると、5 つのユーザー クエリと 5 つのシステム応答が含まれます。
パラメータ(最大応答)
モデル応答あたりのトークン数に制限を設定します。API は、プロンプト (システム メッセージ、例、メッセージ履歴、ユーザー クエリを含む) とモデルの応答の間で共有される最大の 4000 トークンをサポートします。1 つのトークンは、一般的な英語テキストの約 4 文字です。
パラメータ(温度)
ランダム性を制御します。温度を下げることは、モデルがより反復的および決定論的な応答を生成することを意味します。温度を上げると、予期しない応答や創造的な応答が増えます。温度または上位 P の両方ではなくどちらかを調整してみてください。
パラメータ(上位 P)
温度と同様に、これはランダム性を制御しますが、別の方法を使用します。上位 P を下げると、モデルのトークンの選択がより可能性が高いトークンに絞り込まれます。上位 P を上げると、確率が高いトークンと低いトークンの両方からモデルが選択できるようになります。温度または上位 P の両方ではなくどちらかを調整してみてください。
パラメータ(シーケンスの停止)
モデルの応答を目的のポイントで終了します。モデルの応答は指定されたシーケンスの前に終了するため、停止シーケンス テキストは含まれません。ChatGPT の場合、<|im_end|> を使用しては、モデルの応答でフォローアップ ユーザー クエリが生成されないようにします。停止シーケンスは 4 つまで含めることができます。
パラメータ(頻度のペナルティ)
これまでにテキストに出現した頻度に基づいて、トークンが繰り返される可能性を比例的に減らします。これにより、応答でまったく同じテキストが繰り返される可能性が低くなります。
パラメータ(プレゼンス ペナルティ)
これまでにテキストに表示されているトークンを繰り返す可能性を減らします。これにより、応答で新しいトピックを紹介する可能性が高まります。
以上についての詳細情報は次の記事に記載されています。
Learn how to generate or manipulate text
無料提供されているOpenAI社のChatGPTに比べ触れる範囲が大きく微調整ができそうな予感がします。
こちらを調整することによって様々な作業を大まかに任せることができると思います。
最後に
Azure OpenAI利用には一定のハードルがあります。(社内でおためし利用するために結構いろいろ申請やお伺いにも時間がかかりました。)そのおかげで信頼性も高い印象です。まだまだ発展途上ではあるものの期待はかなりできるのではないでしょうか。
また、Azure OpenAIをAPIによって利用することが主体ですので、さらに先の設定や社内の大量のデータの準備、業務データの準備、呼び出し側の実装などもあります。そちらについては今後の実装や調整のお試しなどは記事にできたらします。
ありがとうございました。