单卡3090微调Qwen:准确率提升为何不够?

Qwen微调实验揭示准确率提升但NLL恶化的陷阱,强调校准与任务定义对齐的重要性。
本文通过单卡RTX 3090上微调Qwen模型的实验,揭示了微调评估中一个常见盲区:开发集准确率从7/28提升到13/28的同时,平均负对数似然(NLL)却从2.215恶化到3.916,说明模型对正确选项的置信度下降。文章拆解了基于冻结骨干、指针决策头和LoRA适配器的架构,并详细记录了数据审查中发现Yelp标签与问题定义冲突、训练与评估数据隔离、训练断点恢复等工程实践。最终,4B版本在修复数据上优于0.8B,但在公开JevBench上Hard组错误集中,时序数值类正确率为0/15。作者强调,准确率只是故事的一半,校准评估、任务定义对齐和分组拆解对实践者至关重要。
在单卡RTX 3090上微调大模型,准确率提升往往被视为成功的标志。但一位开发者的Qwen微调实验揭示了一个容易被忽视的陷阱:在开发集上正确回答数从7/28提升到13/28的同时,平均负对数似然(NLL)却从2.215恶化到3.916。这意味着模型虽然猜对了更多答案,但对正确选项的置信度反而在下降。这个发现指向了微调评估中一个关键盲区——准确率只是故事的一半。

从语言模型到候选评分器:架构拆解
实验的目标是让模型完成一类"判断型"任务:给定上下文、问题和若干候选答案,返回每个候选的概率分布。比如判断一条评论是正面还是负面,或者将工单路由到账单、物流或退货团队。
整个架构包含三个组件。首先是冻结的Qwen3.5骨干网络,负责读取上下文、问题和候选描述,输出隐藏层表示。其次是一个指针决策头(pointer head),它取决策位置和候选位置的表示进行投影匹配,得到候选分数,再通过softmax转化为概率。最后是LoRA适配器,插入骨干网络中参与训练,而原始权重保持不变。
这种设计不同于传统的固定类别分类头。候选描述直接作为输入的一部分,模型需要"阅读"候选内容再打分,省去了生成自然语言答案再解析的步骤。实验从Qwen3.5 0.8B和4B两个规模起步,基于Jared Palmer的KEV训练流程实现。
LoRA(Low-Rank Adaptation) 是一种参数高效微调方法,通过在预训练模型的权重矩阵旁注入低秩分解矩阵来适配下游任务,而原始权重保持冻结。具体来说,对于权重矩阵W,LoRA引入两个小矩阵A和B,使得更新量ΔW = BA,其中A和B的秩远小于W的维度。训练时只更新A和B,大幅减少可训练参数和显存占用。推理时可以将BA合并回W,不增加额外延迟。LoRA特别适合在消费级显卡上微调大模型,本实验在RTX 3090上正是依靠LoRA将Qwen3.5的微调变得可行。
准确率上升、NLL恶化:一个警示信号
研究者在24条记录、30个问题上做了初步训练检查。0.8B模型在训练问题上从7/30正确提升到29/30,平均NLL从2.1845降至0.1030,训练路径本身是有效的。
但切换到28个开发问题时,情况变得微妙:正确数从7提升到13,NLL却从2.2153升至3.9161。准确率只检查最高概率选项是否正确,而NLL还衡量正确选项被分配了多少概率。假设正确答案的概率从0.4降到0.001,两者都算错误预测,但后者的NLL惩罚要大得多。
这个分离现象说明,模型在某些问题上变得更"自信地犯错",或者对正确答案的置信度显著降低。研究者指出,仅看聚合表格无法定位是哪些问题导致了这种变化。对于需要用概率决定是否行动的应用程序,校准(calibration)检查同样不可或缺——在模型给出约80%置信度的判断中,是否真的有约80%是正确的?Softmax只保证概率之和为一,并不保证概率含义的准确性。
负对数似然(NLL) 是分类任务中衡量概率预测质量的常用指标,定义为正确类别预测概率的负对数:NLL = -log(p_correct)。当正确类别的预测概率接近1时,NLL趋近于0;当概率趋近于0时,NLL急剧增大。与准确率只关心“最高概率类别是否等于正确答案”不同,NLL对模型分配给正确类别的置信度敏感。一个模型可能准确率很高,但因为对正确答案的置信度普遍偏低,NLL表现较差。反之,模型也可能在少数样本上给出极低置信度,拉高平均NLL。因此,NLL与准确率结合使用,能更全面地反映模型的校准状态和预测可靠性。
校准(Calibration) 是指模型输出的置信度与实际正确率之间的一致性。一个校准良好的模型,在它声称有80%置信度的预测中,应当大约有80%是正确的。Softmax函数仅保证输出概率之和为1,并不保证这些概率具有准确的频率解释。微调过程中,模型可能变得过度自信(高置信度但错误率高)或信心不足。校准评估通常通过可靠性图(reliability diagram)或期望校准误差(ECE)来量化。对于依赖概率阈值做决策的应用(如自动路由、风险控制),校准比单纯准确率更重要,因为错误的置信度会导致错误的行动。
标签与问题不匹配:数据格式正确不等于任务正确
在扩大训练规模前,研究者审查了混合数据中的Yelp评论任务。发现了一个根本性问题:二元标签来自星级评分阈值,但问题问的是"仅基于评论文本,评论者整体上是否明确正面?"
这两者未必表达同一判断。一条虚构的四星评论写道:"食物上得很快,但令人失望。总的来说,我不推荐。"按星级规则映射为"是",但按文本标准应判为"否"。模型因此接收到相互矛盾的指令和监督信号。
研究团队重新制定了明确标准:仅使用提供的文本;明确正面为"是";明确负面或实质混合但无明确正面判断为"否";信息不足或截断则搁置。标注包隐藏了原始星级和旧标签,采用模型辅助标注并交叉检查。最终38个相关问题被排除在监督之外。
这个教训的价值在于:合法的JSON、可接受的输入长度和范围内的标签,并不能揭示任务定义中的矛盾。多训练几个epoch也无法解决标签与问题之间的根本冲突。
训练与评估对齐:数据隔离的工程实践
除了Yelp标签修复,结构性检查、重叠筛选和语义审查还隔离了56条涉及近似复制风险、未解决歧义和标签冲突的记录。修复后训练使用12,520条记录、15,476个问题,版本分别保存并附带校验和。
评估端同样需要遵循修订后的任务定义。历史星级标签无法评估新的文本问题,因此研究者构建了194条基于相同文本标准的开发集。开发数据仅用于模型检查和方案比较,校准数据用于概率调整,最终测试用于方案固定后的确认——三者用途严格分离。训练入口使用显式的来源白名单,拒绝开发数据混入。
这种隔离让比较更有意义,但筛选无法排除所有语义重叠或预训练暴露。两次模型辅助审查的一致性不等于独立的人工真值,搁置困难案例也意味着部分棘手情况未被纳入报告分数。
两个训练版本的对比与局限
修复后,研究者从Base重新训练了0.8B(B1)和4B(B2)两个版本,使用相同的修复数据和两个epoch,学习率分别为0.0001和0.00005。
在194条Yelp文本判断上,B1正确184条,B2正确192条;平均NLL分别为0.09620和0.04024。在1,184条历史多任务问题上,B1正确951条,B2正确1,033条,NLL分别为0.60133和0.46749。B2在两项指标上均占优。
不过研究者明确警告:这是两个训练配方之间的比较,没有在同一数据集上的未训练对照组,因此无法量化微调本身带来的增益,也无法确认通用能力是否保留。另一个更接近自动化决策风险的切片显示:B1做出181个置信度不低于0.9的预测,其中1个错误;B2做出188个,其中2个错误。样本量小且覆盖子集不同,但这说明更好的平均值不自动意味着更少的高置信度错误,0.9也不是现成的生产阈值。
训练恢复:长跑需要真正的断点续训
从微型实验过渡到长时训练,需要另一项工程能力:训练恢复。仅加载LoRA和readout权重可以继续预测,但要继续同一训练过程,还需要优化器状态、学习率进度、随机状态和数据位置。
研究者在实际CUDA路径上调整确定性设置后,对比了不间断训练与中途终止再恢复的运行。两者完成8次优化器更新后,可训练参数和训练状态逐位一致,30个检查问题上的重载概率也完全相同。这验证了单GPU环境下的进程中断恢复能力,但不覆盖不同硬件重训或物理断电场景。
断点续训(Checkpoint Resumption) 要求不仅保存模型权重,还要保存完整的训练状态,包括优化器状态(如Adam的动量和方差)、学习率调度器的进度、随机数生成器状态以及数据加载器的位置。仅加载权重只能恢复推理能力,无法精确继续训练过程,可能导致训练动态偏离。逐位一致的恢复意味着从检查点继续训练与不间断训练在数值上完全相同,这对长时训练至关重要,因为GPU内存限制或抢占式实例可能随时中断训练。本实验在单GPU上验证了这种确定性恢复,但跨硬件或断电场景仍需额外处理。
JevBench暴露的下一步问题
训练、保存、加载均正常,既有开发集结果也有提升。但模型面对另一组实际决策时表现如何?研究者在本地用未改动的4B版本评估了固定版本的公开JevBench,包含231个可下载问题。
所有请求都返回了有效的概率向量,无输入截断。但按基准组别拆分后差距明显:Easy组48/48全对,Original组69/72,Hard组仅53/111。总成绩170/231,但61个错误中有58个来自Hard组。按任务族进一步拆分,时序与数值问题正确率为0/15,长策略判断为4/19。
总体分数掩盖了这些弱点。简单决策处理得好,不代表在日期计算、组合条件、例外条款或跨长文档分布的证据上可靠。这为后续训练指明了更具体的方向:逐项检查任务转换、选项和标签,补充可独立验证的日期计算、规则组合和例外案例,同时保留原始任务的训练数据和评估,以检验改进难题是否以牺牲已掌握能力为代价。
长度是一个待查因素:原始4B训练配置将上下文限制在384个token,而这些长策略上下文约含2,203–3,666个token。但更长的输入同时也都属于Hard组,长度与难度纠缠在一起,结果无法证明长度单独导致了失败。
研究者强调,这些是本地公开问题诊断,不是官方密封评估或排行榜排名;任务组之间的差异也不能确立训练导致的性能回退。质量优化仍在进行中。
对实践者的启示
这个实验的价值不在于最终分数,而在于展示了一条可复现的排查路径。准确率上升而NLL恶化时,应该检查标签是否回答了问题本身;开发集和训练集必须按任务定义对齐;概率输出需要校准评估;公开基准的分组拆解比总分更有诊断价值。对于在消费级显卡上进行微调的开发者,这些经验比任何单一指标都更值得关注。模型、数据和复现材料已发布在Hugging Face,包括LoRA适配器、决策readout、加载器和训练配置。
相关推荐

iPhone Duo续航实测:一天一充跑不掉,大屏是耗电元凶
iPhone Duo续航实测:重度使用一天需至少充电一次,6.5小时亮屏约剩30%电量。大屏展开频率是耗电关键,MagSafe电池背夹可救场,长期衰减同样值得关注。

Kimi K3.1 Pro开源发布:2.8万亿参数逼近Opus
Moonshot发布开源MoE模型Kimi K3.1 Pro,2.8万亿总参数、1040亿激活参数,Terminal Bench 4.0仅落后Opus 5.5不到1分,单任务成本约三分之一,API价格减半,开源权重11月4日开放。

Costco科技产品价格竞猜:显示器、键鼠、Bose音响值不值?
YouTube博主在Costco竞猜科技产品价格:2K 180Hz显示器、罗技键鼠、Bose音响和CyberPower UPS实测估价,揭示仓储会员店的选品定价逻辑与品牌溢价真相。