• MetaAI的融合怪:BlenderBot


    卷友们好,我是rumor。

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

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

    a728c6f8567777847617e1ef290585ae.jpeg

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

    3ca5e34d21b5d096e6f30f173ad0969d.jpeg

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

    第一季

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

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

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

    第二季

    到了BlenderBot2[3],主要就在解决融合知识的问题和加入记忆模块(见BB3)。

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

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

    第三季

    相比前两季,BlenderBot3[4]带来了一个比较大的惊喜:加入持续学习计划

    它的架构也变得很庞大:35353009bdee8907e8c6cde742de3e62.jpeg

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

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

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

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

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

    dbd38534abf4b4965b9659b1d0b4bd2d.jpeg

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

    总结

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

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

    参考资料

    [1]

    Recipes for Building an Open-Domain Chatbot: https://arxiv.org/abs/2004.13637

    [2]

    Can You Put it All Together: Evaluating Conversational Agents’ Ability to Blend Skills: https://arxiv.org/abs/2004.08449

    [3]

    Internet-Augmented Dialogue Generation: https://arxiv.org/abs/2107.07566

    [4]

    BlenderBot 3: a deployed conversational agent that continually∗ learns to responsibly engage: https://arxiv.org/abs/2208.03188

    a7277eaf1a5a7cd9f015cff30def4c2b.jpeg


    我是朋克又极客的AI算法小姐姐rumor

    北航本硕,NLP算法工程师,谷歌开发者专家

    欢迎关注我,带你学习带你肝

    一起在人工智能时代旋转跳跃眨巴眼

    「有没有可能是我多想了」12467fbdc286dccc16ec30890b5854fc.png

  • 相关阅读:
    CCF-CSP 29次 第五题【202303-5 施肥】
    看了扎克伯格的Avatar,我更想在VR里当大猩猩
    MB52字段增加 显示物料库存报表
    VSCode远程连接服务器报错:Could not establish connection to “xxxxxx”的可能错误原因及解决
    Python数据分析与建模库-03数据分析处理库Pandas-1.数据读取
    红绿正方形染色问题
    Session与Cookie
    模块一、任务一.数据分析概述
    SpringBoot(三):什么是Maven?
    js 中的 Event Loop 以及 宏任务 与 微任务
  • 原文地址:https://blog.csdn.net/m0_37310036/article/details/126434491