Microsoft Build でも発表!Microsoft AIの最新技術情報を一挙にご紹介
最初に登壇したのは、AI/機械学習とデータ分析基盤を専門とするMicrosoft Data & AI クラウドソリューションアーキテクト 宮田 大士氏 。本講演は「 Microsoft Build 2023」 ( 5月23日~24日で開催された米国 Microsoft 主催の年次開発者会議。基調講演には同社CEO サティア・ナデラ氏も登壇 )で発表された最新の技術情報を伝える内容です。
以前の記事 でもお伝えした通り、Microsoftが提供するAI関連技術およびサービスは、アプリケーション、プラットフォーム、シナリオベースのサービス、カスタマイズ可能なAIモデル、そしてMLプラットフォームという5段階に分かれています。
この中でも、前半はカスタマイズ可能なAIモデルがAPI形式で提供される Cognitive Services に含まれる 「OpenAI Service」 にフォーカス。OpenAI Serviceは、ChatGPTでもお馴染みの米OpenAI社が提供するAPIの非機能強化版(最新モデル反映は遅いが、セキュリティは万全)という位置付けで、Azure Active Directoryと連携した認証やデータの暗号化など、エンタープライズで活用可能な堅牢性を持っています。
OpenAI Serviceの中にはテキストから画像を生成する「DALL·E 2」やプログラムを生成する「Codex」が含まれますが、 5月17日にはGPT(Chat Completion)がGA(General Availability=正式版)に到達。 これによって実際のサービス開発にGPT-4のAIモデルを活用することができるようになりました。
従来のGPT-3と比較して、文脈を理解したインサイト抽出などが可能になったGPT-4ですが、宮田氏は「弱点も把握しておくべき」と指摘。例えば、学習したタイミングよりも新しい情報や、ドメイン固有の情報は回答できず、学習データが少ないマイナーな自称も間違いが発生しやすい特徴があります。
これを解決するために、外部情報を取得する Grounding が紹介されました。Groundingの手法を用いることで、Web検索結果や社内データを加えた回答を生成することが可能になります。また、社内ドキュメントなどにアクセスして回答生成を行うアーキテクチャについても解説がありました。
「2023年のWBC優勝国はどこ?」という問いかけに対し、チャット内容をクエリ化し「WBC2023優勝国」でWeb検索を行う。検索結果に対して質問を加味した回答を生成する。この手順を経ることで、学習したタイミング以降の新しい情報も回答も含めることができる。同様に、社内ドキュメントにアクセスできれば、固有ドメインの質問にも回答可能。Cocnitive Searchを用いれば、AIが検索しやすいナレッジべースを作成することができるほか、Azure ADで各ドキュメントの閲覧権限をコントロールできる
Azure OpenAI Serviceでは既にDALL·E 2以外GAに到達しており、ほかはいずれも6月中にプレビューもしくは正式公開予定です。また、2023年5月に発表された Azure AI Studio を用いることで、連携するナレッジ選択が容易になるとのこと。このほか、Model CatalogやPrompt Flowなどの機能に関する説明も行われました。
Azure OpenAI Service on your Data(Preview)。Azure OpenAIから直接データソースを参照し、ナレッジを返すことができる。また、Private Preview版ではベクトル検索とハイブリッド検索で検索性が大きく向上。また、Azure Open AI Serviceのプラグイン機能として、Bing連携や認証権限も管理しながら各機能を使えるようになる見込みとのこと
このほかにも、サービス提供の上で好ましくないヘイトや性的表現、暴力表現の要素を検出・分類し、重大度スコアに基づいてフィルタリングを行う 「コンテンツフィルター」 が紹介されたほか、従来の従量課金モデルとは異なる定額制 のプロビジョニング済みスループット の登場も予告されました。
また、モデルをゼロから作る、あるいはチューニングする際に使用するMLプラットフォームが生成AIアプリケーションの基盤としても活用可能になりました。目玉機能は 「Prompt Flow」 で、バックエンドのフローをゼロから構築できるほか、これをデプロイしてAPIとして呼び出すことも可能になります。また、MLプラットフォームであれば、現状はCognitive Serviceとして提供されていないモデルを簡単にホストすることも可能になるとのこと。
また、最後にVision Serviceに関するアップデートにも触れられました。画像を画像のまま扱わず、より正確なメタ情報を付与したり、画像をベクトル化する 画像検索API が新たに提供されたりするなど、精度向上だけでなく新機能が次々とPublic Previewとなっています。
Azure OpenAI等、AI系サービスのゲーム開発への応用の可能性について
続いて登壇したのは、本イベントでもお馴染みのGaming Solution Architect 下田純也氏。MicrosoftのAIサービスはすでに『Microsoft Flight Simulator』など実際のゲームでも使用されており、従来も声優の音声を学習した音声合成やコンテンツフィルター、自動翻訳が可能となっていました。最近ではOpenAIの持つテクノロジーがより安全になったAzure OpenAIとして提供されており、例えば音声合成とChatGPTを組み合わせることで「声優と同じ声で喋るナビゲーションキャラクター」などの実装が容易になっています。
ゲームのプレイに行き詰まった時に助けてくれるNPCを実装。状況に応じて生成された文章を、事前に学習させた合成音声で喋る支援キャラクターがいれば、わざわざ攻略サイトを見に行くよりもゲーム体験が良くなるはず
ユーザーネームやチャットでの発言など、性的ないし差別的な表現やコンテンツが含まれた場合に自動抽出する機能「Content Moderator」も提供されている。OCR対応のため画像からテキスト抽出の上モデレーションを行うことも可能。UGC(User Generated Contents)の中に不適切表現が含まれていないか、テキストからも画像からも識別することができる
下田氏はAI活用について 「AIによる効率化によって、人間はゲーム開発のよりクリエイティブな部分に時間を割くべき」 というコンセプトを持っているとのこと。続いて行われたCustom Neural Voiceのデモンストレーションでは、わずか20センテンスを学習しただけのAIが下田氏そっくりの声で喋るという内容が紹介されました。
また、Azure OpenAIの「Chat playground」では、「3人のアシスタントとして答えてください。それぞれの属性は……」といった複雑なプロンプトを圧縮して設定しておくことで応答回数や文字数の制限を気にせずコミュニケーションが行えるほか、3人のNPCのセリフを同時生成することも可能になります。
「三蔵法師について詳しく教えてください」という問いかけに対し、3名のAIアシスタント(孫悟空・沙悟浄・猪八戒)から1度に回答が戻ってくる
続いて、下田氏は 「突然ですが、白雪姫のゲームを制作するところを想像してみてください」 と述べ、ゲームごとに学習させる内容は異なるべきという要点を解説しました。白雪姫の世界なのに、現実の首相の話をしてしまえば世界観が壊れてしまう。生成AIが提案した建造物に現代の建築様式に近いテクスチャが使われてしまっていたら、表現したい世界観とは異なるエンバイロメントが作られてしまいます。
これと同様に、ゲームコードについても、本来はゲームごとに学習して欲しい内容や提案して欲しい内容は異なります。アンリアルエンジンやUnityであればGithub等からコードは収集可能ですが、内製エンジンの場合は教師データのデザインが必要になります。つまり、ゲームの制作支援を行うAIには必ず 「チューニング」 が必要ということです。
OpenAIは一般的な知識やツールにはめっぽう強く、業務効率化や社内情報の整理も得意。しかし、ゲーム開発においてはチューニングを行う必要がある
アプリケーションのモデルをカスタマイズする方法について 講演内ではAzure OpenAIのファインチューニングだけでなく、Cognitive Searchを使って情報源のフィルタリングをした事例や、現在パブリックプレビューとなっている「 Azure OpenAI Service On Your Data 」の紹介もありました。
Copilotは現在ファインチューニングの機能がないが、CODEXであればフルチューン可能。あるいはVisual Studio 2022のIntelliCode機能を用いて、自分のリポジトリなど独自コードに基づいた学習を行うことが推奨されている
ここでネタばらし。本講演で使用された画像は全てBing Image Creator powered by DALL-Eによるものだった
コード生成支援については、GPLライセンスのコードが混入することに対して懸念(※)があります。このため、Github Copilotではパブリックなコードをブロックする機能や、自身のコードが学習できないようなオプションも設定されています。
※コピーレフト型ライセンス。OSSを利用ないし改良した場合、そのソースコードも同ライセンスのOSSとして公開が義務付けられる
「今後こういう技術が出てきますよ」というGithub Copilot X。今後、テクニカルプレビューを通じて進化する予定の機能群。ドキュメントに基づいた支援支援やプルリク制作支援だけでなく、現在は音声からコード生成まで可能になるような研究開発も進行しているとのこと
GitHub Copilotに関するTipsが詰まった 8 things you didn’t know you could do with GitHub Copilot も紹介。また、 GitHub Copilot Labs という実験用機能ではソースコード要約などが可能。情報収集されてしまうため、業務で使用するのは難しい。その他、C#からJavaへ変換や、バグ修正の提案に関する機能の研究も進んでいる
講演の終わりに、下田氏は「GPT等のLLMが流行ったのは、ブラウザベースで誰もが簡単に試せるようになったから」と指摘。ゲームエンジン上でも簡単にLLMを活用できるようになればゲームの世界がもっと広がると語り、下田氏自身がGitHubで公開されている「 OpenAI-Api-Unreal 」をFolkして開発中のアンリアルエンジン用プラグイン「 Azure-OpenAI-Api-Unreal 」が紹介されました。
AzureOpenAIAPIを使えば、ブループリントで簡単にLLMを扱えるように!これを使えば、ゲーム内のNPCと自由に話せる
声だけでプレイする3D脱出ゲーム制作事例 ~ChatGPTでセリフと行動を制御~
スライド資料(Docswell)はこちらから
最後に登壇したのは、株式会社ヒストリア 代表取締役 プロデューサー / ディレクター / エンジニア 佐々木 瞬氏とエンジニア 星野 智希氏。講演ではChatGPTとSpeech Serviceの研究プロジェクトという位置付けで制作された脱出ゲーム 『名探偵モカと密室脱出』 の実装方法とリアルタイムのデモンストレーションが行われました。
従来、ゲームキャラクターとのコミュニケーションはコントローラー入力や選択肢のクリックなどで行いますが、佐々木氏はより自然なコミュニケーション実現のために自然言語の活用を目指したとのこと。 「現実のコミュニケーションと同じく、自然に喋ることで入力をさせた上で、さらにゲーム進行を行うことを目標にしました。脱出ゲームは脱出してくれないと困ります。ChatGPTは話を広げるのは得意ですが、収束させるのは苦手な印象がありましたので、シナリオが収束する必要のあるゲームを作ってみました」 (佐々木氏)。
構成は Azure Cognitive Serviceに含まれるSpeech Serviceを用いてプレイヤーの肉声をテキスト化し、その結果をもってプロンプトを生成、ChatGPT側で返答を作成し、コマンド部と会話部に分けて処理を行う というもの。探偵モカの声はCustom Neural Voiceを用いて声優・瀬戸桃子氏のボイスを50通り学習させたもので、プレイヤーとは互いに自然言語でのみコミュニケーションを行います。
「AIが相手なので何が起こるか分からない、今までの講演で一番怖い」という緊張感を帯びたデモンストレーションでは、佐々木氏が自然なニュアンスで話し、無事に密室を脱出することに成功。会場からは大きな拍手が起きていました。
調べて欲しい対象を音声で指示。「昨日、何してた?」「何歳?」など、関係ない質問も可能(関係ないと指摘しつつも、ちゃんと回答はしてくれる様子)。また、脱出後は「優れた洞察力だ」「もう少し正確な指示をして欲しい」など、モカから探偵としての評価を受けることができる
技術パートの説明はエンジニア 星野氏が担当。今回は実験的にゲーム進行の全てをChatGPT側で制御しており、例えばモカ本人のキャラクター設定は「名前はモカ。17歳の女の子。口調は…ない、…した、…だ、などの言い切り型」というプロンプトで制御し、置かれた状況やゲームクリアまでの流れも含めてプロンプトで制御を行っているとのこと。地道なプロンプト改良に役立てるため、会話内容をSlackに送るbotも開発されています。
また、ChatGPTと同様、GPT4は回答生成までに時間がかかるため、レスポンス改善のために文章の区切り(句点および感嘆符のタイミング)で音声合成を始めることで待ち時間を最小化。出力結果をストリーミングで取得できるため、文の区切りが出力されたタイミングで分割し、即時的に音声合成を開始しています。
今回得た知見として、自然なコミュニケーションでは一定の効果が見られた一方、行動結果とゲーム進行はゲームロジック側に任せた方が現時点では安全という結論に至ったとのこと。文脈を理解しているため、「(直前に本棚に関する会話があった場合)そこを調べてみて」と指示語で指定することも可能。また、今回は実装されていないものの、ゲームの進行度に対してキャラクターの設定を変化させるプロンプト制御を行うと改善の可能性があるとも語られました。
講演後はリアル開催ならではの懇親会が開催され、大いに盛り上がりました。トレンドワードとして取り扱われがちなAIですが、技術者ならではの地に足の付いたディスカッションも多く、既にAI活用を進めるデベロッパーやゲーム業界内外のクリエイター同士で議論を深める様子が数多く見られたのが印象的でした。
会場内では本日紹介されたMicrosoftのAIテクノロジーを説明するブースや、『名探偵モカと密室脱出』をデモプレイ可能なブースも
Azure OpenAI Service – 高度な言語モデル Azure OpenAI Service とは
ゲームメーカーズ編集長およびNINE GATES STUDIO代表。ライター/編集者として数多くのWEBメディアに携わり、インタビュー や作品メイキング解説 、その他技術的な記事を手掛けてきた。ゲーム業界ではコンポーザー/サウンドデザイナーとしても活動中。
ドラクエFFテイルズはもちろん、黄金の太陽やヴァルキリープロファイルなど往年のJ-RPG文化と、その文脈を受け継ぐ作品が好き。