Ignite 2024 Day3 & 4

2024/11/29に公開

過去の記事

Day1,2の記事はこちらになります。

Day1
https://zenn.dev/muit_techblog/articles/89dac5690d1a29#fnref-0b2f-1

Day2
https://zenn.dev/muit_techblog/articles/1d6f15f0964fd7

DAY3

AI customization: Tailoring models for your enterprise

朝イチのセッションはキャンセルになってしまったので、急遽ファインチューニングを説明するセッションに切り替えました。今回のIgniteではRAGが減ってファインチューニングのセッションがかなり増えたなと思います。Buildの時まではRAGが大事!という感じだったので、大きな変化だと思います。

そんなファインチューニングの説明でわかりやすかった資料があったので抜粋します。下のスライドは最近の傾向をまとめてました。上段はお馴染みのプロンプト、RAG、ファインチューニングです。下段のRLHFは時々聞きますが、人間のフィードバックを反映する強化学習です。Distillationもかなり事例が増えてますが小さいモデルに置き換えるパターン。ちなみに、会場でモデル活用でROIに自信ある人という質問があったのですが、ほとんどの手が上がりませんでした。みんな費用対効果には自信が無いんだなと思います。そういう意味でもコスパを意識した小さいモデルの利用は最近のテーマになっています。

下の表はまとめ方が上手いなと思いました。これまでは縦軸中心の世界(モデルへのインプットを工夫する世界観)でしたが、横軸方面(モデル自体を変更する世界観)に広がってきています。

このスライドはモデルの選択です。一つ上の図の横軸に関連する内容です。ちなみに、このセッションでは以降でDomain specificの例がありました。特に医療分析系のモデルがあってその紹介があって、そういう世界の広がりもかなりあるんだなと思いました。

Solving the unsolvable: o1 models for breakthrough reasoning on Azure

o1の解説でしたが、デモ中心でした。確かにGTP-4oとの違いを感じるにはデモが一番わかりやすいですが、何かテック的なアップデートがあった訳ではなかったです。ちなみに、デモの中で、ファイナンシャルレポートを書かせるものがありましたが、o1の方は、インプット情報をただまとめるだけではなく、インプット情報から必要なものを使って計算して財務分析を出していました。GPT-4oだとそういうことはしてくれなくて、単にインプット情報をまとめるだけです。こういうところは気が利いているというか、深く考える分析に向いていると思います。また、レポートの結論として、「投資する場合保守的」という記載もしていて、単に数字をまとめるだけでなく、考察まで書いてくれるのは凄いと思います(もちろん考察情報はインプット情報にはありません)。

o1はプログラミングにも向いていると言われているので、今後試してみたいです。

GraphRAG with Azure AI Search and insights from Office of the CTO

GraphRAGの全体感を説明しつつ、デモをしてくれました。概念的なところとしては、Graph化することで問い合わせしたいことの全体をLLMに認識させて、ベクトルとハイブリッドで検索する考え方です。

下のターミナルで実行しているのが graphragなんですが、ここがどうコーディングされているかは知りたかったです。もうちょっと勉強する必要がありますね。

以下の記事を読んで一回ちゃんと勉強しないとなぁと思いました。

https://microsoft.github.io/graphrag/

Azure API Managementの開発メンバーへの相談

Azure API Managementの開発メンバーに聞いた内容と、その回答の概要を記載します。

  • azure-openai-token-limit / llm-token-limitポリシーの対応ロードマップを知りたい
     →GPT-4oはマニュアルの記載が遅れているが、実装としては7月に対応済み。問題なく利用可能
  • トークン消費量の計算方法を確認したい
     →azure-openai-token-limitはhttpのレスポンスをチェックしている
  • estimate-prompt-tokensの仕組みを確認したい
     →実際にLLMを実行する前に、APIM内で見積もりを行っている。APIMに見積もる専用のモデルがある
  • llm-token-limitポリシーのサポートにClaudeやGeminiも対応できないか?
     →トークン情報は取れているが、対応する予定はない

CosmosDBの開発メンバーへの相談

こちらも聞いた内容と回答の概要を記載します。

  • NoSQLが一番オススメの理由は何か?
     →機能としてNoSQLが一番充実して先に開発されている。
      MongoDBの場合、MongoDBの仕様に合わせているのでそこに引きずられることがある
  • RUの計算が大変なので、うまい解決方法を知りたい
     →見積もりが難しいのは理解している。vCoreベースに置き換える方が現実的
  • ホットパーティションを自動リバランスするような方法は取れないか?
     →vCoreベースに置き換えて、オートスケールの設定を入れるのが良い。
      また、数十GBレベルでれば、パーティション分割しない方が、かえって分散されるので性能が出る
  • Graphへの対応が今後どうなるか?
     →少量のGraphデータであればCosmosDBのインメモリに格納可能なので、
      ユースケースとサイズで検討するのが良い。
      また、今後はFabricにGraphデータを乗せられるようにしていく予定

AI customization: Optimize Phi and SLMs performance

Phiの3.5-mini、3.5-vision、3.5-MoEの説明があり、事例紹介をしていました。モデルが小さいのでファインチューニングして使うのが前提になっています。ちなみに、ユーザー事例としてMediaTekの紹介がありました。日本だと格安スマホのイメージがあると思います。ユースケースとしては

  • writing suggestion
  • document Q&A
  • AI Agent reasoning and planning

だけだったので、驚くような使い方はなかったです。現状だとPhiはスマホやIoTデバイスで簡単なことしかできないような印象があります。クライアント側も進化するかと思ってましたが、現状だと様子見という感じがしました。SLMでブレイクスルーが起きるのはもう少し先かもしれません。

Boosting IT productivity: Streamlining operations with Cohere on Azure

正直Cohereというタイトルに釣られたなぁと思いますが、あまり面白い情報はなかったです。なぜかServiceNowとの連携の話が多かったので、もうちょっとCohereならではの話を聞きたかったです。がっかり。。。

Azure AI to train and fine-tune custom LLMs with Distributed Training

ファインチューニングというよりは、HPCの技術の延長線の話で、かなりテクニカルな内容でした。モデルのチューニングどうこうというよりは、ハードウェアのスペックをどう使い切るか、みたいな話です。Distributed Trainingは複数のワーカーに分割して、それをマルチプロセスで動かして処理させる手法です。Azure上でのベストプラクティスや、GPUをどうやって使い切るかという話が解説されてました。

自分でモデル構築している方にはお勧めのセッションでした。

DAY4

Making Zero Trust Real: Top 10 Security Controls you can implement now

AIとは全然関係ないですが、最近のセキュリティをキャッチアップしていなかったのでゼロトラストの話を聞いてみました。思った以上に大入りで大人気のセッションでした。その中でも一番重要だと語っていたのが以下のスライドです。セキュリティが関連するコンポーネントは多岐に渡りますが、図のような形で整理していくようです。特に強調していたのはDate Security & Governanceで、AIを使うときにはデータの管理が重要という話もしていました。あとは、SecOpsの話などです。

あと、個人的に印象的だったのはNISTのSP1800-35の説明です。会場にNISTがブースも構えていたので、協賛しているのかもしれません。以下のドキュメントは7月に公開されていたので添付しておきます。

https://csrc.nist.gov/pubs/sp/1800/35/2prd

GitHub Copilot and VS Code: Your AI thought partner

基本的にはGitHub Universeで公開された内容でした。デモ主体でしたが、デモ用のアプリケーションを会場のリクエストで変えていくのは面白かったです。

具体的には、飛行機の購入チケットサイトのでもアプリがあり、機能追加をチャットで聞きながら変更していきます。例えば、マイレージポイントの変化をグラフで表現したいけど、どこに追加すればいい?みたいな感じです。そうすると、追加する場所と、その変更のソースコードが提案されて、それをアクセプトしていきます。

会場では、画面をダークモードからライトモードに切り替えるようにしたい、と言っていた人がいて、CSSの変更などが提案されていました。が、思ったようにはうまく動いてくれませんでした。現状の提案をそのままアクセプトしてアプリが動くというところまではまだいっていないと思います。とはいえ、利用していたモデルがGPT-4oやGeminiだったので、o1を使えばまた変わってくるかもしれません。

Productive AI with Semantic Kernel

春にお会いしたEvanさんのセッションだったので聞きに行きました。わりとコンセプチャルな内容ではありましたが、LangChainと比べてSemantic Kernelのほうが、エージェントを外だししているのと、エンプラ利用を意識していると思います。

ちなみに、富士通さんが事例紹介していましたが、インタラクティブなAIから、プロアクティブなAIへの進化を目指しているという話でした。この点についてはとても同意できますし、ユーザーエクスペリエンスが大きく変わると思いました。

まとめ

今回行ってみて思ったのは、やっぱりエンジニアであればBuildのほうがオススメということです。Igniteはビジネス寄りの話も多いので、抽象度が高めです。そういう意味では、エンジニア的な驚きは少ないです。とはいえ、それは両方行ってみてわかったことですので、収穫は大きかったです。

また、両方行ってみて驚いたのは、言っていることがもう全然変わっているということでした。イベントとして変という意味ではなく、AIの進化が早すぎて変わっているという意味です。今年の春は「モデルはあまりいじらないで、プロンプトとRAGで頑張るのが最適」でしたが、秋には「モデルをファインチューニングしてダウンサイジングしてコスト削減するのが最適」というトーンに変わっていました。先端を走っている企業では既に事例化していますし、正直ついていくのが大変です。こういう変化は行ってみないとわからないですし、日本だとそこまで肌感として理解することはできないので、行く価値はあると思いました。

Discussion