21
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure OpenAI Service #AOAIドーナツ本 第3章 勉強メモ

Last updated at Posted at 2024-03-07

この本『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 エンジニア選書』(通称『AOAIドーナツ本』)を読んだので、
学んだことや調べたことを軽くメモしていきます。

(つよつよエンジニア7名によって書かれた、すごく良い本でした!おすすめです!)

発売日:2024/01/24(水)

追記

著者の方からツイートいただきました、素晴らしい本をありがとうございます!

本のもくじ

充実していますね…!!

第1部 Microsoft AzureでのChatGPT活用

  1. 第1章 生成AIとChatGPT
  2. 第2章 プロンプトエンジニアリング
  3. 第3章 Azure OpenAI Service

第2部 RAGによる社内文章検索の実装

  1. 第4章 RAGの概要と設計
  2. 第5章 RAGの実装と評価

第3部 Copilot stackによるLLMアプリケーションの実装

  1. 第6章 AIオーケストレーション
  2. 第7章 基盤モデルとAIインフラストラクチャ
  3. 第8章 Copilotフロントエンド

第4部 ガバナンスと責任あるAI

  1. 第9章 ガバナンス
  2. 第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 まとめ

image.png

Azure OpenAI Service

Microsoft は、OpenAI とパートナーシップを組んでおり、
ChatGPT をはじめとした OpenAI モデルの機能を API として提供する「Azure OpenAI Service」を展開しています。

製品ページ

https://azure.microsoft.com/ja-jp/products/ai-services/openai-service

image.png

開発者用の公式ドキュメント

https://learn.microsoft.com/ja-jp/azure/ai-services/openai/

image.png

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 インフラ上で安定した提供環境を整えたあとに提供されます。)

ちなみに両者 値段は同じ です。(この記事の下の方に詳細を書きました)

image.png

↑図の引用元『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 』 (p. 27) より

AOAI の SLA について

image.png

(↑『Microsoft Online Services のサービス レベル契約 2024 年 3 月 1 日』より)

OpenAI 本家の SLA について

image.png

(↑ 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 ポータルからリソース作成していけば大丈夫です。

image.png

↑ 「リソースの作成」画面で 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) より)

image.png

こんな画面になります!(現在は public preview 中なんですね)

image.png

左のメニューの「デプロイ」からモデルをデプロイしていきます。

image.png

モデルは GPT-4 TurboGPT-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 叩いて動作を確認する、よりも、はるかに簡単お手軽なので、まずはここから試してみましょう。左側のメニューから行けます。

image.png

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 トークンあたりの価格が出ています。

(リージョン:スウェーデン中部指定)

image.png

(リージョン:東日本指定)

image.png

東日本リージョンは現時点ではまだ GPT-4 Turbo (gpt-4-1106) など一部のモデルが使えないようですね。

本家と価格の比較

OpenAI 社本家と価格を比較してみます。
本家は 日本円の表記はなくて USD しか無いので、両方 USD で比較します。

OpenAI 社 本家

image.png

モデル GPT-4 Turbo (gpt-4-1106) は 1000 トークンあたり
インプット $0.01
アウトプット $0.03

Microsoft の Azure OpenAI

image.png

モデル GPT-4 Turbo (gpt-4-1106) は 1000 トークンあたり
インプット $0.01
アウトプット $0.03

結論

同じ値段ですね!!

21
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?