😎

時間がない人のための Gemini 2.0 入門

2024/12/17に公開1

時間がない人のための Gemini 2.0 入門

US 時間の 12/11、日本時間だと 12/12 早朝(12/11 深夜)に Gemini 2.0 の Flash が出てきました。 待望の Multimodal Live API の登場や、各種デモ動画など見どころが沢山ありました。

きっと年末にむけて忙しくされている皆様は全てのブログ、動画、ドキュメントは見ていられないと思います。 そんな忙しい方向けに、独断と偏見でこれだけは知っておいてほしいことをまとめてみました。

Gemini 2.0 とは?

DeepMind のブログを参照してまとめると。

  • Google DeepMind は、「エージェント時代」向けに設計された新しい AI モデルである Gemini 2.0 を発表しました。
  • Gemini 2.0 は、ネイティブな画像および音声出力とツールの使用により、以前のバージョンよりも機能が充実しています。
  • Google は、Project Astra、Project Mariner、Jules など、Gemini 2.0 を使用したエージェントの活用を模索しています。
  • Google は、安全性とセキュリティを最優先事項として、責任を持って AI を構築することに尽力しています。

従来のマルチモーダルという言葉は主に入力がテキスト、画像、音声、動画などが活用できる部分を指していましたが 今回は "ネイティブな画像および音声出力" に対応しているというのが特徴の一つと言えそうです。

ちなみに現在は Experimental 扱いですが、Vertex AI Studio でもご利用いただけます。
(執筆時点である 2024/12/13 時点においては無料でお使いいただけます)

Gemini 2.0 Flash の実力

では、どのぐらいすごい実力を誇るのか? 細かいベンチマークは DeepMind のブログを参照いただくとして、このあたりがポイントになりそうです。

  • Gemini 2.0 Flash は主要なベンチマークで Gemini 1.5 Pro を上回っています。
  • Gemini 2.0 Flash は Gemini 1.5 Pro の 2 倍の速度で応答を返しています。

通常、同じ世代のモデルであれば Flash と Pro を比較した場合 Pro のほうが大きなモデルなので精度は高いはずですが Gemini 2.0 Flash は比較対象が一つ前の世代とはいえ Gemini 1.5 Pro の精度を上回っているというのは驚愕です。 小さいモデルで大きなモデルの仕事ができるなら、一般的にコスト面と速度(レイテンシー)の面で有利と言えます。

モデルそのものが何か凄そうというのが分かったところで、注目の機能を見ていきたいと思います。

Multimodal Live API

こちらの API は音声や動画をストリーミング形式で Gemini の入力として与えることができる API です。 扱いとしては Public Experimental なので、Google Cloud の環境でお試しいただけます(デモアプリのコード)。 ただし、執筆時点(2024/12/13 時点)では "公式" サポートは English Only となります。

デモ動画では、人と Gemini 2.0 がインタラクティブに会話している様子が見れます。会話の途中で遮ったり、少し前の話を聞いてみても上手に Gemini 2.0 が回答しています。

Project Astra の動画 が初めて世に出てきたときに衝撃を覚えた方も多かったと思います。ああいったユーザ体験を皆様の環境で作れる時代になったのです。

New Output Modalities

従来の Gemini Model のようにテキストのみが出力されるのではなく、音声や画像を出力できる機能になります。 なお、執筆時点(2024/12/13 時点)では Private Experimental ということでまだ気軽には試すことができません。

こちらのデモ動画では、車の写真の加工を Gemini への直接の指示だけで実現しています。 Gemini App などでも画像は生成できますが、あの動きはアプリ的な作り込みによるものです。 今回の機能はモデルで Native に画像生成をサポートしているという点で、モデルの進化のほどが想像できます。

前述の Multimodal Live API と組み合わせることで、音声/動画の入力を Gemini に与えて、Gemini に音声で回答させるという流行りの AI Agent っぽいアプリを作れそうな予感がします。

Native Tool Use

AI Agent をつくるための仕組みとして Function Calling が進化したものです(Function Calling とは何だったのかは、こちらのブログで復習いただければと思います)。

一般的に従来の Function Calling では、LLM が以下を判断してくれた後に、アプリケーションのロジックで実際に API を実行する必要がありました。

  • 呼び出すべき API
  • API 実行に必要な引数

Native Tool Use では、API の実行まで行ってくれるため、コードがシンプルになります。 それ以上に嬉しいのが、実行までを LLM が担ってくれるため、より Agentic Flow を実現しやすくなりそうです。

デモ動画では自前の関数を実行したり、Google Search と連動している様子が見れます。

注意点

ここまで Gemini 2.0 のモデルの説明や、機能の説明をしてきましたが、ご利用にあたり注意点があります。

  • Gemini 2.0 Flash 自体はまだ Experimental であり GA ではない。
  • Gemini 2.0 Flash の利用にあたっては New SDK を使う必要がある。
  • 執筆時点(2024/12/13 時点)では、まだ Python と Go のみの提供です。

まずは、この 3 点だけご留意いただければと思います。

まとめ

いかがでしたでしょうか? 時間がない人向けといいつつ、そこそこの長文になってしまいました(笑)。

2024 年は生成 AI という言葉が浸透して、試すから使う時代になったと言われており 各社で様々なユースケースを検討されてきたと思いますが 今回でてきた Gemini 2.0 をつかった新たなユースケース発見の旅が始まったことを予感させます。

来年にむけて、Vertex AI Studio や Google AI Studio を使って実際に試してみてもらえたらと思います。














おまけ(各種資料類へのリンク)

宿題です!

Google Cloud Japan

Discussion

hosaka313hosaka313

記事ありがとうございます。さっそく試しました。

Native Tool Useに関して、コメントさせていただきます。

実行までを LLM が担ってくれる

とありますが、調べてみると実際はLLM側の機能ではなく、SDK側の実装のように見えます。

具体的には、

https://github.com/googleapis/python-genai/blob/5586f3d650964547c3e7cafa1165f9c7d1306529/google/genai/models.py#L4406-L4436

で、従来通りresponseを見て再帰的な呼び出しがされているようです。

ツール自体の実行も、

    func_name = part.function_call.name
    func = function_map[func_name]
    args = convert_number_values_for_function_call_args(part.function_call.args)
    try:
      response = {'result': invoke_function_from_dict_args(args, func)}
    except Exception as e:  # pylint: disable=broad-except
      response = {'error': str(e)}

https://github.com/googleapis/python-genai/blob/5586f3d650964547c3e7cafa1165f9c7d1306529/google/genai/_extra_utils.py#L196-L215

とアプリケーション(SDK)側でされています。

したがって、「実行までを LLM が担ってくれ」るわけではなく、「アプリケーションのロジックで実際に API を実行する必要」は従来通りで、それをSDKがカプセル化してくれている、のかなと思いました。