作者 | Python、Zenmoore
谷歌旗下的DeepMind,因AlphaGo而名声大振;而推出ChatGPT的OpenAI,近日更是如日中天。
然而,OpenAI公开了一篇论文[1],结论同DeepMind去年11月的工作[2]完全相反。在对比差异时,论文指出DeepMind格局小了,相比之下,OpenAI用了更强力的基础模型(use a more capable model),调研了更有挑战的数据(dataset is significantly more challenging),并基于更大的监督数据规模(much larger quantity of process supervision data)。
那究竟是什么样的结论,使两家公司得到如此分歧呢?让我们来仔细看看这篇文章吧。
论文题目:
Let’s Verify Step by Step.
论文链接:
https://arxiv.org/pdf/2305.20050.pdf
大模型研究测试传送门
GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问即可):
https://gpt4test.com
背景
对于ChatGPT等大语言模型,有一个魔法词叫做“let's think step by step”。如下图左所示,在解题等需要复杂推理的场景下,通过这个魔法词,让模型输出答案之前,输出推理过程,有助于提高答案的准确性与可解释性。该方法被称为思维链(CoT,Chain of Thought)。
所以,一个自然的问题是:在训练大模型时,有没有可以利用思维链的地方呢?
我们知道,训练ChatGPT这种大模型包括两步:语言模型训练与指令精调。在指令精调中,会根须人类反馈数据(考虑认知、价值观等)训练一个奖励模型(Reward Model),并通过强化学习方式,来反馈调整语言模型。
利用思维链的方式也聚焦在这一强化学习过程。具体而言,可以分为两种:只针对结果的ORMs(outcome-supervised reward models),与基于每一步推理过程的PRMs(process-supervised reward models)。前者只根据模型解题的最终结果给予强化学习监督,而后者关注每一个推理步骤。
分歧点与差异分析
OpenAI和DeepMind的分歧点在于,在解决需要复杂推理的数学题的背景下,对于奖励模型(Reward Model),OpenAI认为针对过程的PRMs更好,而DeepMind认为两者相差不大。
OpenAI指出,之所以产生这一分歧,是DeepMind的实验格局不够:
-
OpenAI基于GPT-4展开实验,而DeepMind只用了700亿参数的基础模型。 -
OpenAI针对MATH数据集,该数据集取自美国中学数学竞赛试题(AIME),而DeepMind之研究了GSM8K数据集,都是些小学数学题。 -
OpenAI基于了更大的数据规模:800K过程标注标签。而DeepMind只对530道训练集数据取了1560个模型生成样本,得到9.8K的过程标注标签。
这次OpenAI非常慷慨地开源了他们的数据:
https://github.com/openai/prm800k
下图为针对过程的PRMs数据样本,绿色的行代表正确的步骤,红色的代表错误的。
实验结果与实验结论
即使公开了论文和数据集,这篇文章和OpenAI之前的几篇文章一样,对技术细节隐藏很深,只公开了很少的实验结论。
主要结论:针对过程的PRMs更好。
对上图解释一下,这里用到Best-of-N作为评价指标,即让语言模型生成N个解之后,让奖励模型选取其中分数最高的一个作为答案,用以评价奖励模型。Majority Voting是一个多数投票的方法。
可以通过主动学习,加速学习过程。下图横轴代表每道题的标注数据规模,等价于训练数据规模。主动学习的方式为,使用较小的PRM模型,对每道题保留部分分值最高的负样本。该方法可以提高2.6倍的收敛速度。
针对过程的PRMs可以较好地泛化到领域外的数据上。可以看到,在各学科的AP数据上,PRMs都取得了较好的表现。
除此之外,文章最后还探讨了包括测试集污染在内的一些问题,在此就不过多展开了。
额外的结论
因为OpenAI写得论文都比较隐晦,有时需要一些专业的背景才能够从字里行间看出一些端倪。爱丁堡大学的博士生fuyao在Twitter上也给出了这篇文章的一些参考结论:
-
奖励建模非常重要。单纯有监督微调只能提供模型的格式,而无法提升能力(capability)。 -
使用逐步奖励而不仅仅依赖于最终奖励对模型进行训练,这个原则也适用于编程任务。 -
如果数据集像GSM8k那样简单,或者奖励数据不足够大,可能会得出错误结论,认为两种类型的奖励是相似的。这是之前DeepMind的结论。 -
在进行奖励建模之前,应该对Latex和SFT(结构化文本)进行持续训练。持续训练可以提升能力,而SFT可以提供格式。这个做法来自Google Brain的Minerva论文。 -
推理任务的奖励模型与对话任务的奖励模型不同。不应该假设底层只有一个单一的奖励模型。原始的Claude论文也讨论了这种做法。 -
应扩大奖励模型规模。不应该假设大模型可有效从小型奖励模型中学习。这在OpenAI最初的InstructGPT论文中也有讨论。 -
在单一数据集(MATH)上训练的奖励模型可推广到领域外数据集。可能归因于模型规模。
总结
这篇文章告诉我们,要辩证地看待世界,真理也是有一定适用范围的。得到错误的结论,可能不是方法思路有问题,而是没有打开格局。
这篇文章对科研的价值,一个是可以像fuyao那样,除了主要结论之外,通过一些隐约的表示,探究OpenAI隐藏的细节。另一方面,也可以从开源的数据集入手,仔细分析GPT4在数学推理的表现与人类标注的特点,探究GPT4的能力的同时,思考是否有必要,以及能不能将之推广到其它需要推理的大模型应用场景中。
参考资料
[1] Let’s Verify Step by Step. arXiv preprint arXiv:2305.20050, 2023.[2] Solving math word problems with process-and outcome-based feedback. arXiv preprint arXiv:2211.14275, 2022.
本文由 mdnice 多平台发布