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

目录
相关文章
|
29天前
|
分布式计算 测试技术 Spark
科大讯飞开源星火化学大模型、文生音效模型
近期,科大讯飞在魔搭社区(ModelScope)和Gitcode上开源两款模型:讯飞星火化学大模型Spark Chemistry-X1-13B、讯飞文生音频模型AudioFly,助力前沿化学技术研究,以及声音生成技术和应用的探索。
163 2
|
1月前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
1014 58
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
26天前
|
人工智能 缓存 自然语言处理
Java与多模态AI:构建支持文本、图像和音频的智能应用
随着大模型从单一文本处理向多模态能力演进,现代AI应用需要同时处理文本、图像、音频等多种信息形式。本文深入探讨如何在Java生态中构建支持多模态AI能力的智能应用。我们将完整展示集成视觉模型、语音模型和语言模型的实践方案,涵盖从文件预处理、多模态推理到结果融合的全流程,为Java开发者打开通往下一代多模态AI应用的大门。
203 41
|
8天前
|
人工智能 自然语言处理 自动驾驶
超越文本:多模态大语言模型如何让AI“看世界
超越文本:多模态大语言模型如何让AI“看世界
|
27天前
|
自然语言处理 安全
Min-p采样:通过动态调整截断阈值让大模型文本生成兼顾创造力与逻辑性
大语言模型通过预测下一个词生成文本,采样策略决定其创造力与连贯性。Min-p采样根据模型置信度动态调整选择阈值,在高不确定性时扩大候选范围,低不确定性时聚焦高概率词,相较Top-k、Top-p等方法,更好平衡了多样性与质量,尤其在高温下仍保持输出稳定,提升生成文本的流畅性与创新性。
88 3
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
88_多模态提示:图像与文本融合
在人工智能领域的快速发展中,多模态融合已成为突破单一模态限制、实现更全面智能理解的关键技术方向。人类理解世界的方式天然是多模态的——我们同时通过视觉、听觉、语言等多种感官获取信息并进行综合分析。例如,在餐厅点餐时,我们会同时处理菜单上的图片、服务员的介绍和菜品的文字描述,最终做出决策。这种自然的多模态信息整合能力,正是人工智能系统长期以来努力追求的目标。
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
4643 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
241 0

热门文章

最新文章