IBM的辩论家项目(Project Debater)打造了一个对话类AI,旨在和一个人类辩手进行正式辩论。尽管Project Debater在最后一场辩论中落败于人类辩手,但是在这次失败之前,它一直霸占着最佳辩手的位置。它的亮点很多,而且确凿无疑地进入了自然语言处理(NLP)系统的“恐怖谷”,它的表现非常接近人类,它的失误水准令人尴尬。
IBM这个项目的亮点在于,它是在一系列旧硬件上训练并交付“辩论家”的,并没有使用GPU等硬件加速器。鉴于现在市场上已经存在很多可用的深度学习硬件加速器,所以“辩论家”的会话AI功能肯定会在未来的几年内具有很大的提升空间。当然,这也可能会加剧社会不满,因为人们越来越搞不清楚他们是在和人类交谈还是和人工智能对话。
“辩论家”项目的初始提案脱胎于2011年出现的单个PPT幻灯片。由于提交内容有限,而且挑战项目的难度比较大,IBM管理层经过了大约一年的仔细考虑时间才最终批准了该项目。2012年,IBM研究院建立了一个项目团队,正式启动“辩论家”项目开发。实际上,该项目的实质性工作时在2014年展开的。
怎么训练一组深度学习模型,使它可以进行辩论呢?要知道,展开一场辩论要比进行一次简单的采访复杂多了。IBM研究院将这项训练任务划分成了三个子任务:听力理解、建模人类的争论、由数据驱动的演讲稿生成和表达。
听力理解
IBM将听力理解定义为“从一长串连续的口语中提取隐藏在其中的关键概念和声明的能力”。IBM教“辩论家”针对随机选择的主题进行辩论,但是它的前提是,所选主题必须涵盖在在系统里面多达4亿篇文章(100亿句话)中得到过充分报道的话题中,其中大部分文章来自于知名报纸和杂志。
“辩论家”实现高水平听力理解能力的一个关键要素是它的声明检测引擎。该声明检测引擎能够在一个句子中找到个别声明的确切边界(如果给定的句子里确实给出过声明的话。IBM的声明检测引擎中有三个级联的深度学习模型:
1、查找带有声明的句子;
2、在该句子中找到声明的边界;
3、确定存在声明和已经找到合适的声明边界的可信度。
建模人类的争论
IBM创建了所谓的“独特知识图表”,以帮助“辩论家”模拟人类争论和面临困境的世界。一旦给“辩论家”提供了一个辩论主题,它就会在其知识图表中展开搜索,寻找最为相关的原则论据来支持或者反对这项主题。知识图表模型使得“辩论家”可以建模出许多不同辩论之间的共性。
数据驱动的演讲稿生成和表达
“辩论家”从知识图表中找出相关论据后,将所选择的这些论点组合成一个带有说服性的完整叙述,这些论述的长短符合为其分配的发言时间。然后,它会写出一个演讲稿,并在适当的时候清晰地、针对性地(也可以加入一些幽默成分)表达出来。
IBM强调,自然语言处理中的演讲稿生成和表达是“辩论家”的显著特征。不过,我们相信,理解人类的言语才将是将AI限制在不可思议的“恐怖谷”中或者超越它的关键技术。
请注意,OpenAI的文本预测模型在某一个方面和IBM的“辩论家”执行了相似的角色,它们都写了文稿,不过它们也有一定的区别。OpenAI的所有新闻报道都是以完成为目的,“辩论家”则是支持或反驳某个观点,此外,OpenAI没有正式辩论赛的时间限制。
复杂的模型集合
IBM研究院表示,“辩论家”由数十种深度学习和机器学习模型组成,具体数量取决于对模型的分类和计算方式。他们表示,在辩论期间使用的模型总数远远低于100个。
“辩论家”的开发遇到了机器学习领域的经典挑战。由于需要把那么多基础底层的AI模型编排组合在一起,集合的复杂性增加了。每个AI模型都要经过经过自己的训练过程,许多模型使用的配置和设置方法都各自不同。一些模型使用监督式学习技术,其它模型使用无监督学习技术。IBM研究院没有谈到训练所有这些模型累计花费了多少时间。
“辩论家”项目的大部分研究和开发工作都是在IBM研究院位于以色列海法的实验室中完成的。IBM表示,为了训练“辩论家”,IBM通过其平台负载共享设施(LSF)软件协调调用了10台联想系统x3650 M5服务器。在研究的过程中,IBM研究院还在海法使用了一个GPFS集群进行数据存储。该本地存储运行在一个双节点的IBM频谱可视化(SVC)集群上,使用了IBM的SAN64B-6存储网络。
IBM还没有公开讨论他们在训练“辩论家”模型时使用的机器学习和深度学习框架。IBM曾经表示,一旦可以把这项技术商业化到可以供客户使用的程度,他们将发布更多的软件和硬件细节信息。
需要注意的是,训练“辩论家”的复杂模型集合的工作时是在四分之一个未加速的x86服务器机架上进行的,该服务器机架包含了大约200个处理器内核。这也表明,人工智能研究通常并不需要使用最新最好的硬件,技术上的创新和研发时间可以抵消大部分巨额预算。
“辩论家”的复杂性-对辩论的重新审视
“辩论家”的反驳论据是由独立的深度学习模型创建出来的,而不是在辩论中创建出这种开放性的论点。在这个完整的反驳论据集合中会用到几种模型。反驳论证系统通常是一个比创建开放性论据使用的模型集合更长的级联模型。
“辩论家”会为辩论双方都实施声明检测。这使得系统能够自动构建出两组论据,并确定辩论对手可能会使用那些论据声明。然后,系统会在辩论期间交叉性地检查对手可能使用的声明和实际使用的声明。下面是该流程的一部分说明:
确定每个声明是否反对或者支持“辩论家”当前的观点;
确定对手是否在最近的反驳中使用了任何自动检测到的声明;
寻找论据来反驳对手已经表达过的声明主张;
找到支持自己当前论点的证据;
将这些证据进一步整合成表达正确且有说服力的陈述中;
确定是否已经在辩论的早期阶段声明了某个论据。
部署辩论家项目的基础设施
为了保证项目进展的弹性,“辩论家”有两个同时运行的完整运行时基础设施。
现场辩论系统使用了IBM云和以色列海法实验室中运行的基础设施的混合体;
备份实例完全部署在IBM云中。
IBM研究院的运行时“辩论家”系统由以下部分组成:
主服务器是一个双插槽的IBM/联想系统System x3650 M5服务器。该服务器内置两个14核英特尔Xeon E5-2600 v4处理器和768 GB系统内存。一个实例部署在本地,一个实例部署在IBM Cloud的达拉斯数据中心。
一个Elasticsearch集群。该集群包含四台裸机,每台机器具有64 GB内存、12个内核和两个960 GB的SSD磁盘。该集群同样部署了两个实例,一个部署在达拉斯的IBM Cloud中,一个本地部署在以色列海法。
一个Cassandra数据库集群。该集群包含四个Linux VM,每个VM具有32 GB内存和4个内核。该集群同样部署了两个实例:一个在达拉斯的IBM Cloud中,另一个本地部署在海法。
这些服务器使用IBM Cloud网络基础架构以10 Gb/秒的速度联网到一起。对于旧金山的现场辩论,IBM仅使用了10 Mb/秒的互联网连接将其现场控制笔记本电脑连接到IBM Cloud和海法的IBM研究实验室。
IBM Watson基于商业云的语音到文本服务和文本到语音服务。使用IBM Cloud Kubernetes群集上的女性语音运行文本到语音服务。
IBM Cloud上的Kubernetes集群上运行了其他服务,用于处理投票、事件流管理和后台屏幕呈现。
IBM为“辩论家”项目的舞台展示打造了一个自助服务终端,该中端只有两个扁平的屏幕,用于显示它的头像。
IBM没有在“辩论家”系统中使用GPU或者FPGA这些计算加速器。
IBM指出,“辩论家”项目的开发团队优化了其运行时模型,以满足辩论对手开场演讲和反驳发言时的一到两分钟的时间延迟。
令我们印象深刻的是,IBM的“辩论家”运行时系统部署在旧的主流服务器上,却依然表现良好。如果该系统使用当今最先进的服务器和存储系统的话,它的尺寸可能会显著降低,整个系统可能用6U机架高度就能部署完毕。
实时性挑战
“辩论家”不是那种蹦出一句短句快速响应的会话系统。它也没有设计成那种开始时几乎没有任何背景信息、需要在对话运行时构建上下文的对话系统,相反,每次辩论开始时,都已经以“决议”的形式给出了背景。这种辩论性质的会话由一系列短语和句子组成。“辩论家”要想参与活跃且响应迅速的对话,它的响应延迟应该控制在一到两秒的量级。
“辩论家”现在只注意捕捉对手的麦克风信息,它并不会倾听和观察观众的反馈。在现场辩论中,人类辩手会观察观众以评估观众对自己的论述的实时反映。请注意,是这些观众给辩手打分,辩手需要给这些观众留下深刻印象,而不是主持人。原则上,我们相信“辩论家”的继任者会增加一个全新的模型集合,以在视觉上评估观众(点头、无聊、兴奋等)的反应,以及在听觉上评估观众(拍手、喘气、轻笑等)的反应。但是,IBM最初并没有规划这一些,因为辩论并不是IBM在商业上所关注的点。没有人类观众参加的辩论赛寡淡无味,所以添加上这些反馈能力能够使得“辩论家”在演讲中改变论述的方向。此外,辩论家这一类的系统必须提前创建几种论述备选,以根据观众的反应动态地选择。
对于通过智能手机、网络摄像头等进行的群组发言和一对一聊天来说,解决掉观察观众反应问题将使得会话系统看起来更加人性化。21世纪AI的图灵测试应该更多地考虑人性化的影响。
拓展人类的知识
IBM的“辩论家”团队开发了20个基准数据集,所有的数据集都根据Creative Commons License(CC BY-SA 3.0)或GNU免费文档许可(GFDL)发布,包括:
19,276对维基百科概念;
5000个注释了情感的习语;
带注释的3,000个句子;
有关55个主题的2,394个标签声明;
由专业辩手录制的60篇关于争议话题的演讲。
IBM Research发表了32篇论文,描述了其在设计和训练Project Debater方面的大部分工作,IBM还在偏置检测方面做了大量工作,包括检测数据集中的偏差和检测训练模型中的偏差。 它还发布了一些描述性的文本片段,这些内容可以回溯到它的研究论文里面。
不过,分享研究论文和数据集是一回事,分享训练模型就是另外一回事了。如上所述,IBM研究院仅仅披露了其硬件的一些高层级的详细信息,但是并没有详细介绍软件框架、运行时模型集合中部署的特定训练模型。IBM发布了训练数据集,但是并没有公布特定模型的训练代码,也没有给出和其训练模型有关的任何权重数字。我们只能对其运行时软件架构有一个粗略的了解。当然,IBM已经明确表示过,当该技术商业化后将发布更多细节信息。
考虑到IBM正在通过其Crowd产品将“辩论家”技术商业化到其Speech服务中,所以它至今没有给出关于模型训练的详细信息也在情理之中。
这和OpenAI的套路实际上很相似。OpenAI也发布了不少博客和有据可查的论文,描述了带有15亿个参数的GPT-2“Transformer”模型背后的多任务学习算法,但是OpenAI也没有发布数据集、训练代码或者GPT-2模型的权重,只是发布了一些较小、功能较少的训练模型。
OpenAI在决定不发布模型时表示了这些模型可能会被滥用的可能性。但是,在它宣布不发布模型一个月后,它就宣布将通过一家剥离出来的公司将这些模型商业变现。
看来,人工智能刚开始都是瞄准一些有趣的事情和游戏,然后再用它做一些真正有利可图的事情。
监管AI
AI取得了难以置信的快速进步,但是人们还没有建立合适的文化反对人工智能的滥用。最近的SXSW互动会议上就有一个“智能未来”的议题,追踪了许多会议上凸显的对AI和道德的争论。
我们于今年3月11日参加了由欧盟赞助的小组会议:“该上法学院的算法们:人工智能的伦理”。该会议讨论的主题之一就是欧盟委员会即将出台的“值得信赖的AI应该遵守的道德准则”。该指南的最终版本将于4月9号或之前提交给欧盟委员会。
不过,在会议小组讨论之后的问答环节中,有一位记者断言人工智能将会成为一种过于危险的技术,并且声称“所有人工智能研究工作都应该停止”。这种论调本身并不令人震惊,真正让人震惊的是居然有大约三分之一的观众对此表示认同。
SXSW上关注的技术驱动的社会性问题通常领先大众一两年。目前SXSW对人工智能的道德伦理的强烈兴趣表明,未来几年内这一问题将进入社会大众的视野。我们的行业需要变得更加透明,以赢得更多公民和消费者的信任。
结论
IBM在2月11日举行的Think活动中进行了“辩论家”最后一次演示,“辩论家”输掉了这场辩论。但是,在辩论进程的过程中,IBM研究院通过“辩论家”向世人展示了一个可以可信地进行对上下文敏感、可达人类辩手水平的辩论系统。
IBM设计的“辩论家”和人类辩手展开了有意义的辩论,但是人类辩手和观众都清楚地知道它就是一个人工智能。在这个系统设计中,IBM研究院向论述中添加了一些笑话,并为之提供了根据纽约一位女演员构建的声音。不过,IBM研究院做了一些处理,使之成为一个明显的合成声音,但是该声音听起来并不单调,表现力还不错,这对于辩论来说很重要。
“辩论家”的开场比我们预期的要好得多,它挑战了我们对于自然语言处理(NLP)当前能力的假设。不过,在反驳和总结性陈词中,它没有分辨出人类辩手论点中的几个细微差别,也没有表现出对人类观众的同情心。正是在理解能力和同理心上面的差距使得“辩论家”进入了不可思议的“恐怖谷”。
显然,无论从哪个方面来看,创建一个可以参与这种开放性主题辩论的人工智能都是一个巨大的挑战。
当然,有人可能会争辩说,创建一个可以在随机主题上与人类辩手展开辩论(无论是赢了还是输了)的人工智能就等于通过了图灵测试。图灵测试是什么?“通过图灵测试”意味着什么。21世纪的AI的图灵测试也需要现代化,简单地说,我们对会话系统的人工智能测试需要更多地涵盖人文环境。
虽然IBM的“辩论家”令人印象深刻,但是,它想在未来的几年内走过“恐怖谷”依然非常困难。不过,IBM证明了此事可行,就已经赢得了战斗的一半。IBM在旧硬件上拼凑实现了对“辩论家”的训练是一项惊人的研发壮举。“辩论家”能够使用更新的硬件进行更快的训练和部署呢?现在还很难说,但是我们相信,其它人可能会在IBM的启发下,针对人工智能会话系统投入更多资源,我们将看到这个领域的快速发展。
可以肯定的是,会话系统将变得更加出色,更加复杂,这将影响未来的工作机会和社会结构,现在是时候对自然语言处理的未来进行认真讨论了。