近期有很多工作比如Alpaca、Vicuna、Koala等论文宣称通过收集到的大量chatgpt output,在基于开源大模型如LLaMA上进行微调后的模型就接近甚至超过chatgpt效果。有些看热闹不嫌事大的媒体渲染诸如“复制chatgpt,仅需100美元“,”开源大模型超过chatgpt“啦。但事实真的如此吗?来自UC Berkeley的研究团队在The False Promise of Imitating Proprietary LLMs这篇论文中分析的这些模型的效果,并给出结论”还差的远呢“。相信这些经验能指导我们怎么做大模型,以及大模型的核心到底是什么。让我们一睹为快把。
这里有两个概念后面会被反复使用到,因此提前定义下:
proprietary model: 标题中的proprietary LLMs指的就是chatgpt这种闭源的专有模型,参数不进行开放,我们只能获取到模型的输出信息,而无法模型参数、生成过程中词语的概率等信息。
imitation model: 指的是通过模仿proprietary model的输出而进行训练的开源模型。
大模型的壁垒在于训练的foundation model的好坏,这要求我们我们训练更强,更大的基础模型。而在style、persona方面的差异性则不是壁垒,因为别的模型可以通过很少的样例就能学习到这些信息。这点也说明了为啥现在所有的大公司都在自己训练基础大模型,因为这才是真正的关键。
众包的人工评测是不靠谱的(未来应该怎么评测大模型好坏依然是questionable的,或者需要极强的专家知识,比如需要MIT的博士用专业领域知识评估),很多imitation model 很容易就模仿到chatgpt输出答案的风格,即style,而没有达到chatgpt输出答案的正确认识、即factuality。因为很多情况下众包人员缺乏领域知识,而无法判断两个模型输出是否有事实错误,因此倾向于认为两个模型是打平,甚至是好于chatgpt的。
开源模型和chatgpt仍然具有很大的差距,尤其在涉及factuality的问题上,比如需要领域知识,以及coding,reasoning,math problem solving等问题上。
作者定义了两种imitation,一种是task-specific的imitation,这种是在特征任务上收集足够多的chatgpt的输出,然后训练小模型,这种imitaion目的是想要在特定任务,特定领域上达到chatgpt的效果。一种是broad-coverage imitation,就是利用人们在网上公开的自己的问题以及chatgpt的回复,这些数据集一般包含千罗万象,什么问题都有,这种imitation是想要在整体效果上达到chatgpt效果。现在公开的大多模型属于后一种。
broad-coverage imitation常见数据集有:
ShareGPT,大约90K用户和ChatGPT的对话信息。
HC3,大约27K用户的提问以及ChatGPT的回答信息。
Discord ChatGPT Bots, 大约10K来自社区(reddit等)提供的用户和ChatGPT的交流信息。
对于task-specific imitation,作者构造了6K的QA pair,其中问题是来自Natural Questions这个数据集,里面大多是一些关于维基百科的事实性问题,而回答都来自ChatGPT,这个数据集称为NQ-Synthetic。
对于broad-coverage imitation,作者将上面提到的三个数据集进行清洗、去重后构建了一个新的称之为ShareGPT-Mix的数据集。
作者在这两个数据集上对从1B到13B大小的模型进行finetune,来探究imitation model的效果究竟如何。
在NQ-Synthetic数据finetune后效果有持续变好,并且在模型参数量上去后,效果有持续的逼近chatgpt,说明如果是想在某个领域上达到chatgpt的效果,那么imitation这种方法是可行的。
在ShareGPT-Mix上finetune后在问答效果反而下降了,这可能是模型学习chatgpt的输出风格而折损了部分性能。
提升imitation model 训练的数据量不会提升效果,可以看到一开始的时候模型就饱和了,右上图的结果也说明了在broad-coverage imitation训的太多反而会降低在natural question 数据集上的效果。
提升imitation model 的参数量可以显著的提升模型的效果,说明基础模型的效果才是关键。
趋势和上面的评测是一致的,说明在一定程度上用gpt-4作为裁判来判定chatgpt和imitation model的效果好坏是可行的。
一个关于强化学习的问题,chatgpt回答的很好,而imitation model回答有很多的事实错误。其中红色部分是事实错误部分,可以看到imitation model回答的像模像样,但是错误百出。如果不是对强化学习有足够的了解的评估人员,可能就被骗了。
这篇论文最有含金量的部分就在讨论部分,我们以结论为主,感兴趣的同学可以看原文的分析。
现有的开源模型和chatgpt的差距还很大,主要是在需要factuality的任务上,比如reasoning, math problem solving,一些专业问题上。
现有open-source LLM最大的limitation就是基础模型的能力太弱了,只有13B参数量想要达到chatgpt的效果是远远不够的。因此开源社区应该努力训练更大更好的开源模型,而不是finetuning更多chatgpt的output。
在broad-coverage数据集上finetune并不会提升模型对于事实性问题回答的准确性,甚至可能降低效果。侧面也印证了大模型的能力主要是来自于预训练阶段,和Meta的LIMA: Less Is More for Alignment这篇论文的假设一致。
在task-specific数据集上finetune可以提升相应领域上的效果。
imitation model学习到的是style而不是content。
大模型如何评估将变得很困难,因为已经验证目前的众包人工评测已经是不可行的,而不能总让gpt-4评测吧,比如我就要超过gpt-4,怎么能让gpt-4既当运动员又当裁判呢?
imitation model继承了teacher model的safety以及toxicity style,因此如果已经训练好的一个强大的foundation model,而没有钱像openAI 那么豪雇几百个专家做safety & alignment,那么可以尝试用imitation的方式对齐。
pre-training阶段是LLM能力的主要来源,finetuning只是一个轻量级的方法来引诱出这些知识,此处再次cue到LIMA。
如果是采用imitation这种方法,那么很可能会加剧幻觉hallucination问题,因为imitation model要强行学习proprietary model的输出,而这些输出可能原本就再它能力之外。
如果偏偏就想用imitaion的方式获得chatgpt的性能,作者说那就不是简简单单用几十上百K的数据微调这么简单,应该覆盖方方面面的知识,这个量级可能和需要的预训练数据量级相当。(: 有这个量级的数据我还finetune啥
大模型的壁垒在于foundation model训练的好坏,因此使劲堆积起来模型参数量,模型训练token数量让你的基础模型更强大吧。
如果两个公司用同样的fondation model, A公司在输出style和persona等方面作了优化,那么B公司很快可以通过模仿A公司的输出来白嫖到A公司的优化,因此这方面的积累是技术壁垒。
人工评测有很大问题,但目前还不知道怎么解决。