邮箱网讯 5月26日消息 在Google I / O上,Google引入了Smart Compose,这是Gmail中的一项新功能,该功能可在您键入时使用机器学习以交互方式提供句子完成建议,从而使您可以更快地起草电子邮件。基于为Smart Reply开发的技术,Smart Compose提供了一种新的方式来帮助您编写邮件-无论您是响应传入的电子邮件还是从头开始草拟新邮件。
在开发Smart Compose时,面临许多关键挑战,包括:
延迟:由于Smart Compose会根据每个击键提供预测,因此它必须在100毫秒内做出理想响应,以使用户不会注意到任何延迟。平衡模型的复杂性和推理速度是一个关键问题。
规模:超过14亿的不同用户使用Gmail。为了提供对所有Gmail用户有用的自动完成功能,该模型必须具有足够的建模能力,以便能够在细微不同的上下文中提出量身定制的建议。
公平和隐私:在开发Smart Compose时,Google需要解决培训过程中潜在的偏见,并且必须遵守与Smart Reply相同的严格用户隐私标准,以确保Google的模型永远不会暴露用户的私人信息。
此外,研究人员无法访问电子邮件,这意味着他们必须开发和培训机器学习系统,以处理他们自己无法读取的数据集。查找到正确的模型典型的语言生成模型(例如ngram, 神经词袋(BoW)和RNN语言(RNN-LM)模型)学会预测以前缀词序列为条件的下一个词。但是,在电子邮件中,用户在当前电子邮件撰写会话中键入的单词只是模型可以用来预测下一个单词的一个"信号"。
为了合并有关用户要说的内容的更多上下文,Google的模型还以电子邮件主题和先前的电子邮件正文(如果用户正在答复传入的电子邮件)为条件。包含此附加上下文的一种方法是将问题投射为逐个序列(seq2seq)机器翻译任务,其中源序列是主题和上一个电子邮件正文(如果有)的串联,目标序列是用户正在编写的当前电子邮件。尽管此方法在预测质量方面效果很好,但未能满足Google严格的延迟限制,数量极高。
为了对此进行改进,Google将BoW模型与RNN-LM组合在一起,该模型比seq2seq模型要快,只牺牲了一点模型预测质量。在这种混合方法中,Google通过平均每个字段中的单词嵌入来对主题和以前的电子邮件进行编码。然后,Google将这些平均嵌入进行合并,并在每个解码步骤将它们馈送到目标序列RNN-LM,如下图所示。
Smart Compose RNN-LM模型架构
通过平均每个字段中的单词嵌入来对主题和先前的电子邮件消息进行编码。然后在每个解码步骤中将平均的嵌入馈送到RNN-LM。
加速的模型训练和服务
当然,一旦决定采用这种建模方法,Google仍然必须调整各种模型超参数并训练数十亿个示例的模型,所有这些过程都非常耗时。为了加快速度,Google使用了完整的TPUv2 Pod进行实验。这样,Google可以在不到一天的时间内训练模型收敛。
即使在训练了更快的混合模型之后,Google在标准CPU上运行的初始版本的Smart Compose的平均服务等待时间也只有数百毫秒,对于试图节省用户时间的功能来说,这仍然是不可接受的。幸运的是,TPU也可以在推理时使用,以极大地加快用户体验。通过将大量计算工作转移到TPU上,Google将平均延迟时间提高到了数十毫秒,同时还大大增加了单台计算机可以处理的请求数量。