Microsoft Ignite 2024 現地参加レポート(Day3・Day4)
はじめに
こんにちは、三菱UFJインフォメーションテクノロジー新卒2年目社員の伊東です!
シカゴで開催中のMicrosoft Igniteに現地参加をしています。
今回はその3・4日目の様子をお届けできればと思います。
4日目は午前セッションのみだったため、まとめてお送りいたします!
セッション
AI customization: Tailoring models for your enterprise
LLMモデルのカスタマイズに関するセッションになります。
プロンプトエンジニアリング、ファインチューニング、RAG、RLHF、知識蒸留などのLLMモデルのカスタマイズアプローチを整理。
各アプローチの特徴を、モデル変更度合いとコンテキストの変更度合いから表にまとめていました。
これらの特徴を踏まえて、各ユースケース毎にどのアプローチを採用するのかを検討する必要があると思います。
私自身は業務利用を考えた際に、RAGやプロンプトエンジニアリングのアプローチに固執しがちなので、そこはフラットに適切な選択肢を考えていく必要があると感じました。
カンファレンスを通じてファインチューニングの話が多くされており、海外ではファインチューニングがプロダクションレベルでどこまで採用されているのかは気になったところでした。
ファインチューニングを採用するにあたっては、どのようにモデル評価をして、継続的に改良するのかが問題となるかと思います。
その際には、実際の現場での評価指標としてBLEUで評価しているとのことでした。
Solving the unsolvable: o1 models for breakthrough reasoning on Azure
o1モデルに関する説明と実際のユースケースに関するセッションでした。
- o1モデルにはo1-previewとo1-miniがある
- 注意点として、o1モデルはGPT-4oモデルのアップデートではなく、全く異なるモデルであること
- 違いを理解した正しい使い方が必要
- o1にはfunction callingも無ければシステムプロンプトも無い
- デモでは、何人かの登場人物のイベントとキャンプ会場の資料を合わせてキャンプのスケジューリングを考えるものや、HTMLとJavaScriptでインベーダーゲームを作成していた
私はo1モデルを実際に使ったことがなく、仕様の詳細が知れて良かったと思います。実際に触ってみたいと思いましたが、ChatGPT Plusへの加入が必要なので、普段使いはGPT-4oで不満は感じてない分迷いますね。
GraphRAG with Azure AI Search and insights from Office of the CTO
GraphRAGに関するセッションになります。
基本的にはGraphRAGの説明を行ってましたが、Microsoft Researchが出しているGraphRAGをベースに説明していました。
私が初めて知ったところとしては、MicrosoftのGraphRAGの検索に新しいDRIFT Searchという機能が追加されていたことです。
MicrosoftのGraphRAGでは検索方法にGlobal SearchとLocal Searchがあり、前者がグラフ全体の検索、後者が局所的な検索の2つがあるという認識でした。
DRIFT Searchでは、基本的にグラフ内近傍にあるデータを使うが、そこに全体的なコンテキストも追加されてくる、いわばGlobal SearchとLocal Searchを組み合わせた方法が取られているようです。
計算コストと検索精度のバランスが取れているそうです。
Lower TCO and modernize your MongoDB workloads with Azure Cosmos DB
vCoreベースのAzure Cosmos DB for MongoDBに関するセッション。
- Cosmos DB for MongoDBは、公式MongoDBよりもメリットが大きいとのこと
- AzureのRBACを利用したアクセスコントロールが可能
- 可用性面も高い
- DiskANNによるベクトル検索の高速化とコスト削減
- VSCodeの拡張機能でMicrosoftが公式に提供するAzure CosmosDBの開発ツールが新しく発表
- 公式MongoDBからのMigrationのツールがあるとのこと
別セッションで公式MongoDBの解説を聞いていて、結局のところマルチクラウド対応できるぐらいが公式MongoDBの利点なのかなといった印象でした。
Azure Cosmos DB for MongoDBの注目すべき点としては、やはりDiskANNの対応かなと思ってます。
1つのデータベースで、高速で高精度なベクトル検索によるドキュメント探索が完結できるのが良いですよね。
Cosmos DBのVSCode拡張機能は、私自身もVSCodeでCosmosDBのデータを閲覧する際に、わざわざMongoDBの拡張機能を使ってCosmosDBのデータを見ていたので、これは是非使ってみたいです。
Advanced RAG with LlamaIndex, Azure AI Search and Azure AI Foundry
Advanced RAGに関するセッション。
- RAGの課題
- 文章全体から要約するようなタスクは、RAGの中に要約文がないと難しい
- チャンク化された各文章間の関係を把握することができない
- 例:テーマAとテーマBに関する質問をし、テーマAでチャンクAをテーマBでチャンクBを検索して持ってきたとしても、LLMからするとチャンクAとチャンクBをそれぞれのテーマに関する文章と認識できない
- 複数段階に伴う質問が苦手
- ワンストップで検索と文章生成を行ってしまうため
- RAGの改善には大きく2つのアプローチ
- データ挿入時の前処理で質を向上させる
- データへの検索で精度を向上させる
- AgenticなRAGによるアプローチ
- Agentic Ingredients
- Routing: 要約が必要かチャンク検索かで分岐させる
- Memory: 会話の履歴をインメモリに格納しておく
- Query Planning: クエリを最適化
- 例:クエリを細かく分割してそれぞれのクエリで検索、それぞれの結果を集約して回答を生成する
- Tool Use: LLM(エージェント)に必要なツールを思考させる
- Full Agents
- Sequential reasoning: ReActによるアプローチ
- DAG-based reasoning: クエリを実行する前にまずクエリをサブクエリに分割、依存関係を有向非巡回グラフ(DAG)に落とし込み検索するアプローチ
- Tree-based reasoning: 決定木ベースのreasoningアプローチ
- これらのアプローチの重要な部分はSelf reflectionであり、上手くいかない場合にエージェントによってプロセスを再実行する点にある
- Agentic Ingredients
- LlamaIndexの紹介
- 生成系AIアプリケーションの開発フレームワーク
- PythonとTypeScriptに対応
- その中でもLlmaParseが今回のセッションの主テーマで、現在Azure OpenAIで使用可能
- LlamaParse
- ドキュメントパーサーで、PDFやWord、PowerPointなどの複雑なドキュメントを処理でき、世界一の性能を持つ
- AI Searchに組み込める事が可能
- Document Intelligenceだけでなく、これらの外部のパーサーを使うという選択肢もある
- デモ
- LlamaIndexを利用したマルチモーダルのAdvanced RAGの紹介
本セッションでは、RAGに関するいくつかの改善アプローチを知る事ができました。
エージェントによるreasoningのアプローチがいくつか紹介されており、中でもDAG-based reasoningはとても面白い考え方かと思います。
LlamaIndex社の方が発表なので本題としてはLlamaParseの紹介でした。
最近Cohere社がマルチモーダルのEmbeddingモデルを公開していたりと、マルチモーダルに関するアップデートは多いですね。
Innovate with AI: govern, manage and secure your AI platform
Azureを基盤としたAIプラットフォームにおけるガバナンスやセキュリティなどのアーキテクチャ戦略に関するセッションでした。
アーキテクチャ設計に関わる基礎的なところであり、アプリ開発に関わる上で重要な内容かと思うので、改めて体系的に学ぶことができたという点で、貴重な時間を過ごす事ができました。
また、セッション中にいくつか参考サイトを共有しており、これらのガバナンスやセキュリティ、デザイン設計に関するロードマップを共有していました。(参考サイト)
こうした情報を参考にしつつ、Azureのアーキテクチャ戦略を考えていきたいですね。
Productive AI with Semantic Kernel
セマンティックカーネルの内容紹介、アップデート、導入事例に関するセッション。
- エンタープライズ向けのエージェント開発ツールである
- .NET, Python, Javaで対応
- 今回新しくGAされた内容
- Filters
- OpenAPI
- Memory
- メモリはベクトルストアを使うためのもので、インメモリで処理してるそう
- 内部的にはElasticserachを利用
- Elastic社の技術変遷、特にはベクトルデータベース関連を説明
- Fujitsu Kozuchiの製品紹介と、Semantic Kernelの使い方を説明
- ServiceNowの事例紹介
- Copilotや各部署、サードパーティーを踏まえて、それらをオーケストレーションするような未来をイメージ
- Suntoryの事例紹介
日本の会社も含めてセマンティックカーネルを使ってエージェントのオーケストレーションを行っている事例があり、今後も注目度が高まりそうだと感じました。
LangChainとどのように使い分けするかは悩ましいところですが、エージェント開発における選択肢として知っておいた方が良いかと思いました。
ハンズオンラボ
Interacting with multimodal Generative AI models
Azure OpenAIで提供しているLLMや画像生成モデルのDALL-E3、Assistants機能が体験できました。
DALL-E3やAssistants機能は使った事がなかったので、実際に触れる事ができたのは良かったと思いました。
Azure AI Studioが気軽に触れる環境がある人にとっては、少し退屈な内容だったかもしれません。
ハンズオンラボの会場は以下のような場所で行われており、1人1台専用のパソコンが設置されています。
流れとしては、まず講師がテーマに沿って全体の解説を行った後、各人がドキュメントに沿ってハンズオンをしていくといった形でした。
以下は実際のPC画面で、DALL-E3の画像生成を試しています。
Microsoft Showcase
このエリアは、各Azureサービス単位でブースが用意されていて、そのサービス担当のエンジニアと会話することができるエリアになります。
この日は、Azure AI Agent Serviceと、API Managementのブースに行きました。
会話内容
Azure AI Agent Service
- セマンティックカーネルとの違いは何か
- シングルエージェントの場合はAzure AI Agent Serviceを使用する
- 複数のエージェントのオーケストレーションの場合はセマンティックカーネルが適している
- Azure AI Agent Serviceの対応言語はPythonで可能か
- AI Foundry SDKとして使用可能になる予定であり、PythonのSDKが出る
- コンセプトは、今までのInference APIとかAssistant APIとかも含めてAI Foundry SDKとして集約すること
- API Managementとの連携は可能か
- 12月段階では発表はないが、プロダクトロードマップからすると、API Managementと直接接続できるとは思われる
- まずはApp ServiceやFunctionsなどを間に挟む必要がある
API Management
- Policy Toolkit(Igniteで発表のあったC# → ポリシーの変換ツール)やポリシーの拡張機能で埋め込めるスクリプトは現在C#のみだが、他言語で対応の予定はあるか
- プライオリティは低いと思うので、現時点で対応は考えていない
Ignite Official Party
Igniteの公式Celebrationパーティーにも参加してきました。
Navy Pierと呼ばれるミシガン湖に面した埋め立て地域で実施されました。
ケバブやタコス、ピザ、プレッツェルなどの食べ物や、アルコールやモクテルなどが楽しめました。
爆音でDJの方が音楽を流していたり、日本のゲームセンターにあるようなアーケードゲーム、小型のバッティングセンター、観覧車もありました。
日本での音楽フェスのような雰囲気で、イベントの盛り上がりを感じることができました。
おわりに
Microsoft Ignite 2024に現地参加したレポートをお届けしました!
最新の技術トレンドや実際のユースケースなどの発表が多くあり、特にAI周りの技術進歩が早いなと感じています。
合計1000個近くの多種多様なセッションや、ハンズオンラボ、企業ブース、そしてマイクロソフトエキスパートとの会話ブースなど、様々な経験をすることができました。
実際に現地参加してみないと、細かいアップデートや今後のロードマップなどは知ることができなかったと思います。
多くのエンジニアの触れ合う機会もあり、たくさんのインスピレーションを得ることができ、とても貴重な時間を過ごすことができました。
今回の参加を通じて得られた知識や経験を、今後の業務にも活かしていきたいと思います。
このような貴重な機会を、新卒入社2年目の自分に与えて頂けることに感謝しています!
レポートは以上となります。ご覧いただきありがとうございました。
この記事をご覧になって当社にご興味を持たれましたら、ぜひ下記にアクセスして採用情報をご確認下さい!
Discussion