Microsoft Ignite 2024 現地参加レポート(Day2)
はじめに
こんにちは、三菱UFJインフォメーションテクノロジー新卒2年目社員の伊東です。
Microsoft Igniteに現地参加をしています。
今回は参加2日目の内容をお届けできればと思います!
Azure AI Search: RAG for Better Results, Larger Scale, Faster Answers
Azure AI Searchセッションでは、最新のRAG(Retrieval-Augmented Generation)技術により、より高精度な結果、大規模なスケール、そして迅速な応答を実現する方法について説明がありました。
- 検索精度の向上: Generative Query Engine
- SLM-based Query Rewriting
- SLMを使って検索クエリに似たクエリをいくつか作成して、それらをキーワード検索する事で、検索結果の再現率(Recall)を上げる
- RAGに最適化されたリランクモデル
- 応答速度が2.3倍に向上
- SLM-based Query Rewriting
- インデクシング手法の改善: Structure-Aware Chunking
- Document Intelligence ベースのチャンキングにより、インデクシングが改善
- 効率的なスケーラビリティ: ベクトル圧縮
- Matryoshka Representation Learning (MRL)
- Binary Quantization
- Application Scenarios:
- GitHubモデルへの対応
- Copilot StudioにおけるAI Searchデータソースの利用
-
Azure Storage Connectorの活用
- Azureだけでなく、オンプレやマルチクラウドでデータソースを集約する
Query Rewritingは仕組みも面白く、導入も簡単そうなので、使ってみたいと思いました。
ベクトル圧縮は、AI Searchの仕様上、ベクトルインデックスの総容量が問題になる事も聞いたことがあるので、その対策になりそうですね。
AI Customization: Fine-tuning Azure OpenAI Service Models
Azure OpenAI Serviceモデルのファインチューニングに関するセッションになります。
- ファインチューニングにはLoRAというアプローチが使われている
- 新しいアップデート
- 知識蒸留
- Visionモデルのファインチューニング
- Weights and Biases (W&B) integration
- デモ動画:Visionモデルのファインチューニングとモデルのデプロイ、クライアントからの呼び出し
LoRAについて私は詳しく知らなかったので、ここは深堀して調べようと思います。
デモ動画でファインチューニングの流れが把握できたので、良かったです。
Accelerating time to value with Azure OpenAI
Azure OpenAIの最新アップデートに関するセッションになります。
- GPT-4のアップデート: Batch処理の追加、DataZoneの対応
- PTU: GPT-4oの値下げと最小購入単位の低減
- 監視:Grafanaによるトークン消費量の監視
- 事例紹介: 医療現場でのAI活用事例など
殆ど他のセッションで話されていた内容だったので、あまり新しい情報は得られなかったですね。GPT-4oの値下げと最小購入単位が低くなったことぐらいでしょうか。
Building GenAI application with MongoDB Atlas and Azure AI Studio
MongoDB Atlasに関する紹介セッションになります。
- テキスト検索、ベクター検索、ハイブリッド検索に対応
- 単一のデータベースで多機能を提供する
- マルチクラウド対応のMongoサービス
Azure Cosmos DB for MongoDBは業務でも利用しているのですが、調べた限りナイーブなMongoDBを使う利点は、マルチクラウドの部分かなといった所感です。
How AT&T delivers RAG at scale
RAGのスケーリングに関するセッションになります。
- RAGのoptimizationにおける課題とそのアプローチ
- Quality: → Retrieval手法の改善
- ハイブリッド検索 (キーワード検索+ベクトル検索) + セマンティックランキング
- Performance:
- 詳細は聞けなかったが、RAGにおける検索のレイテンシの割合は低いとのこと
- Cost: → ベクトル圧縮
- float32からbit型への変換
- naive Matryoshka Representation Learning (MRL) による次元圧縮
- Quality: → Retrieval手法の改善
面白かったのはMatryoshka Representation Learning (MRL)によるベクトル容量の削減ですかね。
MRL自体、他のセッションでも話に挙がっていたので、スタンダードな方法になっていきそうですね。
Effective API governance in the era of AI with Azure API Management
AIサービスとアプリケーションを繋ぐAPIを構築するためのAzureサービスについてのセッションになります。
- アプリとAI Serviceの統合管理
- アプリケーションとAIサービスをしっかりとマネージされたサービスで統合することが重要であり、これにより予測可能なコスト、信頼性の向上、セキュリティ、ガバナンスの観点が強化される
- Azure API Center
- 複数のAPI管理サービスを一元管理できる強力なツール
- 複数のAPIMに建てたAPI群を一元管理する事ができる
- 一元管理された各APIの成功・エラーがカウント可能
- エラーメッセージの特定や、エラー時のアクションをJSONで指定することが可能
- 複数のAPI管理サービスを一元管理できる強力なツール
- Azure API Management
- Azure API Managementは、API開発チームとプラットフォームチームを効率的に繋ぎ、互いに干渉しないようにすることが重要
- Workspace Gatewayの新リリース
- 最新のWorkspace Gatewayでは、ワークスペース単位APIやProductグループを分け、ワークスペースをWorkspace Gatewayで繋ぐことが可能になったとのこと
- Policy Toolkitによる新しいポリシー開発のスタイル
- Azureポータル上で直接ポリシー編集を行なっていたスタイルから、C#でのポリシー開発が可能に
- デモでは、VSCode上からC#で記載したポリシーロジックを、API Managementにデプロイしていた
- C#からポリシーへ変換している形
- AI APIsの管理
- Token Limit PolicyとLoad Balancer
- Token Limit Policyや複数リージョンに分散させたトークン分散を実現するため、Load BalancerとCircuit Breakerを使った分散処理のデモを実施
- Token Limit PolicyとLoad Balancer
Azure API Centerはサービス自体使った事は無いですが、1.「AWSやGCPのAPI Gatewayもまとめて管理できるか」、2.「それぞれのAPI管理サービスのログはAPI Centerで集約して管理できるか」が気になりました。
大規模なAPI管理を行いたい場合はWorkspace Gatewayを使う事も視野に入りそうですね。
個人的にPolicy Toolkitがどこまで開発に役立つかは試そうと思いました。
ハンズオン:Build a multi-agent AI assistant with Azure OpenAI
マルチエージェントシステムをPythonで作ってみるハンズオンを受けてみました。
- Function Callingを使ったエージェントシステム
- 以下のエージェントを試作
- 情報抽出やWeb検索を伴うエージェント
- 記事を自動作成するエージェント
エージェント作成自体は特に学ぶ事は少なかったのですが、Promptyと呼ばれるプロンプト開発ツールも使っていて、それが便利で面白かったです。
Microsoft エキスパートと会話
Microsoft Showcaseと呼ばれるエリアでは、各Azureのサービス単位でブースが用意されており、そのAzureサービスのエンジニアの方と会話する事ができます。
私はCosmos DBやAPI Managementの担当者と直接会話する事ができました。
セッションの合間をぬって会話できたものの、まだ他のサービスのエンジニアとも話したいと思うので、明日以降も立ち寄ってみたいと思います。
会話内容
以下に会話内容を軽くまとめます。
API Management担当
- 先日発表のあったAzure AI Agent Serviceで作成したエージェント機能をAPI Management(APIM)でAPI公開する事は可能か
→ AIサービスを集約してAPIMに連携できることは考えている
→ ただし今回発表されたAzure AI Agent Serviceが可能なのかは分からない - App ServiceやFunctionsをバックエンドとして経由すれば、Azure AI Agent Serviceと接続する事は可能か
→ それは可能である
CosmosDB担当
- MongoDBやNoSQLでDiskANNの対応がホットな話題だが、AI Searchを使うケースとどのような違いが考えられるか
→ 違いは管理リソースにある。CosmosDBのメリットはリソースを一つに集約でき、データソースと検索サービスを1つにまとめる事ができる
→ レイテンシはCosmosDBが優れているが、検索性能には大きな差は無い - CosmosDBのNoSQLとMongoDBでaccuracyに違いはあるか
→ APIの作り、インタフェースの違いなので、性能面の違いは無い
同じ日本からの参加者から聞いた話ではあるのですが、AI Searchの担当者へCosmosDBとの違いで同様の質問をしたところ、「複数のデータソースを一つのインデックスに集約できる事がAI Search」のメリットと仰っていたそうです。
企業ブース
本当に多くの企業の方がブース出展をしていて、ほぼ全ての企業が見たことあるものばかりでした。
最新の開発製品について説明を聞いたり、担当者の方と会話ができました。
おわりに
本日参加したセッションの中では、特にAI Searchのアップデート内容が興味深い内容でした。
また、API Managementの新機能追加も、実際にそれらのサービスを使って開発している側からすると重要なアップデートでした。
実際のエンジニアと直接話せるMicrosoft Showcaseは、Microsoft製品やAzureサービスを利用するエンジニアにとっては、学びが多く、楽しい空間でした!
この記事をご覧になって当社にご興味を持たれましたら、是非下記にアクセスして採用情報をご確認下さい!
Discussion