Tansformer 的介紹已經接近尾聲了,最後來談談它的訓練參數及測試結果。
論文中,作者使用了以下的資料集來訓練 Transformer:
- WMT 2014 English-German:4.5 million sentence pairs
- WMT 2014 English-French:36 million sentence pairs
句子的編碼採用 byte-pair 方式 (byte-pair encoding)。將句子長度類似的訓練資料放在同一個訓練批次 (training batch) 內,每個批次大約有 25000 個 source token 及 25000 個 target token。
訓練時使用 8 片 Nvidia P100 GPU 的系統,預設的基本模型訓練時間為 12 小時,訓練次數為 100,000 次。(註一)
作者在論文中提到,Transformer 所需的訓練時間,遠小於同等規模的其他模型,以 English-French 翻譯訓練為例,其只需其他模型的 1/4 。
其他的訓練參數老頭就不在這裏抄錄了,有興趣的 AI 人可自行參閱論文。
英文-德文 翻譯:較當時最好的結果好 2.0 BLEU 以上,達 28.4 。
英文-法文 翻譯:超越當時所有的其他模型,達 41.0 BLEU。
稍微跟大家介紹一下 BLEU(老頭是在看這篇論文的時候才了解它是什麼),它的全名是 Bilingual Evaluation Understudy,維基百科中文版上稱之為「雙語替換評測」,顧名思義,它提供了評量翻譯好壞的一種演算法。BLEU 分數越高,表示其翻譯越接近「標準答案」。BLUE 的值介於 0 到 1,所以上面的 28.4 ,事實上應該是 28.4%。在 iT邦幫忙 2018鐵人賽時, renewang 曾經說明過 BLUE 可供大家參考(註二)。
作者開放出他們的程式碼: https://github.com/tensorflow/tensor2tensor
對於 Transformer 的介紹就在這裏打住,有很多細節並沒有一一說明,主要是想給大家一個 Transformer 大架構的說明,不想讓太多細節來干擾。最後還是那句話,有機會大家還是要讀論文原文,原汁原味,收穫更多!
(註一:論文中實際上做了多個不同參數及超參數的的模型,在本文中,我們主要介紹的是「基本模型」,其他模型可參閱論文 Table 3)
(註二:renewang 的文章 https://ithelp.ithome.com.tw/articles/10208981 )