还不知道怎么回邮件?Gmail新功能帮你脱离苦海:Smart Compose使用神经网络智能撰写电子邮件
2018年05月17日 由 浅浅 发表
520074
0
上周在Google I / O上,Google介绍了Smart Compose,这是Gmail的一项新功能,它使用机器学习功能在键入时交互地提供句子完成建议,使用户可以更快地撰写电子邮件。基于智能回复技术,Smart Compose提供了一种新的方式来帮助你撰写邮件,无论你是在回复收到的电子邮件还是在撰写新邮件。
在开发Smart Compose时,出现了许多关键性问题,其中包括:
- 延迟:Smart Compose分析每个按键做出预测,在100ms内必须做出理想的响应,以免用户注意到延迟。平衡模型复杂性和推理速度是一个关键问题。
- 规模:Gmail有超过14亿的用户。为了提供对所有Gmail用户都有用的自动完成功能,该模型必须具有足够的建模能力,以便能够在细微差异的环境中提出为用户量身定制的建议。
- 公平和隐私:在开发Smart Compose时,我们需要解决训练过程中潜在偏见的来源,并且必须遵守与Smart Reply同样严格的用户隐私标准,确保我们的模型不会暴露用户的私人信息。此外,研究人员无法访问电子邮件,这意味着他们必须开发和训练机器学习系统,以处理他们自己无法访问的数据集。
寻找合适的模型
典型的语言生成模型,例如ngram,神经词袋(BoW)和RNN语言(RNN-LM)模型,学习预测下一个以前缀词序列为条件的词。然而,在电子邮件中,用户在当前电子邮件撰写会话中输入的字词只是一个模型可以用来预测下一个字词的“信号”。为了结合更多关于用户想说的内容的背景,模型也以电子邮件主题和以前的电子邮件正文(用户正在回复收到的电子邮件情况下)为条件。
包含这个附加语境的方法是将问题作为sequence-to-sequence来进行(seq2seq)机器翻译任务,其中源序列是主题和前一个电子邮件正文的串接,目标序列是用户正在撰写的当前电子邮件。虽然这种方法在预测质量方面表现良好,但未能达到我们严格的等待时间限制。
为了改进这一点,我们将BoW模型与RNN-LM相结合,该模型比seq2seq模型更快,对模型预测质量影响极轻。在这种混合方法中,我们通过平均每个字段中的单词嵌入来对主题和以前的电子邮件进行编码。然后,我们加入这些平均过的嵌入,并在每个解码步骤将它们送到目标序列RNN-LM,如下面的模型图:
智能组合RNN-LM模型体系结构
加速模型训练和服务
当然,一旦决定采用这种建模方法,我们仍然需要调整各种模型超参数,并用数十亿例子对模型进行训练,这可能非常耗时。为了加快速度,我们使用了一个完整的TPUv2 Pod进行实验。在这样做的时候,我们能够在不到一天的时间内训练一个模型以实现会聚。
即使在训练了速度更快的混合模型之后,我们在标准CPU上运行的Smart Compose的初始版本的平均服务延迟为数百毫秒,对于试图节省用户时间而言仍然不可接受。幸运的是,TPU也可用于推断时间,以大大加快用户体验。通过将大部分计算转移到TPU上,我们将平均延迟时间提高到几十毫秒,同时还大幅增加了单台计算机可以提供的请求数量。
公平和隐私
公平是非常重要的,因为语言理解模型可以反映人类的认知偏差,导致不必要的单词关联和句子完成。正如Caliskan等人在他们最近的论文中指出“从语料库中自动导出的语义包含类似于人类的偏见”,这些关联深深地潜藏在自然语言数据中,这对建立任何语言模型都是相当大的挑战。我们正在积极研究如何继续减少训练程序中潜在的偏见。此外,由于Smart Compose在数十亿个短语和句子上训练,与垃圾邮件机器学习模型的训练方式类似,我们已经进行了大量测试,以确保只有大多用户使用的常用短语可以被模型记住。
未来的工作
我们一直致力于通过遵循最先进的架构(例如,Transformer,RNMT +等)来提高语言生成模型的建议质量,并尝试最新和最先进的训练技术。一旦我们能够满足严格的延迟约束条件,我们将把这些更先进的模型部署其中。此外,我们还在努力整合个人语言模型,旨在更准确地模拟个性化写入系统的风格。