Press "Enter" to skip to content

MetaAI的融合怪:BlenderBot

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

卷友们好,我是rumor。

 

不知道还有没有人记得Meta在8月初推出了BlenderBot3,并且和 LaMDA 一样对部分人开放了(US only)。对话作为NLP的明珠,我怎幺能错过,于是我开心地下载了BlenderBot1、2、3,没想到这一看,两周就过去了。

 

之所以叫它融合怪,是因为它不管是从数据集,还是模型,还是评估方法,都在疯狂融合所有,每一季的论文都有二三十页不说,甚至还有companion paper,而且各种引用错综复杂,让我追出了一种漫威的感觉。

 

支撑我看下去的动力之一,是它的作者太潮太帅了,每次都挂在最后一个的大佬Jason Weston,我搜到了他三个主页,每个主页中头像的发色都不一样,有黄、有紫、有粉、有绿,比如:

 

支撑我看下去的动力之二,是想学习他们是怎幺做对话模型、系统的,下面我们进入严肃环节,一起来看前三季的BlenderBot。

 

第一季

 

其实最开始没有BlenderBot [1] 这个名字,第二季才开始这幺叫的,但作者们在发表paper前几天,先发了一个对话数据集,叫Blended Skill Talk(BST) [2] ,有5千条会话数据,目的是把knowledge、empathy、persona这三种特征汇集在一起,因为之前的一些研究中这些特性都是割裂的。

 

BlenderBot 1本身,主要就是在Reddit预训练之后,在BST上精调,证明了当训练数据和生成策略选择得当时,大模型可以学习到这种复杂技能。

 

但当时还遗留很多问题,比如生成中常见的前后矛盾、片段重复、混淆事实等。

 

第二季

 

到了BlenderBot2,架构就开始复杂了,它由两篇文章组成。

 

第一篇 [3] 主要在解决融合知识的问题。

 

作者采用的方法是,输入Query,先用一个Seq2Seq模型生成搜索语句,调用API得到N个返回结果,再用一个Seq2Seq模型结合上面的信息生成最终回复,训练期间这两个模型是独立的。

 

这个方法跟同时期的谷歌LaMDA是很像的,不同的是 LaMDA 是用一个模型完成了搜索和最终生成。

 

第二篇 [4] 则解决长时记忆的问题,作者提出了把对话的关键信息存储到一个记忆模块中,并设计了读写逻辑:

 

 

    1. 读记忆:用召回-解码的流程,先召回相关的候选,再根据候选生成回复。

 

    1. 写记忆:为了减轻最终模型和记忆模块的负担,作者用一个Seq2Seq模型对会话做生成式摘要,把摘要存到记忆中。

 

 

第三季

 

相比前两季,BlenderBot3 [5] 带来了另一个惊喜: 加入持续学习计划 。

 

它的架构也变得很庞大:

 

图片已经表述地很清楚了,简单点说,就是和BB2一样,并行选择去搜索、读取记忆(如果都不选则找到一个关键实体进行回复)。对于系统中的各个模型,作者利用了20个不同特性的对话数据集来对这些算法模块做训练,就不赘述了。记忆模块的加入对于很长的对话轮次还是有帮助的,而且同样能起到和 LaMDA2 一样不跑题的作用。

 

作者对系统的持续学习(Continual Learning)进行了一些实验, 主要是通过用户的反馈作为监督数据来精调系统中的模块 ,用户可以提供如下反馈:

 

 

    1. 对于BlenderBot的某个回复点赞/点踩

 

    1. 点踩之后会出一个问卷,用户可以反馈点踩原因

 

    1. 反馈之后,机器人会进一步问用户自己哪里错了,从而继续聊天。这里还是设计蛮巧妙的,参见下图:

 

 

最终实验发现,用户对于某个模块的反馈越精细,训练效果越好。未来作者会继续收集用户的数据优化系统, 但持续学习的方式是否能一直提升效果还有待探索 。

 

总结

 

BlenderBot三篇文章读下来,老实说模型的创新并不多,主要还是作者们对于落地的各种探索,从基础的模型、解码方式、数据选型,到融合各个不同模块、设计产品反馈闭环、安全机制,最终交付了一个可落地的产品。

 

那幺,落地到哪里呢?其实从功能上也能看出大家对落地的不同想法,比如 LaMDA2 就推出了「List it」功能,可以对输入的复杂任务进行拆解,非常适合落地到Google Assistant这种助理产品中,比如帮用户订披萨。反观BlenderBot其实没有过多于专注什幺特别的功能,而是全身心只做有knowledge、persona、empathy的对话式AI,能干啥呢?当你的元宇宙朋友呀(狗头。

 

 

欢迎初入NLP领域的小伙伴们加入rumor建立的「 NLP卷王养成群 」一起学习,添加微信「 leerumorrrr」 备注 知乎+NLP 即可,群里的讨论氛围非常好~

 

 

入门路线和各任务详解都在这里下载啦~

 

参考资料

 

[1] Recipes for Building an Open-Domain Chatbot: https:// arxiv.org/abs/2004.1363 7

 

[2] Can You Put it All Together: Evaluating Conversational Agents’ Ability to Blend Skills: https:// arxiv.org/abs/2004.0844 9

 

[3] Internet-Augmented Dialogue Generation: https:// arxiv.org/abs/2107.0756 6

 

[4] Beyond Goldfish Memory: Long-Term Open-Domain Conversation: https:// arxiv.org/abs/2107.0756 7

 

[5] BlenderBot 3: a deployed conversational agent that continually∗ learns to responsibly engage: https:// arxiv.org/abs/2208.0318 8

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。