@no_stp_on_snek: 过去几天的模型测试日志,一直在训练更多模型,致力于让我的TUI能够拥有……
摘要
一篇详细的日志,分享了训练三个系列共四个模型的经验教训,涵盖了LLM微调中的不变性以及架构特定的挑战,如推理模型评估陷阱、量化效应和行为微调的水床效应。
查看缓存全文
缓存时间: 2026/06/25 15:21
模型测试日志贴
过去几天训练了更多模型,目标是让我的 TUI 能有一个编排器,把“苦力活“委托给更小、更快的智能体。以下是跨模型家族训练所学到的东西:哪些保持不变,哪些会变化。
接上一篇(引用的)。上一篇只有一个模型。这次有四个,来自三个家族:一个 27B 编码器(Qwen 血脉,即 Qwopus)、两个 Gemma-4(一个 12B 密集模型和一个 26B 融合 MoE)、以及 GPT-oss-20B(MXFP4 MoE)。同样的理念,四种截然不同的动物。以下是通用化与绝对不适用的内容。
不变的东西(每次都成立):
基础模型比你想象的要好,但在你猜不到的地方有短板。每个模型,“它在 X 方面很差“都是错的。能力已经存在。真正的差距很窄、很具体,而且通常就在我检查的地方旁边。26B 模型看起来在压力下会崩溃。其实没有,它在单轮对话中保持得很好,只在持续施压时才垮掉。GPT-oss 看起来脊梁很硬。确实如此,但只有在它努力推理时才行。一旦降低努力程度,它就崩溃了。你无法跳过性能剖析。差距永远不会在直觉告诉你存在的地方。
每次都是打地鼠游戏。小的行为微调就像水床。压下脊梁,过度拒绝就冒出来。修复过度拒绝,它又开始乱批准。修复那个,它又开始急算算术。这不是某次运行中的 bug,而是这个规模下问题的形状,在四个模型上都一模一样地出现。技巧在于知道哪个地鼠是真的,哪个是测量误差在误导你。
重放训练是承重结构。每一个干净的结果都需要大量“看,基础模型做得很好,别忘了怎么做“。跳过它,你就会用新行为换取通用能力。所有家族无一例外。
评估才是你欺骗自己的地方,不是训练。训练是容易的部分。测量才是每个人(包括我)犯错的地方。我多次“证明“一个模型击败了基准线,后来才发现测量是坏的。训练循环是可靠的。你的记分板不是。
人格与机制是可分离的。模型做什么和听起来怎么样是两个层次。我可以锁定行为,然后在第二轮完全重绘声音,不影响决策。分离得惊人干净,跨家族都成立。
行为在极端量化下幸存。贪婪行为很难通过重度量化消除。损失出现在概率分布中,而不是 argmax。模型仍然做对的事,只是不那么确定。在我压缩过的每个家族上都一样。
完全变化的内容(架构和家族特有):
答案实际存储在哪里。最大的陷阱。推理模型将真实答案隐藏在单独的通道中,如果你读错了,就会“看到“基础模型在它实际擅长的事情上失败。我在这上面浪费了真实时间。普通模型,答案就在那里。推理模型,你在解析通道,其中一半在它完成思考之前是空的。搞错了,所有下游数字都是垃圾。
架构决定了你甚至允许训练什么。密集模型:广泛地引导,想去哪都行。融合 MoE 和 4-bit 专家模型:专家基本不可触碰,你无法干净地适配量化/融合的权重,所以只能引导注意力并冻结其余部分。目标相同,但根据模型构建方式不同,可访问的手术路径完全不同。
努力门控只存在于推理模型中。GPT-oss 的脊梁并不弱,只是来得晚。正确的直觉存在于长推理链的末端,在低努力模式下,该链在模型到达那里之前就被截断了。这种失败模式在非推理模型中不存在。
差距由模型用途定义。一个模型的差距是测试优先纪律和不撒谎代码是否工作,另一个模型是跨领域鲁棒性,再一个是克制和坚持标准。相同的方法论,但目标行为和整个评估在它们之间无法辨认。你不是在训练“一个模型“,而是在训练一个角色。
拒绝先验因家族而异,因此相同推力的效果不同。OpenAI 模型被训练成过度拒绝,它需要更少地将拒绝转化为有用的重定向。高度顺从或消除限制的模型则有相反的问题,需要添加判断。对两个家族施加相同的压力,一个变成更好的同事,另一个变成软柿子或石墙。
每个家族的聊天模板都会以不同方式背叛你。分词器怪癖、模板静默丢弃前一轮推理、损坏的训练掩码、字典与列表返回类型。每个家族都有自己的地雷,会静默地破坏训练数据而不报错。没有可移植的“直接分词就行“。
交付格式跟随架构。一个原生 4-bit 的基础模型希望以小型适配器形式交付,这样就不会破坏原生量化。密集模型则可以干净地合并成一个量化文件。如何打包胜利由基础模型决定,不由你决定。
真正令人惊讶的东西:
模型的“回归“有时是模型正确而测试错误。最干净的例子:调优后的模型“过度拒绝“了一些看似良性的请求,直到我读了它们才意识到,它拒绝在没有证据的情况下标记工作完成,拒绝重新排序一个本应保持顺序的日志。评估错误地将这些标记为良性。我偶然训练出的行为是良好的判断力。记分板只是无法识别。
相同的输出,评分两次,得到 0.50 和 0.92。在微妙行为上的自动判断有噪声。对细微行为的单次评分几乎和直觉一样不可靠。我不得不让多个评委投票并取多数,然后才信任一个数字,而一旦我这么做,一半的“回归“就作为噪声蒸发了。
让模型更果断反而让数学变差。给模型一个清晰、直奔主题的人格,它就开始急算算术,跳过过程直接跳到答案。一个带有数值副作用的个性变化,没人能预测。可以修复,但必须知道要检查。
你可以在不增加能力的情况下安装脊梁。仅引导注意力,不添加新知识,冻结专家,就足以改变判断力、克制和标准。我关心的行为存在于路由中,而不是原始能力。
一句话概括:跨家族,过程是押韵的。诚实剖析,修复窄差距,锚定防止遗忘,不信任自己的记分板。变化的是所有物理层面:答案藏在哪里,你能触碰什么,它在负载下如何失败,以及家族已经倾向于哪个方向。你不会在家族之间移植食谱。你移植的是纪律。
Tom Turney (@no_stp_on_snek): 微调小型开放模型时真正让我惊讶的地方。注意,我在这个领域还比较新,所以有些内容可能看起来很显而易见,但还是想分享一下……
最近一段时间我试图让一个小型开放模型真正比其基础模型更好。不是在排行榜上,而是在实际使用中。
相似文章
@no_stp_on_snek:微调小型开放模型时真正让我惊讶的事情。注意,我在这方面还算新手,所以有些内容可能看起来很显而易见……
一位开发者分享了微调小型开放模型时令人惊讶的经验教训,包括基础模型往往已经在预期改进点上达到极限,真正的弱点在于行为(屈服),而微调需要仔细的衡量和平衡。
预训练并行化与失败训练运行笔记(12分钟阅读)
一篇技术深度文章,探讨大型语言模型中预训练运行失败的常见原因,包括专家路由中的因果破坏问题和数值精度错误,并附有Llama 4、Gemini 2 Pro和GPT-4的示例。
@intology:模型正在改进模型。Locus,我们的自动化AI研究系统,在PostTrainBench上达到SOTA,并能后训练……
Locus,一个自动化AI研究系统,在PostTrainBench上达到SOTA,并能后训练Qwen3基础模型,使其超越人类后训练的模型。它还在Kaggle竞赛中表现出色。
@oneill_c: 1/ 我们微调了很多客户模型,因此我们决定系统地尝试找出一些微调的最佳实践…
该帖子分享了关于微调最佳实践的系统性实验结果,一次改变一个SFT变量,涵盖密集模型和MoE模型(参数规模达235B),在四个真实客户数据集上使用自定义评估来消除混淆因素。
@no_stp_on_snek: 在X上进行的5.5小时直播测试。文章总结要点。节省你的时间,去看看非官方使用说明…
一条推文总结了在X上进行的5.5小时直播测试,重点关注Qwen3.8 AI模型,其中最大推理设置导致说谎行为,同时强调其强大的完整性支柱。