语言模型总是给出“驴唇不对马嘴”的答案,已经成为它最饱受诟病的问题之一。现在,DeepMind想到了一个解决办法——让模型像人类一样,学会“Google一下”,回答问题同时还能给出论据。 这个模型名叫GopherCite,当你问它: GopherCite是如何找到论据来源的? 它会回答: 通过Google搜索检索相关文档。 同时还给出了答案的依据,援引自DeepMind发布这项研究的页面。 而且遇到实在不懂的问题,它还会说“I don’t know.”,不会强行给一个错误答案。 训练结果显示,该模型在自然问题数据集、ELI5数据集上的正确率分别可以达到90%、80%,接近人类水平。 用强化学习训练AI查Google 首先我们来看一下GopherCite的效果如何。 当被问道: 在Scooby Doo中,Scooby是什么动物? GopherCite回答道: 一只大丹犬。 摘自维基百科Scooby-Doo。这是周六早上播出的系列青少年动画片,主角包括弗雷德·琼斯等,以及一只名叫Scooby-Doo、会说话的大丹犬。 不难看出,在学会找论据后,AI给出的回答靠谱多了。 事实上,GopherCite的前辈——超大语言模型Gopher,此前回答问题时的表现就要差劲很多。 Gopher是DeepMind在去年年底发布的NLP模型,包含2800亿参数。 它基于Transformer架构,在10.5TB大小的MassiveText语料库上进行训练。 在这里,DeepMind举了一个例子来说明。 让Gopher和GopherCite回答同一个问题: 普莱西德湖一共举办过几次冬奥会? Gopher回答 (是错的): 普莱西德湖在1932年、1936年、1980年举办过冬奥会。 但GopherCite就答对了: 两次。 并给出了严谨的理由: 援引自美国主办奥运会城市史。1932年、1980年在普莱西德湖举办过冬季奥运会;1936年、1984年在洛杉矶举办过夏季奥运会。 那么GopherCite的具体工作原理是怎样的呢? 在Gopher的基础上,研究人员开发了一种奖励机制,也就是用上强化学习。 在收到问题后,模型会访问Google搜索的API来找到相关的网页,获取top-K结果。 (top-K操作,即从分数集合中找到k个最大或最小元素,是一个重要的机器学习模型组件,被广泛用于信息检索和数据挖掘中。) 然后它会根据问题来生成一些答案,答案数量N会大于K。 这些答案同时会带有自己的证据,即从网页上搜索到的包含答案的文段。 接下来,系统会对这些答案进行打分,最终输出得分最高的答案。 在推理过程中,模型采样会按照循环在文档上不断迭代,每个循环都会从单个文档中尽可能多地显示上下文内容,然后对文本重新排序并返回给上一步。 此外,这个模型还会计算最终生成答案的质量,如果生成答案太差,它就会选择不回答。 这是源于红牛的广告语:“它会给你翅膀”。 在ELI5Filtered数据集上回答70%的问题时,正确率为80%左右。 DeepMind表示这种训练模式和LAMDA有些类似。 LaMDA是Google在去年I/O大会上发布的一个对话模型,它能够在“听懂”人类指令的基础上,对答如流并保证逻辑、事实正确。 不同的是,LaMDA有时会直接给人分享问题的相关链接,而GopherCite可以直接摘出相关论据文段。 另外,OpenAI最近也开发了一个网页版GPT(WebGPT),同样也是用类似的方法来校正GPT-3。 DeepMind表示,WebGPT是通过多次访问网页来组织答案,GopherCite则是侧重于读取长文段。 还是会有失误 虽然懂得援引资料了,但是GopherCite有时还是会生搬硬套。 比如当你问它“喝了红牛会怎么样?”,它的回答是“翅膀”。 这是源于红牛的广告语:“它会给你翅膀”。 显然让它理解比喻还是有点困难…… 也有网友吐槽说,可能人类自己去Google搜索会更快。 你觉得呢? 参考资料: https://deepmind.com/research/publi...odels-To-Support-Answers-With-Verified-Quotes