Gemma 4 は、高性能なマルチモーダル AI を Android デバイスに直接提供します。このセッションでは、Gemma が効率性を重視して構築されたモデル ファミリーへと進化した経緯をたどり、エッジに最適化された E2B モデルと E4B モデルがオンデバイスで実現できること(ビジョンと音声の理解からエージェント関数呼び出しまで)を探ります。この効率性を支えるアーキテクチャ(Per-Layer Embeddings(PLE)など)について説明し、Gemma と Gemini Nano が AICore を通じてどのように連携するかを紹介します。量子化認識トレーニング(QAT)によって 1.1 ~ 3.5 GB の RAM フットプリント内でモデルの機能を維持する方法と、マルチトークン予測(MTP)によってデコード速度を 1.5 ~ 3 倍に高速化し、応答性の高いリアルタイム エクスペリエンスを実現する方法について説明します。
文字起こし
Sara Smoot
こんにちは。本セッションへようこそ。
私の名前は Sara です。モデリング側の Gemma のエンジニアリング リードを務めています。
本日は、Google のモデルについてお話しします。
ここでは、モバイル向けの設計に関する機能や考え方について説明します。
モバイルで効率的に動作するようにモデルに組み込まれている手法について説明します。
そのアクセス方法と、AICore との統合方法について説明します。
最後に、モデルの機能と、モデルで何ができるかを示すデモを行います。
今後の方向性を理解するには、これまでの経緯を理解することが役立ちます。
2024 年に Gemma 1 をリリースしました。
20 億と 70 億のパラメータ モデルをリリースしました。テキストのみで、当時の状況と比較すると非常に小さいサイズでした。
Gemma 1 に続いて、いくつかの追加機能を導入した Gemma 2 をリリースしました。
コーディングを導入しました。
また、27B という大規模モデルも導入し、Gemma シリーズの機能を大幅に拡張しました。
その少し後に Gemma 3 がリリースされました。
さらに、マルチモーダル機能を追加し、2 億 7,000 万パラメータのより小さなモデルも追加しました。小さなモデルには多くのユースケースがあることがわかったため、できるだけ多くのオンライン モバイル ユースケースに対応できるようにしています。
そのため、リリースごとに機能が向上しています。これは意図的なものです。
私たちが取り組んでいるのは、単一デバイスのハードウェア向けに設計することです。これにはスマートフォン、ノートパソコン、GPU が含まれます。私たちの目標は、より大きなモデルを作ることではありません。12B から 27B には増やしましたが、目標は、各イテレーションでより多くの機能を同じフットプリントに収めることです。なぜなら、オンデバイス、ローカルに留まりたいからです。
そのために、効率性を高める機能を組み込みました。
そして、Gemma 4 で具体的に何を行ったのか、どのように行ったのかについてお話しします。
E2B(「E」については後ほど説明します)、E4B、12B 統合モデル(これを行った理由も説明します)、MoE モデルをリリースしました。
これらはすべて、効率性を実証し、デベロッパーが構築したいアプリやモノに柔軟に対応できるようにするためのものです。
機能についてもう少し詳しく見てみましょう。ここでは、これまでに追加された機能を確認できます。
注目していただきたい点がいくつかあります。まずはコンテキストの長さです。
また、以前の Gemma バージョンよりもコンテキストの長さが大幅に長くなっています。
Gemma 4 のコンテキストは最大 128 K です。
より大きなモデルでは最大 256 個です。
ML Kit ではコンテキストの長さに上限が設定されているため、128 で起動できると想定する前に、予算を確認してください。
しかし、これだけのトークン数があれば、長いドキュメントを読み、拡張された推論を行い、関数呼び出しを実行し、マルチモダリティ、ビジョン、オーディオを使用するのに十分な予算を確保できます。
動画は、Gemma 3n から追加された新しい機能で、Gemma 4 ではさらに強化されています。
多言語サポートが追加されました。
複数の言語でトレーニングを続けているため、組み込みの言語サポートと事前トレーニング済みのサポートの両方を利用できます。
そして、これらすべてが新しい Apache 2 ライセンスで提供されるようになります。これは、構築できるものの柔軟性が大幅に向上し、摩擦も大幅に軽減されるため、非常に楽しみです。
モデルの構築とダウンロードがはるかにシームレスになります。
Sara Smoot
ビジョンについて、私たちは何をすればよいのでしょうか?
Gemma 4 のビジョンでは、特に可変アスペクト比が採用されています。
この機能は、画像を不自然な正方形に圧縮するのではなく、モデルの実際のアスペクト比を維持します。
つまり、テキストやオブジェクトが歪むことはありません。
実際、モデルの機能は劇的に向上します。
形状が正確に保たれ、この可変アスペクト比により OCR が大幅に改善されます。
ビジョンは、チャート、スプレッドシート、グラフを読み取ることもできます。
また、視覚的な手がかりから翻訳することもできるため、単語の写真を撮って翻訳することもできます。
また、物理的な世界についても推論します。
画像を見て、どこに何があるかを理解できます。
かなり多くのことができます。
Gemma モデルのあまり知られていないもう 1 つの機能は、ビジュアル トークンの予算を設定できることです。
現時点では、ML ツールキットで確認できますが、幅広い範囲があります。
高解像度の画像認識に電力とエネルギーをより多く費やしたい場合は、そのように設定できます。
If you If that's not a use case that you want to really leverage, you can reduce the image token budget by quite a lot and reclaim a lot of that power and the You know, in the model compute cycles for your your text applications.
音声は、Google にとって比較的新しいモードです。
これは Gemma 3n で初めて導入されました。
Gemma 4 では、このアプローチを全面的に採用しています。
音声は、最小のモデルである E2B、E4B、12B モデルでのみ利用できます。
音声ファイルに基づいて完全に文字起こしされます。
音声を翻訳する。
35 以上の言語に標準で対応しています。
また、140 以上の言語で事前トレーニングされているため、35 の言語に含まれていない言語でも、ファインチューニングを行うことで、すぐにサポートされていない言語でも優れたサポートを得ることができます。
エージェント推論を追加しました。
これも Gemma 4 の新機能です。
計画を立てる。
マルチステップに対応しています。
ツールを使用する。
指示に正確に従う。
構造化された JSON を返します。
エージェント モデルに期待されることはすべて実行できます。
ML ツールキットを使用していない場合は、自分で作業することになります。チャット テンプレートに注意してください。
チャット テンプレートは複雑です。
慎重に取り扱う必要があります。
ML Toolkit を使用している場合、この処理はすべて自動的に行われます。
最後に、Gemma は引き続き優れたテキスト理解を実現します。
コンテキストが長くなったことで、コードや長いドキュメントの分析、翻訳が可能になりました。
実際、コーディング機能により、Android Studio はオフライン モードで Gemma 4 をサポートするようになりました。
そのため、Android Studio をオフラインで使用する場合は、Gemma 4 を利用してコーディング タスクを実行することになります。
重要なポイントとして、E2B と E4B は十分に小さいため、スマートフォンに適合し、適切に動作します。
このように、非常に小さなフットプリントに多くの機能が詰め込まれています。
これは実際には非常に困難なエンジニアリング上の課題であるため、Gemma チームはこのことを非常に誇りに思っています。
以下に、機能を示す例をいくつか紹介します。
左側では、モデルがノートパソコンを見つけて、ノートパソコンがある場所の座標を返すことができることを示しています。
そして、アプリはポインタを描画し、ノートパソコンの場所を示すことができます。
中央のモデルは、オブジェクトを識別して、そのオブジェクトの周囲に境界ボックスを描画できます。
これには、オブジェクト検出やオブジェクト回避など、興味深い用途があります。
これは非常に優れた機能です。
右側は、モデルがテキストを読み取る方法を示しています。
これは「注意、猫がいる」という意味になります。
また、画像で何が起きているかも理解し、この猫がとても面白いポーズをしていることを認識して、その下のテキスト「何かが起こるかもしれない」がオチであることを翻訳して指摘できます。
これはちょっとかわいいと思います。
つまり、ポインティング、オブジェクト検出、OCR、翻訳を、特別なビジョン パイプラインなしで行います。
では、評価の数値を見ていきましょう。
能力を実証することは常に重要ですが、多くの人がこれらを見て、モデルの強みを実感できると思います。
最後の 2 つの列を見ると、E2B は、推論、コーディング、エージェントの分野で、はるかに大規模なモデルである Gemma 3 27B を上回っています。
LiveCodeBench を見てみましょう。
Gemma 4 は 44、Gemma 3 27B は 29 です。
AIME も大幅に向上しています。
エージェント評価である Tau2 も大幅に向上しており、この分野での強みを示しています。
パラメータを少し増やすだけで、E4B モデルはすべてのベンチマークで 27B モデルを確実に上回ります。
Gemma 3 から Gemma 4 への移行では、同じパラメータ数でより多くの機能が詰め込まれています。
Sara Smoot
では、どのようにすればよいでしょうか。
モデルを大きくせずに性能を向上させることは、困難な課題です。
ハードウェアだけを見ても、スマートフォンのメモリははるかに少ないです。
つまり、サーバーで得られる 80 GB 程度に対して、12 ~ 16 GB です。
帯域幅も 50 ~ 80 GB と、サーバーで得られるテラバイト単位の帯域幅に比べてはるかに小さくなります。
さらに、電力に厳しい制約があります。
モデルを実行する際には、これらすべてを念頭に置く必要があります。
次に紹介する各手法は、これらの制約をそれぞれターゲットにして、モバイル ハードウェアで動作するモデルをより最適化するのに役立ちます。
まず、サイズごとに 1 つのアーキテクチャがあるわけではありません。
各モデルサイズには、それぞれ独自のアーキテクチャがあります。
E2B と E4B には特別な要素があり、この後の説明では主にこれらに焦点を当てますが、12B モデルにはビジョン エンコーダがないことを知っておくと役立つと思います。
このモデルでは、デプロイを簡素化し、モデルに必要なパラメータ数を最小限に抑えるために、ビジョン エンコーダを削除しました。
これは通常、ノートパソコンのハードウェアを対象としています。
Google の大規模モデルは、最も高い能力を発揮するように設計されています。
これらは、フルデンス モデルと Mixture of Experts モデルの両方で提供されます。
Mixture of Experts モデルはノートパソコンでも実行できます。このモデルは、エキスパート アーキテクチャによってレイテンシを短縮できるため、構築されました。
この講演の残りの部分では、モバイルモデルである E2B と E4B に焦点を当て、スマートフォンで適切に動作させるために行ったことについて説明します。
これが「E」の由来である、レイヤごとのエンベディングです。
これは、モデルに追加した革新的な手法です。
モデルの仕組みを考えると、モデルをよりスマートにするには、より多くのパラメータが必要です。
パラメータ効率は向上していますが、一般的に、モデルを改善するには、より多くのパラメータが必要です。
PLE は、「より多くのパラメータが必要」という考え方です。
ただし、モデルに直接パラメータを追加するのではなく、追加のエンベディング テーブルを使用します。
このエンベディング テーブルはレイヤごとに読み込まれます。
これを利用して、モデルが必要とするトークンがわかったら、特定の入力シーケンスに必要なレイヤごとのエンベディングを pull し、それらのエンベディングのみをモデルに読み込むことができます。
つまり、パラメータの数自体はかなり大きいものの、実質的には 20 億パラメータのモデルとして機能します。
そのため、実質的に 20 億のパラメータと呼ばれています。メモリに読み込まれるのは 20 億のパラメータのみだからです。
エンベディング テーブルは通常、RAM ではなくフラッシュに保存されます。
そのため、転送するパラメータが少なくて済むため、帯域幅を制限しながらも、より大きなモデルの完全なモデル機能を利用できます。
また、デバイスの RAM 使用量も少なくなります。
次に、ドラフター モデルを追加しました。
Gemma で使用するドラフター モデルは、マルチトークン予測モデルです。
これは投機的デコーディングの一種です。
これにより、一般的な自己回帰モデルよりも 1 回のパスで予測されるトークン数が多くなります。
一般的な自己回帰モデルでは、1 回に 1 つのトークンしか処理しないため、トークンごとにモデル全体を処理する必要があります。
このドラフター(MTP)は、一度に 3 つまたは 4 つのトークンを予測し、メインモデルを使用してそれらのトークンを検証します。
これらのトークンが受け入れられると、それらが使用されます。通常、1 回に 1 つのトークンではなく、1 回に 2、3、4 つのトークンを取得できます。
これは一般的な手法です。
ドラフター モデルが利用可能。
Gemma で異なる点、特別な点は、ベースモデルの KV キャッシュを共有していることです。
そのため、E2B では完全なプレフィルを行い、キャッシュを構築します。その後、ドラフター モデルがその KV キャッシュを使用します。
つまり、1, 000 トークンのプロンプトで約 130 ミリ秒を節約できます。これは、ドラフター モデルのプリフィルを再生成する必要がないためです。
Google のドラフター モデルは、他のドラフター モデルよりも 30 ~ 40 倍高速です。
数値を見ると、ドラフター モデルを使用した場合に速度が向上していることがわかります。
ほとんどのドラフター モデルよりも 40 ~ 60% 高い受け入れ率が得られます。
ドラフター モデルを使用することで、デコード レイテンシが 40% 低減し、エネルギー消費量も 30 ~ 40% 削減されています。
これにより、レスポンスが高速化され、バッテリー駆動時間が長くなり、コードの変更が不要になります。
これは、かなりシンプルで、サポートも充実しているツールです。
Sara Smoot
次のイノベーションは、量子化です。
通常、量子化も新しい手法ではありませんが、モバイルモデルでは、モバイル ハードウェアで量子化が適切に機能するように特別な注意を払っています。
QAT モデルについては、いくつか考慮すべき点があります。
1 つ目は、QAT(量子化対応トレーニング)です。
つまり、トレーニングを行う際に、量子化を行うことを考慮して認識します。
これにより、モデルはパラメータがバケット化されることを理解し、品質を維持できます。
また、品質を維持するのにも役立ち、通常はモデルのサイズを数分の 1 に縮小できます。
16 ビットモデルから 4 ビットモデルに移行し、品質をすべて維持できれば、メモリを大幅に節約できます。
E2B には 2 種類の量子化があります。
Q4_0 形式があります。
これは、より汎用的な量子化です。
これはカスタマイズ可能です。
これは、他の量子化ライブラリと非常にうまく連携します。
これにより、ユースケースに適した量子化を試すことができます。
また、モバイル量子化と呼ばれる非常に特殊な量子化も用意されています。これは量子化が非常に積極的で、これを最適化するために多くの研究が行われてきました。
ほとんどのランタイムではサポートされていませんが、ML Kit と Android Studio ではサポートされているため、使用できます。
そこで使用できます。
Google が組み込んだイノベーションには、静的な活性化量子化の使用があります。
量子化を行う場合、通常はモデルで動的範囲の活性化を行うのであれば、範囲をオンザフライで計算し、それを使用して量子化を行う必要があります。
静的範囲の量子化は、Google がすでに行っているため、範囲を事前に計算する必要はありません。
もう 1 つの取り組みは、チャネル単位の量子化です。
モデルをチャネル単位で構造化して圧縮することで、ほとんどのモバイル ハードウェアで適切に動作するようにしています。
2 ビット量子化をターゲットにしています。
そのため、2 ビット量子化は一般的にかなり損失が大きくなります。
PTQ を行うのは非常に困難です。
また、研究を重ね、モデルを十分に理解したことで、パラメータを 2 ビットに圧縮できる場所を特定し、量子化を考慮したトレーニングを適切に行うことができました。
これにより、品質をほぼすべて維持しながら、ストレージを大幅に節約できます。
当社の特別な量子化モデルは 1 GB 未満で、これは、当社が提供している 4 ビット量子化モデルよりもかなり小さいものです。
カスタム量子化に組み込まれているもう 1 つの機能は、エンベディングと KV キャッシュの量子化です。
この 2 つを行う方法には、さまざまな手法があります。
調査の結果、このモデルが非常に効果的であることがわかりました。
そして、それらをこのチェックポイントにまとめました。
これにより、アクティブなメモリが大幅に削減されます。
パラメータをやり取りする必要がないため、帯域幅を大幅に節約できます。
また、長いチャットなどを容量不足を気にせずに管理、保存できます。
Sara Smoot
AICore を介して統合するのですね。
AICore で利用できるのは Gemini Nano 4 モデルです。
Gemini Nano 4 は、AICore を通じて構築、実行される Gemma です。
AICore は、いくつかの便利な機能を提供します。
これは最も手間のかからない方法です。もう一つの方法についても簡単に説明します。
もう 1 つのパスは LiteRT を経由するもので、よりカスタムで実践的なパスです。
この方法を選択した場合、モデルはアプリにバンドルされます。
デバイスでホストされている共有モデルは使用されません。
そのため、メモリに注意する必要があります。
消費電力に注意する必要があります。
スマートフォンのリソースと管理方法について、より実践的な知識が必要になります。
ただし、完全な制御が可能になります。
LiteRT でファインチューニングを使用すると、カスタマイズのオプションが増えます。
AICore を使用する場合は、ML ツールキット API を使用できます。これは最も簡単な方法です。
これを使用すると、これまで説明したすべての機能を利用できます。レイヤごとのエンベディングが適切に処理され、ランタイムは RAM にないパラメータ、RAM にないエンベディング パラメータをサポートします。
MTP がすでに組み込まれているため、自動的に動作します。
また、モバイル量子化も使用しています。
また、その量子化をホストして適切に動作するように設計されたランタイムで実行されます。
つまり、必要な場所で 2 ビット精度で実行して処理できるため、非常に効率的です。
さらに詳しく知りたい場合は、他にも 2 つの講演が予定されています。
David の ML Kit セッションでは、Gemini Nano 4 のパス、ML Kit を通じてモデルを使用する方法について説明します。Chintan と Fergus の LiteRT セッションでは、LiteRT の使用方法と LiteRT を使用した開発方法について説明します。
Gemma のリクエスト フローは次のようになります。
API サーフェスが入力処理を行い、これらはすべて組み込みで提供されます。
入力処理の一部は安全シグナルです。
AICore には、組み込みの安全機能がいくつか用意されています。
モデルには多くの安全性が組み込まれています。
これは、モバイルアプリの安全性をさらに高めるためのものです。
機能構成を通過してから、オンデバイス ランタイムを通過します。
出力でも、安全性が再度チェックされます。
出力シグナルをチェックして、安全な出力が生成されていることを確認します。
これは、モデルに組み込まれているセキュリティに加えて、追加のセキュリティ レイヤとなります。
また、更新も行い、アプリ間で共有されます。
特に複数のアプリを構築する場合や、バンドルされたモデルを管理したくない場合は、この方法が最適です。多くの機能が最初から組み込まれています。
Sara Smoot
それでは、デモに移ります。
これは音声アシスタントです。
ノートパソコンに表示します。
注目していただきたいのは、完全にローカルで、デバイス上で実行されていることです。
VAD を使用してカスケードされます。
STT を経て Gemma に入力され、TTS(テキスト読み上げモデル)を通過します。
ストリーミングであり、E2B モデルでも実行されています。
これはノートパソコンで実行されていますが、スマートフォンで実行されているモデルとまったく同じです。
これらはすべてスマートフォンで行うことができます。
このデモは LiteRT で構築されています。
ML Kit でも構築できるはずです。
レイテンシに注意してください。サーバーの往復はなく、中断がどのように処理されるかを確認してください。
Gemma、自己紹介をしてください。
私は Google DeepMind が開発した大規模言語モデルの Gemma 4 です。
テキストと画像を処理して情報を提供し、タスクを完了します。
いいですね
シェイクスピアについて少し教えてください。
ウィリアム・シェイクスピアは、英語圏で最も偉大な作家として広く知られている、イギリスの劇作家兼詩人です。
すみません、ちょっと待ってください。
何ていうか
太陽系について詳しく知りたい。
それについて教えていただけますか?
太陽系は、太陽と、太陽の重力に引き寄せられているすべての天体(8 つの惑星、準惑星、衛星、小惑星、彗星など)で構成されています。
すごい
ブラックホールの仕組みを説明して。
ブラックホールは、巨大な星が自身の重力で崩壊するときに形成され、重力が非常に強いため、光さえも逃れられない時空の領域を作り出します。
すごい
ありがとうございました
どういたしまして。
他にもご不明な点がございましたら、お気軽にお問い合わせください。
それでは
音声アシスタントがあります。
次は
これは、動画機能を使用したローカル アシスタントになります。
完全にオフラインで、その点を強調するために、デモはキャンプ中、つまり大自然の中で行われています。
注意すべき点は、これが E4B モデルをベースに構築されていることです。
自然な会話ができる。
私たちは、モデルに物事のやり方を教えることになります。
バックグラウンドでツール呼び出しを使用しており、スマートフォン上のさまざまなものにアクセスできます。
そして、とても遊び心があります。
Hey Gemma、インターネットに接続されている?
いいえ、現在インターネットに接続していません。
この警告は何に関するものですか?
これはスペイン語です。
この標識は、ピューマの生息地に関する警告です。
ピューマは地域の環境の一部であり、遭遇した場合は注意が必要であるとアドバイスしています。
この関数の導関数は何ですか?
x の 2 乗 + 7x + 10 の導関数は 2x + 7 です。
面白いですね。
おっと こんにちは
Cindy さん、
Gemma、今夜のグループ ハイキングは何時から?
グループ ハイキングは午後 6 時に予定されています。
今すぐに
これはピューマですか?
いいえ、これは犬です。
いい子ですね
Sara Smoot
では、構築を始めましょう。
これらのリンクは、実際にはチェックポイントへのリンクです。
チェックポイントを直接確認したり、モデルコードを確認したりしたい場合は、すべて利用可能です。
ML を使用できます。Gemma、Gemini Nano 4、ML Kit のリンクがあります。
チェックポイントは Hugging Face にあり、コードは Transformers コードベースにあります。
これまでの取り組みをご確認いただけます。
Kaggle からチェックポイントを取得することもできます。
ML Kit について詳しく知りたい場合は、David の ML Kit のプレゼンテーションをご覧ください。
その後、Chintan と Fergus による LiteRT のプレゼンテーションもあります。
LiteRT を使用してアプリでモデルにアクセスして使用する方法を確認する場合。
ありがとうございました
皆様がどのようなものを構築されるか、楽しみにしております。