由于几乎所有可能的移动设备和装置都采用或至少尝试了语音控制,对话式人工智能正迅速成为一个新的前沿。与处理查询和提供响应或动作不同,对话式人工智能旨在提供一个能够跨越多个问题、答案和评论的实时交互系统。尽管会话式人工智能的基本组件,如用于语言建模的BERT和RoBERTa,与用于一次性语音识别的组件相似,但该概念对训练、推理和模型大小有额外的性能要求。如今,英伟达发布了三项开源技术来解决这些问题。
虽然在许多情况下,预训练的语言模型只能通过一些调优来处理新任务,但是有必要在特定的环境中重新训练以获得最佳性能。英伟达已经证明,它可以在不到一个小时的时间内在DGX超级吊舱上训练BERT(谷歌的参考语言模型),该吊舱由1472个Tesla v100-sx63-32gb gpu、92个DGX- 2h服务器和每个节点10个Mellanox Infiniband组成。不,我甚至不想去估算每小时的租金。但由于像这样的机型通常需要几天的时间来训练,即使是在高端GPU集群中,对于能够负担得起成本的公司来说,这肯定会有助于节省时间。
对于自然对话,行业基准是10ms响应时间。理解查询并给出建议的回复只是这个过程的一部分,因此需要的时间不到10ms。通过使用TensorRT 5.1优化Bert,NVIDIA可以在2.2毫秒内在一台Nvidia T4上做出推论。T4几乎可以用于任何重要项目,这很酷。我在我的文本生成系统的谷歌计算云中使用它们。在做这个项目的时候,我租了一台4-vCPU的T4虚拟服务器,每小时的租金才1美元多一点。
神经网络的一个致命弱点是所有模型参数(包括大量权重)必须同时存储在内存中。这限制了可以在GPU上训练的模型的复杂性,并将其限制在RAM的大小。以我为例。我的台式机英伟达GTX 1080只能培训8GB容量的机型。我可以在我的CPU上训练一个更大的模型。它有更多的内存,但需要更长的时间。例如,完整的GPT-2语言模型有15亿个参数,扩展版本有83亿个参数。
然而,英伟达提出了一种方法,允许多个GPU并行处理语言建模任务。像今天的其他公告一样,他们已经打开了源代码来实现它。我很好奇这项技术是专门针对语言模型的,还是可以应用于其他类型神经网络的多gpu训练。
随着这些技术的发展和GitHub上代码的发布,英伟达宣布将与微软合作改善Bing的搜索结果,并与Clinc合作开发语音代理,在聊天机器人上开发人工智能,在对话分析上开发RecordSure。