Slide 1

Slide 1 text

RAGって安くならへんの? .NETラボ8月 YUSUKE SATAKE

Slide 2

Slide 2 text

@fe_js_engineer @fe_js_engineer satyus 佐竹祐亮 / Yusuke Satake Microsoft Japan for Startups ← new!! Ex- Microsoft MVP for AI Platform (2024/5 ~ 2024/7) Experience • 日本マイクロソフト • 佐竹塾 経営 • プログラミングスクール 経営 • PoC部 運営 Expertise  学習塾 &プログラミングスクール経営  DXコンサルタント  プリセールス  Account Executive

Slide 3

Slide 3 text

Agenda  はじめに  コストのお話  AI Search→CosmosDB、GPT-4-32k→GPT-4o変更後のコスト比較  パフォーマンスのお話  PTUについて  まとめ

Slide 4

Slide 4 text

はじめに  「RAGってもっと安くならないの?」 この仕事をしてから7万回ぐらい言われているような気がします。 コストとパフォーマンス…切っても切り離せないトレードオフの関係ですが、パフォー マンスをある程度まで抑えてしまえば、コストもかなり抑えれるのではないかと思 う今日この頃です  そんな時にCosmosDB for NoSQLでベクトル検索が可能になるという発表が Buildであったので、CosmosDBでRAGを作るとどれぐらい安く作れるのか検証し てみました。  本発表は個人的な見解であり、所属する会社・組織とは全く関係ありません のでご了承ください。

Slide 5

Slide 5 text

今回のアーキテクチャの利用シナリオ コストの観点 • RAGは構築してみたいが、Azure AI Searchのコストがネックで精度はそこ まで必要がない パフォーマンスの観点 • セマンティック検索やハイブリット検索の必要がなく、ベクトル検索だけで 十分 可用性の観点 • Azure AI Searchの可用性が不安

Slide 6

Slide 6 text

Cosmos DB for NoSQL  フル マネージドの NoSQLデータベースサービス ベクトル検索機能がPreview  従来は、RAGにおける検索部分はAzure AI Searchに任すことが多かったが、 料金が高く、可用性が高くはない。  より安く、DBに直接ベクトル検索できるようになった。  ※Cosmos DBはベクトル検索のみ。 一方でAI Searchには、ハイブリッド検索や、セマンティック検索がある。 ベクトル検索だけでは検索精度が出ない場合には、有用な選択肢。

Slide 7

Slide 7 text

ベクトル検索  コンテンツを数値情報に変換し、コンテンツ同士の類似度を算出する検索方法。 検索対象 ベクトル値 文書1 文書2 文書3 文書4 [ -2, -1, 0, 1 ] [ 2, 3, 4, 5 ] [ 6, 7, 8, 9 ] [ -2, 0, 4, 7 ] XXXのYYYとは? クエリ [ 2, 3, 4, 6 ] ベクトル 値 最も近い類似度の検索対象 は文書2!!!

Slide 8

Slide 8 text

Azure OpenAI  OpenAIのLLMモデルにREST APIできるサービス  コンテンツの生成、要約、画像の解釈、ベクトル化、翻訳などが可能。 GPT4o(omni)モデルがGA  トークン制限が大きく、賢く、レスポンスが早く、安くなったGPTモデル  GPT-4-32k : input 1k token $0.06 output 1k token $0.12  GPT-4o : input 1k token $0.005 output 1k token $0.015

Slide 9

Slide 9 text

コストのお話 RAGアーキテクチャの構成比較

Slide 10

Slide 10 text

よく見るRAGアーキテクチャについて

Slide 11

Slide 11 text

各リソースのお値段はこんな感じ (8/21時点では$298.35/月) https://azure.microsoft.com/ja-jp/pricing/calculator/ リソース 設定値 値段 App Service Basic (Linux, サイズS, ACU合計100, メモリ1.75GB) $13.87 Functions 従量課金価格, 300万回呼び出し, 実行時間1s, リソー ス使用量512 MB / 1,024 MB, $17.60 AI Search basic (15 GB/パーティション、最大 3 個のレプリカ、最大 3 個のパーティション、最大 9 個の検索ユニット) $75.14 OpenAI Service GPT-4-32k, input 0.06$/1k, output 0.12$/1k Input & output 1m token/月 $180 Blob Storage ページ BLOB (非管理対象ディスクを含む)、標準、LRS 冗長性, 汎用 v1, 100 GB 容量, 100 非管理対象ディ スクの操作、10,000 ページ BLOB の書き込み操作、 10,000 追加 IO ユニットの書き込み、10,000 ページ BLOB の読み取り操作、10,000 追加 IO ユニットの読み 取り、10,000 ページ BLOB の削除操作 $11.74 やはり、AI関連のリソースが まぁまぁいいお値段することを確 認

Slide 12

Slide 12 text

こうしたらどれぐらい安くなるかチェック ①App Service→Static Web Apps ②AI SearchをCosmosDB ③GPT-4-32k→GPT-4o

Slide 13

Slide 13 text

各リソースのお値段はこんな感じ (8/21時点では$88.01/月) https://azure.microsoft.com/ja-jp/pricing/calculator/ リソース 設定値 値段 Static Web Apps Standard (汎用アプリ運用) $13.87→$9 Functions 従量課金価格, 300万回呼び出し, 実行時間1s, リソー ス使用量512 MB / 1,024 MB, $17.60 CosmosDB Serverless, RU 5×100万, トランザクションストレージ 100GB $75.14→$29.67 OpenAI Service GPT-4o, input 0.005$/1k, output 0.015$/1k Input & output 1m token/月 $180→$20 Blob Storage ページ BLOB (非管理対象ディスクを含む)、標準、LRS 冗長性, 汎用 v1, 100 GB 容量, 100 非管理対象ディ スクの操作、10,000 ページ BLOB の書き込み操作、 10,000 追加 IO ユニットの書き込み、10,000 ページ BLOB の読み取り操作、10,000 追加 IO ユニットの読み 取り、10,000 ページ BLOB の削除操作 $11.74

Slide 14

Slide 14 text

Demo

Slide 15

Slide 15 text

DEMO ①Blobストレージには内閣府が出している2024-01~03月GDPのpdfを配置 (173kb) ②AI SearchをCosmosDBに置き換え ③GPT-4-32k→GPT-4oに置き換え ④Azure App Service→StaticWebAppsへ置き換え

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

両者比較するとこんな感じ https://azure.microsoft.com/ja-jp/pricing/calculator/ リソース 値段 リソース 値段 Static Web Apps $9 App Service $13.87 Functions $17.60 Functions $17.60 CosmosDB $29.67 AI Search $75.14 OpenAI Service $20 OpenAI Service $180 Blob Storage $11.74 Blob Storage $11.74 $88.01/月 $298.35/月 ベクトル検索で精度が十分であるならば、AI Search→CosmosDBに変更することで$50程度 節約することが可能 そしてやはりGPT-4oは安い…!!

Slide 18

Slide 18 text

パフォーマンスのお話 PTUについて

Slide 19

Slide 19 text

パフォーマンスを高めるDeploy方法:PTU  PTU(Provisioned Throughput Units) とは、Azure OpenAIのデプロイ方法 の一つで、指定されたスループット(一定時間内に処理できるリクエストの量) を予約する仕組みのことです。 契約することで専用のコンピューティングリソースを利用レイテンシーの安定性が 高いデプロイ方法となります。 Global Batch Global Standard Standard PTU オフライン スコアリング 遅延に敏感ではなく数時間 で完了できるワークロード。 データ処理の場所に関する 要件がないユース ケース向け。 MS 推奨 GlobalStandard では、 Standard よりも高い既定 クォータとより多くのモデルを 利用できます。 データ処理の場所に関する 要件がない運用アプリケー ション向け。 データ所在地の要件がある お客様向け。 中程度以下のボリューム用 に最適化。 大きくて一貫したボリューム 用のリアルタイム スコアリン グ。 最高のコミットメントと制限 が含まれます。

Slide 20

Slide 20 text

StandardとPTUで何が違うのか  StandardとPTUの違いは主に以下の3つの観点で見ることが出来ます。 • スケーラビリティ • パフォーマンス • コスト 項目 Standard PTU スケーラビリティ トークン数の上限値あり 必要な量を事前に確保 毎月予約量を変更可能 パフォーマンス 共有のコンピューティングリソースを利用 レイテンシーのばらつき・遅れの可能性あり 専用のコンピューティングリソースを利用 レイテンシーの安定性が高い コスト 毎月のトークン利用数に応じた支払い コスト予測 = 複雑 事前に予約したユニット数支払い コスト予測 = 簡単

Slide 21

Slide 21 text

事前に購入するPTUを計算したい  AI Studioから以下の3つの項目を用いて購入すべきPTUの計算が可能  Peak calls per min(1分あたりにどれぐらい呼び出されるか)  Tokens in prompt call (inputのトークンはどれぐらいか)  Tokens in model response (outputのトークンはどれぐらいか) 計算ツール : https://oai.azure.com/

Slide 22

Slide 22 text

最後に いかがだったでしょうか。  今回はコストの面からRAGを調べてみました。GPT-4-32k→GPT-4oに変更す ることのコストメリットはすごい。  ベクトル検索だけであれば、AI SearchよりCosmosDBの方がだいぶ安い ($75→$30)。ベクトル検索だけでOKの場合はコスト的にはかなりメリットあり  生成AIのパフォーマンスを高めるデプロイ方法であるPTUも非常に面白いデプロ イの概念

Slide 23

Slide 23 text

Thank you!!

Slide 24

Slide 24 text

参考資料  https://zenn.dev/nomhiro/articles/sukiyanen_june_rag_func_ext_openai_ gpt4o  https://zenn.dev/nomhiro/articles/cosmos-nosql-vector-search  https://zenn.dev/microsoft/articles/azure_perfectly_understand_ptu