世界を動かす技術を、日本語で。

Gemma 3nの紹介

概要

  • Gemma 3n は、オンデバイスAIの新時代を切り開く多機能モデル
  • 画像・音声・動画・テキスト のマルチモーダル入力をネイティブ対応
  • MatFormerPer-Layer Embeddings など革新的アーキテクチャを採用
  • 開発者コミュニティ向けに 幅広いツール・プラットフォーム でサポート
  • Gemma 3n Impact Challenge で社会貢献プロダクトの開発を推進

Gemma 3n:オンデバイスAIの新たな進化

  • Gemma 3n は、Gemmaシリーズの最新モデルであり、モバイル・エッジデバイス向けに設計
  • 160百万回以上のダウンロード を誇るGemmaverseの成長を背景に誕生
  • Hugging Face Transformersllama.cppOllamaMLX など主要ツールと連携
  • 開発者が 容易にファインチューニング・デプロイ 可能な設計
  • 医療・セキュリティ・画像認識 など多様な分野で応用可能

Gemma 3nの主な新機能

  • マルチモーダル設計 :画像・音声・動画・テキスト入力、テキスト出力に対応
  • 効率化重視の2サイズ展開 :E2B(5Bパラメータ、2GBメモリ)、E4B(8Bパラメータ、3GBメモリ)
  • MatFormerアーキテクチャ :1つのモデル内に複数サイズを内包し、柔軟な推論を実現
  • Per-Layer Embeddings (PLE) :高品質を維持しつつ、アクセラレータメモリの負担を軽減
  • KV Cache Sharing :長文・ストリーミング入力の処理速度を2倍に高速化

MatFormer:柔軟なモデルサイズ制御

  • MatFormer(Matryoshka Transformer) は、1つの大きなモデルの中に小さなサブモデルを内包
    • E4Bモデル 内に E2Bサブモデル を同時最適化
    • Mix-n-Match 手法で、E2B~E4B間のカスタムサイズモデルを生成可能
    • MatFormer Lab ツールで最適なモデルサイズを探索・取得
  • 将来的には Elastic Execution により、タスクや負荷に応じてリアルタイムで推論パスを切り替え可能

Per-Layer Embeddings (PLE):メモリ効率の最適化

  • PLE により、各層の埋め込みパラメータをCPUで効率的に処理
  • アクセラレータ(GPU/TPU)には コアTransformer重み のみをロード(E2Bで約2B、E4Bで約4B)
  • デバイスのメモリ制約下でも高性能AIの実現

KV Cache Sharing:長文処理の高速化

  • KV Cache Sharing により、ストリーミング応答や長文入力の初期処理(prefill)を高速化
  • Gemma 3 4B 比で 2倍のパフォーマンス向上
  • オンデバイスのマルチモーダルアプリで重要な機能

音声理解機能とASR/AST

  • Universal Speech Model (USM) ベースの音声エンコーダを搭載
  • 自動音声認識(ASR)自動音声翻訳(AST) に対応
  • 英語⇔スペイン語・フランス語・イタリア語・ポルトガル語間の翻訳で高精度
  • Chain-of-Thoughtプロンプト による翻訳精度向上
  • 現状30秒までの音声クリップをサポート、今後は長時間ストリーミングにも対応予定

MobileNet-V5:新世代ビジョンエンコーダ

  • MobileNet-V5-300M を搭載し、エッジデバイスでの画像・動画理解性能を大幅向上
  • 256x256~768x768 の複数解像度対応、用途に応じた柔軟な運用
  • Google Pixel で最大60fpsのリアルタイム処理
  • MobileNet-V4 を基盤にした深層ピラミッド構造・Multi-Scale Fusionアダプタを採用
  • 量子化時に SoViT 比で13倍の高速化、パラメータ数・メモリフットプリントも大幅削減
  • 今後、 MobileNet-V5技術レポート で詳細公開予定

開発・デプロイのエコシステム

  • AMDAxolotlDockerHugging FaceNVIDIARedHat など主要OSS開発者と連携
  • Google AI StudioCloud RunHugging FaceKaggle でモデル配布
  • Google AI Edge Gallery/LiteRT-LLMOllamaMLXllama.cpptransformers.js などで利用可能
  • Vertex AISGLangvLLMNVIDIA API Catalog など多様なデプロイ方法

Gemma 3n Impact Challenge:社会貢献プロダクトの創出

  • Gemma 3n のオンデバイス・オフライン・マルチモーダル特性を活かしたプロダクト開発を募集
  • 賞金総額15万ドル、インパクトあるデモ動画が評価基準
  • 参加を通じて より良い未来の構築 に貢献

Gemma 3nのはじめ方

  • Google AI Studio で数クリックで体験
  • Hugging FaceKaggle からモデル重みをダウンロード
  • 公式ドキュメントガイド で迅速な導入・ファインチューニングが可能
  • お気に入りのAIツール・フレームワークでプロジェクトに統合・デプロイ

Hackerたちの意見

GemmaとGeminiの違いがまだよくわからないんだよね。どっちもネット接続いらないし。https://developer.android.com/ai/gemini-nano の説明によると、「Gemini Nanoは、ネットワーク接続やクラウドにデータを送信することなく、リッチな生成AI体験を提供できる。」って書いてあるけど、GeminiをGemmaに変えても文が成り立つよね。

Perplexity.aiの回答は、Gemini 2.5よりもわかりやすかったと思う。Gemini nanoはAndroid専用で、Gemmaは他のプラットフォームでも使えるし、サイズの選択肢もいくつかあるみたい。だから、Gemini nanoは生物学のメタファーに従って、どこでも使えるGemmaに特化したものかもしれないね。

ライセンスについて。Gemini Nanoの重みは直接使えない(少なくとも商業的には)し、Android MLKitやGoogleが承認したランタイムを通じてやり取りしなきゃいけない。Gemmaは商業的に使えるから、どんなランタイムやフレームワークでも使って動かせるよ。

GemmaはオープンソースでApache 2.0ライセンスだよ。アプリに含めたいなら、自分でパッケージしなきゃいけない。Gemini nanoは全くコントロールできないAndroid APIだね。

違いはトレーニングデータにあると思う。Geminiはかなり制限されていて、もしトレーニングデータから何かをそのまま繰り返そうとすると、「暗唱エラー」が出るんだ。

誰かGGUFを試したい人がいたら作ったよ! ./llama.cpp/llama-cli -hf unsloth/gemma-3n-E4B-it-GGUF:UD-Q4_K_XL -ngl 99 --jinja --temp 0.0 ./llama.cpp/llama-cli -hf unsloth/gemma-3n-E2B-it-GGUF:UD-Q4_K_XL -ngl 99 --jinja --temp 0.0 それと、推論とファインチューニングのColabデモも作ってる!Gemma 3Nが音声、テキスト、ビジョンを持ってるのに感動してるよ!https://docs.unsloth.ai/basics/gemma-3n-how-to-run-and-fine-...

「Unsloth、頑張れ!!」って打ってたところだけど、君の方がずっと進んでるね。すごいよ <3 <3 <3 ありがとう!

この文脈での「jinja」って何?

ありがとう!どんな機材が必要なの?

LM StudioからMLXバリアントのモデルが出てるよ:http://huggingface.co/lmstudio-community/gemma-3n-E4B-it-MLX... でも、まだ8Bパラメータで、量子化されたモデルはまだないみたい。

Kevin Kwokが分解するのを上手くやったね: https://github.com/antimatter15/reverse-engineering-gemma-3n

OpenAIが業界標準にしたらしいこの無秩序な命名規則、あんまり好きじゃないな。

それを何て呼ぶつもりだった?

個人向けのこのローカルな小さなモデルの使い道って何かある?プログラミング関連の仕事には、やっぱりプロプライエタリなモデルの方が圧倒的に良いし、個人的にはそれしか使ってないんだよね。ただ、こういうのが役立つ商業的なアプリケーションもいくつか想像できるけど。ドキュメント処理のパイプラインとかで使えるかも。

ホームアシスタントで試してみたいな。

音声認識からテキストへの変換が、ローカルモデルの一番の使い道だと思う。今は本当に上手くなってるし、ネットワークの遅延もないからね。

スパムSMSメッセージをフィルタリングして、全てのSMSをクラウドに送らないようにする。

自分の写真コレクションの画像に対して、検索を楽にするために説明文を大量生成するパイプラインを作ろうかなって考えてる。ローカルモデルの物体認識はもうかなり良いし、特定の人を名前で認識するモデルとも組み合わせられるかもしれない。

自分にとっては、プライベートな音声メモや写真、動画、カレンダー情報、メール、ちょっとしたコードとかを扱うことかな。インターネットで共有したくないものだし、モデルがそれを吸い上げて記憶の一部として再利用されるのも嫌なんだよね。

つながりがない場所でも、快適に動く手頃なモデルにすぐアクセスできるのが好きなんだよね。

このモデルは、以前のgemma3と完全に互換性があるよ。自分のvlmファインチューニングスクリプトに渡したら、問題なく動き始めた(hfトランスフォーマーコード)。単一GPUでLoraを使うと、E4Bモデルはバッチサイズ1で18GBのVRAMを使うけど、gemma-4Bは21GBだった。deepmindからの良いものだね、gemma3ファミリーはオープンウェイトのVLLMの中でトップだよ。

「自転車に乗ったペリカンのSVGを生成して」ってプロンプトをOllamaのGemma 3n 7.5GBとmlx-vlmの15GBで試してみたら、二つの量子化サイズで面白い結果が得られたよ:https://simonwillison.net/2025/Jun/26/gemma-3n/

gemma 3nのデプロイ版を使うのにいくらかかるか知ってる人いる?ドキュメントにはgemini APIを使えるって書いてあるけど、料金ページには「利用不可」って表示されてる。

人気のSFって、誰かが自分や製品の名前をつけるのに30秒も耐えられないの?