Gemma3:Google开源多模态神器,轻量高效,精通140+语言,解锁文本与图像任务

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 在当今快速发展的 AI 领域,多模态模型正逐渐成为推动技术革新的重要力量。Google 最新推出的 Gemma 3 模型,凭借其轻量级、多模态的特性,为文本生成和图像理解任务带来了全新的可能性。它不仅支持文本和图像输入,还具备强大的语言处理能力,覆盖超过 140 种语言,并且能够在资源有限的设备上高效运行。从问答到摘要,从推理到图像分析,Gemma 3 正在重新定义 AI 模型的边界,为开发者和研究人员提供了一个极具潜力的工具。

00.引言

在当今快速发展的 AI 领域,多模态模型正逐渐成为推动技术革新的重要力量。Google 最新推出的 Gemma 3 模型,凭借其轻量级、多模态的特性,为文本生成和图像理解任务带来了全新的可能性。它不仅支持文本和图像输入,还具备强大的语言处理能力,覆盖超过 140 种语言,并且能够在资源有限的设备上高效运行。从问答到摘要,从推理到图像分析,Gemma 3 正在重新定义 AI 模型的边界,为开发者和研究人员提供了一个极具潜力的工具。

01.描述

Gemma 是来自 Google 的一系列轻量级、最先进的开源模型,基于用于创建 Gemini 模型的相同研究和技术构建。Gemma 3 模型是多模态的,处理文本和图像输入并生成文本输出,包括预训练变体和指令调优变体的开放权重。Gemma 3 具有大的 128K 上下文窗口,支持超过 140 种语言,并且比前代版本提供更多的尺寸选择。Gemma 3 模型非常适合各种文本生成和图像理解任务,包括问答、摘要和推理。它们相对较小的体积使得可以在资源有限的环境中部署,如笔记本电脑、台式机或您自己的云基础设施,从而普及了对最先进 AI 模型的访问,并帮助每个人促进创新。

02.输入和输出

  • 输入:
  • 文本字符串,例如问题、提示或需要总结的文档
  • 图像,归一化为 896 x 896 分辨率,并编码为每个 256 个令牌
  • 对于 4B、12B 和 27B 尺寸,总输入上下文为 128K 令牌;对于 1B 尺寸,总输入上下文为 32K 令牌
  • 输出:
  • 根据输入生成的文本,例如对问题的回答、图像内容分析或文档摘要
  • 总输出上下文为 8192 令牌

使用方法

模型推理

环境安装

!pip install git+https://github.com/huggingface/transformers@v4.49.0-Gemma-3

推理代码

from transformers import AutoTokenizer, BitsAndBytesConfig, Gemma3ForCausalLM
import torch
from modelscope import snapshot_download
model_id = snapshot_download("LLM-Research/gemma-3-1b-it")
#quantization_config = BitsAndBytesConfig(load_in_8bit=True)
model = Gemma3ForCausalLM.from_pretrained(
    model_id
).eval()
tokenizer = AutoTokenizer.from_pretrained(model_id)
messages = [
    [
        {
            "role": "system",
            "content": [{"type": "text", "text": "You are a helpful assistant."},]
        },
        {
            "role": "user",
            "content": [{"type": "text", "text": "Write a poem on Hugging Face, the company"},]
        },
    ],
]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)
with torch.inference_mode():
    outputs = model.generate(**inputs, max_new_tokens=64)
outputs = tokenizer.batch_decode(outputs)

模型微调

ms-swift已经支持了gemma3系列模型的微调。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 .

使用文本数据集训练gemma3-1b-it模型

CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model LLM-Research/gemma-3-1b-it \
    --train_type lora \
    --dataset 'AI-ModelScope/alpaca-gpt4-data-zh#5000' \
              'AI-ModelScope/alpaca-gpt4-data-en#5000' \    
    --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 \
    --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

训练显存占用:

添加图片注释,不超过 140 字(可选)

使用OCR图像数据集训练gemma3-4b-it模型

CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model LLM-Research/gemma-3-4b-it \
    --dataset 'AI-ModelScope/LaTeX_OCR:human_handwrite#20000' \
    --train_type dummy \
    --torch_dtype bfloat16 \
    --num_train_epochs 1 \
    --per_device_train_batch_size 1 \
    --per_device_eval_batch_size 1 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --eval_steps 200 \
    --save_steps 200 \
    --save_total_limit 5 \
    --logging_steps 5 \
    --max_length 2048 \
    --output_dir output \
    --warmup_ratio 0.05 \
    --dataloader_num_workers 4

训练显存占用:

添加图片注释,不超过 140 字(可选)

如果要使用自定义数据集进行训练,你可以参考以下格式,并指定`--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"]}

训练完成后,使用以下命令对训练后的权重进行推理,这里的`--adapters`需要替换成训练生成的last checkpoint文件夹。

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

推送模型到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>'

点击链接跳转

google/gemma-3-1b-it

目录
相关文章
|
1月前
|
分布式计算 测试技术 Spark
科大讯飞开源星火化学大模型、文生音效模型
近期,科大讯飞在魔搭社区(ModelScope)和Gitcode上开源两款模型:讯飞星火化学大模型Spark Chemistry-X1-13B、讯飞文生音频模型AudioFly,助力前沿化学技术研究,以及声音生成技术和应用的探索。
169 2
|
1月前
|
机器学习/深度学习 数据采集 人工智能
通义实验室Mobile-Agent-v3开源,全平台SOTA的GUI智能体,支持手机电脑等多平台交互
近日,通义实验室MobileAgent团队正式开源全新图形界面交互基础模型 GUI-Owl,并同步推出支持多智能体协同的自动化框架 Mobile-Agent-v3。该模型基于Qwen2.5-VL打造,在手机端与电脑端共8个GUI任务榜单中全面刷新开源模型性能纪录,达成全平台SOTA。
476 2
|
1月前
|
人工智能 Rust 并行计算
AI大模型开发语言排行
AI大模型开发涉及多种编程语言:Python为主流,用于算法研发;C++/CUDA优化性能;Go/Rust用于工程部署;Java适配企业系统;Julia等小众语言用于科研探索。
761 127
|
1月前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
1053 58
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
28天前
|
人工智能 缓存 自然语言处理
Java与多模态AI:构建支持文本、图像和音频的智能应用
随着大模型从单一文本处理向多模态能力演进,现代AI应用需要同时处理文本、图像、音频等多种信息形式。本文深入探讨如何在Java生态中构建支持多模态AI能力的智能应用。我们将完整展示集成视觉模型、语音模型和语言模型的实践方案,涵盖从文件预处理、多模态推理到结果融合的全流程,为Java开发者打开通往下一代多模态AI应用的大门。
206 41
|
26天前
|
机器学习/深度学习 算法 物联网
Google开源Tunix:JAX生态的LLM微调方案来了
Tunix是Google推出的基于JAX的LLM后训练库,支持微调、强化学习与知识蒸馏,集成Flax NNX,主打TPU优化与模块化设计,支持QLoRA等高效训练方法,适用于高性能分布式训练场景。
187 13
Google开源Tunix:JAX生态的LLM微调方案来了
|
1月前
|
机器学习/深度学习 人工智能 测试技术
开源SOTA:阶跃发布端到端语音大模型Step-Audio 2 mini!
大家好,今天阶跃星辰正式发布最强开源端到端语音大模型 Step-Audio 2 mini,该模型在多个国际基准测试集上取得 SOTA 成绩。
445 21
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
阶跃星辰开源! Step 3 :最新一代基础大模型 ,多模推理,极致效率
阶跃星辰开源新一代大模型 Step 3,采用 MoE 架构,参数量达 321B,激活参数 32B,平衡推理效率与资源利用,具备强大多模态能力,支持复杂推理与视觉分析,已在多个评测集取得领先成绩。
245 10

热门文章

最新文章

推荐镜像

更多