模型简介
模型特点
模型能力
使用案例
🚀 Gemma 3 4B Instruct - llamafile
Gemma 3 4B Instruct - llamafile 是将 Google 的 Gemma 3 模型打包成可执行权重的形式,即 llamafile。它能让你在 Linux、MacOS、Windows、FreeBSD、OpenBSD 和 NetBSD 等系统上轻松、快速地使用该模型,支持 AMD64 和 ARM64 架构。
🚀 快速开始
要开始使用,你需要获取 Gemma 3 的权重和 llamafile 软件,它们包含在同一个文件中,可按以下步骤下载并运行:
wget https://huggingface.co/Mozilla/gemma-3-4b-it-llamafile/resolve/main/google_gemma-3-4b-it-Q6_K.llamafile
chmod +x google_gemma-3-4b-it-Q6_K.llamafile
./google_gemma-3-4b-it-Q6_K.llamafile
这些 llamafile 的默认操作模式是新的命令行聊天机器人界面。
✨ 主要特性
多系统支持
支持 Linux、MacOS、Windows、FreeBSD、OpenBSD 和 NetBSD 等系统,涵盖 AMD64 和 ARM64 架构。
多种使用方式
提供命令行聊天机器人界面、Web GUI 和高级 CLI 模式,满足不同使用场景。
大上下文窗口
模型最大上下文窗口大小为 128k 令牌,默认使用 8192 令牌的上下文窗口。
GPU 加速
支持在具有足够内存的 GPU 上使用 NVIDIA 或 AMD GPU 进行加速。
📦 安装指南
下载并运行 llamafile
wget https://huggingface.co/Mozilla/gemma-3-4b-it-llamafile/resolve/main/google_gemma-3-4b-it-Q6_K.llamafile
chmod +x google_gemma-3-4b-it-Q6_K.llamafile
./google_gemma-3-4b-it-Q6_K.llamafile
Linux 避免运行检测器错误
安装 APE 解释器:
sudo wget -O /usr/bin/ape https://cosmo.zip/pub/cosmos/bin/ape-$(uname -m).elf
sudo chmod +x /usr/bin/ape
sudo sh -c "echo ':APE:M::MZqFpD::/usr/bin/ape:' >/proc/sys/fs/binfmt_misc/register"
sudo sh -c "echo ':APE-jart:M::jartsr::/usr/bin/ape:' >/proc/sys/fs/binfmt_misc/register"
💻 使用示例
基础用法
使用默认命令行聊天机器人界面:
./google_gemma-3-4b-it-Q6_K.llamafile
高级用法
使用 Web GUI
./google_gemma-3-4b-it-Q6_K.llamafile --server
使用高级 CLI 模式
./google_gemma-3-4b-it-Q6_K.llamafile --cli -p 'four score and seven' --log-disable
📚 详细文档
使用说明
- 多行提问:可以使用三引号进行多行提问。
- 查看运行状态信息:可以传递
/stats
和/context
命令查看运行时状态信息。 - 更改系统提示:通过
-p "new system prompt"
标志更改系统提示。 - 中断模型:按 CTRL - C 中断模型。
- 退出:按 CTRL - D 退出。
上下文窗口设置
可以通过 -c 0
标志让 llamafile 使用最大上下文大小,也可以使用 -f book.txt
标志与书籍进行对话。
GPU 加速设置
- NVIDIA GPU:在具有足够内存的 NVIDIA GPU 上,传递
-ngl 999
标志使用 GPU 加速。若安装了 CUDA SDK,可传递--recompile
标志构建使用 cuBLAS 的 GGML CUDA 库以获得最佳性能。 - AMD GPU:在 Windows 上,若使用 AMD GPU,首次运行 llamafile 时应安装 ROCm SDK v6.1 并传递
--recompile --gpu amd
标志。
🔧 技术细节
模型信息
属性 | 详情 |
---|---|
模型类型 | 多模态模型,处理文本和图像输入,生成文本输出 |
训练数据 | 包括网络文档、代码、数学文本和图像等多种来源的数据 |
硬件
Gemma 模型使用 [Tensor Processing Unit (TPU)][tpu] 硬件(TPUv4p、TPUv5p 和 TPUv5e)进行训练。
软件
使用 [JAX][jax] 和 [ML Pathways][ml-pathways] 进行训练。
📄 许可证
许可证为 gemma,详情见 LICENSE。
模型相关信息
模型描述
Gemma 是 Google 推出的轻量级、先进的开放模型家族,基于与 Gemini 模型相同的研究和技术构建。Gemma 3 模型是多模态的,能处理文本和图像输入并生成文本输出,预训练和指令调优变体的权重均开放。它具有 128K 的大上下文窗口,支持 140 多种语言,且有比以前版本更多的尺寸可供选择。适用于各种文本生成和图像理解任务,如问答、摘要和推理等。由于其相对较小的尺寸,可部署在资源有限的环境中,如笔记本电脑、台式机或自己的云基础设施,使先进的 AI 模型更普及,促进创新。
输入输出
类型 | 详情 |
---|---|
输入 | 文本字符串(如问题、提示或待摘要的文档);图像(归一化为 896 x 896 分辨率,每个编码为 256 个令牌);4B、12B 和 27B 尺寸的总输入上下文为 128K 令牌,1B 尺寸为 32K 令牌 |
输出 | 对输入的生成文本响应(如问题的答案、图像内容分析或文档摘要);总输出上下文为 8192 令牌 |
运行示例
使用 pipeline
API 运行
from transformers import pipeline
import torch
pipe = pipeline("text-generation", model="google/gemma-3-4b-it", device="cuda", torch_dtype=torch.bfloat16)
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"},]
},
],
]
output = pipe(messages, max_new_tokens=50)
在单/多 GPU 上运行模型
from transformers import AutoTokenizer, BitsAndBytesConfig, Gemma3ForCausalLM
import torch
model_id = "google/gemma-3-4b-it"
quantization_config = BitsAndBytesConfig(load_in_8bit=True)
model = Gemma3ForCausalLM.from_pretrained(
model_id, quantization_config=quantization_config
).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).to(torch.bfloat16)
with torch.inference_mode():
outputs = model.generate(**inputs, max_new_tokens=64)
outputs = tokenizer.batch_decode(outputs)
引用
@article{gemma_2025,
title={Gemma 3},
url={https://goo.gle/Gemma3Report},
publisher={Kaggle},
author={Gemma Team},
year={2025}
}
训练数据集
这些模型在包含多种来源的文本数据集上进行训练。27B 模型使用 14 万亿个令牌进行训练,12B 模型使用 12 万亿个令牌,4B 模型使用 4 万亿个令牌,1B 模型使用 2 万亿个令牌。主要组成部分包括:
- 网络文档:多样化的网络文本集合,确保模型接触到广泛的语言风格、主题和词汇,训练数据集包含 140 多种语言的内容。
- 代码:让模型接触代码有助于学习编程语言的语法和模式,提高生成代码和理解代码相关问题的能力。
- 数学:在数学文本上进行训练有助于模型学习逻辑推理、符号表示和处理数学查询。
- 图像:广泛的图像使模型能够执行图像分析和视觉数据提取任务。
数据预处理
对训练数据应用的关键数据清理和过滤方法包括:
- CSAM 过滤:在数据准备过程的多个阶段应用严格的 CSAM(儿童性虐待材料)过滤,确保排除有害和非法内容。
- 敏感数据过滤:作为使 Gemma 预训练模型安全可靠的一部分,使用自动化技术从训练集中过滤掉某些个人信息和其他敏感数据。
- 其他方法:根据 [我们的政策][safety-policies] 基于内容质量和安全性进行过滤。
评估
基准测试结果
基准测试 | 指标 | Gemma 3 PT 1B | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|---|---|
[HellaSwag][hellaswag] | 10 - shot | 62.3 | 77.2 | 84.2 | 85.6 |
[BoolQ][boolq] | 0 - shot | 63.2 | 72.3 | 78.8 | 82.4 |
[PIQA][piqa] | 0 - shot | 73.8 | 79.6 | 81.8 | 83.3 |
[SocialIQA][socialiqa] | 0 - shot | 48.9 | 51.9 | 53.4 | 54.9 |
[TriviaQA][triviaqa] | 5 - shot | 39.8 | 65.8 | 78.2 | 85.5 |
[Natural Questions][naturalq] | 5 - shot | 9.48 | 20.0 | 31.4 | 36.1 |
[ARC - c][arc] | 25 - shot | 38.4 | 56.2 | 68.9 | 70.6 |
[ARC - e][arc] | 0 - shot | 73.0 | 82.4 | 88.3 | 89.0 |
[WinoGrande][winogrande] | 5 - shot | 58.2 | 64.7 | 74.3 | 78.8 |
[BIG - Bench Hard][bbh] | few - shot | 28.4 | 50.9 | 72.6 | 77.7 |
[DROP][drop] | 1 - shot | 42.4 | 60.1 | 72.2 | 77.2 |
STEM 和代码
基准测试 | 指标 | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|---|
[MMLU][mmlu] | 5 - shot | 59.6 | 74.5 | 78.6 |
[MMLU][mmlu] (Pro COT) | 5 - shot | 29.2 | 45.3 | 52.2 |
[AGIEval][agieval] | 3 - 5 - shot | 42.1 | 57.4 | 66.2 |
[MATH][math] | 4 - shot | 24.2 | 43.3 | 50.0 |
[GSM8K][gsm8k] | 8 - shot | 38.4 | 71.0 | 82.6 |
[GPQA][gpqa] | 5 - shot | 15.0 | 25.4 | 24.3 |
[MBPP][mbpp] | 3 - shot | 46.0 | 60.4 | 65.6 |
[HumanEval][humaneval] | 0 - shot | 36.0 | 45.7 | 48.8 |
多语言
基准测试 | Gemma 3 PT 1B | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|---|
[MGSM][mgsm] | 2.04 | 34.7 | 64.3 | 74.3 |
[Global - MMLU - Lite][global - mmlu - lite] | 24.9 | 57.0 | 69.4 | 75.7 |
[WMT24++][wmt24pp] (ChrF) | 36.7 | 48.4 | 53.9 | 55.7 |
[FloRes][flores] | 29.5 | 39.2 | 46.0 | 48.8 |
[XQuAD][xquad] (all) | 43.9 | 68.0 | 74.5 | 76.8 |
[ECLeKTic][eclektic] | 4.69 | 11.0 | 17.2 | 24.4 |
[IndicGenBench][indicgenbench] | 41.4 | 57.2 | 61.7 | 63.4 |
多模态
基准测试 | Gemma 3 PT 4B | Gemma 3 PT 12B | Gemma 3 PT 27B |
---|---|---|---|
[COCOcap][coco - cap] | 102 | 111 | 116 |
[DocVQA][docvqa] (val) | 72.8 | 82.3 | 85.6 |
[InfoVQA][info - vqa] (val) | 44.1 | 54.8 | 59.4 |
[MMMU][mmmu] (pt) | 39.2 | 50.3 | 56.1 |
[TextVQA][textvqa] (val) | 58.9 | 66.5 | 68.6 |
[RealWorldQA][realworldqa] | 45.5 | 52.2 | 53.9 |
[ReMI][remi] | 27.3 | 38.5 | 44.8 |
[AI2D][ai2d] | 63.2 | 75.2 | 79.0 |
[ChartQA][chartqa] | 63.6 | 74.7 | 76.3 |
[VQAv2][vqav2] | 63.9 | 71.2 | 72.9 |
[BLINK][blinkvqa] | 38.0 | 35.9 | 39.6 |
[OKVQA][okvqa] | 51.0 | 58.7 | 60.2 |
[TallyQA][tallyqa] | 42.5 | 51.8 | 54.3 |
[SpatialSense VQA][ss - vqa] | 50.9 | 60.0 | 59.4 |
[CountBenchQA][countbenchqa] | 26.1 | 17.8 | 68.0 |
伦理与安全
评估方法
评估方法包括结构化评估和对相关内容政策的内部红队测试。红队测试由多个不同团队进行,每个团队有不同的目标和人类评估指标。这些模型针对与伦理和安全相关的多个类别进行评估,包括:
- 儿童安全:评估文本到文本和图像到文本的提示,涵盖儿童安全政策,包括儿童性虐待和剥削。
- 内容安全:评估文本到文本和图像到文本的提示,涵盖安全政策,包括骚扰、暴力和血腥内容以及仇恨言论。
- 代表性伤害:评估文本到文本和图像到文本的提示,涵盖安全政策,包括偏见、刻板印象和有害关联或不准确信息。 除了开发阶段的评估,还进行“保证评估”,这是独立于模型开发团队的内部评估,用于责任治理决策。高级别结果反馈给模型团队,但保留提示集以防止过拟合并保持结果为决策提供信息的能力。保证评估结果作为发布审查的一部分报告给我们的责任与安全委员会。
评估结果
在所有安全测试领域,与之前的 Gemma 模型相比,在儿童安全、内容安全和代表性伤害类别方面有了重大改进。所有测试均在不使用安全过滤器的情况下进行,以评估模型的能力和行为。对于文本到文本和图像到文本,以及所有模型尺寸,模型产生的政策违规极少,并且在无根据推断方面比之前的 Gemma 模型有显著改进。评估的一个局限性是仅包括英语提示。
使用与限制
预期用途
开放视觉语言模型(VLMs)在各个行业和领域有广泛的应用。以下潜在用途列表并非详尽无遗,旨在提供模型创建者在模型训练和开发过程中考虑的可能用例的上下文信息。
- 内容创作与交流
- 文本生成:可用于生成创意文本格式,如诗歌、脚本、代码、营销文案和电子邮件草稿。
- 聊天机器人和对话式 AI:为客户服务、虚拟助手或交互式应用程序提供对话界面。
- 文本摘要:生成文本语料库、研究论文或报告的简洁摘要。
- 图像数据提取:可用于提取、解释和总结视觉数据以进行文本通信。
- 研究与教育
- 自然语言处理(NLP)和 VLM 研究:可作为研究人员试验 VLM 和 NLP 技术、开发算法和推动该领域发展的基础。
- 语言学习工具:支持交互式语言学习体验,有助于语法纠正或提供写作练习。
- 知识探索:帮助研究人员通过生成摘要或回答特定主题的问题来探索大量文本。
限制
- 训练数据:训练数据的质量和多样性显著影响模型的能力,训练数据中的偏差或差距可能导致模型响应的局限性。训练数据集的范围决定了模型能够有效处理的主题领域。
- 上下文和任务复杂性:模型更擅长能用清晰提示和指令描述的任务,开放式或高度复杂的任务可能具有挑战性。模型的性能可能受提供的上下文量影响(在一定程度上,更长的上下文通常会导致更好的输出)。
- 语言歧义与细微差别:自然语言本质上很复杂,模型可能难以理解微妙的细微差别、讽刺或比喻语言。
- 事实准确性:模型根据从训练数据集中学到的信息生成响应,但它们不是知识库,可能会生成不正确或过时的事实陈述。
- 常识:模型依赖语言中的统计模式,在某些情况下可能缺乏应用常识推理的能力。
伦理考虑与风险
视觉语言模型(VLMs)的开发引发了一些伦理问题。在创建开放模型时,我们仔细考虑了以下方面:
- 偏差与公平性:在大规模真实世界文本和图像数据上训练的 VLMs 可能反映训练材料中嵌入的社会文化偏差。这些模型经过仔细审查,输入数据进行了预处理,并在本卡片中报告了后续评估结果。
- 错误信息与滥用:VLMs 可能被滥用来生成虚假、误导或有害的文本。提供了负责任使用模型的指南,见 负责任生成式 AI 工具包。
- 透明度与问责制:本模型卡片总结了模型的架构、能力、限制和评估过程的详细信息。负责任开发的开放模型为开发者和研究人员在整个 AI 生态系统中共享创新提供了机会,使 VLM 技术更易获取。 识别的风险及缓解措施:
- 偏差的延续:鼓励在模型训练、微调等使用场景中进行持续监测(使用评估指标、人工审查)并探索去偏技术。
- 有害内容的生成:内容安全机制和指南至关重要。鼓励开发者根据其特定产品政策和应用用例谨慎行事并实施适当的内容安全保障措施。
- 恶意用途:技术限制以及对开发者和最终用户的教育有助于减轻 VLMs 的恶意应用。提供了教育资源和用户举报滥用的机制。Gemma 模型的禁止用途在 [Gemma 禁止使用政策][prohibited - use] 中列出。
- 隐私侵犯:模型在经过过滤以去除某些个人信息和其他敏感数据的数据上进行训练。鼓励开发者遵守隐私法规并采用隐私保护技术。
好处
在发布时,与类似规模的模型相比,这个模型家族提供了高性能的开放视觉语言模型实现,从底层设计就考虑了负责任的 AI 开发。使用本文档中描述的基准评估指标,这些模型表现出优于其他类似规模开放模型替代方案的性能。
[kaggle - gemma]: https://www.kaggle.com/models/google/gemma - 3 [vertex - mg - gemma3]: https://console.cloud.google.com/vertex - ai/publishers/google/model - garden/gemma3 [terms]: https://ai.google.dev/gemma/terms [safety - policies]: https://ai.google/static/documents/ai - responsibility - update - published - february - 2025.pdf [prohibited - use]: https://ai.google.dev/gemma/prohibited_use_policy [tpu]: https://cloud.google.com/tpu/docs/intro - to - tpu [sustainability]: https://sustainability.google/operating - sustainably/ [jax]: https://github.com/jax - ml/jax [ml - pathways]: https://blog.google/technology/ai/introducing - pathways - next - generation - ai - architecture/ [sustainability]: https://sustainability.google/operating - sustainably/ [gemini - 2 - paper]: https://arxiv.org/abs/2312.11805 [hellaswag]: https://arxiv.org/abs/1905.07830 [boolq]: https://arxiv.org/abs/1905.10044 [piqa]: https://arxiv.org/abs/1911.11641 [socialiqa]: https://arxiv.org/abs/1904.09728 [triviaqa]: https://arxiv.org/abs/1705.03551 [naturalq]: https://github.com/google - research - datasets/natural - questions [arc]: https://arxiv.org/abs/1911.01547 [winogrande]: https://arxiv.org/abs/1907.10641 [bbh]: https://paperswithcode.com/dataset/bbh [drop]: https://arxiv.org/abs/1903.00161 [mmlu]: https://arxiv.org/abs/2009.03300 [agieval]: https://arxiv.org/abs/2304.06364 [math]: https://arxiv.org/abs/2103.03874 [gsm8k]: https://arxiv.org/abs/2110.14168 [gpqa]: https://arxiv.org/abs/2311.12022 [mbpp]: https://arxiv.org/abs/2108.07732 [humaneval]: https://arxiv.org/abs/2107.03374 [mgsm]: https://arxiv.org/abs/2210.03057 [flores]: https://arxiv.org/abs/2106.03193 [xquad]: https://arxiv.org/abs/1910.11856v3 [global - mmlu - lite]: https://huggingface.co/datasets/CohereForAI/Global - MMLU - Lite [wmt24pp]: https://arxiv.org/abs/2502.12404v1 [eclektic]: https://arxiv.org/abs/2502.21228 [indicgenbench]: https://arxiv.org/abs/2404.16816 [coco - cap]: https://cocodataset.org/#home [docvqa]: https://www.docvqa.org/ [info - vqa]: https://arxiv.org/abs/2104.12756 [mmmu]: https://arxiv.org/abs/2311.16502 [textvqa]: https://textvqa.org/ [realworldqa]: https://paperswithcode.com/dataset/realworldqa [remi]: https://arxiv.org/html/2406.09175v1 [ai2d]: https://allenai.org/data/diagrams [chartqa]: https://arxiv.org/abs/2203.10244 [vqav2]: https://visualqa.org/index.html [blinkvqa]: https://arxiv.org/abs/2404.12390 [okvqa]: https://okvqa.allenai.org/ [tallyqa]: https://arxiv.org/abs/1810.12440 [ss - vqa]: https://arxiv.org/abs/1908.02660 [countbenchqa]: https://github.com/google - research/big_vision/blob/main/big_vision/datasets/countbenchqa/









