文 / 吳勇輝,谷歌大腦團隊首席工程師html
來源 | 谷歌開發者 Google_Developers架構
在 Google I / O上,咱們推出了 Smart Compose,這是 Gmail 中的一項新功能,它利用機器學習,經過交互方式爲正在編寫郵件的用戶提供補全句子的預測建議,從而讓用戶更快地撰寫郵件。 Smart Compose 基於智能回覆技術,提供了一種全新的方式來幫助您撰寫郵件 - 不管您是在回覆郵件亦或是從頭開始起草一封新郵件。機器學習
在開發 Smart Compose 過程當中,遇到了一些關鍵性的挑戰,其中包括:學習
延遲:因爲 Smart Compose 需基於用戶的每一次按鍵輸入來做出預測,如若想讓用戶察覺不到任何延遲,必須在 100 毫秒內做出理想的預測。這時候,平衡模型複雜性和推理速度就成了重中之重。測試
規模:Gmail 擁有超過 14 億的用戶。爲了面向全部 Gmail 用戶提供自動組句預測功能,該模型必須具備足夠強大的建模能力,以便可以在細微差別的文本環境中爲用戶提出量身定製的建議。ui
公平與隱私:在 Smart Compose 開發過程當中,咱們須要在訓練過程當中處理潛在偏倚的來源,而且遵循與 Smart Reply 一樣嚴格的用戶隱私標準,以確保咱們的模型不會暴露用戶的隱私信息。 此外,研究人員也不具有訪問和查看用戶電子郵件的權限,這就意味着他們不得不在一個本身都沒法查看的數據集上開發和訓練一個機器學習系統。編碼
典型的語言生成模型,例如 ngram,神經詞袋(BoW)和 RNN 語言(RNN-LM)模型,是在之前綴詞序列爲條件的基礎上學習預測下一個單詞。 然而,在電子郵件中,用戶在當前電子郵件中鍵入的單詞成爲模型可用於預測下一單詞的 「信號」,模型將利用該信號來預測下一個單詞。 爲告終合更多有關用戶想要表達的內容,咱們的模型還會參考電子郵件的主題和先前的電子郵件正文內容(假設用戶正在回覆一封剛剛收到的電子郵件)。 注:ngram 連接 en.wikipedia.org/wiki/Langua… 神經詞袋(BoW)連接 www.jmlr.org/papers/volu… RNN 語言 連接 www.isca-speech.org/archive/int…翻譯
包含和利用附加語境的一個方法是將問題轉換成 sequence-to-sequence(seq2seq)機器翻譯任務,其中源序列是郵件主題和先前電子郵件正文(若有)的串聯,而用戶正在撰寫的郵件做爲目標序列。儘管這種方法在預測質量方面表現良好,但它未能知足咱們嚴苛的延遲標準。orm
爲了改善這一點,咱們將 BoW 模型與 RNN-LM 結合起來,結合後的模型比 seq2seq 模型更快,而對模型的預測質量影響極小。在這種混合法中,咱們經過把單詞嵌套平均分配在每一個區域內,對郵件主題和以前的電子郵件內容進行編碼。而後咱們將這些平均分配後的嵌套鏈接在一塊兒,並在每次執行解碼步驟時將它們饋送到目標序列 RNN-LM,過程以下面的模型圖所示。htm
Smart Compose RNN-LM 模型架構。經過對每一個字段中的單詞嵌套平均分配到每一個區域內,將郵件主題和先前的電子郵件信息進行編碼。 隨後,平均後的嵌套會在每次執行解碼步驟時提供給目標序列 RNN-LM。
固然,一旦咱們決定採用這種建模方法,咱們就必須調整各類模型超參數,並使用數十億個示例對模型進行訓練,全部這些操做都至關費時。 爲了加快速度,咱們使用了一個完整的 TPUv2 Pod 來進行實驗。如此,咱們可以在一天以內將一個模型訓練至收斂狀態。
即使訓練出了速度更快的混合模型,初始版本的 Smart Compose 在標準CPU上運行時,依舊存在着幾百毫秒的平均服務延遲,這彷佛與 Smart Compose 努力幫助用戶節省時間的初衷依舊相去甚遠。幸運的是,在推斷期間可使用 TPU 來大大加快用戶體驗。 經過將大部分計算分流到 TPU 上,咱們將平均延遲時間縮短至幾十毫秒,與此同時還大幅增長了單臺計算機可處理的服務請求數量。
因爲語言理解模型會反映人類的認知誤差,致使獲得多餘的單詞關聯和組句建議,所以在機器學習中實現公平性相當重要。 正如 Caliskan 等人在他們近期的論文 「Semantics derived automatically from language corpora contain human-like biases 從語料庫中自動導出的語義包含相似人類的偏見」 中指出,這些關聯深深隱藏在天然語言數據中,這對於構建任一語言模型來講都是至關大的挑戰。 咱們正在積極研究如何繼續減小訓練程序中的潛在偏見問題。此外,因爲 Smart Compose 是基於數十億的短語和句子進行訓練,相似垃圾郵件機器學習模型的訓練方式,咱們已經進行了普遍的測試,確保模型只記憶各種用戶使用的經常使用短語。
咱們一直致力於經過遵循最早進的架構(例如,Transformer,RNMT +等),並嘗試最新和最早進的訓練技術,不斷提升語言生成模型的預測質量。 一旦模型的實驗結果可以知足嚴苛的延遲約束條件,咱們就會將這些更先進的模型部署到產品中。此外,咱們還在努力整合我的語言模型,旨在使它可以在系統中更加準確地模擬不一樣用戶的個性化寫做風格。
Smart Compose 語言生成模型由 Benjamin Lee,Mia Chen,Gagan Bansal,Justin Lu,Jackie Tsay,Kaushik Roy,Tobias Bosch,Yinan Wang,Matthew Dierker,Katherine Evans,Thomas Jablin,Dehao Chen,Vinu Rajashekhar,Akshay Agrawal, Yuan Cao,Shuyuan Zhang,Xiaobing Liu,Noam Shazeer,Andrew Dai,Zhifeng Chen,Rami Al-Rfou,DK Choe,Yunhsuan Sung,Brian Strope,Timothy Sohn,Yonghui Wu 等開發。