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

简介: 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

目录
相关文章
|
2月前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
586 4
|
2月前
|
机器学习/深度学习 人工智能 人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
383 121
|
2月前
|
数据采集 人工智能 搜索推荐
智能新纪元:多模态大模型如何重塑人机交互
智能新纪元:多模态大模型如何重塑人机交互
240 113
|
2月前
|
人工智能 人机交互 知识图谱
当AI学会“融会贯通”:多模态大模型如何重塑未来
当AI学会“融会贯通”:多模态大模型如何重塑未来
298 114
|
2月前
|
人工智能 安全 搜索推荐
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
273 117
|
2月前
|
机器学习/深度学习 存储 缓存
大模型推理加速技术:PagedAttention原理与实现
本文深入解析大语言模型推理中的革命性技术——PagedAttention,该技术是vLLM推理引擎的核心创新。通过将操作系统中的虚拟内存分页概念引入注意力机制,PagedAttention有效解决了KV缓存的内存碎片问题,实现了近乎零浪费的KV缓存管理。文章详细阐述其原理、内存管理机制、实现细节,并提供完整的代码示例和性能分析。
317 1
|
5月前
|
存储
阿里云轻量应用服务器收费标准价格表:200Mbps带宽、CPU内存及存储配置详解
阿里云香港轻量应用服务器,200Mbps带宽,免备案,支持多IP及国际线路,月租25元起,年付享8.5折优惠,适用于网站、应用等多种场景。
1876 0
|
5月前
|
存储 缓存 NoSQL
内存管理基础:数据结构的存储方式
数据结构在内存中的存储方式主要包括连续存储、链式存储、索引存储和散列存储。连续存储如数组,数据元素按顺序连续存放,访问速度快但扩展性差;链式存储如链表,通过指针连接分散的节点,便于插入删除但访问效率低;索引存储通过索引表提高查找效率,常用于数据库系统;散列存储如哈希表,通过哈希函数实现快速存取,但需处理冲突。不同场景下应根据访问模式、数据规模和操作频率选择合适的存储结构,甚至结合多种方式以达到最优性能。掌握这些存储机制是构建高效程序和理解高级数据结构的基础。
561 1