メルマガ登録
こんにちは、株式会社ブレインパッドの辻、株式会社TimeTechnologiesの濵田です。
現在ブレインパッドではLLM関連の論文調査を行なっているのですが、今回は論文ではなく先日 Google から発表された Gemini のテクニカルレポートについて解説を行なっていきたいと思います。
Point
【生成AI・LLM解説記事】
生成AI(ジェネレーティブAI)とは?ChatGPTとの違いや仕組み・種類・活用事例
LLM(大規模言語モデル)とは?生成AIとの違いや活用事例・課題
Gemini は Google と DeepMind によって共同開発された最先端のマルチモーダルAIモデルであり、多種多様なデータモダリティ(テキスト、画像、音声、動画)を横断的に学習し、それぞれに対する高度な理解力と推論能力を持ち合わせています。学習の段階からネイティブにマルチモーダルな学習が行われているという点は、これまでの生成AIモデルにはなかったユニークな点であると思われます。
このモデルは特に、言語理解、コーディング、推論、マルチモーダルタスクといった分野において優れた性能を示しており、これまでの Google の最新モデルであった PaLM2 を大きく凌駕する性能を示しており、GPT-4 に並ぶかそれ以上の性能を達成していることが報告されています。
Gemini Ultra は32のベンチマークのうち30でSoTAを達成
MMLU(大規模マルチタスク言語理解)のデータセットで、初めて人間の専門家の精度(89.8 %) を超える性能(90.04 %)を達成し、ごく最近発表されたMMMU(大規模複数分野でのマルチモーダルな理解と推論)のデータセットでも、過去のSoTAを5ポイント上回る62.4 %の精度を達成するなど注目すべき結果が報告されています。
Gemini は音声、画像、テキストの入力をネイティブに理解し、推論することができます。例えば英語で聞き取った音声を日本語に直接翻訳することができるようになったり、手書きで書かれた物理や数学の宿題の内容を理解して、どこが間違っているかを説明した上で正しい回答を指導することもできるようになることが期待できます。
マルチモーダルな推論能力の大幅な向上により、より複雑なマルチステップ問題に取り組むことができることが期待されており、200,000件以上の膨大な科学論文から関連する論文を見つけ出し、必要な情報だけを抽出するような専門的な複雑な作業もこなすことができることが紹介されています。
同様に、図やグラフからデータを集計したり、集計結果を元にグラフを自動的に更新したりすることも今後 Gemini を通してできるようになってくるでしょう。(2023年12月現在では、Gemini Pro のAPI経由では画像の出力は制限されている状況)
Gemini は3つのモデルサイズに分かれており、精度や用途に応じて使い分けができるようになっています。
モデルサイズ | 詳細 |
---|---|
Gemini Ultra | 最も高性能なモデルで、推論やマルチモーダルタスクを含む幅広い非常に複雑なタスクにおいて最先端のパフォーマンスを発揮 |
Gemini Pro | コストとレイテンシーの点でパフォーマンスが最適化されたモデルで、幅広いタスクにおいて顕著なパフォーマンスを発揮 |
Gemini Nano | 最も効率的なモデルで、デバイス上で動作するように設計されており、1.8B(Nano-1)と3.25B(Nano-2)のパラメータを持つ2つのバージョンがある。それぞれ低メモリと高メモリデバイスを対象としており大きなGeminiモデルからの蒸留によってトレーニングされた上で、4ビット量子化されており軽量化されている |
なお、パフォーマンスはモデルサイズが大きくなる毎に改善しており、数学・科学に関するタスクや要約タスクではモデルサイズによって性能に大きな差が出ることが報告されています。
Gemini のモデルアーキテクチャは、Transformer decoder をベースにTPU上での大規模な学習の安定化と高速推論を可能にするために最適化されたものであると紹介されています。
Transformer(Vaswani et al., 2017) は、自然言語処理や機械翻訳などのタスクで高い性能を発揮することが知られているアーキテクチャであり、Gemini でも採用されています。Transformer decoder は、入力されたテキストを、逐次的に処理するのではなく、全体の構造を捉えて処理しているため複雑な文脈を理解したり、長いテキストを翻訳したりするなどのタスクに適しており、大規模言語モデルではこのアーキテクチャがデファクトスタンダードとなっています。
詳細はこのテクニカルレポートでは語られていませんが、Gemini は上記のイメージ図にあるようにテキストや画像・音声・動画のようなマルチモーダルな入力をトークンに変換してから受け付け、Transformer decoderからのトークン出力をテキストや画像へデコードする仕組みとなっています。
またGemini で用いられる Transformer decoder では長文や動画などの長いシーケンスを理解するために、3.2 万トークンと長いコンテキストの入力を可能としています。メモリ効率や推論時間を削減するため、計算コストのかかるAttention機構においてもいくつかの効率化が施されています。その一つとして、複数のQueryを単一のKey/Valueヘッドで共有するMulti-Query Attention(Shazeer, 2019)などの技術が採用されています。
テキスト入力のtokenizerには、様々な言語や低頻度の単語にも対応できるようにByte Pair Encodingによりサブワードへ分割するSentencePiece(Kudo and Richardson, 2018)が使用されています。このtokenizerをトレーニングコーパス全体で学習することで、日本語や中国語も含めた非ラテン文字も効率的にトークン化できるようにパフォーマンスを向上させているようです。
また、Gemini では、Chichilla Scaling Law(Hoffmann et al., 2023)に従い、モデルサイズに合わせて学習に用いるトークン数をスケールしています。一方で、小規模モデルでは、LLaMA のアプローチ(Touvron et al.,2023)に従い、モデルサイズに対して遥かに多くのトークンで学習しています。
Gemini の画像/動画入力は、Flamingo(Alayrac et al., 2022) やPaLI(Chen et al., 2022)、PaLi-X(Chen et al., 2023)など VLM(画像言語モデル) の先行研究で用いられているように、ViT(Alexey Dosovitskiy et al., 2020)などのモデルが画像をパッチごとのトークン列に変換してから入力されています。ViTの場合は、画像は、224×224ピクセルの画像を8×8のグリッドに分割し、各グリッドを16×16のピクセルのトークン列に変換しています(図左参照)。
動画は、PaLI-Xのように、動画から等間隔にサンプルしたイメージシーケンスを、それぞれViTでトークンに変換してから結合して入力されていると考えられます(図右参照)。Gemini の評価で用いられる動画タスクでは、16フレームを等間隔にサンプルしたイメージシーケンスをトークンに変換しています。
音声入力は、テキスト入力よりもニュアンスや感情をより正確に表現することができます。そのため、クロスモーダルな翻訳や要約などのタスクで、より自然な表現を生成することができます。
Gemini の音声入力は、Universal Speech Model (USM) (Zhang et al. 2023) を使用して、16kHzの音声信号をから抽出した特徴量をトークン列として入力します。
USMでは、音声信号を時間ごとの周波数信号データへ分解したメルフィルタバンク特徴量へ変換し、Transformerと畳み込みを組み合わせたConformer (Anmol Gulati et al. 2020)ベースのモデルを用いて特徴量を抽出しています。このConformerモデルを、300以上の言語を含むラベルなしの YouTube 動画から教師なしで学習することで、USMは多言語での認識タスクで高いパフォーマンスを達成しています。
画像出力は、テキストや音声、画像、動画から画像を生成するなどのマルチモーダルなタスクが可能になります。そのため、創作やデザインなどの分野で、新たな表現を生み出すことができます。
Gemini の画像出力は、DALL-E (Ramesh et al., 2021) や Parti (Yu et al., 2022a) などの画像生成モデルと同様に、離散的な潜在表現(トークン列)を VQVAE や ViT-VQGANなどの離散潜在表現用のデコーダを使用して画像へ変換しています。離散表現を用いることでより自然が画像生成を可能にしています。
詳細はこのテクニカルレポートでは語られていませんが、Partiのアーキテクチャのように画像の離散表現へのViT-VQGANのエンコーダとデコーダモデルを用いて、Transformer decoderに画像生成用の離散表現を出力するように学習させていると考えられます。
Gemini のトレーニングには、TPUv5e と TPUv4 という Google の独自のアクセラレータを使用しています。TPUv5e は、TPUv4 に比べて演算性能が2倍以上向上しているため、Gemini のトレーニングをより効率的に行うことが可能になりました。
また、Gemini は非常に大規模なモデルであるため、平均故障間隔が短くなってしまうのですが、4096個のチップを専用の光スイッチに接続して動的に再構成できる「 SuperPods 」と呼ばれる新しいシステムを採用し、故障が発生した場合でも迅速に再構成することで、トレーニングの継続を可能にしています。
さらに、Gemini のトレーニングでは、クラスタ間・クラスタ内のネットワークを使用して複数データセンターの「 SuperPods 」を組み合わせています。これにより、SuperPods間のデータ並列処理を可能にし、トレーニングの効率をさらに向上させています。
Gemini のトレーニングは、Jax と Pathways を使用して管理されており、単一の Python プロセスがトレーニング全体をオーケストレーションすることで、開発ワークフローが非常に簡素化されているようです。
なお、Jax は Python で書かれた機械学習ライブラリであり、Pathways は JAX でトレーニングを実行するための非同期型分散処理データフローのインターフェースです。
Gemini のトレーニングでは、故障が発生した場合でも迅速に回復できるように、いくつかの対策が講じられています。まず、学習途中の重みを定期的にインメモリにコピーしています。これにより、故障が発生した場合でも、インメモリに保存されている重みからトレーニングを再開することができます。なお、従来のように重みを Checkpoint の形式で保存するアプローチでは、goodput (レーニング時間に対して有用な学習ステップに費やされた時間が多い状態)を維持するのは難しいことが言及されています。具体的には、PaLM の時と比較して使用されるトレーニングリソースは大幅に増加しているにもかかわらず、最大規模のトレーニングジョブの全体的な goodput は85%から97%に増加しています。
また、これほどまでに大規模な学習を行うと Silent Data Corruption という新しい故障パターン(ハードウェアの故障によってデータが破損する現象)が生じており、これに対応する必要がありました。この故障自体は極めて稀な現象らしいのですが、Gemini の規模で学習をおこなっていると週に1度程度は影響を受けるため、詳細は語られていませんがハードウェアの故障を検出し除去するための新技術を開発し適用できたことがGemini Ultraのトレーニングには重要な役割を果たしたことが言及されています。
Gemini のトレーニングデータセットは、膨大な量のテキスト、画像、音声、ビデオデータとマルチモーダルに構成されています。これらのデータは、Webドキュメント、書籍、コードなど、さまざまなソースから収集されています。
これらのデータセットの品質を保つために、ヒューリスティックフィルターとモデルベースフィルターが採用されています。ヒューリスティックフィルターは、データの品質を保つために、単純なルールに基づいてデータを除外しており、モデルベースフィルターは、データの品質を評価するために、機械学習モデルを使用しています。
また、有害なコンテンツを削除するための安全フィルターも適用されています。このフィルターは、差別的、攻撃的、またはその他の有害なコンテンツを検出して除外します。
評価用のデータセット(MMLU など)はトレーニングデータセットからフィルターされており評価時にリークが起きないように対策されています。
テクニカルレポートでは、Gemini の性能を多面的に評価しており、テキスト出力に関する性能とマルチモーダルな出力に関する性能を評価しています。
Gemini は、Few-Shot もしくは Zero-Shot での推論・読解・STEM・コーディングをカバーするアカデミックベンチマークでの性能比較で、GPT-4 や Claude 2 など、他の大規模言語モデルを上回っています。
具体的には、MMLU では、Chain-of-Thought を用いてk=32個サンプリングした解から多数決で最終解を決定する CoT@32 で評価した結果、Gemini Ultra は90.04%を達成し、GPT-4の87.29%上回りました。ただし、5shotのインストラクションを適用した比較では Gemini は83.7%に対してGPT-4は86.4%と精度が逆転しているため、プロンプトの与え方によって性能が前後する程度の差であることも留意しておく必要があります。また、最近公開されたGemini ProとGPT3.5 Turbo/GPT-4との検証でも本テクニカルレポートとMMLUのスコアに差異が生じているため、検証設定によっても精度に差が生まれることは認識しておく必要がありそうです。
また、小中高レベル相当の数学問題を集めたGSM8Kでも、Gemini Ultra はGPT-4を上回る性能を発揮しました。中学校および高校の数学コンペティションから選出された難易度の高い数学問題の評価ベンチマークであるMathでは、Gemini Ultra は53.2%を達成し、GPT-4 の52.9%を上回っています。
コーディングタスクでも、Gemini Ultra はウェブリークのない Natural2Codeにおいて最高性能を達成しています。
一方、敵対的フィルタリングで収集された HellaSwag だけ、GPT-4 が95.3%に対して Gemini Ultra は87.8%と精度が低くなっていました。しかし、HellaSwag のトレーニングセットを用いて FineTuning すると精度が96%まで向上することが確認されているためリークによって評価結果が大きく変わることが示唆されます。
英語以外の言語から英語への翻訳タスクでは GPT-4 が性能が上回っているものの、英語から他の言語に翻訳する場合にはリソース量によらず、常に Gemini Ultra が最高性能となっています。
Gemini は32,768トークンのシーケンス長で訓練されており、長文であっても文脈理解を効率的に行えることを確認しています。具体的には、文章の最初にKeyとValueのペアを配置し、長いフィラーテキストを追加して、特定のキーに関連付けられた値を尋ねて正しく取得できるかを実験しています。この実験の結果、Gemini Ultra ではValueを98%の精度で正しい値を取得できることがわかっています。
すでに Gemini Pro のAPIは Google Cloud 上で提供されているため、試しに弊社DOORS記事を用いて上記の実験と同じように<‘Generative AI’:Value>を任意の位置に埋め込んで正しく取り出せるかを複数回実験してみましたが、どれも正しく情報を取得できることが確認できました。
実務上 Retrieval Augment Generation(RAG) によって取得してきた文章の情報をどれだけ正確に抽出できるかは非常に重要な関心事です。実際に、最先端の生成AIモデルであっても、下の図にあるような文章の中間にある情報を正しく取得できないLost in the Middleと呼ばれる現象(Nelson et al., 2023)が報告されており生成AIを活用する上での悩ましい問題となっているため、今後Geminiでも同様の現象が確認されるかどうか検証が必要かと思われます。
インストラクションチューニングされた Gemini Pro モデルは PaLM 2 モデルに対して、創造的なライティングができているか、指示に従っているか、安全な応答ができているかを比較した結果、どれも人間の選好により近い結果を出せていることが確認されています。
Gemini は、検索やツールと組み合わせることで、より複雑なマルチステップ問題を処理できる推論システムを構築することも可能です。レポート内ではAlpahCode2が紹介されており、Gemini Pro をベースに作られた AlphaCode2 は、Codeforces のコンペで人間の競技者の上位85%に入る成績を納めており非常に複雑なタスクも遂行可能なことが示されています。
画像理解
Gemini は、画像理解においても優れた性能を発揮しており、4つの能力を評価するベンチマークで評価されました。
その結果、Gemini Ultra は、下表に示すようにすべてのベンチマークで他のモデルを上回っています。
動画理解
トレーニングから除外されている動画データセットを用いてベンチマーク評価をした結果、Gemini Ultra
は既存のモデルを上回る結果を達成しており、マルチモーダルな領域での言語理解や質問応答タスクにおいて Gemini は大きな成果を上げていると考えられます。
音声理解
音声理解タスクは ASR と AST の2つのタスクで評価を行なっており、Gemini Pro やスマホによる利用が想定される Gemini Nano-1 と Whisper や USM との比較がされています。結果としては、どのタスクも Gemini Pro および Gemini Nano が最も高性能である結果が示されており、Gemini Pro は特に難しい単語や固有名詞を正確に理解・認識できることが報告されています。
レポートの最後ではGemini のような生成AIを利用していく上での影響調査やモデルポリシーについての話題が触れられていましたが、ここでは技術に関連する部分を抜き出して説明します。
モデルポリシーに関する領域とその他の重要なリスク領域に対して Gemini モデルを評価するためのモデル開発ライフサイクルの評価枠組みが開発されており、開発チームと外部の学術ベンチマークに対する評価が行われています。評価は、有用性、安全性、事実性などの問題を重点的に考慮して設計されているようです。
生成AIにおいてハルシネーションをいかに防ぐかは非常に重要な論点となりますが、ハルシネーションの緩和策を検討する上で以下のような指針と緩和策が提示されています。
Instruction Tuning を実施する上で、ハルシネーションの緩和の方向性として以下の3つの望ましい振る舞いが実現されていく必要があることが述べられています。
帰属(Attribution)
プロンプト内の特定のコンテキストに完全に帰属することを指示された場合、忠実な回答(元の文章の表記・表現を完全にそのまま生成するなど)を生成する必要があります。
具体的には、ユーザー提供のソースの要約、質問と提供されたスニペットを元に詳細な引用文の生成などのタスクにおいて、忠実な回答を生成するように学習を行う必要があります。
クローズドブック応答生成(Closed-Book Response Generation)
与えられたソースなしで事実を求めるプロンプトが与えられた場合、誤った情報を提供しないようにする必要があります。
具体的には、情報検索プロンプト(例:「インドの首相は誰ですか?」)や、事実情報を要求する可能性があるプロンプト(例:「再生可能エネルギーの採用を支持する500語のスピーチを書く」)など、与えられた情報だけで答えが導き出せないプロンプトに対して、誤った情報を生成しないように学習を行う必要があります。
ヘッジング(Hedging)
「答えられない」ような入力に対するプロンプトが与えられた場合、回答できないことを認める必要があります。
具体的には、入力プロンプトに虚偽の前提質問が含まれるシナリオや与えられたコンテキストから答えを導き出すことができない場合など、回答できないプロンプトに対して回答できないことを明示する回答を生成するように学習を行う必要があります。
上記3つの振る舞いを強化できるようなSFT(Supervised Fine Tuning)データセットをそれぞれ用意し、Gemini Pro を用いてRLHF(Reinforcement Learning from Human Feedback)を実行することで、微調整していない Gemini Pro と比較してそれぞれの観点でのハルシネーションが改善していることが報告されています。
ざっくりわかるRLHF(人間からのフィードバックを用いた強化学習)
最後に、Geminiを含む生成AIに残されている課題に関する議論が述べられており、
これらのタスクの改善は引き続き必要な状況となっていることが指摘されていました。
今回は新たに Google と DeepMind からリリースされた Gemini について技術的な観点から解説させていただきました。
Gemini の登場により、これまでテキストに関する能力を中心に議論されていた生成AIが本格的にマルチモーダルなタスクにも対応できるようになったことが示されたことで、生成AIの可能性はさらに広がったように感じます。
ブレインパッドでは、生成AIに関する技術の調査を引き続き実施していきますので、ご期待ください。
https://deepmind.google/technologies/gemini/#introduction
https://japan.googleblog.com/2023/12/gemini.html
https://developers.googleblog.com/2023/12/how-its-made-gemini-multimodal-prompting.html
あなたにオススメの記事
2023.12.01
生成AI(ジェネレーティブAI)とは?ChatGPTとの違いや仕組み・種類・活用事例
2023.09.21
DX(デジタルトランスフォーメーション)とは?今さら聞けない意味・定義を分かりやすく解説【2024年最新】
2023.11.24
【現役社員が解説】データサイエンティストとは?仕事内容やAI・DX時代に必要なスキル
2023.09.08
DX事例26選:6つの業界別に紹介~有名企業はどんなDXをやっている?~【2024年最新版】
2023.08.23
LLM(大規模言語モデル)とは?生成AIとの違いや活用事例・課題
2024.03.22
生成AIの評価指標・ベンチマークとそれらに関連する問題点や限界を解説