モデル概要
モデル特徴
モデル能力
使用事例
🚀 Gemma 3nモデル
Gemma 3nはGoogleによって開発された軽量なマルチモーダルモデルです。Transformerアーキテクチャに基づいており、テキスト、オーディオ、ビジュアル(画像とビデオ)の入力をサポートしています。このモデルには様々なアーキテクチャの革新が盛り込まれており、低リソースのデバイスでも効率的に動作し、コンテンツ作成や研究教育などの様々な分野で利用できます。
🚀 クイックスタート
このリポジトリはGemma 3n E4Bのリリースバージョンに対応しており、Hugging Faceのtransformers
ライブラリと組み合わせて使用できます。テキスト、オーディオ、ビジュアル(画像とビデオ)の入力をサポートしています。
依存関係のインストール
Gemma 3nはtransformers 4.53.0バージョンからサポートされています。使用する前に、最新バージョンのtransformers
ライブラリをインストールする必要があります。
$ pip install -U transformers
実行例
pipeline
APIを使用した推論
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
torch_dtype=torch.bfloat16,
model="google/gemma-3n-e4b",
device="cuda",
)
output = pipe(
"https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg",
text="<image_soft_token> in this image, there is"
)
print(output)
# [{'input_text': '<image_soft_token> in this image, there is',
# 'generated_text': '<image_soft_token> in this image, there is a beautiful flower and a bee is sucking nectar and pollen from the flower.'}]
単一GPUでのモデル実行
from transformers import AutoProcessor, Gemma3nForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3n-e4b"
model = Gemma3nForConditionalGeneration.from_pretrained(model_id, device="cuda", torch_dtype=torch.bfloat16).eval()
processor = AutoProcessor.from_pretrained(model_id)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"
image = Image.open(requests.get(url, stream=True).raw)
prompt = "<image_soft_token> in this image, there is"
model_inputs = processor(text=prompt, images=image, return_tensors="pt").to(model.device)
input_len = model_inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**model_inputs, max_new_tokens=100)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
# a bee on a flower.
✨ 主な機能
- マルチモーダルサポート:テキスト、オーディオ、画像、ビデオの入力をサポートし、様々なタイプのタスクを処理できます。
- アーキテクチャの革新:MatFormerアーキテクチャを採用し、E4Bモデル内にサブモデルをネストできます。サブモデル(E2B)が提供されており、Mix-and-Match方法を使用して様々なカスタムサイズのモデルにアクセスすることもできます。
- 効率的な動作:有効パラメータに基づいて2種類のサイズが選択可能です。低利用率の行列をアクセラレータからアンロードすることで、メモリ使用量は従来の4Bモデルと同等になります。
- 多言語サポート:140種類以上の言語の学習データを使用しており、良好な多言語処理能力を備えています。
📦 インストール
Gemma 3nはtransformers 4.53.0バージョンからサポートされています。使用する前に、最新バージョンのtransformers
ライブラリをインストールする必要があります。
$ pip install -U transformers
💻 使用例
基本的な使用法
from transformers import pipeline
import torch
pipe = pipeline(
"image-text-to-text",
torch_dtype=torch.bfloat16,
model="google/gemma-3n-e4b",
device="cuda",
)
output = pipe(
"https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg",
text="<image_soft_token> in this image, there is"
)
print(output)
# [{'input_text': '<image_soft_token> in this image, there is',
# 'generated_text': '<image_soft_token> in this image, there is a beautiful flower and a bee is sucking nectar and pollen from the flower.'}]
高度な使用法
from transformers import AutoProcessor, Gemma3nForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3n-e4b"
model = Gemma3nForConditionalGeneration.from_pretrained(model_id, device="cuda", torch_dtype=torch.bfloat16).eval()
processor = AutoProcessor.from_pretrained(model_id)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"
image = Image.open(requests.get(url, stream=True).raw)
prompt = "<image_soft_token> in this image, there is"
model_inputs = processor(text=prompt, images=image, return_tensors="pt").to(model.device)
input_len = model_inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**model_inputs, max_new_tokens=100)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
# a bee on a flower.
📚 ドキュメント
モデル情報
説明
GemmaはGoogleによって開発された一連の軽量で先進的なオープンソースモデルで、Geminiモデルと同じ研究と技術に基づいて構築されています。Gemma 3nモデルは低リソースのデバイスでも効率的に動作するように設計されており、マルチモーダル入力をサポートし、テキスト、画像、ビデオ、オーディオの入力を処理し、テキスト出力を生成します。事前学習と命令微調整のバリエーションのオープンな重みが提供されています。これらのモデルは140種類以上の言語の学習データを使用しています。
Gemma 3nモデルは選択的パラメータ活性化技術を採用してリソース要件を削減しています。この技術により、モデルは2Bと4Bの有効パラメータサイズで動作でき、実際に含まれる総パラメータ数よりも少なくなります。Gemma 3nの効率的なパラメータ管理技術の詳細については、Gemma 3nページを参照してください。
入力と出力
属性 | 詳細 |
---|---|
入力 | 1. 質問、プロンプト、または要約するドキュメントなどのテキスト文字列 2. 256x256、512x512、または768x768の解像度に正規化され、それぞれ256個のトークンにエンコードされた画像 3. 単チャンネルで毎秒6.25個のトークンにエンコードされたオーディオデータ 4. 総入力コンテキストは32Kトークン |
出力 | 1. 画像内容分析、ドキュメント要約などの入力に対する生成テキスト応答 2. 総出力長は、リクエスト入力トークンを除いて最大32Kトークン |
モデルデータ
学習データセット
これらのモデルは、様々なソースのデータセットで学習されており、合計で約11兆個のトークンが含まれています。学習データの知識截止日は2024年6月で、主な構成要素は以下の通りです。
- ウェブドキュメント:多様なウェブテキストの集合で、モデルが幅広い言語スタイル、トピック、語彙に触れることができます。学習データセットには140種類以上の言語の内容が含まれています。
- コード:モデルがコードに触れることで、プログラミング言語の構文やパターンを学習し、コード生成やコード関連の問題の理解能力が向上します。
- 数学:数学テキストの学習により、モデルは論理的な推論、記号表現、数学的なクエリの処理を学習できます。
- 画像:幅広い画像データにより、モデルは画像分析やビジュアルデータの抽出タスクを実行できます。
- オーディオ:多様な音声サンプルにより、モデルは音声認識、録音からのテキスト転写、オーディオデータ内の情報の識別が可能になります。
これらの異なるデータソースの組み合わせは、様々なタスクやデータ形式を処理できる強力なマルチモーダルモデルを学習するために重要です。
データ前処理
学習データに適用される主なデータクリーニングとフィルタリング方法は以下の通りです。
- CSAMフィルタリング:データ準備段階の複数の段階で、厳格なCSAM(児童性虐待材料)フィルタリングが適用され、有害で違法な内容が排除されます。
- 敏感データフィルタリング:Gemma事前学習モデルを安全かつ信頼性の高いものにするための一環として、自動化技術を使用して学習データセットから特定の個人情報やその他の敏感データがフィルタリングされます。
- その他の方法:内容の品質と安全性に基づいてフィルタリングが行われ、当社のポリシーに準拠しています。
実装情報
ハードウェア
Gemmaはテンソル処理ユニット(TPU)ハードウェア(TPUv4p、TPUv5p、TPUv5e)を使用して学習されています。生成モデルの学習には大量の計算能力が必要であり、TPUは機械学習で一般的な行列演算用に特別に設計されており、以下のような利点があります。
- パフォーマンス:TPUは生成モデルの学習に関わる大量の計算を処理するように設計されており、CPUと比較して学習を大幅に高速化できます。
- メモリ:TPUは通常、大量の高帯域幅メモリを備えており、学習中に大規模なモデルやバッチサイズを処理でき、モデルの品質向上に役立ちます。
- 拡張性:TPU Pod(大型TPUクラスター)は、大型の基礎モデルの増大する複雑さを処理するための拡張可能なソリューションを提供し、学習を複数のTPUデバイスに分散させて、より高速かつ効率的な処理を実現できます。
- コスト効率:多くの場合、CPUベースのインフラストラクチャと比較して、TPUは大型モデルの学習によりコスト効率の高いソリューションを提供できます。特に、高速な学習による時間とリソースの節約を考慮すると、そのメリットが顕著です。
これらの利点はGoogleの持続可能な運用への取り組みと一致しています。
ソフトウェア
学習にはJAXとML Pathwaysが使用されています。JAXを使用することで、研究者は最新世代のハードウェア(TPUを含む)を活用して、より高速かつ効率的な大規模モデルの学習が可能になります。ML Pathwaysは、Googleが複数のタスクにまたがって汎化できる人工知能システムを構築する最新の取り組みであり、基礎モデル、特にこのような大規模言語モデルに特に適しています。
JAXとML Pathwaysの組み合わせについては、Geminiシリーズモデルに関する論文で以下のように説明されています。「JaxとPathwaysの「単一コントローラ」プログラミングモデルにより、単一のPythonプロセスで学習実行全体を編成でき、開発ワークフローが大幅に簡素化されます。」
評価
ベンチマークテスト結果
これらのモデルは、全精度(float32)で多数の異なるデータセットと指標に対して評価され、コンテンツ生成の様々な側面を網羅しています。ITとマークされた評価結果は命令微調整モデルに関するもので、PTとマークされた評価結果は事前学習モデルに関するものです。
推論と事実性
ベンチマーク | 指標 | n-shot | E2B PT | E4B PT |
---|---|---|---|---|
HellaSwag | 正解率 | 10-shot | 72.2 | 78.6 |
BoolQ | 正解率 | 0-shot | 76.4 | 81.6 |
PIQA | 正解率 | 0-shot | 78.9 | 81.0 |
SocialIQA | 正解率 | 0-shot | 48.8 | 50.0 |
TriviaQA | 正解率 | 5-shot | 60.8 | 70.2 |
Natural Questions | 正解率 | 5-shot | 15.5 | 20.9 |
ARC-c | 正解率 | 25-shot | 51.7 | 61.6 |
ARC-e | 正解率 | 0-shot | 75.8 | 81.6 |
WinoGrande | 正解率 | 5-shot | 66.8 | 71.7 |
BIG-Bench Hard | 正解率 | few-shot | 44.3 | 52.9 |
DROP | トークンF1スコア | 1-shot | 53.9 | 60.8 |
多言語
ベンチマーク | 指標 | n-shot | E2B IT | E4B IT |
---|---|---|---|---|
MGSM | 正解率 | 0-shot | 53.1 | 60.7 |
WMT24++ (ChrF) | 文字レベルFスコア | 0-shot | 42.7 | 50.1 |
Include | 正解率 | 0-shot | 38.6 | 57.2 |
MMLU (ProX) | 正解率 | 0-shot | 8.1 | 19.9 |
OpenAI MMLU | 正解率 | 0-shot | 22.3 | 35.6 |
Global-MMLU | 正解率 | 0-shot | 55.1 | 60.3 |
ECLeKTic | ECLeKTicスコア | 0-shot | 2.5 | 1.9 |
STEMとコード
ベンチマーク | 指標 | n-shot | E2B IT | E4B IT |
---|---|---|---|---|
GPQA Diamond | 緩やかな正解率/正解率 | 0-shot | 24.8 | 23.7 |
LiveCodeBench v5 | pass@1 | 0-shot | 18.6 | 25.7 |
Codegolf v2.2 | pass@1 | 0-shot | 11.0 | 16.8 |
AIME 2025 | 正解率 | 0-shot | 6.7 | 11.6 |
その他のベンチマーク
ベンチマーク | 指標 | n-shot | E2B IT | E4B IT |
---|---|---|---|---|
MMLU | 正解率 | 0-shot | 60.1 | 64.9 |
MBPP | pass@1 | 3-shot | 56.6 | 63.6 |
HumanEval | pass@1 | 0-shot | 66.5 | 75.0 |
LiveCodeBench | pass@1 | 0-shot | 13.2 | 13.2 |
HiddenMath | 正解率 | 0-shot | 27.7 | 37.7 |
Global-MMLU-Lite | 正解率 | 0-shot | 59.0 | 64.5 |
MMLU (Pro) | 正解率 | 0-shot | 40.5 | 50.6 |
倫理とセキュリティ
評価方法
当社の評価方法には、構造化評価と関連する内容ポリシーに関する内部レッドチームテストが含まれています。レッドチームテストは複数の異なるチームによって行われ、各チームには異なる目標と人間による評価指標が設定されています。これらのモデルは、倫理とセキュリティに関連する複数の異なるカテゴリに対して評価され、以下のものが含まれます。
- 児童安全:テキストからテキスト、画像からテキストのプロンプトを評価し、児童性虐待や搾取を含む児童安全ポリシーを対象としています。
- コンテンツセキュリティ:テキストからテキスト、画像からテキストのプロンプトを評価し、嫌がらせ、暴力や血腥な内容、ハイトスピーチを含むセキュリティポリシーを対象としています。
- 表現上の危害:テキストからテキスト、画像からテキストのプロンプトを評価し、偏見、ステレオタイプ、有害な関連付けや不正確な情報を含むセキュリティポリシーを対象としています。
開発段階の評価に加えて、当社は「保証評価」を行っています。これは当社の独立した内部評価であり、責任あるガバナンスの決定に利用されます。これらの評価はモデル開発チームとは別に行われ、リリース決定に情報を提供します。高レベルの評価結果はモデルチームにフィードバックされますが、プロンプトセットは公開されず、過学習を防ぎ、結果を決定に役立てる能力を維持します。顕著な保証評価結果は、リリースレビューの一環として当社の責任とセキュリティ委員会に報告されます。
評価結果
すべてのセキュリティテスト分野において、以前のGemmaモデルと比較して、児童安全、コンテンツセキュリティ、表現上の危害などのカテゴリでセキュリティレベルの向上が見られました。すべてのテストはセキュリティフィルターを使用せずに行われ、モデルの能力と動作を評価しました。テキストからテキスト、画像からテキスト、オーディオからテキスト、およびすべてのモデルサイズについて、モデルはポリシー違反を最小限に抑え、以前のGemmaモデルと比較して高い重大度の違反に関して著しい改善を示しました。当社の評価の限界の1つは、主に英語のプロンプトが含まれていることです。
使用と制限
想定される用途
オープンソース生成モデルは、様々な業界や分野で幅広く使用されています。以下の潜在的な用途のリストは網羅的ではなく、モデル作成者がモデルの学習と開発過程で考慮した可能なユースケースに関するコンテキスト情報を提供することを目的としています。
- コンテンツ作成とコミュニケーション
- テキスト生成:詩、脚本、コード、マーケティングコピー、電子メール草稿などの創造的なテキスト形式を生成します。
- チャットボットと対話型AI:カスタマーサービス、バーチャルアシスタント、またはインタラクティブなアプリケーションの対話インターフェースを提供します。
- テキスト要約:テキストコーパス、研究論文、またはレポートの簡潔な要約を生成します。
- 画像データ抽出:ビジュアルデータを抽出、解釈、要約してテキストコミュニケーションに利用します。
- オーディオデータ抽出:口頭の言葉を文字起こし、音声を他の言語のテキストに翻訳し、音声データを分析します。
- 研究と教育
- 自然言語処理(NLP)と生成モデルの研究:これらのモデルは、研究者が生成モデルやNLP技術を試験し、アルゴリズムを開発し、この分野を発展させるための基礎として利用できます。
- 言語学習ツール:インタラクティブな言語学習体験をサポートし、文法の修正や作文練習を支援します。
- 知識探索:要約を生成したり、特定のトピックに関する質問に回答することで、研究者が大量のデータを探索するのを支援します。
制限
- 学習データ
- 学習データの品質と多様性はモデルの能力に大きく影響します。学習データに含まれるバイアスやギャップは、モデルの応答に制限をもたらす可能性があります。
- 学習データセットの範囲は、モデルが効果的に処理できるトピック領域を決定します。
- コンテキストとタスクの複雑さ
- モデルは、明確なプロンプトと命令で表現できるタスクに長けています。オープンエンドまたは非常に複雑なタスクは、モデルにとって挑戦的な場合があります。
🔧 技術詳細
Gemma 3nモデルにはいくつかのアーキテクチャの革新が盛り込まれています。
- 有効パラメータ設計:有効パラメータに基づいて2種類のサイズが選択可能です。このモデルの元のパラメータ数は8Bですが、アーキテクチャ設計により、低利用率の行列をアクセラレータからアンロードすることで、メモリ使用量は従来の4Bモデルと同等になります。
- MatFormerアーキテクチャ:MatFormerアーキテクチャを使用し、E4Bモデル内にサブモデルをネストできます。サブモデル(E2B)が提供されており、Mix-and-Match方法を使用して様々なカスタムサイズのモデルにアクセスすることもできます。
これらの技術に関する詳細情報は、技術ブログ記事とGemmaドキュメントを参照してください。
📄 ライセンス
このモデルのライセンスはgemmaです。使用する前に、Gemma 3nを訪問して詳細を確認してください。
Gemmaへのアクセス
Hugging FaceでGemmaにアクセスするには、Googleの使用許諾を確認して同意する必要があります。これを行うには、Hugging Faceにログインして以下のボタンをクリックしてください。リクエストはすぐに処理されます。 許諾を確認
引用
@article{gemma_3n_2025,
title={Gemma 3n},
url={https://ai.google.dev/gemma/docs/gemma-3n},
publisher={Google DeepMind},
author={Gemma Team},
year={2025}
}
モデルページとリソース
⚠️ 重要な注意事項
このリポジトリはGemma 3n E4Bのリリースバージョンに対応しています。使用する際には、transformersのバージョンが4.53.0以上であることを確認してください。
💡 使用上のヒント
モデルを使用する際には、具体的なタスクに合わせて適切な入力形式とパラメータを選択することをおすすめします。これにより、より良い結果が得られます。同時に、学習データの制限に注意し、複雑なタスクにはより明確なプロンプトと命令を提供することを試してみてください。








