清水理史の「イニシャルB」
GoogleのマルチモーダルAI「Gemini Pro Vision」は、動画についてどこまで正しく答えられるか?
2024年1月22日 06:00
昨年末、Googleから、テキスト、画像、動画などのさまざまな情報から統合的に回答できるマルチモーダルモデル「Gemini」が登場した。このモデルで個人的に注目しているのは、何といっても動画を扱える点だ。開発環境「Vertex AI」を使って、動画についてGeminiに実際に質問してみた。
現状は無償で利用可能
Geminiは、Googleが開発した新しい言語モデルだ。OpenAIのGPT-4(およびGPT-4 Turbo with vision)対抗となるモデルで、各種ベンチマークで優秀な結果を記録しており、同社の主張では画像認識などのマルチモーダルでの能力の高さが強調されている。
Gemini(最初のバージョンであるGemini 1.0)にはUltra、Pro、Nanoの3サイズがあり、本稿で取り上げるのは、中位モデルのGemini Proだ。Gemini Pro Visionは、Gemini Proの中でもマルチモーダルに対応したユースケースを指す。
現状、Gemini Proは英語版のBardに採用されているほか、一般向けの開発ツール「Google AI Studio」や、組織向けの開発環境「Vertex AI」でも提供されており、正式な一般提供開始までは無料で利用できるようになっている。
詳しくは、PC Watchの「Google新AIの「Gemini Pro」、Google Cloud開発者と大企業に無償プレビュー開始」の解説を参照してほしい。
このGemini Proで、筆者が注目しているのが、動画を扱える点だ。OpenAIのマルチモーダルモデルとなる「gpt-4-vision-preview」は、現状、画像(PNG 、JPEG、WebP、静止画のGIF)の入力には対応しているが、動画を入力することはできない。
一方、Geminiは、PNG、JPEGの画像に加えて、MKV、MOV、MP4、WebMの動画に対応しており、動画の状況などについて回答させることが可能になっている。
例えば、同社が公開している以下の技術資料のP.63にあるFigure 21では、サッカーボールをゴールに向けて蹴る動画とともに「How could this person improve their technique?」(この人が技術を向上させるにはどうすればいいですか?)というプロンプトを入力し、その回答として「ボールと足の接触の仕方悪いことでボールがゴールから遠ざかる原因」「体の位置を修正すべき」などといった点を指摘する様子が紹介されている。
▼Googleによる技術資料(PDF)
Gemini: A Family of Highly Capable Multimodal Models
とはいっても、言語モデルがやっていることは動画を分析してサッカーの技術の問題点を把握しているのではなく、単なる次の単語の予測であって、学習した情報からサッカーのスキルを向上させるための言葉を適当に選んでいるだけ(適切な回答ができているか否かは、単に確率的なものである)のようにも思える。
もし、回答は確率的に言葉を選んでいるだけにせよ、動画の連続するフレームから取り出した画像サンプルから、時系列の変化、上記の例ならボールを蹴ったフレームとその後のボールがゴールから外れたフレームとの違いなどを読み取って、言語を生成するための元情報(コンテキスト)として活用しているのであれば、それはそれで興味深い。
技術情報の例以外の動画でも、こうした変化を捉えられるのであれば、スポーツのAI審判やAIコーチとしてはもちろんのこと、伝統工芸の技術伝承、飲食店のオペレーション教育など、さまざまな用途に活用できそうだ。
Vertex AIからGemini Proを利用する
では、さっそく試してみよう。前述したように、Gemini Proは、Google AI StudioとVertex AIで利用できるが、Google AI Studioでは入力できるメディアが画像のみに限定されている。このため、動画を入力したい場合は、Vertex AIを利用する必要がある。
Google Cloud Consoleの左上のメニューボタンから、プロダクトの一覧を探し、[AI]カテゴリにある[Vertex AI]から[マルチモーダル]を開く。この状態でVertex AIが利用可能になり、ウェブブラウザー上からAPI経由でGeminiを呼び出すプロンプトを利用できる。
続けて、利用するモデルとして[Gemini Pro Vision]を選択し、[メディアを挿入]から動画ファイルをアップロードする。あとは、動画について質問すればいい。
なお、現状アップロードできる動画は、最大7MB(2分間)までとなっている。MP4の場合、480Pで12~13秒の動画が6MB前後となるため、あらかじめ編集しておかないと、サイズが大きすぎてアップロードできない。
画像認識のような説明は優秀
それでは検証してみよう。今回、利用したのは障害馬術の動画だ。馬が障害を飛越する様子を撮影したものとなる。
まずは、「この動画を説明してください」と一般的な質問をしてみる。すると、障害を飛越していること、競技会の様子であることが説明される。
競技会であることをどうして判断できたのかというと、動画の最後に成績を示す掲示板の様子を表示しているからと推測できる。なので、最後に映し出される掲示板について質問してみる。
「この選手の出番、点、タイムを教えてください」とすると、「出番:36、点:88.00、タイム:59.73」と表示された。
実際の点(減点)は「0」だが、「88.00」となってしまったのは、掲示板の数字が「8」の各要素を切り替える7セグメント構成の表示になっているためだと推測される。それ以外の、出番やタイムは正確に認識できている。
ちなみに、動画の構成要素については、正確に把握できるようで、「馬の毛色は?」との問いに「芦毛です」ときちんと答える。
時系列の変化の把握はまだ難しいようだ
続いて、動画における時系列の変化を把握できるかを確認する。
落下した障害がある動画を入力し、「障害は落下しましたか?」と聞いてみる。すると、2つ目が落下しているにもかかわらず、「いいえ、障害は落としていません。」と回答する。
動画が長く、落としたフレームを見逃しているのではないかとも考えられるので、ピンポイントで障害が落下しているシーン(2秒ほど)を作成し、さらに「Temperature」(回答のランダム性の高さ)を「0」に設定して質問してみたが、やはり「いいえ、障害は落下していません。」と回答された。
人間が見れば、障害が「カンッ」と後ろ足にひっかかり、ひらりと落ちる様子がすぐに確認できるが、何度やっても「落ちている」と判断できなかった。
これには2つの原因が考えられる。1つは、動画から時系列の変化を読み取れていないというもの。もう1つは、競技のルールを言語モデルが理解できず、「落下」という概念が何を指しているのかが理解できないというものだ。
そこで、聞き方を変え「飛越に成功しましたか?失敗しましたか?」と聞いたが、「成功しました」という結果になった。さらに、「動画内で変化した点をリストアップしてください」と入力してみたが、明らかに確率的に生成された回答が示されている。
先に紹介した同社の技術資料のサッカーの例では、蹴り方や体の向きなど、あたかも動画を分析したかのような回答例が提示されていたが、これはあくまでもサッカーというよく知られた競技(学習しやすい競技)についての事前知識から生成された一般的な回答、ということだろう。動画の種類によっては、こうした判断が難しい場合もあるようだ。
今後に期待
以上、今回はGemini Pro Visionで、動画を使った回答を試してみた。
今回の検証では、被写体の前や後ろに余計な情報が多く映り込んでいることで判断に失敗した可能性もあるが、サンプルのようにサッカーなどのメジャーな競技、つまりモデルの学習量が多い内容の動画でないと、正確性は下がるように思える。
しかしながら、今回の動画のようにあまり学習してない動画であったとしても、フレームの前後で、「何かが落下した」という状況くらいは捉えてほしかったところだ。
とはいえ、昨年のAIの進化スピードを見ると、こうした不満もあっという間に解消される可能性もある。もっと動画を活用できる賢いマルチモーダルモデルが登場するのも、そう遠くないのかもしれない。