このページの本文へ

エンジニア魂が燃えたぎる!生成AI開発イベント「AI Challenge Day」 第1回

ASCII&マイクロソフトの「AI Challenge Day 2024 in Kobe」レポート

日本マイクロソフトのAIパートナー10社が神戸に集合 RAGとマルチモーダルに挑む

2024年05月21日 09時00分更新

文● 大谷イビサ 編集●ASCII

提供: 日本マイクロソフト

  • この記事をはてなブックマークに追加
  • 本文印刷

・カスタマーストーリーも構造化もがんばったNTT西日本/NTTスマートコネクト

 3番手はNTT西日本とNTTスマートコネクトの混成チーム「幕の内弁当」。各メンバーの担当も、NTT版のLLMであるtsuzumiの技術検証やビジネス活用、生成AIの社内・社外の活用、新規事業開発などばらばらで、登壇した福井氏は「昨日初めましてで、仲良くなったところ」と語る。

関西からの参加となったNTT西日本 福井氏

 同社はまずカスタマーストーリーとペルソナを披露。というのも、関西に活動の中心を置く同社としては、2025年の大阪万博のインバウンドが間近だからだ。ペルソナとしては英語と中国語を話す外国人と日本の観光客で、狙いは日本の観光ガイドの不足。生成AIの活用で人員不足の課題を解消しつつ、観光業の活性化に寄与するという。

 こうしたカスタマーストーリーとペルソナを前提に作られたスマホアプリは、日本語、英語、中国語の多言語対応で、プロンプトで言語を切り替えられるという。QRコードを読み込んで、最初はテンプレートでチャットが一度流れるため、スムーズに使い始められるという。

 また、ハルシネーション対応として情報ソースを明示するとともに、関西特有の「知らんけど」を付与。「RAGの回答は100%ではないので、『知らんけど』を付けることで、間違っても許してねという保険をかけている」とのこと。ただ、気合いが入り過ぎ、マイクロソフトから提供されたクレジットを使い切ってしまったため、デモではなく画面での説明となった。

 アプリのUIも気合い満点だったが、評価スクリプトも20.975点と20点超え。アーキテクチャとしては、アプリはAzure WebAppsにホストし、画像はBlob Storageに保存。プロンプト生成はPrompt Flowを用いており、Azure AI Searchで埋め込みベクトルとセマンティックハイブリッド検索を実施。GPT-4で検索結果に基づいた回答生成を行なっている。

 RAGはテキストチャットとマルチモーダルチャットの2つを用意し、質問にイメージがあった場合は、GPT-4 with Visionの後者を用いる。データは拡張子ごとに処理を分けており、PDFなどのファイルはAzure AI Document IntelligenceでOCR・構造抽出を実施。構造化データを元にHTMLに変換してチャンク化。「コンテキストを構造化データとして返すことで、GPT-4の生成性能の向上に寄与できたのではないかと」(福井氏)。また、テキストデータもファイル名などのメタデータをチャンクに付与し、AI Searchに登録した。

 イメージデータは画像認識で埋め込みベクトルを取得したものの、残念ながらうまく活用できなかったという。「テキストだけであれば高い得点だったが、イメージを加えると伸び悩んだので、ここらへんは改善の余地がある」と福井氏は語る。

 やってみた感想としては、「実際に手を動かすことで、RAGへの理解が深まった」のほか、「マルチモーダルを初めて実践したことで、実業務に活かせそう」というコメントもあったという。また、Prompt Flowの扱いやすさや、Azure Document Intelligenceの精度の高さにも驚いたという。「総括すれば、とても楽しい企画の開催でした。ありがとうございました」とまとめた。

 審査員の花ヶ崎氏は、「ビジネスシナリオとユーザーインターフェイスがしっかりしており、特に多言語対応に関してはプロンプトで対応しているところが素晴らしい。会社のコピー機で印刷して、スキャンしてを繰り返して、みなさんを苦しめられるデータを日々にニヤニヤしながら作っていたのですが、それをDocument Intelligenceで構造化して、解決してくれた。『ああ、やってくれたか』という感想でした」とコメントした。


・「2度死んだサブスク」から奇跡の復活を遂げた電通総研

 4番手は電通グループのシステムインテグレーターである電通総研。普段からAIを用いた業務支援や研究開発を手がけるAzure×AIのスペシャリスト5人でチームが構成されており、発表は福竹裕昭氏が務めた。

2度死んだサブスクから復活を遂げた電通総研の福竹氏

 評価スクリプトの結果は17.050点。RAGアーキテクチャは二転三転した結果、オーソドックスな構成となった。App Serviceにデモアプリをホストし、 Azure AI Studioにデプロイしたエンドポイントと接続。エンドポイントにリクエストを行うと、Azure AI Studioで組まれたPrompt FlowからAzure AI Searchへ検索、その結果を基に、Azure Open AI Serviceで回答を生成するという流れになる。

 今回の問題理解と進め方は、まずアーキテクトがデモアプリのアーキテクチャを作成しつつ、データサイエンティストメンバーが問題とデータセットの傾向をアセスメント。最終的にデモアプリを意識しつつ、全員で残りのピースを埋めるというやり方で進めた。とはいえ、AI Search周りで苦労し、「肝心の評価できるベースラインに到達するまで時間を要した結果、精度を高めるところまでいかなかったので、残念な評価点となった」と福竹氏は振り返る。

 データセットをアセスメントした結果、早々にそのまま使うのは無理と判断した電通総研チームは、普段から利用しているAzure Functionsで前処理を行なうことにした。具体的には構造化データはDocument Intelligence、画像系データはComputer Visonでテキストファイル化し、インデックスのソースを生成。インデクサーからAzure AI Searchにデータを投入し、Open AI Serviceにスキルとして流し込むという方法をとった。

 プロンプトチューニングはAzure AI StudioのPrompt Flowを利用し、システムプロンプトとチャンクサイズをチューニングするにとどめた。対話型のレスポンシブアプリは普段使っているNuxt.jsを用い、App Serviceにホスト。アプリケーションはWorld Heri Kobeと名付けた。

 とはいえ、水面下では苦労があった。「サブスクリプションは2度死ぬ」というスライドタイトルの通り、初日でコンペ用のサブスクリプションの割り当てに失敗し、暫定サブスクリプションを日本マイクロソフトから提供することに。しかも、初日の夜にそのサブスクリプションが上限に到達してしまい、なんとリソースへのアクセスが凍結されてしまったのだ。

 まさに最悪の状態で迎えた2日目の朝だったが、幸い成果物管理をきちんと行なっていたため、午前中に日本マイクロソフトに払い出してもらったリソースグループにシステムを載せることができた。最後、アプリのデモ動画を披露した福竹氏は、「もっと精度がんばりたかったんですけど、なんとか目的の課題とアプリを届けるところまではできた」とまとめた。

 審査員の日本マイクロソフトの大川高志氏は、「AIのデータの前処理にフォーカスしたのが素晴らしかった。字が汚い私の字でも読みとれるくらいDocument Intelligenceはけっこう精度高いので、しっかり使いこなしてくれてエバンジェリストとしてはうれしい。あと、成果物管理ができていたので、きちんと復活させたというのもいいポイントでした」とコメントした。

日本マイクロソフトの大川高志氏

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード