🎫

2024/7/25 Azure OpenAI Service Dev Dayに参加してきました!

2024/09/02に公開

こんにちは、ナウキャストでLLMエンジニアをしているRyotaroです。

2024/07/25に大手町プレイスホール&カンファレンスで開かれたAzure OpenAI Serviceのを活用する複数のコミュニティの祭典、Azure OpenAI Service Dev Day(通称:AOAI Dev Day)に参加してきました!

https://aoai-devday.com/

Time table

午前はkeynoteが同じ部屋で行われ、午後から2つのセッションにブレイクアウトする形式でした。午後は視聴したいセッションを選んで部屋を行ったり来たりしていて忙しかったですが、自由に出入りはできました。同じ時間帯は若干テーマが異なっていたので、選びやすかったと思います。

午前のセッション:Keynote

午後のセッション:Breakout Track #1

午後のセッション:Breakout Track #2

ちなみに軽食が出ました。

Multi-model, multimodal, and multi-agent innovations in Azure AI

時間: 10:00-10:45
登壇者: Marco Casalaina (Microsoft Corporation)

Azure AIにおけるマルチモデル、マルチモーダル、マルチエージェントの革新について

  • 生成AI、LLMだけではない
    • 翻訳をほぼリアルタイムで、かつ他の言語に変換することが可能

Azure AI Studio

  • playgroundで1712個のモデルが検証できるように
  • phi-3などの小さなモデルの登場
  • gpt-4oのグローバルモードの登場
    • これによりリージョンによる違いや、レイテンシー問題が解決する可能性あり

アバター機能

  • アバター機能が来週から一般公開

    • 話しかけた言語で答えてくれる(デフォルトではoffなので設定必要)
    • gpt-4oがデフォルト、それ以外も使えるみたい
  • Azure Document intelligence良さそう

  • semantic kernelの方はC#でコンパイルできるのと、定義がエージェントのものと似てるのでこれからはこっちの方がいいだろ!という主張

伝統と革新の境界で挑む生成AI導入の経験知

時間: 10:50-11:15
登壇者: 西山泰仙 (トヨタコネクティッド)

生成AI導入の実践知について

TOYOTA connected リスキリングリーダー 西山さん

  • 統計・機械学習が専門
  • 和歌山県の僧侶でもあるらしい

生成IAネイティブ状態の仮説

  • 生成AIの性質や長所短所を理解
  • 業務の課題理解、抽象化、汎用化能力
  • その間のマッチングが大事
  • リスキリングのアプローチで、その領域を広げて、マッチングするようにしている
  • 開発者のアプローチでもその橋渡しが可能

組織文化の理解

  • 生成AI人材の育成

    • Lv2とLv3の差がある
    • Lv3は自分から事例を作ることができる
    • Lv3からエンジニアとビジネス領域に分けて研修がある
  • 業務課題の言語化

    • 業務棚卸しのワークショップを開催
    • 終了後のアンケートからノウハウを蓄積
  • 入出力の自由度でカテゴライズ可能

実際の分析結果

  • 高インパクトタスク

    • スライド資料作成
    • Excel処理
    • ナレッジFAQ
  • 高実用度タスク

    • テキスト処理
    • コーディング
  • 完成度と短縮率はトレードオフ

開発者ツールを駆使したLLMOpsと生成AIアプリケーションの本番運用

時間: 11:20-12:05
登壇者: 樋口拓人 / 大森彩子 (Microsoft Corporation)

生成AI導入の阻害要因

  • 運用化に課題がまだある

    • セキュリティとか
  • LLMOpsはMLOpsと違ってアプリ開発者が担当し、精度や有害性についての評価もしなきゃいけない

  • ライフサイクル

  • 構築・強化の部分のフロー大事

prompty

  • プロンプトの定義ファイル
  • 生成AIのお試しが可能になる

主要なLLMOps機能

感想

  • prompty
    • これかなりいい
    • プロンプトチューニングが非常に楽になる
    • promptyファイルからLangChain, Promptflow, Semantic Kernelへの変換ができるとこも素晴らしい
  • Azure上でモニタリングもできる

ここから午後のセッションで自分が視聴したのは以下の7個です。特に面白かったのは★マークつけています。

  • #1: Azure Cosmos DB and its new vector database capabilities using DiskANN
  • #2: Enhancing Prompt Engineering Efficiency with Prompty and LangChain(★)
  • #1: 完全に理解した!生成AI自社プロダクトのアジャイル開発の進め方!
  • #1: 生成AI時代のソフトウェアエンジニアが持つべきケイパビリティ
  • #1: LLMアプリ開発におけるTipsやAOAIの活用ポイント(★)
  • #1: AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
  • #2: GitHub Copilot を用いたアプリケーション開発の未来(★)

Azure Cosmos DB and its new vector database capabilities using DiskANN(★)

時間: 12:30-13:15
登壇者: James Codella (Microsoft Corporation)

ニュース

  • Cosmos DBがベクトルデータベースとして使えるようになったらしい、5月とかかなり最近
  • コスト最適化、計算高速化にかなり力を入れていて、Azure AI searchの代替になりそう
  • 100万リクエストあたり39円
  • cosmos dBは ファイブ9と可用性が高い
    • ここ一年大規模な障害がないらしい
  • セマンティックキャッシングを実装
    • 質問が過去のもの似ていたら、キャッシュから取る方法。安価に高速に回答可能
    • → これにより高速に回答できる、コスト最適化

よくあるシナリオ

  • chat history
  • RAG
  • multi-tenant AI apps
  • Real-time reccomedation
    • トランザクションを処理するのに有能
  • real-time anomaly detection
    • マスターカードが不正な金融取引を検知するための基盤となるデータストアとしてCosmosDBを利用
  • とにかく早いことをアピールしている

事例

  • OpenAIのChatGPTの会話履歴のコアはCosmosDBで蓄積されているらしい
  • CosmosDBを使うことで、数人ユーザーから2億人に増えた時も設定を変える必要がなかった
    • 自動スケールによって問題なく運用できた

機能

  • native ector indexingn and search
  • diskANN index
    • gated preview
  • integration
    • semantic kernel
    • langchain

裏側の技術

  • 量子 Flatという技術で高速化
  • 圧縮されたベクトルの比較
  • 4つのレプリカができており、可用性が高い

最後に

  • 90日間最大$6000分のCosmosDBが使えるオファーがあるらしい
  • 残る疑問として、全文検索はできるのか?ハイブリッド検索はできるのか?については、次の12月のイベント「Ignite」で発表する予定

Enhancing Prompt Engineering Efficiency with Prompty and LangChain

時間: 13:30-13:55
登壇者: Mijeong Jeon (Microsoft MVP)

韓国のトレンドとしての生成AI

  • Pronmpt enginnering
  • LAngchian LAngGraph
  • Advanced RAG
  • autonomous Agent
  • SMM
  • ondevice LKM

prompty

  • PromptyはOSSツールとして優秀

  • シンプルで、UIがなく、VSCode上Preview画面があり、そこでLLMの実行、評価ができる

  • モデルを簡単にスイッチできる

  • これをVSCodeの拡張機能としてつかえる

  • そのうえ、prompt flow, langchain, semantic kernel さらに、Azure AI Studioで利用できる

LLMアプリ開発におけるTipsやAOAIの活用ポイント(★)

時間: 15:45-16:10
登壇者: 蒲生弘郷 (Microsoft AI cloud solution Architenct)

この方のSpeakerDeckはこちら

prompting の最新Tips

  • 最近はprompt engineeringが長いので、promptingというらしい

  • jsonモードを使うみたいなプロンプトは安易に変更できないようにしないと、エラーが頻繁に起こることになる

  • prompt storeをつくってプロンプトの部品を共有

  • のちのちプロンプトを管理するDBが必要になると踏んでいる

  • Lost in the Middleに配慮したプロンプト作り

    • 先頭と一番最後はよく覚えているが、真ん中は忘れることが多い

    • システムプロンプトをよく聞かないという現象がよく起こる

      • もちろんLLMの性能の問題もあるが、重要な指示はなるべく上位に書く
      • または、ルールを復唱して書く、読みやすいかではなく、どれくらい重要かを基準にプロンプトを書く
    • 肥大化した会話を圧縮する

      • トークン節約もあるが、精度改善に対しても重要なテクニック
    • 永続化させたい情報の再配置

      • ユーザーの重要なキーワードやRAGjで取得した情報はシステムプロンプトに
      • いらない情報は履歴から消す
  • プロンプトの精度向上の大体はCoTの亜種

    • GPTは直前に出した内容に強く影響を受ける
    • GPTが出力するものをコントロールする
    • たとえば
      • 内部知識や要約をあえて出力させる、その後
    • 知識生成プロンプト
      • 一度内部記憶を出力させる
    • RCI(Recursive Criticizes and improve)
      • 繰り返し実行してブラッシュアップ
    • ステップバックプロンプト
      • 一般的な背景知識や解き方を提示してから
  • json出力の注意点

    • LLMで出力する必要のないプロパティはいらない

      • IDは出力させない方がいい
    • 感情分析などのプロパティ間で関連性のない出力は独立させた方がいい

    • プロパティの長さや言語の指定をプロパティ名に入れ込むことで指示を忘れにくい

      • short_text_in_enみたいに、直前に書かせているので、指示を忘れず英語で出力させることができる
    • ネストが多いjsonの出力は避ける

  • 表形式はmarkdownではなくjson形式

    • 表形式の抽出はmarkdownではなく、jsonとして出力させる方がいい

    • 抽出後RAGとして情報を渡した後も精度が良くなる

  • 検索対象は必ずしもチャンクした本文ではない

    • チャンクの概要+付加情報

    • チャンクから想定されるユーザー質問文を検索対象に

  • どのステップで精度が悪いのかを特定する必要がある

    • 銀の弾丸はない

https://speakerdeck.com/hirosatogamo/aoai-dev-day-llmsisutemukai-fa-tipsji

AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ

時間: 16:15-16:40
登壇者: 草薙昭彦 (Postman株式会社)

  • Postman
    • APIを使う作業を効率よく行えるツール
    • Postbotという機能が登場
    • 上位に上がってくる不満がドキュメントのメンテナンス
      • ドキュメントを書かせることもできる
      • テストを書かせることも可能
      • エラーの原因を聞くこともできる
      • 可視化も可能
        • ワークフローも使える
      • これ、かなりいいと思う
      • 料金だけ気になるけど、無料枠で使う分にはいい気がする
      • データのセキュリティ面も気になる
      • デスクトップアプリもある

https://speakerdeck.com/nagix/aiasisutantonohuo-yong-depin-zhi-noxiang-shang-tokai-fa-wakuhuronosupidoatupu

GitHub Copilot を用いたアプリケーション開発の未来(★)

時間: 16:45-17:30
登壇者: 柳原伸弥 (Microsoft Corporation)

Github Copilotでできること

  • コードプロジェクトの生成
  • コードの作成、補完
    • 可読性高くコードを書いておくことが大事
    • コメントを書いたり、メソッド名をちゃんと書くことで、Copilotに対しても有用
    • cmd + enterで複数の補完候補を表示
  • コマンドライン生成
    • appのbuildコマンドの生成
    • 忘れることが多いので、これも生成してもらう
  • テストコード生成
    • /testsというコマンドを打つだけ
  • テストデータ生成
    • /tests テストデータのバリエーションを作ってくださいを打つだけ
  • 構成情報の作成
    • terraformのテンプレート生成
  • コードドキュメントの生成
    • /workspace コードドキュメント作成してでドキュメントが作成される

    • 「コミット履歴をドキュメントに入れて、」というのも履歴を参照して書いてくれる

  • PR_コードレビュー
    • githubのPR画面上でcopilotのボタンがあって、PRを勝手に書いてくれる

    • この時はソースコードがあれば十分

    • のちのち、PRでマージ依頼するコードレビュー自体をAIに

    • PRのテキスト補完機能もベータリリース

      • 7/24にベータリリース、超最新!昨日やん

自社内のコード規約はどうするか?

  • knowledge baseとして利用したいドキュメントを登録することができる
    • 複数登録することも可能

Github Copilot Workspaceというものがリリースされる予定

  • 今はtechnical preview
  • 何をするものかというと、コードを書く前の仕様や設計を指定した要件から生成
  • やることは要件を与えるだけ

感想

  • Copilotはソースコードを作るだけではなくなってきている
  • Github Copilotの思想は、コードを書くことを楽にすること。これを最大限活用することで開発すること自体が楽しくなりそう

総括

どのセッションも内容の濃いもので、得るものは多かった気がします。PromptyやGithub Copilotツールやプロンプトテクニックなど明日から使える実践的なものがたくさんありました。
懇親会もありコミュニティ内の交流も活発だったので、次回も開催されれば行こうと思います!

We are Hiring!

この件についてもっと詳しく知りたい、議論したい、はたまたナウキャストという会社に興味を持ったという方は、カジュアル面談フォームから連絡ください。その際に「2024/7/25 Azure OpenAI Service Dev Dayに参加してきました!」の記事を見たと書いていただければ幸いです!

https://herp.careers/v1/finatexthd/vZWzSlI_B-qk

https://herp.careers/v1/finatexthd/KhEf95X_TKvD

Discussion