Google GeminiはこれまでにGoogleが研究開発してきた自然言語処理向け機械学習モデルや大規模言語モデル(LLM)の最新成果だ。40を超える言語とさまざまなデータソースに対応し、実に自然に人間と会話することができる。このサービスがどういった技術に基づき、どういったことができるのかその全体像を把握しておこう。

連載「Google Geminiの活用方法」のこれまでの回はこちらを参照

Google Gemini

Google GeminiはGoogleが提供する生成AIサービスだ。文章、音声、画像、コードなどでプロンプトに指示を出し、回答を得ることができる。情報検索のような使い方からWebサイトなどのコンテンツの要約生成、文章の翻訳、プログラミングの支援などを行わせることも可能だ。

  • Google Gemini

    Google Gemini

基本的には学習させたデータに基づいて回答を行うサービスだが、学習させたデータの量は莫大であり、人間にはできない広範囲に渡る回答が可能という特徴がある。

複数の言語に対応

Geminiは英語だけではなく、日本語に対応している。執筆時点ではその他に韓国語、アラビア語、インドネシア語、ベンガル語、ブルガリア語、中国語(簡体字、繁体字)、クロアチア語、チェコ語、デンマーク語、オランダ語、エストニア語、ペルシア語、フィンランド語、フランス語、ドイツ語、グジャラート語、ギリシャ語、ヘブライ語、ヒンディー語、ハンガリー語、イタリア語、カンナダ語、ラトビア語、リトアニア語、マラヤーラム語、マラーティー語、ノルウェー語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、セルビア語、スロバキア語、スロベニア語、スペイン語、スワヒリ語、スウェーデン語、タミル語、テルグ語、タイ語、トルコ語、ウクライナ語、ウルドゥー語、ベトナム語に対応している。対応言語は今後さらに増加することが予定されている。

  • フランス語の表示サンプル

    フランス語の表示サンプル

  • ドイツ語の表示サンプル

    ドイツ語の表示サンプル

Geminiを使ってこれら言語間の翻訳ができる。また、対応言語が多いということは、母国語以外のデータソースを活用できることを意味している。日本語によるインターネット検索は日本語のテキストを中心に検索を行うが、Geminiへの質問には日本語に限らずさまざまなデータソースを利用して回答を行ってくれる。

Geminiの基盤技術

生成AIサービスにはそのベースとなる大規模言語モデル(LLM:Large Language Model)が存在している。自然言語を理解する仕組み、膨大な量の文章の学習、こうした仕組みの上に生成AIサービスは存在している。

Google Geminiはその名前に使われている「Gemini」という大規模言語モデルを採用している。このモデルはLaMDA(Language Model for Dialogue Applications)およびPaLMA2(Pathways Language Model)という大規模言語モデルの後継だ。

LaMDAはGoogleが2017年に発表したTransformerという自然言語処理タスクで用いされる機械学習モデルを応用したものであり、PaLMA2はそのLaMDAをさらに発展させたものになる。

  • Transformer、LaMDA、PaLMA2の関係性は?

    Transformer、LaMDA、PaLMA2の関係性は?

GoogleのTransformerはGoogleのみならずOpenAIのChatGPTなど他の生成AIにも強い影響を与えた。現在の生成AIを実現する基本的なアーキテクチャになったという経緯がある。

GeminiはこうしたGoogleの自然言語処理研究開発の最新の研究成果であり、異なる種類のデータを同時に処理できるマルチモーダルに対応している点が特徴だ。マルチモーダル対応はChatGPTやCopilotも実現しており、最近の流行りの技術とも言える。

3つのGemini

自然言語処理の最新研究成果であるGeminiには次の3つのバージョンがある。

  • Gemini Pro - 汎用的に利用することを想定して設計されたバージョン。無償で利用できるGoogle Geminiで使われている
  • Gemini Ultra - 複雑なタスクを処理することを想定して設計されたバージョン。有償で利用できるGoogle Gemini Advancedで使われている
  • Gemini nano - スマートフォンといったデバイス上でタスクを処理するために設計されたバージョン
  • Google Gemini Proについて

    Google Gemini Proについて

先ほども触れたようにGeminiはこれまでの大規模言語モデルと比べてテキスト、画像、音声といった複数種類のデータを同時に扱えるネイティブマルチモーダルを想定して設計されているという特徴がある。複数の種類のデータソースを扱うことができ、ニュアンスを含んだ情報や複雑な質問により適切に回答することができるとされている。

プログラミングの優秀なパートナー

Geminiはプログラミングにも使用できる。プログラミングを行う際には通常はチュートリアル、APIドキュメント、サンプルコード、コミュニティーサイトのデータなどを検索し、該当する機能や書き方を理解し、それをソースコードとして書いていく。

プログラミングのコーディングにおいてすでに行いたいことは明確であることが多く、それをどうやってコーディングすればよいかを調べるという作業を行うことが多い。Geminiのような生成AIチャットを使うと、そのコードの生成をGeminiに指示して行うことができる。

  • GeminiによるPythonコードの生成サンプル

    GeminiによるPythonコードの生成サンプル

プログラミングをしているユーザーにとってこのサービスがもたらす時短効果は劇的なものがある。これまでは数時間から数日という時間をかけて行っていた作業が、Geminiを使うことで数分から数十分といったところまで短くなるからだ。

自分で最初からソースコードを書いていくのと、生成されたソースコードを理解して書き換えていくのとではかかる時間が段違いだ。特にすでに何をしたいかが明確である場合、Geminiのような生成AIはピンポイントで欲しい答えを返してくれる。

これは普段使っていないプログラミング言語を使う場合などにも強力に作用する。プログラミングの経験があれば利用する言語が変わっても基礎は類似しているので基本的には慣れと応用の問題になってくる。ここでGeminiを使うと調査にかかる時間を大幅に短縮することができる。一度経験してしまうともう「生成AIを使わないコーディングはノー・サンキューである」と言いたくなるほど効率のよい開発を行うことができる。

勘違いや嘘がある

人間は正しい文章を読んでも間違って理解することがある。同じようにGeminiも正しいデータであっても誤った理解をすることがあり、結果として平然と嘘をつくことがある。Gemini自身に善悪はない。仕組み通りに動いているだけだ。生成される文章は嘘であっても実に自然な文章を生成してくる。Geminiを使っていて難しいのはこのように「とても自然に嘘をつくことがある」ということだ。

  • 嘘の記述がごく自然に行われているサンプル

    嘘の記述がごく自然に行われているサンプル

例えば、上記スクリーンショットでミスを確認できる。シトルリンやアルギニンの推奨摂取量は、トレーニング前に1gといった具合にかなり少ない。スクリーンショットの説明は体重1kgあたり5~10gと説明しており明らかに誤っている。説明を鵜呑みにすることにはリスクがあることを示すサンプルだ。

Geminiには回答が本当に正しいのかチェックするためのダブルチェック機能が用意されている。しかし、ダブルチェック機能が機能しないこともあるので、真偽の判断を徹底的にしようとすると生成AIの効率性が失われることもある。このあたりは判断が難しいところだが、ChatGPTやCopilotといった他の生成AIでチェックをすることで、効率性を維持しながら確認を行うこともできる。

参考