Google Cloud と Unity、そしてアイデアで広がるアプリケーションの可能性

グーグル・クラウド・ジャパン合同会社

左から、井上、高田、脇阪。

高田 泰志

グーグル・クラウド・ジャパン合同会社

技術部長

日系 SIer にて、システム エンジニアとしてエンジニアのキャリアを開始する。ミッション クリティカルなシステムにアーキテクトとして参画し、フレームワーク / ライブラリの開発を行う。2017 年 8 月に Google Cloud にジョイン。ゲーミング チームのカスタマー エンジニアとして、お客様の開発を支援。2020 年 9 月より現職。

脇阪 洋平

グーグル・クラウド・ジャパン合同会社

カスタマーエンジニア

信号処理・音声認識の研究や大規模データ蓄積基盤の開発、データ解析、機械学習への応用などの研究開発を経て、現在 Google Cloud に入社。Game 業界にフォーカスした AI/ML のエンジニアとして、Google Cloud を活用したシステム構築や AI 技術の導入などの活動を行なっています。

シン ウォンハ

グーグル・クラウド・ジャパン合同会社

カスタマーエンジニア

ゲーム業界のお客様向けに、Google Cloud 全般の技術提案や PoC などの技術的サポートを行なっております。AI 技術をより簡単に利用し、最前線の開発者たちがゲームにおける古い課題を解決できるソリューションを提案しております。

これまでのご経歴と現在の職務内容を教えてください。

高田

カスタマーエンジニアチームでゲーム領域の技術部長を担当する高田です。SIerからキャリアをスタートし、その後エンジニアやプリセールス、ソリューションアーキテクトなどの職種を経て5年前にGoogle Cloudに入社しました。当時は「Cloud Spanner」というGoogleが開発した分散データベースに興味を持っていて、ここで働けたら良いなと感じたのが入社のきっかけでした。現在はマネージャーということで、ゲーム業界向けにGoogle Cloudサービスを展開する業務だけでなく、チームメンバーのケアなども積極的に行っています。

脇阪

カスタマーエンジニアの脇阪です。AI / ML(Maschine Learning=機械学習)のソリューションにフォーカスし、「ゲームの中でどうAIを使っていくか?」の提案や AI/ML を活用したシステムの導入などをゲーム業界向けに行っています。データ活用やAI活用など、カスタマーとユースケースを一緒に作っていく仕事になります。 私自身は以前は研究領域で活動しており、音声信号処理、音声認識や自然言語処理で深層学習などの研究活動を行っていました。その後Google Cloud に入社し、現在は現場のノウハウと研究領域、両方を把握した上で AI 活用を進めています。

ウォンハ

カスタマーエンジニアのシン・ウォンハです。ゲーム業界のカスタマー向けに Google Cloud の技術全般の提案を行うほか、PoCなどの技術サポートも行っています。以前はバックエンドエンジニアとしてクラウド技術を活用した BtoB サービスの構築などを行っていましたが、その過程でマイクロサービスの隆盛とクラウドインフラの必要性を肌身で感じていました。現職では、Google Cloud をゲーム業界向けに推進・提案する業務が中心になります。

Google Cloudについて、概要をご説明ください。

高田

Google Cloudは、Alphabet 傘下であるGoogleのクラウド コンピューティング事業です。クラウド コンピューティング サービスと、チームの共同作業をより効率的に行うことができるクラウドベースのコラボレーションツールである「Google Workspace」を提供しています。

Google Cloudは、Googleがこれまでさまざまサービスを提供する中で培ってきた技術をクラウドサービスとして提供しています。日本では2016年に東京リージョン、2019年に大阪リージョンを開設し、2022年9月現在では全世界で35リージョンがあり、全世界で200以上の国で利用されています。

私たちも日頃からGoogle Cloudが展開するサービスにお世話になっているのだと思いますが、"AI と機械学習のプロダクト"にはどういったものがあるのでしょうか。概要や、使用イメージを教えてください。

高田

イメージしやすいところで言えば、マーケティングにおけるデータ分析などでしょうか?従来型のデータ分析ではなく、AI/MLテクノロジーを使えばお客様のライフタイムバリューや離脱率予測がより高度かつ正確になります。

脇阪

ゲーム業界では、ECサイトなどと異なる利用予測やライフタイムバリューを用いることもあります。また、ゲームはジャンルが多様なので、ユースケースにあったモデルは独自性が高くなります。

ゲーム特有のところだと、強化学習のようにゲーム内エージェント(NPCやボット)を AI によって強化するという使い方もあります。Google Cloud の AI 製品は使い易さだけでなくスケーラビリティもあるため、実際にゲームの中に取り込んだり、あるいは開発工程で効率化を助けたりなどさまざまな応用が考えられます。

ウォンハ

Google Cloud があることによって、スケールの小さいゲームでも AI を活用することができるようになりました。例えば、ユーザー同士のチャットで誹謗中傷などの悪質コメントを検知したい場合、チャットの文脈やニュアンスを AI を活用することでセンテンスごとに「悪質かどうか」をスコア化します。専門のマーケティングチームや AI チームが要件に基づいて分析基盤を作らなくても、Google Cloud ならこれを容易に実現できます。

また、米国では CVAA 法に準ずるアクセシビリティ機能を実装する必要があります。テキストを流暢に読み上げる機能なども、AI によって実現した技術ですね。ビジネスサイドのデータ分析、ゲーム内での活用、開発の効率化など、Google Cloud の技術はいろいろなところで使われています。

開発規模やユースケースに応じて選べるGoogle Cloudサービス

AI技術を用いることで開発・運用フェーズ両面での効率化や新機能の実現が可能になり、導入に際してはゼロベースで構築するのではなくGoogle Cloudのようなサービス群を活用するのが良いと理解しました。改めて、Google Cloudが提供するサービスについてご説明ください。

脇阪

Google Cloud の製品は、主に使い易さとカスタマイズ性という基準で「機械学習API」、「AutoML」、「Vertex AI 開発ツール」の3段階にカテゴライズされています。

チームに AI の専門家がおらず、運用体制も作ることが難しいが「画像・動画分析、音声認識などのアイデアを試したい」という方に向けては、既に学習済みのモデルを活用できる機械学習 API をおすすめします。この機能は Unity からも API を呼び出すだけで簡単に使っていただけます。

2つ目の「AutoML」は、モデルなどのコードを書かなくても自分たちの目的にカスタマイズしたモデルを手軽に開発が可能です。前に説明した機械学習 API のようなジェネラルなモデルではなく、自社製品を認識させたい場合などではカスタム可能なこちらがおすすめです。

高田

すごく簡単に言えば、「機械学習API」は今画面に写っている対象が「自動車」だと認識できます。でも、車種までは認識できません。車種まで認識させたい場合は、自分たちでモデルを作ることができる「AutoML」を使うということです。

脇阪

モデル自体をノーコードで簡単に開発できます。画像などの学習データとそのラベルを用意して登録するだけで、自分たちに必要なモデルを作ることができます。UI も用意されていますし、評価もプロダクトの中でできるので、カスタマイズ性がありつつも手軽に使うことができます。

ユーザーは必要に応じて段階的に選択できるということですね。最後のVertex AIというのは、より独自性の高いAI構築のためのフルマネージド環境ということでしょうか。

脇阪

Vertex AI は、独自モデルの開発など 1 からすべて行いたいユーザーにおすすめできるカスタマイズ性に長けたプラットフォームです。AutoMLも Vertex AI の一種と言えますが、より深いチューニングが必要だったり、強化学習のように自社開発のゲームのルールを理解して学習するような仕組など、より込み入ったことを求める場合のプラットフォームとして用意されています。また、Vertex AI には Vertex AI Workbench といったノートブックも利用できるプロダクトもあり、データ分析のツールとして活用いただく事例もあります。今回のセッションの中では、強化学習のための環境構築の際に Vertex AI Workbench を使用しています。

これらのAI技術を自身のUnity開発を行いたい場合、どのように活用すれば良いのでしょうか。

脇阪

Unity の Machine Learning Agents Toolkit と Vertex AI を組み合わせた開発環境がその一つだと思いますが、専門的な知識も必要となるため、まずは機械学習 API を試してみると良いと思います。「AI 技術を API で簡単に組み込める、そのためのサービスが揃っている」という部分を知ってもらえたらと思っています。

高田

Unityエンジニアはクライアント開発に興味がある層の方が多い印象がありますが、せっかくアイデアがあっても「AIによる画像認識や音声認識のやり方が分からない」ということで諦めてしまうのは勿体ないと思います。APIを活用して、自分のアイデアを存分に活かした制作を行っていただければ嬉しいです。

また、コスト面についても、手軽にテストをしていただけるように無料枠が設定されています。例えば、Natural Languageだと5,000ユニット以下なら無料で使えます。

脇阪

分かりやすいところだと、音声認識は60分間無料といったケースもあります。気軽に試してみるという意味では、まずは機械学習APIを試してみるのが1番良いと思います。

他のプラットフォームと比べて、Google Cloudがカスタマーに選ばれる理由はどこでしょうか。

脇阪

APIについては、さまざまな機能を手軽に使える点がポイントです。また、Vertex AIを含めてインフラが非常に強力ですし、GPUだけでなく弊社オリジナルのTPUなど強力な計算リソースを提供できる部分も強みです。

高田

Googleは世界中で使っていただいているサービスを展開しておりますので、この信頼の上でインフラストラクチャーの文脈で使っていただくことが多いですね。それこそゲームサーバーなどのインフラとして活用していただいて、その上でAI技術を取り入れるとなった場合は同じくGoogleのサービス群から選んでいただく。こうした流れも多いと思います。

ウォンハ

事例でいうと、AI 技術といえば真っ先に思い浮かぶのはデータ分析です。例えば、 LTV 向上のためのユーザーセグメンテーションに高い精度のモデルとして選ばれます。 他には QA 自動化やゲーム内バランス調整などにも用いられています。それらは「なんとなくすごいテクノロジー」に思われがちで、実際に AI の専門知識がないと取り入れるのが難しいと考えられています。でも、Unity 開発において、Google Cloud の学習済みモデル API を手軽に利用したり、Console UI からゲームにより特化したモデルがノーコードで作成できるところがその理由の一つだと思います。

Unity には大規模開発からインディーゲーム、あるいは個人開発まで幅広いユーザーがいて、ローカルで動くだけのゲームから数十万というグローバルアクセスがあるゲームまで多種多様です。Google Cloudも、まさにそういったグローバルなネットワークに強かったり、ゲームに特化したスケーリングが可能である点も有用であると考えます。

SYNC来場者に向けて

SYNC2022では、どういった講演を行いますか?

高田

『UnityとGoogle CloudのAIプロダクトを組み合わせたゲームへのAI技術の活用』という講演を行います。前半では、ウォンハが作ったデモアプリにAI/MLのAPIを組み込んだ活用事例をお見せします。「AI/MLのテクノロジーは難しい」「取っ付きにくそう」というイメージを持たれる方も多いと思いますが、実はそうではないということをお伝えしたいです。後半は強化学習を用いたエージェントについて説明します。自動でゲームをプレイするボットをテーマに、UnityとVertex AIの組み合わせによる開発環境をご紹介します。

ウォンハ

デモアプリは音声認識を用いてキャラクターを動かすという内容です。「~に行って」「~に向かって」というのは同じ意味ですが、これをルールベースで全部書くのは大変です。AutoMLで学習させることで、柔軟な音声に対応できるようになります。

自分はUnityを2012年頃に少し触った程度で、今回はじめて最後までアプリを開発しました。Unityビギナーの私でさえ、業務時間の合間を縫って1ヶ月程度で完成させたので、スキルの高いUnityのエキスパートであれば非常に簡単にAI/ML技術を取り込んだゲームを作れるはずです。

最後に、参加者へ向けたメッセージをお願いいたします。

ウォンハ

とにかく「簡単にAI技術を組み込めます」というメッセージをお伝えしたいです。いろいろなユースケースをお伝えしましたが、おそらく一番簡単なGoogle AIのユースケースは「HTTPリクエストを送って、Google AIから分析結果を返してもらう」という運用です。これは無料枠の中でも使っていただけます。

そういう自分でもできそうなところから使い始めて、データや知識が集まってきたらもう少しだけ高度なことに挑戦してみてください。AI/MLの技術を用いて、ぜひ新しい価値やユーザー体験を作っていただけたらと思います。

脇阪

アイデアを形にする中で、「これは面白いね」「こういう視点もあるね」という試行錯誤のフェーズは本当に重要です。AIも同じで、最初から完璧なものなどはなく、モデルやデータを修正しながら最適な内容にしなければいけません。

こういった試行錯誤の過程において、ぜひGoogle Cloudの技術を使って欲しいと思っています。皆さんが思うよりも気軽に活用できるはずですので、新しい可能性やアイデアの実現に向けたツールとして選んでいただけると嬉しいです。

高田

Unityエンジニアの皆さまにとって、Google Cloudを少し遠いところにあるものと思っているかも知れません。でも、用意されたAPIを使うことで簡単にアイデアを形にすることができるはずです。その結果として、世界中のゲームプレイヤーに対して新しいゲーム体験を提供していただけたら本当に嬉しいです。私個人としてもゲームをたくさん遊んでいますので、実際にプレイするのを楽しみに待っています。

脇阪

最後になりますが、今回のセッション準備において、Unity の小森様には大変お世話になりました。重ねて感謝を申し上げたいと思います。いろいろとアドバイスを頂き、ありがとうございました。