Back to blog
    Gemma 3移动端: 微调与端侧部署
    GemmaGooglefine-tuningmobile AIGGUFon-device AIsegment:mobile-builder

    Gemma 3移动端: 微调与端侧部署

    如何在移动端使用Google的Gemma 3模型。模型选择、LoRA微调、GGUF导出,以及通过llama.cpp在iOS和Android上的部署。

    EErtas Team·

    Google的Gemma 3相比Gemma 2有了重大提升。1B模型适用于移动端分类任务,4B模型则提供了可与其他系列更大模型竞争的推理能力。

    对于已经在Google生态系统(Android、Firebase、Google Cloud)中的移动开发者来说,Gemma是一个自然的选择,拥有良好的工具支持。

    Gemma 3移动端模型阵容

    模型参数量GGUF Q4大小所需内存移动端可行性
    Gemma 3 1B1B约600MB约800MB优秀 (4GB+设备)
    Gemma 3 4B4B约2.3GB约3GB良好 (8GB+设备)
    Gemma 3 12B12B约7GB约9GB不适合移动端
    Gemma 3 27B27B约15GB约18GB不适合移动端

    1B和4B模型是适用于移动端的尺寸。4B略大于典型的3B目标,但在8GB设备上可以正常运行。

    Gemma 3 vs Gemma 2

    改进项Gemma 2Gemma 3
    指令遵循 (IFEval)51.2 (2B)54.2 (1B)
    通用知识 (MMLU)51.3 (2B)46.8 (1B), 67.2 (4B)
    多语言支持20种语言35+种语言
    上下文窗口 (1B)8K32K
    上下文窗口 (4B)8K128K

    Gemma 3的4B模型表现突出。它接近Llama 3.2 8B(不适合移动端)的能力,同时可以在旗舰移动设备上运行。

    什么时候Gemma 3是正确的选择

    Google生态系统集成: 如果你已经在使用Firebase、Android Studio和Google Cloud,Gemma提供了最顺畅的工具链。Google提供Keras集成、Vertex AI微调和Android专属文档。

    旗舰设备上的4B质量: 如果你的应用面向旗舰设备,且需要比3B模型更强的推理能力,Gemma 3 4B填补了这个空白。它位于典型的3B和7B类别之间。

    多语言需求: Gemma 3支持35+种语言,覆盖面比Llama 3.2更广(但窄于Qwen)。对于欧洲和南亚语言应用,Gemma是一个强有力的选择。

    微调Gemma 3

    训练数据格式

    Gemma使用带有<start_of_turn><end_of_turn>标记的特定聊天模板:

    <start_of_turn>user
    What's the return policy for electronics?<end_of_turn>
    <start_of_turn>model
    Electronics purchased within the last 30 days can be returned with receipt for a full refund. Items must be in original packaging.<end_of_turn>
    

    微调时,按此模板构建你的对话数据。大多数训练框架(Hugging Face、Axolotl、Unsloth)在你指定Gemma作为模型类型时会自动处理模板。

    LoRA配置

    参数1B4B
    LoRA秩 (r)16-3216-64
    LoRA alpha32-6432-128
    学习率2e-41e-4
    训练轮次3-52-4
    目标模块q_proj, v_proj, k_proj, o_proj相同
    适配器大小30-80MB50-150MB

    训练数据需求

    与其他模型系列相同的指导原则:

    任务最少样本数推荐数量
    分类200500-1,000
    问答3001,000-2,000
    聊天5002,000-5,000

    微调后的质量

    Gemma 3对微调的响应很好。1B模型仅需500个样本就能从通用的平庸表现跃升为领域专精。4B模型在狭窄任务上微调后的质量可以媲美带提示词的GPT-4o。

    预期准确率范围(领域特定分类):

    • 1B基础: 65-72%
    • 1B微调后 (500样本): 88-92%
    • 4B基础: 75-80%
    • 4B微调后 (500样本): 92-96%

    GGUF导出

    Gemma 3模型使用标准的llama.cpp转换工具转换为GGUF格式。流程如下:

    1. 使用LoRA微调
    2. 将LoRA适配器合并到基础权重中
    3. 使用convert_hf_to_gguf.py转换为GGUF
    4. 使用llama-quantize量化为Q4_K_M

    Ertas等平台可以自动化此流程: 选择Gemma 3作为基础模型,上传训练数据,训练,然后按你需要的量化级别直接导出为GGUF。

    在iOS和Android上部署

    Gemma 3的GGUF模型在llama.cpp上的运行方式与Llama或任何其他GGUF模型完全相同。部署过程一致:

    iOS: 通过llama.cpp加载GGUF并使用Metal加速。无需Gemma特定的配置。

    Android: 通过llama.android加载并使用Vulkan GPU加速。与任何其他GGUF模型的API相同。

    GGUF作为通用格式的优势在于你的部署基础设施可以与任何模型系列配合使用。从Llama切换到Gemma(或反过来)只需要替换模型文件。

    移动设备上的性能

    Gemma 3 1B (Q4_K_M, 约600MB)

    设备Tokens/秒内存
    iPhone 16 Pro38-48约800MB
    iPhone 1526-34约800MB
    Galaxy S24 (Vulkan)38-48约800MB
    中端Android18-25约800MB

    Gemma 3 4B (Q4_K_M, 约2.3GB)

    设备Tokens/秒内存
    iPhone 16 Pro16-22约3.0GB
    iPhone 15 Pro14-20约3.0GB
    Galaxy S24 (Vulkan)18-24约3.0GB
    Galaxy S25 (Vulkan)20-28约3.0GB

    4B模型比3B模型略慢,但差异不大。在旗舰设备上,速度仍然远高于10 tok/s的可用性阈值。

    Gemma vs Gemini Nano

    Google同时提供Gemma(用于自主部署的开放模型)和Gemini Nano(通过Android AICore的端侧模型)。它们服务于不同目的:

    因素Gemma 3 (GGUF)Gemini Nano
    自定义微调
    设备覆盖任何4GB+设备仅Pixel 8+, Galaxy S24+
    模型控制权完全
    任务任何文本生成有限的预定义任务
    平台iOS和Android仅Android
    成本免费 (端侧)免费 (端侧)

    如果你需要自定义AI行为、领域特定知识或跨平台部署,通过GGUF使用Gemma是正确的路径。Gemini Nano仅适用于在有限设备上运行预定义任务。

    许可证

    Gemma 3使用Gemma使用条款:

    • 商业使用: 允许
    • 微调和修改: 允许
    • 分发: 允许
    • 无MAU门槛(不同于Llama的7亿限制)
    • 不能用输出来训练与Gemini竞争的模型

    该许可证对大多数移动应用用例来说是实用的。关于竞争性模型训练的限制不太可能影响移动开发者。

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Keep reading