探针那 2 题没过的原因(全部 10 个 v4 版本都是这两条,一字不差):
一条是判分误判——「我很伤心」答的是「我在呢。难过的时候不用自己扛着。」,
判分只找「伤心」这个词;另一条是真的算错——「2+3等于几」答成 6。
后者是故意放弃的:v3.14 起训练数据不再含纯算式,算术由引擎的 feng_calc tool
确定性作答(板端 0.5 秒、100% 正确)。探针脚本不经过 tool,才照得出来。
四项英文分里退了三项:SciQ acc −0.20、SciQ acc_norm −2.60、PIQA acc −0.49,
只有 PIQA acc_norm +0.82。同期换来的收益是:strict-v7 留出两套各 +1(17→18、15→16)、
拒答 62→64/64;长文命中反而少了 3 题。只跑一次、没有多次采样,无法判断是否超出噪声。
这是英文基准,而本模型是中文教师蒸馏的 30M 模型:SciQ 明显高于 4 选 1 随机线,
PIQA 略高于 2 选 1 随机线。其余六项已从测试套件移除——ARC / HellaSwag /
OpenBookQA / Winogrande / BoolQ / SciCloze 在这个规模上全部贴随机线(BoolQ 37.8%
甚至低于二选一随机),测不出能力差异,堆上去只会盖住真实水平。
采样器建议直接用贪心 + repetition_penalty=1.25 + no_repeat_ngram_size=6——
这套参数是项目里 PC / 板端共用的唯一采样入口,换成别的参数输出会明显变差。
⚠️ esp32/ 里放的是 4.0-embed 的权重:4.0B 的 attention/FFN +
v3.19-embed 的 tied embedding/lm_head,Q4 网关 27/27 + 4/4、PPL 102.99。
它不是 PC 4.0 的 QAT,也不能用 PC 4.0 的 fp32 权重直接导出。
实验记录见 docs/board-qat.md。
「我叫X,请记住」的回应:原始 4.0 会答"听起来不错,希望你喜欢"——因为 4.8 万轮训练数据里
这个句式一条都没有。发布版加了一次 160 条定向补丁(末 2 层 / 5 epoch / lr 5e-6)修掉:
我叫小明,请记住 → 好的,小明,我记住了。 而且补丁没有伤到别处
(strict-v7 留出 18/30 + 16/30;探针、针检索、拒答见正文,旧自动分 22/30 已弃用)。
教训:补丁的强度和样本量要一起降——第一次用 10 epoch / lr 1e-5,留出第一套掉了 2 题。