ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

隐式课程假说:大模型训练中的能力形成顺序与数据配比实践

隐式课程假说:大模型训练中的能力形成顺序与数据配比实践

先问一个问题:当一个大语言模型在数据中心里烧着几千张卡、跑着上万亿token的时候,它到底在学什么?是学会了背答案,还是学会了思考?更重要的是,这些能力是在训练的第几天、第几个step、看到多少数据之后才出现的?如果你也被这些问题挠过痒,那你一定绕不开“隐式课程假说”这个词。

这个假说简单说就一句话:语言模型在预训练阶段,并不是均匀、随机地从所有数据里学习,它会按照数据内部天然存在的难度顺序,像学生上课一样,先学简单的、再学难的。这个顺序不是谁设计的,而是藏在自然文本的分布里。这篇文章我想把“模型学什么”和“何时学”这两件事拆开聊清楚,再把隐式课程假说这个框架放进实操场景里,分享一些我在训练小模型和调优数据配比时真正用得上、看得见的现象和方法。内容适合自己练手训模型的研究者,也适合想理解大模型能力来源的工程同学。

1. 先搞清楚:模型到底在学习什么

1.1 语言模型不是“背词典”,是建一套内部表示

很多人对语言模型有个误解,觉得它本质就是一个超大的记忆库,训练就是往里塞“问题和答案”的对应关系。我以前也这么想过,直到我自己训练小模型、盯着loss曲线和中间层表征看了一段时间后,才纠正过来:语言模型真正学到的,是一整套关于语言和世界的分层表示。

最底层的表示是词法和句法。模型在早期会快速建立词与词之间的共现关系,比如“猫”和“抓”经常一起出现,“不是”后面往往跟着转折。这些统计规律让模型能写出语法上通顺的句子。再往上,模型会学习更抽象的语义关系,比如“狗”和“猫”都属于动物,它们在某些维度上相似;再往上,是实体知识和事实关系,比如某个城市是某个国家的首都、某个数学公式如何处理变量。最高层才是类人的推理模式,比如一步步推导、类比、归纳。

这个过程很像一个人学一门新语言:最开始只知道单词和语感,慢慢理解句子结构,再后来能把句子里的知识融会贯通,最后才能做复杂逻辑判断。只不过模型“学龄”极短,它要在几周内跑完人类十几年才能完成的认知旅程。

关键点在于:这些不同层次的知识不是同时出现的。词共现的统计能力几乎在训练一开始就飞速提升,而推理能力需要等到参数规模、数据量、训练步数都达到一定程度后才明显浮现。理解了这个分层,你才能回答“模型在学什么”这个问题的第一层——它学的是多层嵌套的语言与世界模型,不是一个扁平的记忆库。

1.2 能力清单:语法、知识、推理、格式、对齐

把模型学的东西再往下拆,可以列成一张实操中很有用的能力清单。这张清单不是学术分类,而是我在做模型评测时最常观察的五类能力,每一类都有对应的“可观测信号”。

第一类,语法与流畅度。表现是生成的句子符合语言习惯,标点、主谓宾、复句结构基本正确。这类能力最容易通过困惑度(perplexity)来观测,不需要复杂测试,训练中后期如果困惑度还在明显下降,多半就是在优化这类表面流畅性。

第二类,世界知识与事实记忆。表现是能回答“中国的首都是哪里”“某部作品的作者是谁”这类封闭式问题。这类能力跟数据覆盖率强相关,数据的重复次数、领域分布会直接影响记忆的效果。我在实验里发现,训练数据里某类知识出现次数太少,模型在这类问题上几乎必然翻车。

第三类,语言推理与逻辑链。表现是多步推理、数学应用题、代码逻辑。这类能力最“神秘”,它不对应单一的知识点,而是多种能力协同的结果。我习惯把这类能力称为“复合能力”,它往往是模型能力评测中最后才出现的。

第四类,格式跟随与指令理解。比如让模型输出JSON、按步骤回答、限定字数。这类能力在预训练阶段只是“种子”,真正成形是在指令微调阶段,但预训练中见过的结构化文本越多,种子就越强。

第五类,上下文学习(in-context learning)。给几个示例,模型就能照着做。这其实是前面四类能力的综合体现,也是隐式课程假说里最能说明“模型学到什么时候开始学会举一反三”的观测窗口。

这五类能力不是并列关系,而是依赖关系。语法是地基,知识是墙体,推理是结构,格式和上下文学习是装修。地基没打好,后面全部免谈。这也是为什么我一直建议:如果想判断模型训练到哪个阶段,不要只看总loss,要分层看这五类能力的表现。

1.3 一个关键认知:能力来自数据的自组织,不是标注

还有一个很容易混淆的点:这些能力是怎么来的?是标注人员标注出来的吗?是训练目标函数设计出来的吗?

都不是。预训练阶段模型看到的只是裸文本,没有任何人告诉它“主语和谓语要一致”“这两个实体之间有从属关系”。它之所以能学会这些规则,是因为自然语言文本本身蕴含了这些规则,模型通过统计学习的方式,隐式地提取并内化了这些规则。

这一点正是“隐式课程假说”的理论基石。如果把训练数据看成一个巨大的、天然的教材库,那么这本教材不是平铺直叙的,它有内在的层次结构:简单的语言模式出现频率高、分布广,复杂的推理模式需要更大范围的上下文才能体现。模型按照数据分布的自然结构去学习,就是在上一个“隐式课程”。

打个比方。你去一个大型图书馆随机抽书读,一开始你读的多半是儿童读物和通俗小说,因为这类书的语言模式简单、重复率高;慢慢地,你开始抽到专业论文和哲学著作,它们需要更长上下文、更多背景知识才能理解。没人给你安排阅读顺序,但统计规律决定了你大概率会先“学会”简单的,再“学会”复杂的。模型也是一样。

这个认知对实操影响很大:它意味着数据配比、数据去重、领域平衡这些工作,本质上是在调整“课程表”。你多喂代码,就等于增加编程课的课时;你多喂数学题,就等于加难度课的比重。理解这一点,数据配比就不再是拍脑袋,而是有方向的设计。

2. 再拆一层:模型“何时”学到这些能力

2.1 从训练动态看阶段划分:早期、中期、后期

我自己训练模型的时候,最关注的图不是最终指标,而是训练过程曲线。把loss曲线、评测指标曲线、学习率曲线放在一起看,能明显观察到三个不同的阶段。

早期阶段(往往是训练量前10%-20%的区间),模型主要在做“语言苏醒”。token间的共现关系、基本的词法句法在这个阶段突飞猛进。如果你在这个阶段拿一个语法判断任务去测它,会发现正确率从随机水平快速拉升到可用水平。这个阶段的loss下降速度非常快,几乎每一个step都有肉眼可见的变化。

中期阶段,模型开始大规模吸收知识。语法已经基本成型,loss下降速度放缓,但知识问答类任务的准确率稳步上升。这个阶段模型像一块海绵,主要在做事实性知识的“记忆整合”。有意思的是,这时候模型已经能说出很多事实,但如果你追问推理过程,它会露怯。

后期阶段,推理和复合能力开始显现。需要多步推导、综合多个知识点才能回答的问题,在这个阶段出现明显的正确率跃升。这个阶段也是最容易产生“顿悟感”的时期——有些能力好像一夜之间就出现了,但如果你回溯到中期,其实是相关的子能力在一点点积累,只是没有显式地展现在你面前。我在实际训练中遇到过很多次这种情况:某个推理评测在连续几十个step里分数纹丝不动,突然某一天开始爬升,看起来很“涌现”,实际上只是积累了足够多的基础能力之后,把它们串起来了。

这三个阶段的时间边界取决于数据规模、模型大小、学习率策略等因素,但整体趋势非常稳定。理解这个时间轴,最大的价值在于:你能知道某个时间点上模型“应该”具备什么能力,从而判断训练是否健康。

2.2 涌现是顿悟还是累积?我的观察更偏向后者

“涌现能力”是这几年很火的概念。网上流传着很多评测曲线,横轴是模型规模或训练数据量,纵轴是任务准确率,曲线在某个点突然从地板跳到天花板,看起来像发生了质变。我第一次看到这种图也觉得震撼,但后来自己做实验、细看中间checkpoint之后,我得出了一个更稳妥的判断:所谓涌现,更多是少量评测样本造成的“测量错觉”加上子能力累积后的“显性表达”。

举个例子。一个需要多步计算的数学题,模型如果只会前两步,最终答案大概率是错的,评测分数是零分;等它会第三步了,答案对了,分数直接变满分。从零分到满分,看起来是涌现,但实际模型的能力是在这之前一点点长出来的,只是评测指标太“硬”,不能反映中间状态。

这和我前面提到的隐式课程假说其实是一枚硬币的两面。课程不是“突然讲到了难题”,而是简单题练够了一定遍数后,难题的解法自然变得可以攻克。实操中,判断模型是否“快要涌现”有个土办法:把评测任务拆成子步骤,分别观察每个子步骤的正确率。如果子步骤分数都在缓慢上涨,那大指标突破只是时间问题;如果子步骤分数纹丝不动,那说明对应的数据还没被充分学习。

有了这个认知,你就不会在训练过程中因为评测分数“不涨”而慌慌张张地调学习率、改数据配比。你会有耐心,也会更有方向。

2.3 checkpoint评测:看见“何时学”的最直接方法

要真正回答“何时学”,没有捷径,方法就是勤打 checkpoint,然后按时间顺序去测。这里分享一下我自己训练小模型时的一个高频评测方案。

训练过程中,我一般每保存一个 checkpoint(比如每几百步一次),就跑一组轻量评测。这组评测不是最终大评测的全部,而是精心挑选的5-10个“探针任务”,要求覆盖前面说的五类能力:

  • 语法类:选择一个判断语法正确与否的小数据集,看准确率。
  • 知识类:挑一两个知识问答子集,看召回率。
  • 推理类:挑一些数学或逻辑推理题,看最终正确率和子步骤正确率。
  • 指令与格式类:设计几个固定的输出格式要求,看格式贴合率。
  • 上下文学习类:准备几个带示例的任务,看few-shot表现。

把这组探针跑出来的分数做成一张“时间-能力”表格,你能看到非常清晰的课程轨迹:语法先涨、知识跟上、推理最后。这个过程我第一次完整跑下来的时候非常震撼,它让我第一次实打实地看到了模型“学习什么以及何时学习”,而不是靠猜。

还有一个实用技巧:把这组探针任务里每个任务的训练集大小和它在评测中出现的时间对齐。你会发现,某个能力明显上升的时间点,通常对应着模型“在那个能力所属的数据类型上”看到了足够多的样本。这个数据点直接关联隐式课程假说的核心:学习的顺序由数据的数量与分布决定,而不是由训练步数本身决定。

3. 核心概念拆解:什么是隐式课程假说

3.1 显式课程学习 vs 隐式课程学习

在展开隐式课程假说之前,先得把“显式课程学习”和“隐式课程学习”这对概念区分清楚,因为很多人对“课程学习”的印象停留在前者。

显式课程学习,是人为设计训练顺序:先训练简单样本,再逐步引入困难样本。这像传统教育里的教材编排,第一章讲加减法、第二章讲乘法、第三章讲混合运算,每一步都是人设计的。在模型训练领域,这通常表现为给样本打难度分、按难度排序或分组,然后按顺序喂给模型。好处是可控制性强,坏处是难度标注的成本高,而且排序错了反而会拖累训练。

隐式课程学习则完全不一样:它不对数据做任何显式排序,模型完全按照数据原有的分布顺序学习。因为自然文本中简单模式出现概率高、上下文短,复杂模式出现概率低、上下文长,模型在随机抽样中天然地先学到简单模式、后学到复杂模式。也就是说,课程是数据分布自带的,不是外部施加的。

这两者的核心区别,可以类比为“系统编排课表”和“自学成才”。前者是每一章都安排好了进度;后者是你随机翻书,但书的统计结构让你自然地从简单内容开始学。隐式课程假说主张的是:大语言模型走的是后一条路,而且这条路走得通。

3.2 自然文本里的“难度排序”是哪里来的?

如果要接受隐式课程假说,就得回答一个问题:自然文本凭什么天然具备课程结构?难道每一句话都自带难度标签吗?

不需要标签。难度排序来自两个客观统计规律。

第一个规律是频率分布。简单、短小、常见的语言模式在语料库里出现次数极多,比如“我是”“他说”这种主干结构,几乎每几句话就出现一次;而复杂的长距离依赖、多层从句结构出现的频率就低得多。模型在随机抽样时,高频简单模式被抽中的概率远大于低频复杂模式,所以简单模式先被充分学习。

第二个规律是上下文长度。很多“难度”体现在长距离依赖和信息整合上。一个需要用相隔50个token的两个信息点来消解歧义的句子,比一个只看相邻3个token就能理解的句子难得多。大语言模型训练时会按最大上下文长度截断文本,但实际训练中,短文本和短依赖的模式占据多数,长依赖模式是少数。模型首先把短依赖摸清楚了,才能在之后的训练中利用已经形成的注意力模式去处理长距离依赖。

这两个规律叠加起来,就在海量非结构化文本里创造了一个天然的难度梯度:从高频短模式到低频长模式,从简单共现到复杂推理。模型按照抽样分布去学习,就是在按梯度爬坡。这就是“隐式课程”的来源。

3.3 这个假说怎么解释训练中的“loss 突刺”

训练过大模型的人几乎都遇到过loss突刺:本来稳稳下降的曲线,突然在某一个step冲高,然后慢慢回落。遇到这种情况,很多人的第一反应是学习率太大、数据有脏样本,或者是并行训练时梯度出了问题。这些确实可能,但还有一个非常有意思的视角:loss突刺可能是模型跨越课程阶段时的“阵痛”。

想象一下,模型在前一个阶段已经熟练掌握了简单模式,参数分布稳定在某个局部最优附近。当抽样开始频繁命中更复杂、更长的模式时,模型现有参数不能很好地预测这些样本,loss自然拉高。这就像一个学生刚升入新的年级,面对新难度时成绩会短暂下滑,适应之后又回升。

在实操中,如果突刺出现在训练中期且能快速恢复,并且恢复之后评测指标有提升,那很可能是课程切换的自然现象,不一定是bug。我当时训练一个中等规模模型的时候就观测到过一次:在某个数据区间的边界附近,loss连续几个step反常抬升,当时差点去排查数据是否混入了脏样本。后来我对比了不同数据配比下的复现实验,发现这种突刺与数据分布切换高度相关,并非偶然。

理解这一点能帮你省掉很多无谓的排查时间。但也提醒一句:不是所有突刺都是“正常的”。如果突刺幅度巨大、恢复缓慢、或伴随评测指标永久性下滑,还是要优先检查数据质量和训练配置。

3.4 数据配比就是设计隐式课程表

顺着前面两条规律走下去,会得到一个非常实用的推论:数据配比就是在设计隐式课程表。

这句话怎么理解?假设你有一批代码数据和一批通用文本数据。如果代码数据占比高,模型在抽样时会更快、更早地遇到代码特有的模式,比如缩进结构、函数调用、类型声明。这些模式相对通用文本来说更结构化、更需要长依赖,因此会把“代码能力课程”提前。如果你希望模型早点具备代码能力,就需要适当提高代码数据占比或配合阶段性的数据递增策略。

同理,如果你想让模型更早建立推理能力,就得让包含推理过程的链式文本更充足。不是简单地把数学题直接堆上去,而是让“因为……所以……”“第一步……第二步……”这类带逻辑链条的文本在语料中足够多。模型学推理,前提是语料里有大量的推理范式可供统计。

我自己调数据配比的体感是:加量某个领域的文本,会明显提前该领域对应能力的“可观测时间点”,但这个提前是有代价的——如果某个领域的文本比例过高,其他能力的学习进度会被挤占。课程设计没有免费的午餐,隐式课程也一样。把握的平衡点通常得靠多组小规模实验来踩。

4. 实操视角:怎么在真实训练里用上这套认知

4.1 用“能力时间表”指导训练中的决策

知道了模型按什么顺序学,一个直接的用处就是:在训练过程中可以更有针对性地做决策,而不是只盯着loss曲线。

我在一次模型训练项目里,遇到过一个很典型的场景。当时模型已经训练到计划中期,总loss还在缓慢下降,但最终评测的某个推理分数一直不涨。团队里有人很着急,提出要调高学习率、增加推理数据、甚至想提前终止训练换成更大的模型。我建议先别动配置,先跑一组中间checkpoint的推理子任务拆解评测。

结果很清晰:简单推理子任务的分数在涨,多步推理的最终答案分数不涨,原因是最后一步的归并能力还没形成。按照隐式课程假说的预测,这个现象说明“推理课”还没上完,对应的数据还没被充分学习。我们继续按原计划训练,又过了几百步,那个推理分数开始明显爬升。这让我更加坚信:了解“何时学”可以让你在别人慌的时候保持冷静,做出正确的等待。

如果你也在训练过程中遇到“某个能力一直不涨”的情况,我建议你做一个简单的检查表:先确认基础语法能力是否已经健全;再看相关子能力是否在上升;最后才考虑是不是数据配比出了问题。大多数时候,你需要的不是调参,而是等待课程推进到对应章节。

4.2 用探针任务跟踪“课程进度”

怎么系统化地跟踪“课上到哪了”?我的做法是一套轻量探针任务机制。它不是最终评测那样的大而全,而是小而准的定时体检。

具体操作上,我会准备一份探针清单,每个任务控制在几百条样本以内,保证几十秒内能跑完,方便频繁执行。清单里包含一个大语言模型能力光谱上的代表性任务:语法合法性判断、常识问答、多步推理、指令跟随、少样本学习。训练过程里,每500步跑一次探针,记录结果,生成“能力时间线”。

一开始我还额外做了一个统计:对每个探针任务,统计模型在该任务数据子集上的困惑度变化。你猜我发现了什么?模型在评测分数上升之前,往往已经经历了“该子集困惑度先快速下降再趋于平稳”的过程。这个信号比评测分数出现得早。换句话说,困惑度是“课程进度”的先行指标,评测分数是滞后指标。

这对实操有很大价值。如果你在训练中想尽早知道某个能力是否开始形成,可以构造该能力对应的数据子集,盯着子集困惑度看。子集困惑度开始显著下降,意味着模型开始在这个难度层级上有所领悟,即使评测分数还是0。这比干等评测曲线“涌现”快很多。

4.3 数据重组的注意点:不是越难越好、越短越好

有了隐式课程假说这个框架,很多人会想到一个“优化方向”:是不是可以人为地按照难度把数据排序,做个显式课程来加速训练?我的答案是:可以试,但风险不小。

我之前做过一系列数据排序和难度加权的小实验。把容易和困难的数据按“易→难”顺序排列,确实能看到训练初期loss下降稍微更快,但到了中后期容易出现一个现象:模型对简单数据过拟合,对困难数据欠拟合。这是因为简单的课程阶段耗时太长,模型把参数卷进了简单模式的局部最优里,等切换到困难模式时,调整成本很高,反而拖累整体效果。

还有一个反直觉的现象:把数据都切得很短来提升梯度更新频次、增加“课程台阶数量”,也未必有效。短样本确实能让模型快速学到很多基础模式,但长样本里特有的跨段落依赖和信息整合能力,是短样本永远学不到的。如果数据切得太碎,模型会长期停留在“语言流利但逻辑松散”的状态,这类模型生成的内容读起来像模像样,但细看经不起推敲。

这给我一个很深的教训:自然语料的“原生长度”和“原有难度”本身就是隐式课程的一部分。过度人工干预,容易破坏这种天然结构。我的建议是,除非你有非常明确的证据证明某种显式排序有效,否则优先尊重数据原生的分布,把精力花在数据配比和多样性设计上,而不是难度排序上。

4.4 训练中观察到的几个“信号”

最后分享几个我在训练日志里经常看的信号,它们是对应“课程推进”的指示器。这些信号无法一一列出,但以下是我认为最具参考价值的几个,供你参考。

第一个是梯度范数变化。模型在跨越课程章节时,梯度范数往往会出现阶段性震荡。如果梯度范数在中后期突然持续性增大,很可能是遇到了新难度层级的样本流。

第二个是embedding空间漂移。训练中选一组锚定词(比如常见动词或名词),看它们的表征在训练中的变化。课程推进时,表征空间会发生阶段性的重排,某些词的距离会突然拉近或拉远。这种变化在可视化图上往往对应着“某个课程单元结束”的时间点。

第三个是内部注意力头的行为变化。在训练早期,大部分注意力头做着局部的、词汇级的工作;训练到中后期,一部分头开始关注长距离的句法关系,另一部分头开始执行跨句的指代消解。如果观察注意力头的分工变化,你也能侧面验证“隐式课程”的推进过程。

当然,这些信号本身不一定直接指导调参,但它们能帮你构建一个对训练过程的“直觉模型”,让你知道自己当前在第几堂课、接下来的课大概是什么。

5. 常见误区和避坑指南

5.1 别把“评测分数突变”当成能力凭空产生

这个误区在前面已经反复强调,但真的很普遍,值得单独列出来。看到评测曲线从0到100,不要庆祝得太早,也不要把它理解为“模型突然开悟”。我更建议你把这个现象当作“测量仪器量程不够”的信号:任务本身的评分粒度太粗,无法反映模型的渐进进步。

避坑方法:把每个评测任务的指标拆细。如果是数学题,拆成“列式正确率”“计算正确率”“最终答案正确率”;如果是代码生成,拆成“语法通过率”“功能正确率”“效率分”。拆细之后你就不会频繁被表面的“涌现”欺骗,也更容易判断训练是否健康。

5.2 只看总loss,会错过关键课程信号

总loss是所有token的平均负对数似然,它是一个宏观指标,但也是“平均主义者”。某个领域子集的loss变化会被其他领域淹没,尤其当那个领域数据占比很低时。

我之前就栽过跟头。有一次训练一个多语言模型,总loss曲线异常漂亮,一路下降,但某个小语种的评测分数原地踏步。当时总loss给我的反馈是“一切正常”,直到我单独统计该小语种子集的loss才发现,它几乎没怎么下降。原因是该语种在数据里占比太低,它的信号在总loss里被稀释得看不见了。

避坑方法:训练中除了总loss,至少按数据大类记录分组loss。如果某组数据的loss长期不降,及时调整配比或检查数据质量,不要等到最终评测才发现问题。

5.3 隐式课程不是“无课程”,别放弃主动设计配比

强调隐式课程,不代表数据配比不重要,恰恰相反,数据配比是你在不破坏隐式课程的前提下,唯一最有力的调节手段。

有人看到“自然文本自带课程”之后,容易走向另一个极端:干脆不筛数据不配比,直接把整个互联网倒进模型里。这个做法风险很大,因为隐式课程只在数据分布相对平衡时才是合理的,如果数据里某个领域的知识重复率过高、质量低下,模型也会按照课程机制把这个领域的“低质量模式”当成必学内容。这就是为什么数据清洗、去重、质量过滤依然是训练大模型的前置工作。

正确的姿势是:清洗和去重保证数据质量底线,配比决定课程方向的优先级,多样性和新鲜度保证课程内容的覆盖面。三者协同,才能让隐式课程良性运转。

5.4 训练长跑中的三个实操提醒

最后补充三个实操层面的提醒,都是我自己踩过或看别人踩过的坑。

第一个:不要在训练中频繁修改数据配比。隐式课程是长程统计的结果,你改一版配比,相当于临时修改课表,模型需要一段时间适应。频繁修改会让模型永远处在“课程适应期”,学习效率大打折扣。改配比要像改学期计划一样谨慎,最好一次改完,留足观察期。

第二个:不要忽视重复数据对课程进度的污染。重复文本会让模型在一个难度层级上反复打转,看起来loss降得很快,但真实能力覆盖度不够。数据去重不光是节省算力,更是保证课程进度不卡壳的关键。

第三个:保留里程碑checkpoint,别只留最后一个。想真正理解“何时学”,必须回看历史checkpoint。如果训练因为预算问题不得不删checkpoint,也要保留每个课程关键阶段的代表样本,否则你永远无法复盘模型的能力形成过程。

6. 这套假说还能怎么用:我的后续实践思路

隐式课程假说对我来说不是一个空中楼阁的理论,它已经改变了我设计和观察训练的整套方式。如果让我说后续还能往哪些方向继续实践,我脑子里会跳出三条具体的路。

第一条是数据配比的“课程矩阵”实验。不是只调一个领域占比,而是同时观察多个领域数据在不同学习阶段的贡献变化。比如构建一个二维矩阵:横轴是训练时间,纵轴是各数据领域的loss差异,看哪些领域在哪个阶段被模型“学会”了,哪些领域迟迟没有被纳入学习轨道。这类分析可以指导下一轮训练的数据增量策略。

第二条是利用课程假说设计“学习率策略”。既然模型在不同阶段的“学习内容”不同,学习率的退火节奏也应该与课程推进对齐。初期快速下降帮助模型快速掌握基础模式,中后期保持一定探索性以攻破困难层级,最后的退火阶段把能力沉淀下来。通过观察子集loss的下降斜率,可以为学习率调度提供动态依据。

第三条是评测体系的设计升级。我的想法是,把探针任务进一步精细化,做成“难度阶梯”形式:同一类任务准备简单、中等、困难三个版本,分别评测,形成一张能力-难度二维图。这样就能直观看到模型在某个能力上“上到了第几级台阶”,更加贴合隐式课程假说的语言。

这三条路目前我都还在探索中,不敢说已经有成熟结论,但至少方向是明确的。最后再提一个我一直放在心里的判断标准:判断一个训练框架好不好,不只看最终分数,还要看它是否尊重了模型“按课程学习”的自然节奏。顺势而为的训练方式,往往比强行干预更省力,也更能发挥潜力。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进