この本『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 エンジニア選書』(通称『AOAIドーナツ本』)を読んだので、
学んだことや調べたことを軽くメモしていきます。
(つよつよエンジニア7名によって書かれた、すごく良い本でした!おすすめです!)
発売日:2024/01/24(水)
追記
著者の方からツイートいただきました、素晴らしい本をありがとうございます!
本のもくじ
充実していますね…!!
第1部 Microsoft AzureでのChatGPT活用
- 第1章 生成AIとChatGPT
- 第2章 プロンプトエンジニアリング
- 第3章 Azure OpenAI Service
第2部 RAGによる社内文章検索の実装
- 第4章 RAGの概要と設計
- 第5章 RAGの実装と評価
第3部 Copilot stackによるLLMアプリケーションの実装
- 第6章 AIオーケストレーション
- 第7章 基盤モデルとAIインフラストラクチャ
- 第8章 Copilotフロントエンド
第4部 ガバナンスと責任あるAI
- 第9章 ガバナンス
- 第10章 責任あるAI
この記事では
内容盛りだくさんなので、
今回は、とくに第三章から勉強メモを引っ張ってこようと思います。
第3章 Azure OpenAI Service
- 3.1 Azure OpenAI Serviceとは
- 3.2 Azure OpenAIの始め方
- 3.3 チャットプレイグラウンドでChatGPTアプリを開発する
- 3.4 考慮するポイント
- 3.5 まとめ
次の記事で第四章のメモを書こうと思います。(本当は1つの記事にまとめるつもりだったけど、長くなりすぎたので分けた)
第4章 RAGの概要と設計
- 4.1 ChatGPTの問題点と解決手法
- 4.2 Retrieval-Augmented Generation とは
- 4.3 検索システム
- 4.4 Azure AI Search
- 4.5 オーケストレータ
- 4.6 Azure OpenAI on your data
- 4.7 Azure Machine Learningプロンプトフロー
- 4.8 大規模言語モデル
- 4.9 Azure OpenAI API
- 4.10 まとめ
Azure OpenAI Service
Microsoft は、OpenAI とパートナーシップを組んでおり、
ChatGPT をはじめとした OpenAI モデルの機能を API として提供する「Azure OpenAI Service」を展開しています。
製品ページ
https://azure.microsoft.com/ja-jp/products/ai-services/openai-service
開発者用の公式ドキュメント
https://learn.microsoft.com/ja-jp/azure/ai-services/openai/
OpenAI 本家と Microsoft Azure OpenAI との簡単な比較
OpenAI 社 本家 でも API を提供していますが、
Microsoft Azure のほう を使ったほうが、
例えば :(Azure OpenAI のメリット)
- Azure の 優れたセキュリティスタックを使えたり(Microsoft Entra ID による認証など)
- プライベートネットワークとの統合(閉域化)
- 他の Azure サービスとの連携 (Azure 上に立てたデータベースとの連携とか) が めちゃくちゃ簡単だったり、
- SLA (サービスレベル アグリーメント)(品質保証) 稼働率 99.9 % 以上が設定されている (OpenAI 本家には SLA は無い (現在 2024/3/7 時点))
- サポートへの問い合わせができる
など、Azure のほうが色々安心なので、
本番製品に組み込んだりエンタープライズでの利用なら Azure OpenAI を使ったほうが安全 かなあ、と思います。
ただ、OpenAI 社(本家)のほうが新しいモデルが降ってくるのが早い ので、
個人開発者としては OpenAI 本家を使うほうが楽しいという人も少なくないと思います。私も最初は OpenAI 本家の方でいじり倒したのが初めでした。
(新しいモデルは、本家でまず使えるようになった後、Azure OpenAI では Azure インフラ上で安定した提供環境を整えたあとに提供されます。)
ちなみに両者 値段は同じ です。(この記事の下の方に詳細を書きました)
↑図の引用元『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 』 (p. 27) より
AOAI の SLA について
(↑『Microsoft Online Services のサービス レベル契約 2024 年 3 月 1 日』より)
OpenAI 本家の SLA について
(↑ OpenAI 価格ページの『FAQ』より)
We will be publishing an SLA soon.
(SLA はそのうち設定します)
のままで、現在は存在しません。
結論
本からそのまま引用します。
このように、それぞれ特長を持った両サービスではありますが、実開発においては2つのAPIの仕様がほとんど同じで相互乗り換えが容易ですので、最新モデルの技術検証はOpenAI社のAPI、本番稼働はAzure OpenAIとするなど、用途に合わせて使い分けると良いでしょう。
引用元『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 』 (p. 26) より
Azure OpenAI はじめかた
Azure OpenAI は、Azure の他の多くのサービスと異なり、事前申請が必要になります。
(利用規約に同意します、とか、会社のメアドとか入れるやつ)
申請フォーム: https://aka.ms/oaiapply
(余談:私が大昔申請した頃は使用用途を書かされた気がするんだけど、いま見たらその項目は無くなってたね。簡単になってて羨ましい)
2-3日して申請が通ったら、
あとは普通に Azure ポータルからリソース作成していけば大丈夫です。
↑ 「リソースの作成」画面で OpenAI
で検索したら出てきます。
その後の詳しい手順は本『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 』 30P あたりから画面のスクショ付きで丁寧に説明されているのでぜひ。
(注:私は今回はリージョンにスウェーデン中部を指定しました)(リージョンによってデプロイできるモデルが違う)
Azure OpenAI Studio
Azure OpenAI で ChatGPT の API を利用するには、リソースを準備するだけでなくモデルのデプロイという作業が必要です。
モデルのデプロイを実行する手段はいくつかありますが、本書では Azure OpenAI Studio という GUI を使って進めていきます。
先ほど作成したリソースの管理画面から、[Azure OpenAI Studioに移動する]をクリックすると画面遷移します
(引用元『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 』 (p. 35) より)
こんな画面になります!(現在は public preview 中なんですね)
左のメニューの「デプロイ」からモデルをデプロイしていきます。
モデルは GPT-4 Turbo
や GPT-3.5 Turbo
(ChatGPT) など色々ありますが、
今回は本通りに GPT-3.5 Turbo
を選んでみました。
お金もだいぶ違うし…
参考)1000 トークンごとにかかる費用
モデル | インプット | アウトプット |
---|---|---|
GPT-4-Turbo | ¥1.505 | ¥4.513 |
GPT-3.5-Turbo | ¥0.0753 | ¥0.2257 |
だいぶ違う…!
(値段は公式ページ『Azure OpenAI Service の価格』より)
Azure OpenAI Studio のチャットプレイグラウンド
Azure OpenAI は、プロンプトや各種パラメータのテストのため、Azure OpenAI Studio 内に チャット プレイグラウンド という Web GUI ベースの開発環境が用意されています。
コード書いて API 叩いて動作を確認する、よりも、はるかに簡単お手軽なので、まずはここから試してみましょう。左側のメニューから行けます。
C# のコードから動かす
2023年09月の記事ですが、C# から .NET SDK for Azure OpenAI
で API 叩く記事を書きましたので、ぜひ参考にしてみてください!(そのうちアップデートしたい)
Semantic Kernel (Microsoft が OSS で開発している LLM 用の SDK) を使った場合はこちら↓です (C#)
2023/12/19 に書いたものです。
参考) AOAI 言語モデル価格 (2024/3/7 時点)
やはり無料で試せないとなるとお値段が気になりますので、
Azure OpenAI Service の言語モデルの価格をまとめてみました。
1000 トークンあたりの価格が出ています。
(リージョン:スウェーデン中部指定)
(リージョン:東日本指定)
東日本リージョンは現時点ではまだ GPT-4 Turbo
(gpt-4-1106
) など一部のモデルが使えないようですね。
本家と価格の比較
OpenAI 社本家と価格を比較してみます。
本家は 日本円の表記はなくて USD しか無いので、両方 USD で比較します。
OpenAI 社 本家
モデル GPT-4 Turbo
(gpt-4-1106
) は 1000 トークンあたり
インプット $0.01
アウトプット $0.03
Microsoft の Azure OpenAI
モデル GPT-4 Turbo
(gpt-4-1106
) は 1000 トークンあたり
インプット $0.01
アウトプット $0.03
結論
同じ値段ですね!!