模型变得可训练了。这句话听起来平平无奇,但过去十年的全部进展都站在这个单一事实上:给一个系统一个”它做得如何”的信号,再给它一条按信号改进的路,剩下的交给规模。而模型在其中学习的环境,从来没有得到过这份待遇。
值得把模型那一侧得到的东西说精确。反向传播让每一个参数分担每一次错误的责任,也就是说,它在网络内部解决了 credit assignment。这个信号一旦存在,改进就不再是手艺,而是预算:更多数据、更多算力、更好的模型。我们称之为 scaling 的一切,都建立在这个回路无人值守地转了亿万次之上。
再看训练的另一侧。环境甚至不是一个整体。这边是一个 reward model,用偏好数据训练,按准确率评判;那边是一批 verifier,按一致率评判;别处还有一个 curriculum,靠启发式拼起来,靠直觉评判。每个部件被单独构建、单独评估、单独更换。没有一个部件是按它唯一的存在理由来评判的:它对它要训练的那个模型做了什么。环境不是一个系统,是一堆零件。
一堆零件是训练不起来的。这就是环境从未得到那份待遇的诚实原因,也是为什么我不把”让环境训练起来”当成一个问题。它是一叠问题,每一层踩在下一层上。
测量。 你能读出单个部件对模型做了什么吗?今天基本不能。reward model 的 benchmark 准确率无法预测它训练出的 policy;效果得到训练过程内部去读。这一层不通,上面的一切都是猜。
Credit。 模型同时被许多部件训练,它们共同产出一个结果。谁的份额是谁的?把一个部件拿掉重跑,你已经改变了它下游所有部件看到的东西;答案会带偏差,而且加样本也修不好。credit 得靠真实跑出反事实来计算,不能靠预测,也不能靠删除去近似。
训练单个部件。 测得的效果可以变成部件自己的训练信号。环境从这里开始不再是基础设施,开始改进。这一层带着模型那侧从来没有的义务:部件必须可撤除,收益要留在模型身上。否则你改进的就不是模型,而是围着它的那套系统。
团队。 一起训练、服务同一个模型的部件们,必须协同而不是互相干扰。联合塑造在单独塑造成功的地方会失败,这是已知的;所以这一层不是下一层的免费推论。
泛化。 把一个模型训练得好的环境,应该能带到下一个模型、下一个任务,并最终越出文本。这是赌注兑现的一层,也是离现有证据最远的一层。
我的三项研究目前住在前两层,并向第三层迈出了第一步:在标准指标失效处做测量,在结果共享处做精确 credit,以及一个被吸收然后撤除的训练期部件。这是有意的。没有地基,这叠楼会塌,而地基恰恰是没人造过的那部分。
凭什么相信楼造起来上限就会动?因为模型越来越多地从环境生产的经验中学习:被提出的任务、被打分的输出、被检查的错误。环境就是这些经验的工厂。在固定的工厂里改进的模型,会收敛到工厂能教的东西为止;要让上限动,工厂本身必须进步。这个领域见过一次同样的事:特征曾经是手工造的,后来变成学出来的,仅这一个变化就让领域改了名字。环境是剩下的最大一块手工阶段。
所以赌注再说一遍:环境自身必须像模型一样可扩展、可训练、可泛化。我从这叠楼的起点开工,从测量开始。姊妹篇会说明这个顺序为什么是被迫的,不是选的。
本文取代我早前以另一个名字写下的方向陈述。名字没有留下来,志向留下来了。