打开网易新闻 查看更多图片

新智元报道

编辑:好困 Aeneas 桃子

【新智元导读】做聊天机器人,OpenAI不是第一家,但绝对是最出风头的那个。谷歌、Meta、DeepMind、OpenAI的聊天机器人大PK,谁最牛?

前几天,Meta首席人工智能科学家Yann LeCun的一段对于ChatGPT的点评迅速传遍圈内外,引发了大波讨论。

在Zoom的媒体和高管小型聚会上,LeCun给出了一段令人惊讶的评价:「就底层技术而言,ChatGPT并不是多么了不得的创新。」

「虽然在公众眼中,它是革命性的,但是我们知道,它就是一个组合得很好的产品,仅此而已。」

ChatGPT不算什么创新

ChatGPT作为这几个月的聊天机器人「顶流」,早就红遍全世界,甚至切实改变了一部分人的职业生涯,以及学校教育的现状。

全世界为它惊叹的时候,LeCun对ChatGPT的点评居然如此「轻描淡写」。

打开网易新闻 查看更多图片

但其实,他的言论不无道理。

像ChatGPT这种数据驱动的人工智能系统,许多公司和研究型实验室有。LeCun表示,OpenAI在这个领域并没有多么独树一帜。

「除了谷歌和Meta之外,还有六家初创公司,基本上都拥有非常相似的技术。」LeCun 补充道。

接着,LeCun小酸了一把——

「ChatGPT用的是以自监督方式进行预训练的Transformer架构,而自监督学习是本人长期以来一直提倡的,那会儿OpenAI还没诞生呢。」

其中,Transformer是谷歌的发明。这种语言神经网络,正是GPT-3等大型语言模型的基础。

而第一个神经网络语言模型,Yoshua Bengio早在20年前就提出了。Bengio的注意力机制后来被谷歌用于Transformer,之后更是成为了所有语言模型中的关键元素。

另外,ChatGPT用的是人类反馈强化学习(RLHF)的技术,也是由谷歌DeepMind实验室开创的。

在LeCun看来,ChatGPT与其说是一个科学突破,不如说是一项成功的工程案例。

OpenAI的技术「在基础科学方面并没有什么创新性,它只是设计得很好而已。」

「当然啦,我不会为此批评他们。」

打开网易新闻 查看更多图片

我不是在批评OpenAI的工作,也不是在批评他们的主张。 我是想纠正公众和媒体的看法,他们普遍认为ChatGPT是一种创新且独特的技术突破,然而事实并非如此。

在纽约时报记者Cade Metz的座谈会上,LeCun感受到了好事者的疑问。

「你可能想问,为什么谷歌和Meta没有类似的系统呢?我的回答是,如果谷歌和Meta推出这种会胡说八道的聊天机器人,损失会相当惨重。」他笑着说。

无独有偶,OpenAI被微软等金主看好、身价飙升至290亿美元的新闻一出,马库斯也连夜在博客上写了一篇文章嘲讽。

在文中,马库斯爆出一句金句:

谷歌、Meta、DeepMind、OpenAI大PK!

话不多说,咱们把这几家AI巨头的聊天机器人都拉出来遛遛,用数据说话。

LeCun说许多公司和实验室都有类似ChatGPT的AI聊天机器人,此言不虚。

ChatGPT并不是第一个基于语言模型的AI聊天机器人,它有很多「前辈」。

在OpenAI之前,Meta、谷歌、DeepMind等都发布了自己的聊天机器人,比如Meta的BlenderBot、谷歌的LaMDA、DeepMind的Sparrow。

还有一些团队,也公布了自己的开源聊天机器人计划。比如,来自LAION的Open-Assistant。

在Huggingface的一篇博客中,几位作者调查了关于RLHF、SFT、IFT、CoT(它们都是ChatGPT的关键词)这些主题的重要论文,对它们进行了分类和总结。

他们制成了一个表,根据公开访问、训练数据、模型架构和评估方向等细节,对BlenderBot、LaMDA、Sparrow和InstructGPT这些AI聊天机器人进行了比较。

注意:因为ChatGPT没有记录,所以他们使用的是InstructGPT的细节,InstructGPT是一个来自OpenAI的指令微调模型,可以被认为是ChatGPT的基础。

打开网易新闻 查看更多图片

LaMDA

BlenderBot 3

Sparrow

ChatGPT/ InstructGPT

组织机构

Google

Meta

DeepMind

OpenAI

访问权限

封闭

公开

封闭

有限

参数规模

700亿

基础模型

未知

OPT

Chinchilla

GPT-3.5

语料库规模

2.81万亿

1.4万亿

未知

访问网络

✔️

✔️

✔️

✖️

监督微调

✔️

✔️

✔️

✔️

微调数据规模

高质量:6.4K

安全性:8K

落地性:4K

IR: 49K

20个NLP数据集,范围从18K到1.2M

未知

12.7K(ChatGPT可能更多)

RLHF

✖️

✖️

✔️

✔️

人工安全规则

✖️

✖️

不难发现,尽管在训练数据、基础模型和微调方面存在许多差异,但这些聊天机器人都有一个共同点——遵循指令。

比如,你可以通过指令让ChatGPT写一首关于微调的诗。

可以看到,ChatGPT非常「识相」,写诗都不忘拍一下LeCun和Hinton两位祖师爷的马屁。

随后激情洋溢地赞颂道:「微调啊,微调,你是一支美丽的舞蹈。」

从预测文本到遵循指令

通常情况下,基础模型的语言建模,是不足以让模型学会如何遵循用户指令的。

在模型的训练中,研究人员除了会采用经典的NLP任务(比如情感、文本分类、总结等),还会使用指令微调(IFT),也就是在非常多样化的任务上通过文字指令对基础模型进行微调。

其中,这些指令示例由三个主要部分组成:指令、输入和输出。

输入是可选的,有些任务只需要指令,如上面ChatGPT示例中的开放式生成。

当一个输入和输出出现时,就形成了一个示例。对于一个给定的指令,可以有多个输入和输出示例。比如下面这个例子:

IFT的数据,通常是人类编写的指令和使用语言模型引导的指令示例的集合。

在引导过程中,LM在few-shot(小样本)的设置中被提示(如上图),并被指示生成新的指令、输入和输出。

在每一轮中,模型会被提示从人工编写和模型产生的样本中选择。

人类和模型对创建数据集的贡献量像一个光谱一样(见下图)。

一端是纯粹的模型生成的IFT数据集,如Unnatural Instructions,另一端是大量人工生成的指令,如Super-natural instructions。

介于这两者之间的,是使用一套规模较小但质量更高的种子数据集,然后进行引导的工作,如Self-instruct。

为IFT整理数据集的另一种方式是,利用现有的关于各种任务(包括提示)的高质量众包NLP数据集,并使用统一的模式或不同的模板将这些数据集转换成指令。

这方面的工作包括T0、自然指令数据集(Natural instructions dataset)、FLAN LM和OPT-IML。

自然指令数据集相关论文:https://arxiv.org/abs/2104.08773

对模型进行微调

另一方面,OpenAI的InstructGPT、DeepMind的Sparrow和Anthropic的Constitutional AI都采用了基于人类反馈的强化学习(RLHF),也就是人类偏好的注释。

在RLHF中,一组模型响应根据人类反馈进行排序(例如,选择一个更受欢迎的文字简介)。

接下来,研究人员在这些注释过的响应上训练一个偏好模型,为RL优化器返回一个标量奖励。

最后,通过强化学习训练聊天机器人来模拟这个偏好模型。

思维链(CoT)提示,是指令示例的一个特例,它通过诱导聊天机器人逐步推理,以此来产生输出。

用CoT进行微调的模型,会使用带有人类注释的分步推理的指令数据集。

这就是那句著名的prompt——「let's think step by step」的起源。

下面的例子取自「Scaling Instruction-Finetuned Language Models」。其中,橙色突出了指令,粉色显示了输入和输出,蓝色是CoT推理。

论文指出,采用CoT微调的模型,在涉及常识、算术和符号推理的任务中表现得更好。

此外,CoT微调在敏感话题方面也非常有效(有时比RLHF做得更好),尤其是可以避免模型摆烂——「对不起,我无法回答」。

安全地遵循指令

正如刚才提到的, 指令微调的语言模型并不能永远产生有用且安全的响应。

比如,它会通过给出无用的回答来逃避,例如「对不起,我不明白」;或者对抛出敏感话题的用户输出不安全的响应。

为了改善这种行为,研究人员通过监督微调(SFT)的形式,在高质量的人类注释数据上对基础语言模型进行微调,从而提升模型的有用性和无害性。

SFT和IFT的联系非常紧密。IFT可以看作是SFT的一个子集。在最近的文献中,SFT阶段经常用于安全主题,而不是用于在IFT之后完成的特定指令主题。

在将来,它们的分类和描述应该会有更清晰的用例。

另外,谷歌的LaMDA也是在一个有安全注释的对话数据集上进行微调的,该数据集有基于一系列规则的安全注释。

这些规则通常由研究人员预先定义和开发,包含了一系列广泛的主题,包括伤害、歧视、错误信息等。

AI聊天机器人的下一步

关于AI聊天机器人,目前仍有许多开放性问题有待探索,比如:

1. RL在从人类反馈中学习方面有多重要?我们能在IFT或SFT中通过更高质量的数据训练获得RLHF的性能吗?

2. Sparrow中的SFT+RLHF,与LaMDA中仅仅使用SFT,两者的安全性如何比较?

3. 鉴于我们已经有了IFT、SFT、CoT和RLHF,那么还有多少预训练是必要的?有哪些权衡因素?最好的基础模型是哪个(包括公开的和非公开的)?

4. 现在这些模型都是精心设计的,其中研究人员会专门搜索故障模式,并根据揭露的问题影响未来的训练(包括提示和方法)。我们如何系统地记录这些方法的效果并进行复现?

总结一下

1. 与训练数据相比,只需拿出非常小的一部分用于指令微调(几百个数量级即可)。

2. 监督微调利用人类注释,可以让模型的输出更加安全和有用。

3. CoT微调提高了模型在逐步思考任务上的表现,并使模型不会总是逃避敏感问题。

参考资料:

https://huggingface.co/blog/dialog-agents