用途:当用户希望在本地硬件上训练、微调或适配 Gemma 模型时触发,覆盖 SFT、DPO、RLHF、奖励建模等场景。
主要能力与建议:本地单卡优先推荐 Unsloth,原生支持 Gemma 4,内存占用最多降低 70%、速度最高提升 2 倍;多卡(DDP/FSDP)或 Unsloth 不可用时回退到 Hugging Face TRL(SFTTrainer、DPOTrainer)配合 PEFT 与 bitsandbytes 做 QLoRA。始终使用 QLoRA 4-bit 量化以便在消费级显存中容纳 Gemma 4 12B/31B。虽然 Gemma 4 支持 256K 上下文,本地训练建议用 2048 至 8192 token 以避免 OOM。
方法选择:SFT 用于新领域、任务指令或自定义输出结构;DPO 用于按人类偏好对齐风格、行为、语气或安全性,需先做 SFT;奖励建模用二值偏好数据训练打分头。
数据准备:需符合 Gemma 官方聊天模板,建议用 tokenizer 的 apply_chat_template 避免格式漂移;可用 assets/dataset_prep.py 校验。SFT 用 messages 列表;DPO 与奖励建模用含 prompt、chosen、rejected 的成对样本。可用 assets/distill_dataset.py 做教师-学生蒸馏。
工作流:SFT 用 assets/sft_train.py,LoRA 常用 r 为 16 或 32、lora_alpha 为 32 或 64、dropout 为 0.05 或 0.1,QLoRA 学习率 2e-4、全量微调 2e-5;DPO 用 assets/dpo_train.py,beta 设 0.1;奖励建模用 assets/reward_train.py,以 num_labels=1 的序列分类头训练标量奖励。
多模态:视觉 SFT 用 Gemma 4 E2B/E4B/12B/26B/31B 与自定义视觉 collator;音频 SFT 用 E2B/E4B/12B,输入 16kHz 原始音频数组。
部署:可用 Unsloth 原生导出 GGUF,或用 llama.cpp 手动转换合并后的模型目录;端侧可用 LiteRT-LM(.litertlm)在移动、Web 与 IoT 上运行。具体命令与完整参数暂未提供。