2024年11月23日に開催された、九州最大級のコンピュータエンターテインメント開発者向けカンファレンス“CEDEC+KYUSHU(Computer Entertainment Developers Conference)”。
本記事では、スクウェア・エニックスのセッション“ゲーム会社の業務効率化に生成AIは役立つか?”をリポートする。
【登壇者】
- 遠藤輝人氏 スクウェア・エニックス AI&エンジン開発ディビジョン AIプログラマー
- 森友亮氏 スクウェア・エニックス AI&エンジン開発ディビジョン AIリサーチャー
- ひすいちゃん Azure Microsoft Audio Content Creationツールで生成したチャットボット(※1)
※1 テキストや音声など、ユーザーの問いかけに対して自動的に回答するプログラム生成AIを使ってどのようなことを行っているのか?
まずは、遠藤氏・森氏両名が所属するチームの紹介が行われた。
スクウェア・エニックスでは、2024年4月に“AI & エンジン開発ディビジョン”と呼ばれる部署が発足。ふたりはその中の“生成AIユニットミッション”というチームに所属している。おもな活動内容は以下のとおり。
- 生成AIを開発支援に活用していくための技術検証・実装
- 生成AIに関する社内向けワークショップ・勉強会の開催
- 新しいAI技術のキャッチアップ、社内共有
本セッションではおもに生成AIを活用した社内での活用事例と社内展開への取り組みが紹介がされた。
多機能チャットボット“ひすいちゃん”の凄み
活用事例の前半では遠藤氏から、今回のセッションに同席したチャットボットであるひすいちゃんがどういった存在なのかが解説された。
多機能チャットボットのひすいちゃんは業務専用のチャットルーツやSlackを介して社員のサポートをするのがおもな役目。特徴はAI & エンジン開発ディビジョンが開発した独自(内製)エンジンの知識を持っていること。そのため、社内の人しか知らない知識を有している。ちなみにベースとなっている大規模言語モデルはChatGPTのGPT-4oとのこと。
実際にひすいちゃんに内製エンジンに関する質問をしてみると……。
このような感じで事細かに情報を教えてくれる。関連するドキュメントのリンクも添付してくれるため、より詳細な情報を確認できるといった工夫もなされている。
それ以外にも、チャット、Slackのメッセージの自動返答、画像解析、ドキュメントファイル解析など、さまざまな機能を持つ。一般的な知識も有しているため、文章の要約や写真の解説といった使いかたもできる。多言語対応しているのも大きな特徴で、日本語で質問すれば日本語、英語で質問すれば英語で回答し、それ以外の言語にも対応している。
多言語対応をどのように実現しているのか。軸になっているのは、ひすいちゃんらしさなどを決めるシステムプロンプトで、ここで言語を判定しそれに応じた答えを導き出すような仕組みになっている。具体的には入力言語の判定には“Azure AI Translator”使用。日本語と英語のシステムプロンプトが用意されていて、それ以外の言語の場合はシステムプロンプトを自動翻訳してから処理している。
AI・ひすいちゃん導入のメリット
ひすいちゃんはRAG(Retrieval Augmented Generatio/検索拡張生成、取得拡張生成)と呼ばれる技術を用いて社内情報を収集している。仕組みとしてはユーザーが入力したワードを数値に変換し、同じく数値化されたドキュメントを照らし合わせ、関連性の強いドキュメントを提示。その後、人工知能を介して回答を導き出すとのこと。
ただ答えるだけではなく、こちらが入力した単語の綴りが間違っていると、それを訂正して返答してくれる。セッション中に流されたデモでは、遠藤氏が間違って入力した“KYSHU”を、ひすいちゃんが“KYUSHU”に直して返信する場面もあり、人間側が見落としたミスにも対応できるようになっていることがうかがえる。
そんなひすいちゃんはAzureクラウドサービスを始めとした、複数のサービス・データで構成されており、その中には、ひすいちゃんらしいキャラクター性を設定するためのシステムプロンプトも盛り込まれている。
ひすいちゃんの導入によって、メンバーがちょっとしたことでも気軽に質問できるようになり、エンジン利用者の困りごとも素早く解決できるようになった。このように精神的・業務的な負担の解消につながっており、その効果は絶大だという。また副次的な効果として、エンジン開発メンバーがドキュメントを書けば書くほど、ひすいちゃんの回答が洗練されてより詳細な回答を期待できるようになるため、メンバーのモチベーションアップにもつながっている、と遠藤氏は述べている。
AIに興味を持ってもらうための工夫とは?
活用事例の後半では森氏から、生成AIを用いた社内向けワークショップ・勉強会用のテキスト資料作成支援について説明された。
まずはどうやって社内の人間に興味を持ってもらうかという問題。森氏は勉強会の告知を行う際、“生成AIを使うと、このような文章が作れる”というのを生成AI自身に説明させることでその有用性・利便性を強調し、勉強会への興味を持ってもらうようにしているとのこと。
「RAGの活用についてどんなアプリケーションを紹介するのがよい?」という質問に、「1.カスタマーサポート、2.コンテンツ生成~」と、具体的事例を複数提示している。
上記の画像内で““CEDEC+KYUSHU 2024用のダミーの文章”という言葉が使われているが、これも便利な機能のひとつ。勉強会などで社内・社外に技術を共有する際、権限などの都合上その技術データを見せることができない場合もある。そうしたときにダミーデータを生成することで、“AIがどのような処理ができるか”ということを相手に紹介することができる。
たとえば、“アンケートの分析に生成AIが使えるか”という検証を行う際、個人情報などの観点から実際のユーザーアンケートの結果を共有することはできない。しかしダミーデータを使えば、もとのアンケートデータを参考にしつつ、あたかも本物であるかのようで実在しないアンケートの結果を作ってその分析結果を共有することができる。こうすることで情報共有のハードルを下げ、柔軟な対応を可能にしているのだ。
さらにひすいちゃんは多言語にも対応しているため、昨今のワールドワイド化された開発現場のサポートにもひと役買っている。彼女に伝えたい文章とともに「この日本語を英語にしてください」といった感じで言葉を添えれば、対応する言語に変換してくれる。
また翻訳専用のソフトウェアと異なり、複数のタスク(“文章を要約して翻訳”や“日本語で文章を書いてそれを翻訳”など)との組み合わせがしやすかったり、画像などのデータから情報を翻訳させたりすることができるのも生成AIの強みなのだ。
マルチモーダルとは複数の異なるデータから情報を収集し、それらを統合して処理する人工知能システムのこと。
ユニークなアプリ・ツールを使って生成AIの奥深さを体験してもらう
続いては遠藤氏から、社内情報共有に向けた取り組みについての説明が行われた。
AI&エンジン開発ディビジョンでは社員がAI技術を気軽に試せるように、AIを用いた簡単なアプリ・ツールの実装を試験的に実施している。アプリ・ツールを共有することで、生成AIへの理解を深めつつ、新たな活用法を考えるきっかけにしてもらうことがおもな目的とのこと。
ここでサンプルとして挙げられたのが、“魔法生成システム”と呼ばれる簡易的なWebアプリである。マルチモーダル生成AIを使ったサンプルアプリで、魔法陣の画像から魔法を出力できるというもの。出力の際、魔法の効果や範囲など、必要なフォーマット情報を提示することでそれも合わせて出力してくれる。
このアプリによってマルチモーダルで何ができるのか、そしてフォーマットの制御がどの程度できるかを検証・体験できるようになっている。そんな魔法生成システムはWebアプリ、Azure Functions、Azure OpenAI Serviceの3つで構成されている。
生成魔法のフォーマット制御についてはFew-Shot学習というものを利用している。これは少しの例(情報)を与えることで、その例と同じようなフォーマットで出力させられる手法のことだ。
本アプリを使用した生成例が4枚公開された。1枚目はDALLE-3という生成AIを用いて制作された画像で、魔法陣の中にカラスが描かれている。出力された魔法にもカラスであることが反映されており、しかも威嚇や集団行動などカラスらしさも魔法効果にちゃんと組み込まれていた。
2枚目は遠藤氏が手書きで書いたイラスト。魔法陣に書かれた矢印から風、簡素なデザインから初級魔法という設定を連想して生成している。
3枚目は先ほどの手書き魔法陣に新たな絵を足したもの。書き足された絵を炎と認識したようだ。
読み込ませる画像は必ずしも魔法陣である必要はないようで、4枚目は料理の写真で生成を行っている。AIは写真を料理と認識し、調理で使う火や食べることに関連した魔法効果を出力した。
遠藤氏は「出力されたデータを直接製品に組み込むのではなく、こういったアプリケーションを使うことで生成AIの可能性を体験したり、アイデアの創発につなげたりしていくことが大きな狙いである」と、語った。
チャットボットの制作ではドキュメントの存在も重要
こういったアプリケーションはどのようにして作られていくのか。遠藤氏がRAG搭載チャットボットを例に作る方法を解説した。
実装に使用する環境や人工知能(LLM)は以下のとおり。だれでも実装することを想定としているため、ある程度の知識があれば我々でも制作することが可能だ。
今回のチャットボットの制作工程は下準備、プロンプト構築、LLMの準備、RAG、チャットの5つ。遠藤氏がわかりやすく順番をまとめてくれているので、制作する方は下記のスクリーンショットを順番に参照してほしい。
1.下準備 必要なライブラリとドキュメントを準備し、ドキュメントをアップロードする
ここで用意するドキュメント(テキスト)はなんでもオーケー。
2.プロンプト構築 推奨プロンプトの形式を確認し、構築する関数を実装
これらのプロンプトをベースに、実行と調整をくり返し行うことで構築への理解が深まっていくとのこと。
3.LLMの準備 LLMとトークナイザーをロードする
“トークナイザー”とはユーザーの入力テキストをトークンと呼ばれる小さな塊に分割してLLMが処理できる数値に変換するもの。“Hugging Face”とはHuggingFace Transformersなどオープンソースソフトウェアを提供したり、コミュニティを運営したりしている企業。Hugging Faceのソフトウェアとの組み合わせだと明示するため、プログラムの中に“Hugging Face”という用語を盛り込んでいる。
4.RAG 埋め込みモデルをロードして実行するための準備を行う
埋め込みモデルとはユーザーの入力やドキュメントを数値化するためのモデルのこと。
5.チャット チャットボットを実装する
上記の流れを経て、簡易的なチャットボットが完成。実際に“スクウェア・エニックスの社長の名前は?”という質問を問いかけてみると……。ちなみに正解は“桐生隆司”氏(きりゅうたかし)である。
チャットボットは即座に“桐生隆司”(きりゅうたかふみ)と回答。漢字は合っていたが、読み仮名が間違っていた。これはドキュメントで使用したテキストに読み仮名が書いていなかったためだ。遠藤氏は、RAGを使用する場合は AI の性能やRAGの実装方法だけではなく、もとのドキュメントをしっかり構築することが重要と、語った。
なおRAGを使用していないチャットボットに同じ質問をしてみると“伊藤賢一郎”というまったく違った人名が上がってきた。RAGの有無で回答の精度が大きく変わることを再認識させられた。
生成AI最大の課題は常識と倫理観
ここからは森氏にバトンタッチ。生成AI活用における課題について触れられた。
AIは便利であるが、100%望ましい応答を返すわけではない。間違ったことを正しいことであるかのように答えたり、特定のタスクについての回答が不安定だったりすることもある。これに対して森氏は、生成AIを利用する際はすべて任せるのではなく、ワークフローに組み込むという考えかたが大事である、と述べている。
また、ユーザーを傷つけるような回答をしてしまうといった倫理的な問題や、他者の権利の侵害といった権利的問題への配慮も重要になる。しかしこれらを完璧に対策できたとしても、ゲームというエンターテインメントならではの問題も発生するとのこと。
それが作品世界ごとの常識・倫理観の違いである。差別や迫害はあってはならないという大前提がありつつも、世界観や時代、設定によっては現実から逸脱した常識・倫理観が許容されるケースもある。
森氏は、こうした“我々とは違う常識・倫理観”を扱わせつつも、“我々と同じ常識・倫理観”を適切に扱う難しさが、生成AI活用における課題であるとまとめた。