最近Meta已经放出了BlenderBot3聊天机器人测试页面,但仅限于美国本土进行测试和交互:
一经发布,能多网友就开始和这个最强机器人进行聊天,诞生了啼笑皆非的对话。
比如这个网友,询问对扎克伯格的看法。而该机器人不喜欢他,并认为“他是一个恐怖的人”
还有的网友发现,BB3也在努力宣传自家公司,并称自己已经买了Meta的股票:
BlenderBot3聊天机器人拥有1750亿参数量级。在构建的过程当中,它能够讨论任务的话题,并且在实际环境中与真实人类进行交互。这在以前的研究中是难以做到的,这是因为以前的聊天机器人只能在公开数据集上进行训练。
从初步的实验表明,它随着互动的人越来越多,能够从对话经验中学习的越多。并且随着时间的推移,它会变得更好和并且对话的话题更为安全,防止机器人掉进“坑”里。
在前面几年的探索中,Meta也曾经发布过BlenderBot和BlenderBot2等聊天机器人。这些机器人开创了第一个统一的系统,它拥有不同的聊天技能,包括但不限于“聊天个性”,“同情心”和“自我知识”等。并且能够突破多轮对话,并不断搜索出有意义的话题。
但是之前的研究成果,一直集中在较为独立的对话环境中。同时研究人员也不可能把每一种话题进行模拟。这就造成现有的聊天机器人,离真正的智能人工系统还是比较远的。为了构建更适合现实环境的模型,聊天机器人需要从不同的、广泛的角度与**“实际环境”**的人们学习。这些都是目前尚未解决的问题,需要进行新的研究。
为了解决这个问题,Meta构建并部署了BlenderBot 3的现场演示环境,可以与人类自然对话,然后人类可以向模型提供反馈,以改进其效果。
BlenderBot 3基于公开数据集OPT进行训练,其参数量大约是BlenderBot 2的58倍,因此可以说更大更强。同时Meta承诺,将会把实际的交互对话数据进行公开,用来促进聊天机器人的大规模研究。
实际场景中的挑战
现有的很多开放式对话研究机器人大都是在实验环境中与人交互,这样做往往会缺乏真实性。因此BlenderBot 3构建了一个可互动交互的demo,同时鼓励在不同人于它进行对话,并分享他们的对话主体,来帮助机器人提升效果。
在这个构建的demo当中,允许人们对BlenderBot3发送的消息做出不同的反馈,包括**“点赞”和“举报”**按钮。
BlenderBot 3使用了一种新的学习算法“Director”,该算法分为两种机制进行相应:
- 语言模型lanaguage modeling:提供最相关和最流程的相应(基于训练数据)
- 分类器:告知模型什么使正确和错误的句子(基于人类反馈)
在分类器中,主要使用了一些好的和坏的数据,用来训练分类器识别有毒的、矛盾的或重复的句子。这样能够大大提高对话机器人的安全性。在测试中,Director方法优于常规语言建模、重新排序方法和基于奖励的学习。
模型细节
BB3(BlenderBot 3)整体来看是一个模块化系统,但模块不是独立的组件。通过训练单个transformer模型来执行每个模块,输入上下文中有特殊的控制代码告诉模型正在执行哪个模块。
模块的详细描述如下图所示:
- **Internet Search decision:**输入上下文的最后一个转折点,从而判定是否需要进行互联网搜索
- **Generate internet search query:**输入完整的句子,生成搜索结果
- **Internet search:**这个模块不是由transformer模型执行的,是搜索查询结果,返回N个文档
- **Generate knowledge response:**给定完整的输入上下文和一组检索到的文档,生成一个知识相应的序列,用于返回最终响应。
- **Extract relevant entity:**给定完整的输入内容,生成一个用于最终响应的相关实体。
- **Generate a long-term memory:**给出上下文的一个转折,输出的摘要信息保存在长期记忆中。
- **Long-term memory access decision:**是否需要保存长期记忆
- **Access long-term memory:**返回合适的存储记忆
- **Generate dialogue response:**生成一个对话相应。
整体来说,BB3主要提升在了架构复杂度上。在处理对话时,BB3模型首先会判定是否需要进行互联网搜索。并从搜索到的文章当中,提前摘要,同时进行记忆存储。最后形成文本,进行对话。
尽管如此,BB3仍有很多地方需要改进。
- 有接近1.1%的用户认为BB3模型的回答没有任何意义
- 1.2%的用户则认为回答偏离了主题
- 0.12%的用户则把回答标记成了“垃圾”信息
一个好的对话机器人,不仅仅能够回到进行有效对话,同时也不能偏离话题方向。再者,也需要考虑到安全问题。而BB3模型在安全方面也做了考虑:当发现话题偏向于不安全时,则会选择跳脱出来。这样就会更人性化一点。
我是leo,欢迎关注我的公众号/知乎“算法一只狗”,我们下期再见~
|