今後はAIネイティブなアーキテクチャが登場するだろう

蒲生弘郷氏(以下、蒲生):ここまで言ったところで、GPT自身にいろいろなものを食わせるというところもあったと思いますが、(今後)よりAIネイティブなアーキテクチャが(登場することが)予想されます。

例えば「社内独自の技術である○○について詳しく教えてくださいよ」みたいなチャットボットを作っていった場合においても、先ほどもあったようにUIの入力の工夫の中で音声入力を使ってみたり、それこそ入力補完を使ってみたり。それから、Prompt Injectionを防ぐためにコンテンツフィルタリングを使ってみたり。

あるいは回答精度を高めるために翻訳を使ってみたり、GPTに渡した後も検索エンジンにかけていく上では、Embeddingをやってベクトルサーチをしていくみたいなかたちもあり得たり。あるいはキーワード抽出とか、クエリを投げていく場合には固有表現抽出みたいなところのAIタスクをやってみたり。

ドキュメントが出てきたら出てきたで、先ほどお話ししたように、分割されたドキュメントを投げるだけじゃなくて、ドキュメントの情報を圧縮していくためにAIを使うような工夫も考えられたり。

あるいはGPTに情報をすべて渡した後にGPTに回答を返させるとき、変なことをしゃべられたら困るから、コンテンツフィルタリングにかけたりといったところで、あらゆるAIが総動員されてGPTのシステムが作られていくのは、想像に難くない部分かなと思います。

そのためには、単純にGPTに全部やらせるかというところもありますが、従来の用途固定のAIも有効に活用していくことが非常に大事かなと思います。

従来の用途固定AIモデルは何ができるのか

「従来の用途固定AIモデルは何ができるのかな」というところを一番簡単に学ぶ上では、例えばAzureの「Cognitive Service」(を使うのがおすすめです)。これはいろいろな構築済みAIを提供していて、だいたいAIでできることはここでカバーされていたりします。

(スライドを示して)一覧表を出しましたが、この中で「言語モデルだと何ができるのかな」「画像モデルだと何ができるのかな」「例えばカスタムテキスト分類を使っていけば、絶対にコンテンツフィルタリングにも活用できるな」というところで、アーキテクチャを設計していく上でどんなAIが使えるのかが即座に出てくるようにしておくと、設計の上で非常に便利になってくると思います。

こういった言語系のAIとか画像系のAIとかに限らず、例えばテーブルデータを解釈させたいみたいな話になってきたら、自作を含めたテーブルデータの解析、要因分析みたいなところも含めて、API化して呼び出させるみたいなこともありなのかなと思います。

GPTを活用するためのシステムの参考アーキテクチャ

(スライドを示して)これが最後のスライドになります。もうすでに15分延びている(笑)。時間がなく申し訳ないんですが。

GPTを活用するためのシステムの参考アーキテクチャを、実際にどう組んだらいいのかというところがが、今なかなか(情報が)出てきていないところがあったので、弊社のアプリケーションのアーキテクトとかにも意見を聞きながら、「だいたい定型的にこういうものになるんじゃないか」というアーキテクチャを準備しました。

フロントエンド側では、ノーコード、ローコードで開発するようなPower Platformを使うケースもあると思いますが、今までどおり従来の開発方法でフロントエンドの開発をして、認証、Azureを使っていく場合には「Azure Active Directory」を使っていただくようなかたちになります。

サービスが全部Azureですみません(笑)。宣伝っぽくなっちゃったんですが、クラウドとかを使っている方は適宜置き換えて考えてください。

当然ですが、フロントエンドからそれぞれのAIに投げていったり、APIを呼び出す場合にはAPIを経由していく必要があります。

先ほどバックエンドプログラムで出てきたようなところは、例えばサーバーレスなコンテナ実行のツールである「Container Apps」みたいなものを使って、AzureのOpenAI用で使っていく、いわゆる大規模言語モデル用のライブラリを準備します。先ほど「バージョン管理が大事」みたいなことをお話ししましたが、そういったところの環境を準備しておく。

それで、履歴管理やプロンプト管理みたいなところは、NoSQLデータベースを構えておいて、GPTの呼び出しにおいてはOpenAI Serviceを準備しておく。

例えばSearchを呼び出す。例えば関数を呼び出す。AIを呼び出す。それから外部の検索を走らせるみたいなところも含めて、あらゆるツールとプログラム、それからAIを駆使していきながらGPTを作っていく上での参考アーキテクチャとして、こんな感じになっていくのかなというところです。

なかなか解釈しきれないところもあるかとは思いますが、こんな基本構成をベースにして、参考にしてもらえればと思います。

特にAPIを管理していく上では、認証とか管理・制御、ゲートウェイを挟んでおくような考え方も出てくるので、OpenAI以外の部分もなかなか難しいところは出てくるかとは思いますが、検討してもらえればと思います。

そして、マネジメントとかも含めて、だいたい似たような構成になってくるんだとして、(さらに)もし複数のサービスを作っていきたい場合には金太郎飴的に複製して作っていけるようなかたちにしておくと、より管理がしやすくなってくるのかなと思います。

特にエンタープライズで大きな企業さんになってくると、あらゆる部署でこういったところを出してくることが多かったりするので、そこも踏まえて共通化して、ある1ヶ所の場所からどんどん開発ができるようにしていくのもけっこう大事かなと思いました。

ハンズオンイベントの告知

というかたちで、スライド自体は終わりですが、こういうアプリケーション側の組み立てがわからないよという方向けに「Java on Azure Day」という、「ChatGPTを実際に使って組み立ててきたようなアーキテクチャの例」みたいなところを実装していくためのハンズオンというか、デモを含めた説明をさせていただくイベントがあります。

Azure Data & AIのTech Lunchイベントは私がスピーカーとしても立っていて。来週の金曜日(登壇時点)にもありますが、こちらでも緩くやっているので、もし興味があれば参加してもらえればと思います。

それから、「ゼロからわかる Azure OpenAI Service」は対面ハンズオンというかたちで、(Azure OpenAI Serviceを)立てていく上で、何から手を出したらいいかがわからないという方に対しても、マイクロソフトで(イベントを)提供しているので、こういった情報も併せて参照してもらいながら、うまく活用してもらえればと思います。

というかたちで、すみません。大変申し訳ございません。あと10分でイベント終了になりますが、ここでいったん終わらせたいと思います。ありがとうございました。

司会者:蒲生さま、ありがとうございました。とても熱いセミナーで、私も聞き入ってしまいました。ありがとうございます。

(次回に続く)