桃子桃子快讯
返回首页
开源

三值模型 Bonsai 微调实验:训练损失越低反而越笨

作者在 Metal 上微调 Bonsai 8B 三值模型,发现训练损失最低时 SWE 任务表现反而最差,问题源于模仿数据…

2026.07.19 · 周日5 分钟阅读

近期,PrismML 发布的 Bonsai 系列把「真·亚 2-bit」大模型推到了社区面前:每个权重被量化为 -1/0/+1(三值)或 -1/+1(二值),每 128 个权重共享一个 fp16 缩放因子,三值约 1.7 bit/权重、二值约 1.1 bit/权重。一位开发者在 Apple Silicon(Metal)上对 Ternary-Bonsai-8B(基于 Qwen3-8B 转换)做了一轮微调实验,结果却暴露出三值模型训练中一个被忽视的问题:训练损失的下降方向,与真实能力提升的方向并不一致。

Bonsai 与 BitNet 的本质区别

Bonsai 与此前热议的 BitNet 路线不同:BitNet 是从零开始预训练 1.58-bit 模型,而 Bonsai 是把已经预训练好的 Qwen3 通过专有方法「转换」成三值,开发者可以直接拿到熟悉的底座模型。当前发布包括 27B 旗舰版本和 1.7B–8B 早期版本,但 PrismML 自己明确指出早期版本并未针对推理与工具调用做优化。模型体积约 2 GB(8B),但由于格式较新,需要使用 PrismML 维护的 llama.cpp 分支(上游 PR 待合并)才能运行。

在 Metal 上做 QAT 微调

由于 Bonsai 的转换方法不公开,但对已发布的三值模型继续训练属于标准量化感知训练(QAT)范畴,因此可以在 Metal 上复现:加载解包后的 fp16 权重(其值就是三值码),前向时按 128 权重一组重新三值化,反向用直通估计器(straight-through estimator)把梯度回传到 fp16 潜变量,每步重新三值化,符号在潜变量跨阈值时翻转,最终重新打包成 2-bit GGUF 即可保持原体积。从已发布权重初始化可在 step 0 精确复现原模型,意味着确实在「真模型」上微调,而非另起炉灶。

初步结果:损失最低、能力最差

评测任务是让模型成为更好的 agentic coder,使用 SWE-rebench-v1 中 10 道 Python held-out 真实 issue:

  • 基线 8B(不微调):patch 率 50%,pass 率 0%
  • QAT,仅最后 18 层:patch 率 40%,pass 率 0%,训练损失约 1.0,工具调用出现循环(单条命令最多重复 553 次)
  • QAT,仅梯度影响较大层:patch 率 40%,pass 率 0%,循环问题修复,运行干净
  • QAT,全部 36 层:patch 率 30%,pass 率 0%,训练损失最低(0.91),行为最整洁,但解题数最少

最反直觉的是最后一组:训练损失被压到最低,agent 行为也最「乖」——步骤最少、无循环、工具调用最干净——但解题数反而最少。

数据才是真正的杠杆

作者事后复盘找到两个原因,且都指向同一方向。其一是训练语料存在 stop-token masking 错误,部分预算花在错误目标上;其二更关键:语料来自作者自己 Claude Code、OpenCode、Qwen Code 的 coding 日志,即「模仿数据」——它记录的是工具怎么跑、agent 怎么说话,而不是「成功解决问题的过程」。于是最小化损失教会模型的只是「模仿日志风格」(简洁、干净、早停),而不是「解题」。换句话说,loss 衡量的是「日志像不像」,而非「问题有没有解」。

第五轮迭代:只学「通过了」的轨迹

调整方向后,作者换了一批数据:让一个较强的 9B agentic coder 跑一批 GitHub issue,只保留隐藏测试真正通过的轨迹;再把这些「成功轨迹」用三值模型自身的 tokenizer 重新渲染(顺手修了 masking 问题)。评测 issue 与训练 issue 不重合,因此任何提升都可视为泛化。本轮仅用 12 条轨迹——作者刻意压小数据量,只为验证信号是否存在。原文在此处未给出最终的 patch/pass 数据,但明确把学习率视为决定性变量,认为下一阶段的关键不在训练时长,而在数据质量与学习率设置。

启示

对于低比特模型的微调,本文给出的核心结论是:在三值/二值这类原生低比特模型上,训练损失与真实能力可能完全脱钩。BitNet-style 模型无法用 imatrix/AWQ/GPTQ 这类后训练校准挽回精度,但更隐蔽的陷阱在于「loss 越低 ≠ 越好」——微调原生三值模型时,监督信号必须来自「已验证的解题过程」,而不是任何看起来合理的 agent 日志。下一轮迭代能否验证这一假设,将决定 Bonsai 类模型在本地 agentic 场景中的实际可用性。

信源