🧬

生成AI時代のAI駆動アーキテクチャ、MVAについて

2024/05/13に公開

Microsoft AI Day - Osakaに会社のメンバーと参加したので、
下記のセッションについて、ざっくりまとめます。

「MVCからMVAモデルへ:生成AIを組み込んだ次世代 AI駆動アーキテクチャ設計思想」
https://msevents.microsoft.com/event?id=4009020836

MVAとは

下記の記事にまとまっています。
https://zenn.dev/headwaters/articles/1fe12f38e95056

簡単にサマリーすると、MVCのC(コントローラ)の部分をA(生成AI)にすることによって、
開発が楽になるし、ユーザーインプットが多様になっても柔軟に対応できるよという話です。

アーキテクチャ

生成AIのタスク

  • 要求を満たすタスクを抽出
  • タスクから利用するモデルとパラメータ抽出

実現方法

Function Callingについて

詳細のイメージはこちらを参照
https://zenn.dev/headwaters/articles/e7c5a7ff9e1208

MVAのマルチモーダルな事例

面白いデモをやっていました。
映像を常にGPT4Vで判定して、アラート表示や作業指示ができそうだなと。

MVA を導入するための進め方

アセスメント

  • MVAが活きるサービス、システムを評価
  • MVAが活きるポイント
    • 組み合わせパターンが多い
    • 分岐が複雑/曖昧

優先付け

  • ビジネスインパクト
    • 売上の増減
    • コスト削減

計画

  • モダナイズパターン
    • リファクタ
    • リアーキテクト
    • リビルド

実行

  • アプリの新規開発・改修

MVAが活きるサービス・システムの例

シナリオ データの種類 概要
チャットボット テキスト 会話内容によって必要な情報が変わり、また、組み合わせのパターンが無限にある
冷蔵庫の温度管理 センサ・データ 倉庫内の管理対象やその数や、季節、天気などによって、適切な設定が異なる
コールセンター 音声 会話内容や過去の状況によって必要な情報が変わるため、組み合わせのパターンが無限にある
危険予測 (例: 工程管理、医療現場、老人ホームなど) 映像 どのような状況を危険であると判断するかを定義することが難しい

MVAに適したアーキテクチャ → マイクロサービス化

モダナイズ化

生成AIを活用して、マイクロサービス化していくことで、レガシーシステムのモダナイズ化が効率的に行える

生成AIの適用パターン

  • バッチ型: 生成AIに既存資産と変換指示をして一括処理する方法
    例) 既存資産をAzureOpenAIに読み込ませて、コード生成
  • Copilot型: 人的作業の支援ツールとして生成AIが人の作業を加速させる方法
    例) GitHub Copilot、Databricksなどの補助ツール

バッチ型の課題

中間ファイルの出力

バッチ型の利用パターン

中間言語へ変換するパターン

パターン 概要
Code to Doc 既存のソースコードを入力として、仕様書など自然言語化して出力
Doc to Doc 設計書などの自然言語を生成AIが理解しやすい形へ再整形
Design to Doc スクリーンショットなどの画像から、自然言語化して出力

直接ターゲットへ変換するパターン

パターン 概要
Doc to Code 設計書など自然言語を入力として、ソースコードを出力
Code to Code 既存のソースコードを入力として、ソースコードを出力
Design to Code スクリーンショットなどの画像から、ソースコードを出力

Code to Docの例) 出力を指定することがポイント

Design to Docの例) 出力を指定することがポイント





バッチ型とCopilot型を組み合わせたアプローチ

中間言語へ変換したものを、Copilotを使いながら最終チェックをする

マイクロサービス化を支援する生成AIサービス

まとめ

MVAとは何か、MVAの適応方法(アセスメント)、MVAを実現するための手段にも生成AIが使える
というお話でした。

今後、対話型や自然言語でシステムを使うことが増えていくと、MVAベースで開発が進んでいくんだろうなと。

ヘッドウォータース

Discussion