このページの本文へ

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

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

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

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

文● 大谷イビサ 編集●ASCII

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

  • お気に入り
  • 本文印刷

・Container AppsデプロイやEntraIDまで挑戦したパーソルプロセス&テクノロジー

 9番手はパーソルプロセス&テクノロジーで、発表は阿部氏。最小の4人チームだが、普段はOpen AIをはじめとしたAzure AIサービスを活用したAIソリューションの開発を行なっており、Azure AI Searchを活用した活用の実績もチームだけで10件以上あるという。

ユーザーストーリーを踏まえたプレゼンが素晴らしかったパーソルプロセス&テクノロジーの阿部氏

 評価スクリプトは20.128点。アーキテクチャとしては、開発効率向上のためPrompt Flowの標準UIを採用し、サンプルアプリに関しては、Prompt FlowからDockerイメージを生成し、Container Appsにデプロイする構成をとる。Container AppsではEntraID認証を採用することでセキュリティ面にも配慮した。

 オーケストレーションにはAzure AI StudioのPrompt Flowを採用。ベクターストアの検索にはAzure AI Search、ストレージにAzure AI Searchと親和性の高いBlob Storageを採用し、セマンティックハイブリッドサーチの構成をとった。ただ、Azure Functionsを用いた画像ベクトル化については今回実装できなかったという。

 工夫した点としては、ベクターストアに埋め込む際に、Azure AI SearchのOCR機能を用いることで、紙をスキャナで取り込んだファイルから文字を抽出できるようにしたこと。また、ユーザーの入力内容をLLMでAI Search用の検索文字列に変換し、検索精度を向上。さらに、AI Studioの評価機能を活用して、フローの精度を向上したという。

 感想としては、Prompt Flowの使いやすさを挙げた。プロンプトの作成や評価で高速にトライ&エラーができ、「いろいろなプロンプトやフローを楽しみながら作ることができた」(阿部氏)という。一方は画像やテーブル系のデータの取り込みが中途半端になってしまった。「次はぜひ3dayやりましょう」と阿部氏はアピールした。

 同社はユーザーストーリーもしっかり仕上げてきた。「世界遺産のことをもっと知りたい」「弾丸で観光地に来たけどもっと良い場所があるか知りたい」「その国の言葉がわからない」などの課題を解決するのが、今回作った「Everywhere Door」だ。「フランクに聞くと、フランクに返ってくる」(阿部氏)とのことで、利用者の意図を解釈して的確に回答したり、一問一答ではなく利用者の質問を深掘りして新たな発見を提案することができる。また、多言語対応により、利用者の言語にあわせて回答してくれるのも大きなメリットと言える。

 審査員の大川氏は、「まず旅の楽しさをプレゼンで表してくれたのがよかった。もう1つはマイクロソフトが推したい認証基盤のEntraIDを使ってくれた。あと、Prompt Flow推しもありがといございます。アイデアが生まれたら、Prompt Flowで試してもらえる。そのうれしさを体験してくれてありがたい」とコメントした。


・スクリプトの結果からトライ&エラーを重ねて高得点を得た日立製作所

 大トリとなる10社目は日立製作所で、登壇は諸橋政幸氏。データ分析とAIを主業務とする同じ部署のメンバー6人で参加したという。早速披露した評価スクリプトはこれまで最高の22.125をマーク。会場からも「おおっ」という声が漏れる。

プレゼンからも楽しさが伝わってくる日立製作所の諸橋氏

 アーキテクチャとしては、LangServeを用いたAPI Serverを構築し、Dockerコンテナ上で動作させている。質問文に関する文書はベクトル化した各種のドキュメントデータを知識DBから抽出し、質問文と前提知識をAzure OpenAI Serviceに投げ、回答を得るという標準的なRAG構成。生成AIの連携処理はOSSなどで実現している。

 同社のアプローチで特徴的なのは、スクリプトを最初から動かし、バージョンごとにスコアを上げていったこと。まずは読み込めないファイルを無視して、ワンパスを通したが、質問のみのスコアは13.258にとどまった。そこで次は検索方法を変え、結果としてベクトル検索ではなく、キーワード検索を採用した。

 続いてデータが読み込めていない問題を解消すべく、ライブラリを用いて独自関数で対応し、スコアを18.857に。また、スキャンしたファイルのテキストが抽出できていなかったため、ここでAzure AI Document Intelligenceを用いて文字認識。この段階まででスコアは21.400まで伸びたという。

 バージョン5ではリフレーズとリランキングを試した。たとえば、データセット内の「きよみず寺」を「清水寺」へ、「じょうもんすぎはなんさいですか?」を「縄文杉は何歳ですか?」へと言い換え。また、初回の検索件数を多くして、LLMでさらに精査するというアプローチも採用した。極めつけはバージョン6でのエモーショナルプロンプティングの採用。これはLLMをおだてたり、あおったりするプロンプトの生成方法で、ここまでのチューニングで22.486まで伸びた。

エモーショナルプロンプティングでさらにスコアアップ

 一方で、マルチモーダルは画像とテキストの2段階の検索を採用した。画像検索はCLIPモデルで画像をベクトル化し、コサイン類似度で検索。また、画像のファイル名に入っている地名を質問文に入れ、前述したRAGにかけると、画像+質問文のスコアでも19.800をマークできた。

 カスタマーストーリーも作り込まれていた。ビジネスゴールは「観光産業を盛り上げることで、地域の活性化を支援すること」で、観光客に自然遺産・文化遺産を認知してもらい、興味を持ってもらうことを想定シナリオにした。そのための施策として、国内観光客を対象に無償アプリで配布し、質問に自動回答できるようにする。ガイドラインの情報をいち早く反映したり、会話形式で親しみやすく使えるようにするためにも、生成AIとRAGの活用が向いているという。

 テーマの1つでもあるCopilot連携に関しても、Copilot Pluginを使うことで、独自開発のアプリと連携できるとアピール。また、責任あるAIのアプリケーションを構築すべく、公序良俗やプライバシーに関わる質問に対するフィルタリングを実施したり、回答と返答のログを収集し、継続的な改善が可能になっており、本番運用も視野に入れた実装も施されている。

 キャプチャでチャットUIとログの監視画面を披露した諸橋氏は、「普段バラバラのチームで業務しているので、みんなで1つの課題に取り組めて新鮮だった」とコメント。用意されたデータからテキストを抽出する重要さも改めて実感。最後、日立製作所 Generative AIセンターが監修した「実践 生成AIの教科書 実績豊富な活用事例とノウハウで学ぶ」という書籍を紹介する余裕まで見せて、大トリにふさわしいプレゼンを終えた。

 審査員の内藤氏は、「最後にネタばらしをすると、日立製作所さんがやったのは、僕と花ヶ崎さんが考えていた高得点をとるためのアプローチ。会期中に評価スクリプト流しましたかー?と言って回っていたのは、スクリプトを流してベースを理解し、そこからトライ&エラーをすると、高得点がたたき出せるということ。正解を引き当てた日立製作所さん、すごい。エンタープライズの実装までしていただいた」とコメントした。

 1時間半以上に渡る10社のプレゼンもいよいよ終了。審査員長の大谷は、「まるで神戸牛のステーキを食べたかのような濃厚さ。美味しかったし、満足感がすごかった」と感想を漏らす。その上で、「実は当初、コンテストの成果物は、けっこう似通ってくるのでは?と思っていた。確かにカスタマーストーリーはどうしても似てくるけど、実装方法やフォーカスした分野、使っているツール、チームビルディングのやり方までホントさまざまで、驚きでした。これを2日間でやったのはさらに驚き」とコメントした。

カテゴリートップへ

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