Gemma 3n正式版开源:谷歌全新端侧多模态大模型,2GB 内存就能跑,重点提升编码和推理能力!

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 6月底,Google正式开源发布了全新端侧多模态大模型 Gemma 3n!相较此前的预览版,最新的 Gemma 3n 完整版进一步提升性能表现,支持在 2GB 内存的硬件上本地运行,重点提升了编码和推理方面的能力。

01.引言

6月底,Google正式开源发布了全新端侧多模态大模型 Gemma 3n!相较此前的预览版,最新的 Gemma 3n 完整版进一步提升性能表现,支持在 2GB 内存的硬件上本地运行,重点提升了编码和推理方面的能力。

Gemma是来自Google的一系列轻量级、最先进的开放模型, 它们基于创建Gemini模型所用的相同研究和技术构建。 Gemma 3n模型专为在资源有限的设备上高效执行而设计。 它们能够处理多模态输入,包括文本、图像、视频和音频 输入,并生成文本输出,提供了预训练和指令调优变体的开放权重。这些模型使用了超过140种口语语言的数据进行训练。

Gemma 3n模型采用动态参数激活技术降低硬件负载,本次开源版本提供5B(E2B)与8B(E4B)两种规格。通过针对设备端的专属架构创新,可分别以传统2B、4B参数规模模型相当的内存运行,其实际运算量显著低于标称参数总量。有关Gemma 3n高效参数管理技术的更多信息,请参阅 Gemma 3n(https://ai.google.dev/gemma/docs/gemma-3n?hl=zh-cn#parameters) 页面。

模型链接:

  • gemma-3n-E4B

https://www.modelscope.cn/models/google/gemma-3n-E4B

  • gemma-3n-E4B-it

https://www.modelscope.cn/models/google/gemma-3n-E4B-it

  • gemma-3n-E2B

https://www.modelscope.cn/models/google/gemma-3n-E2B

  • gemma-3n-E2B-it

https://www.modelscope.cn/models/google/gemma-3n-E2B-it

02.模型数据

用于模型训练的数据以及数据处理方式

训练数据集

这些模型在一个包含多种来源的大约11万亿个token的数据集上进行了训练。训练数据的知识截止日期为2024年6月。以下是主要组成部分:

网页文档:多样化的网页文本确保模型接触到广泛的语言风格、主题和词汇。训练数据集包括超过140种语言的内容。

代码:让模型接触代码有助于学习编程语言的语法和模式,从而提高其生成代码和理解与代码相关问题的能力。

 

数学:通过数学文本进行训练有助于模型学习逻辑推理、符号表示,并解决数学查询。

图像:广泛的图像使模型能够执行图像分析和视觉数据提取任务。

音频:多样的声音样本使模型能够识别语音、从录音中转录文本并识别音频数据中的信息。

这些多样化数据源的结合对于训练一个强大的多模态模型至关重要,该模型能够处理各种不同的任务和数据格式。

数据预处理

以下是应用于训练数据的关键数据清理和过滤方法:

CSAM 过滤:在数据准备过程的多个阶段应用了严格的 CSAM(儿童性虐待材料)过滤,以确保排除有害和非法内容。

敏感数据过滤:为了使 Gemma 预训练模型安全可靠,使用了自动化技术从训练集中过滤出某些个人信息和其他敏感数据。

其他方法:根据我们的政策对内容质量和安全性进行过滤。

(chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://ai.google/static/documents/ai-responsibility-update-published-february-2025.pdf)

03.输入和输出

输入:

  • 文本字符串:例如问题、提示或待总结的文档
  • 图像:归一化为256x256、512x512或768x768分辨率,并编码为每个256个token
  • 音频数据:从单声道编码为每秒6.25个token
  • 总输入上下文为32K个token

输出:

  • 生成对输入的响应文本,例如对问题的回答、图像内容分析或文档摘要
  • 总输出长度可达32K个token,减去请求输入的token数

04.评估

模型评估指标和结果如下:

基准测试结果

这些模型在全精度(float32)下针对大量不同的数据集和指标进行了评估,以覆盖内容生成的不同方面。标记为 IT 的评估结果是针对指令调优模型的。标记为 PT 的评估结果是针对预训练模型的。

推理与事实性

Benchmark

Metric

n-shot

E2B PT

E4B PT

HellaSwag

Accuracy

10-shot

72.2

78.6

BoolQ

Accuracy

0-shot

76.4

81.6

PIQA

Accuracy

0-shot

78.9

81.0

SocialIQA

Accuracy

0-shot

48.8

50.0

TriviaQA

Accuracy

5-shot

60.8

70.2

Natural Questions

Accuracy

5-shot

15.5

20.9

ARC-c

Accuracy

25-shot

51.7

61.6

ARC-e

Accuracy

0-shot

75.8

81.6

WinoGrande

Accuracy

5-shot

66.8

71.7

BIG-Bench Hard

Accuracy

few-shot

44.3

52.9

DROP

Token F1 score

1-shot

53.9

60.8

多语言

Benchmark

Metric

n-shot

E2B IT

E4B IT

MGSM:

Accuracy

0-shot

53.1

60.7

WMT24++ (ChrF)

Character-level F-score

0-shot

42.7

50.1

Include

Accuracy

0-shot

38.6

57.2

MMLU (ProX)

Accuracy

0-shot

8.1

19.9

OpenAI MMLU

Accuracy

0-shot

22.3

35.6

Global-MMLU

Accuracy

0-shot

55.1

60.3

ECLeKTic

ECLeKTic score

0-shot

2.5

1.9

STEM and 代码

Benchmark

Metric

n-shot

E2B IT

E4B IT

GPQA Diamond

RelaxedAccuracy/accuracy

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

Accuracy

0-shot

6.7

11.6

其他benchmarks

Benchmark

Metric

n-shot

E2B IT

E4B IT

MMLU

Accuracy

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

Accuracy

0-shot

27.7

37.7

Global-MMLU-Lite

Accuracy

0-shot

59.0

64.5

MMLU (Pro)

Accuracy

0-shot

40.5

50.6

在哪些场景可以用

Gemma-3n-E4B-it在各行各业和各个领域都有广泛的应用。以下潜在用途列表并不全面。该列表的目的是提供关于模型创建者在模型训练和开发过程中考虑的可能用例的背景信息。

内容创作与沟通

  • 文本生成:生成创意文本格式,如诗歌、剧本、代码、营销文案和电子邮件草稿。
  • 聊天机器人和对话式AI:为客服、虚拟助手或交互式应用程序提供对话界面支持。
  • 文本摘要:生成文本语料库、研究论文或报告的简洁摘要。
  • 图像数据提取:为文本通信提取、解释并总结视觉数据。
  • 音频数据提取:将口语转录成文字,在其他语言中进行语音到文本的翻译,并分析基于声音的数据。

研究与教育

  • 自然语言处理(NLP)和生成模型研究:这些模型可以作为研究人员实验生成模型和NLP技术的基础,开发算法,并推动该领域的发展。
  • 语言学习工具:支持互动的语言学习体验,帮助纠正语法或提供写作练习。
  • 知识探索:通过生成摘要或回答特定主题的问题来帮助研究人员探索大量数据。

05.使用方法

以下是一些快速开始运行模型的代码片段。首先,安装Transformers库。Gemma 3n从transformers 4.53.0版本开始支持。

$ pip install -U transformers

image.gif

from modelscope import AutoProcessor, Gemma3nForConditionalGeneration
from PIL import Image
import requests
import torch
model_id = "google/gemma-3n-e4b-it"
model = Gemma3nForConditionalGeneration.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16,).eval()
processor = AutoProcessor.from_pretrained(model_id)
messages = [
    {
        "role": "system",
        "content": [{"type": "text", "text": "You are a helpful assistant."}]
    },
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"},
            {"type": "text", "text": "Describe this image in detail."}
        ]
    }
]
inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)
input_len = inputs["input_ids"].shape[-1]
with torch.inference_mode():
    generation = model.generate(**inputs, max_new_tokens=100, do_sample=False)
    generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
# **Overall Impression:** The image is a close-up shot of a vibrant garden scene,
# focusing on a cluster of pink cosmos flowers and a busy bumblebee.
# It has a slightly soft, natural feel, likely captured in daylight.

image.gif

在GPU上运行模型

显存占用

image.gif 编辑

06.模型微调

ms-swift已经支持了gemma-3n系列模型的微调。ms-swift是魔搭社区官方提供的大模型与多模态大模型训练部署框架。

ms-swift开源地址:

https://github.com/modelscope/ms-swift

 

我们将展示可运行的微调demo,并给出自定义数据集的格式。

在开始微调之前,请确保您的环境已准备妥当。

# pip install git+https://github.com/modelscope/ms-swift.git
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .

image.gif

以google/gemma-3n-E4B-it模型为例,图像OCR微调脚本如下。更多任务,包括音频微调、grounding任务微调,可以参考这里:https://github.com/modelscope/ms-swift/tree/main/examples/train/multimodal

CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model google/gemma-3n-E4B-it \
    --dataset AI-ModelScope/LaTeX_OCR:human_handwrite#20000 \
    --train_type lora \
    --torch_dtype bfloat16 \
    --num_train_epochs 1 \
    --per_device_train_batch_size 1 \
    --per_device_eval_batch_size 1 \
    --learning_rate 1e-4 \
    --lora_rank 8 \
    --lora_alpha 32 \
    --target_modules all-linear \
    --freeze_vit true \
    --gradient_accumulation_steps 16 \
    --eval_steps 50 \
    --save_steps 50 \
    --save_total_limit 5 \
    --logging_steps 5 \
    --max_length 2048 \
    --output_dir output \
    --warmup_ratio 0.05 \
    --dataloader_num_workers 4

image.gif

训练显存占用:

image.gif 编辑

 

自定义数据集格式如下(system字段可选),只需要指定`--dataset <dataset_path>`即可:

{"messages": [{"role": "user", "content": "浙江的省会在哪?"}, {"role": "assistant", "content": "浙江的省会在杭州。"}]}
{"messages": [{"role": "user", "content": "<image><image>两张图片有什么区别"}, {"role": "assistant", "content": "前一张是小猫,后一张是小狗"}], "images": ["/xxx/x.jpg", "/xxx/x.png"]}
{"messages": [{"role": "system", "content": "你是个有用无害的助手"}, {"role": "user", "content": "<audio>猜测一下演讲者的年龄和性别"}, {"role": "assistant", "content": "20岁左右的女性"}], "videos": ["/xxx/x.wav"]}

image.gif

训练完成后,使用以下命令对训练时的验证集进行推理:

CUDA_VISIBLE_DEVICES=0 \
swift infer \
    --adapters output/vx-xxx/checkpoint-xxx \
    --stream false \
    --max_batch_size 1 \
    --load_data_args true \
    --max_new_tokens 2048

image.gif

推送模型到ModelScope:

CUDA_VISIBLE_DEVICES=0 \
swift export \
    --adapters output/vx-xxx/checkpoint-xxx \
    --push_to_hub true \
    --hub_model_id '<your-model-id>' \
    --hub_token '<your-sdk-token>'

image.gif

 

点击阅读原文,即可跳转模型合集~

https://www.modelscope.cn/models/google/gemma-3n-E4B

目录
打赏
0
1
1
0
386
分享
相关文章
阿里云AirCache技术实现多模态大模型高效推理加速,入选国际顶会ICCV2025
阿里云研发的AirCache技术被计算机视觉顶会ICCV2025收录,该技术通过激活跨模态关联、优化KV缓存压缩策略,显著提升视觉语言模型(VLMs)的推理效率与存储性能。实验表明,在保留仅10%视觉缓存的情况下,模型性能下降小于1%,解码延迟最高降低66%,吞吐量提升达192%。AirCache无需修改模型结构,兼容主流VLMs,已在教育、医疗、政务等多个行业落地应用,助力多模态大模型高效赋能产业智能化升级。
通义WebSailor开源,检索性能登顶开源榜单!
通义开源网络智能体WebSailor具备强大推理与检索能力,在复杂场景下表现优异,已登顶开源网络智能体榜单。其创新训练方法大幅提升了模型性能,适用于多领域复杂任务。
299 0
通义WebSailor开源,检索性能登顶开源榜单!
InternVL3开源:7种尺寸覆盖文、图、视频处理,多模态能力扩展至工业图像分析
4月11日,OpenGVLab开源发布InternVL3系列多模态大模型,涵盖1B至78B共7个尺寸。相比InternVL 2.5,其在多模态感知与推理能力上表现更优,并新增工具使用、GUI代理等功能。得益于原生多模态预训练,文本性能超越Qwen2.5系列。
通义首个音频生成模型 ThinkSound 开源,你的专业音效师
通义实验室推出首个音频生成模型ThinkSound,突破传统视频到音频生成技术局限,首次将思维链(CoT)应用于音频生成领域,实现高保真、强同步的空间音频生成。基于自研AudioCoT数据集,结合多模态大语言模型与统一音频生成模型,支持交互式编辑,显著提升音画匹配度与时序一致性。代码已开源,助力游戏、VR、AR等场景创新应用。
406 3
|
2月前
|
深入理解JVM,包含字节码文件,内存结构,垃圾回收,类的声明周期,类加载器
JVM全称是Java Virtual Machine-Java虚拟机JVM作用:本质上是一个运行在计算机上的程序,职责是运行Java字节码文件,编译为机器码交由计算机运行类的生命周期概述:类的生命周期描述了一个类加载,使用,卸载的整个过类的生命周期阶段:类的声明周期主要分为五个阶段:加载->连接->初始化->使用->卸载,其中连接中分为三个小阶段验证->准备->解析类加载器的定义:JVM提供类加载器给Java程序去获取类和接口字节码数据类加载器的作用:类加载器接受字节码文件。
323 55
Arthas memory(查看 JVM 内存信息)
Arthas memory(查看 JVM 内存信息)
190 6
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
1458 1
JVM简介—2.垃圾回收器和内存分配策略
本文介绍了Java垃圾回收机制的多个方面,包括垃圾回收概述、对象存活判断、引用类型介绍、垃圾收集算法、垃圾收集器设计、具体垃圾回收器详情、Stop The World现象、内存分配与回收策略、新生代配置演示、内存泄漏和溢出问题以及JDK提供的相关工具。
JVM简介—2.垃圾回收器和内存分配策略
JVM简介—1.Java内存区域
本文详细介绍了Java虚拟机运行时数据区的各个方面,包括其定义、类型(如程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和直接内存)及其作用。文中还探讨了各版本内存区域的变化、直接内存的使用、从线程角度分析Java内存区域、堆与栈的区别、对象创建步骤、对象内存布局及访问定位,并通过实例说明了常见内存溢出问题的原因和表现形式。这些内容帮助开发者深入理解Java内存管理机制,优化应用程序性能并解决潜在的内存问题。
255 29
JVM简介—1.Java内存区域
|
5月前
|
JVM: 内存、类与垃圾
分代收集算法将内存分为新生代和老年代,分别使用不同的垃圾回收算法。新生代对象使用复制算法,老年代对象使用标记-清除或标记-整理算法。
78 6

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等