模型信息
Table with columns: 项目, 内容| 项目 | 内容 |
|---|
| 开发者 | shiqianyan |
| 基础模型 | google/gemma-4-12B-it-qat-q4_0-unquantized |
| 参数规模 | 12B |
| 架构 | Gemma4UnifiedForConditionalGeneration |
| 主要语言 | 中文 |
| 用途 | 角色对话、角色卡条件生成、对话后训练研究 |
| 训练方法 | LoRA、教师反馈 SFT、DPO |
| 权重格式 | BF16 · safetensors · 约 23.92 GB |
| 许可证 | Apache-2.0 |
仓库名称中的 qat 来自基础模型版本。本次发布将语言侧 LoRA 合并到原始 BF16 权重,保留了基础架构;当前训练和评测聚焦文字对话。
快速开始
已验证环境使用 PyTorch 2.9.1、Transformers 5.19.0、Accelerate 1.15.0。请按设备安装对应的 PyTorch;项目验证使用单张 48GB GPU,运行时还需为激活与 KV cache 预留显存。
hf download shiqianyan/TangYuGe-gemma-4-12b-it-qat --local-dir TangYuGe-modelpython -m pip install -r TangYuGe-model/requirements.txtpython TangYuGe-model/inference.py --message "语歌,今天想和你聊一会儿。"
入口自动加载仓库角色卡,默认开启 thinking、采用 greedy 解码,并显示最终回答。
Table with columns: 选项, 说明| 选项 | 说明 |
|---|
--message | 用户输入 |
--max-new-tokens | 生成预算,默认 2048,包含思考部分 |
--disable-thinking | 显式关闭 thinking |
--model | 本地模型目录,默认脚本所在目录 |
示例入口的提示与生成总预算为 4096 token。多轮应用可使用同一 tokenizer 的聊天模板传入历史消息。角色卡使用 {{user}} 占位,不预设任何昵称;入口默认替换为中性的“用户”,可用 --user-name 指定自己的称呼。
MTP 加速
仓库 mtp/ 提供与本版主模型绑定的独立 assistant,使用显式入口启用:
python TangYuGe-model/mtp/inference.py --message "语歌,今天想和你聊一会儿。"
该入口默认开启 thinking,采用 512 token 思考额度和 3 token 草稿长度。二十题在线对照中,本版 MTP 头 30.52 token/s、原头 28.94 token/s、关闭 MTP 14.24 token/s(答案段接受率 0.442,未达 60% 正式门槛,详见 mtp/README.md)。适配方法、分段接受率及运行条件见 MTP 模型说明。根目录文字入口默认使用主模型单独生成。
训练
训练使用正式角色卡、新场景示例及学生实际生成的多轮轨迹。教师 deepseek-flash 提供回复示例、错误反馈与偏好比较,经过筛选后用于 SFT 和 DPO;同卡改写、角色属性变化和纠错场景用于加强角色卡条件学习。
Table with columns: 阶段, 数据, 优化步数| 阶段 | 数据 | 优化步数 |
|---|
| 场景 SFT | 24 条审核示例 | 16 |
| 教师反馈 SFT | 64 条学生轨迹反馈+24 条回放 | 48 |
| DPO | 18 对教师偏好 | 8 |
| 表达与边界续训 | 136 条审核数据 | 256 |
最后阶段采用 LoRA rank 16、alpha 32、学习率 5e-5、梯度累积 4、序列长度 1024,在单张 4090 48GB 上以 NF4 加载训练。发布权重由最后阶段选定的适配器合并得到。教师参与方式为文本反馈与偏好优化。
评测
在独立的 16 组两轮场景中,对三个候选使用相同角色卡和生成设置,共产生 96 条回复。以下为教师匿名评审的第一或并列第一组数:
Table with columns: 模型, 第一或并列第一 / 16| 模型 | 第一或并列第一 / 16 |
|---|
| 基础模型+角色卡 | 6 |
| 反馈 SFT+DPO | 5 |
| 最终续训版本 | 12 |
评审允许并列。测试观察到角色属性切换、部分上下文边界处理和表达方面的改善;这组小规模场景主要用于项目内部版本比较。完整合并模型经过独立重载,678 个运行态张量指纹一致,8 条生成均正常结束。
当前局限
本版仍存在无工具支持的行动承诺、偶发外语混入及角色一致性波动,项目对话质量验收尚未通过。历史文字评测采用 thinking 关闭设置;默认开启后的表现,以及通用能力和长上下文表现,仍需进一步评测。MTP 的八题结果属于有限诊断,其总体和答案段接受率低于项目目标,完整 32 题评测待补充。
文件与复现
Table with columns: 文件, 内容| 文件 | 内容 |
|---|
model.safetensors | 完整合并主模型 |
config.json、tokenizer 与处理器文件 | 模型结构、分词和聊天模板 |
role-card.json | 唐语歌角色卡 |
inference.py、gemma_output.py | 文字推理与回答解析 |
mtp/ | 配套 assistant、绑定信息和加载入口 |
| 、 |
基础模型固定 revision 为 b6ed86275a6a5735884e208bfed95b445a684ca2,完整训练谱系和权重指纹见 provenance.json。继续训练时,可将仓库中的完整模型作为新的起点。
许可与致谢
本模型采用 Apache-2.0 许可证。感谢 Google DeepMind 提供 Gemma 基础模型与 assistant。来源归属与本次修改说明见 NOTICE。