谷歌開源T2T模型庫,深度學習系統進入模塊化時代!
導語:深度學習系統可以模塊化了
本文作者:楊文編輯:郭奕欣
雷鋒網AI科技評論按:6月19日,谷歌發布了T2T(Tensor2Tensor)深度學習開源系統,這個系統的一大優點是模塊化,這也就意味著系統更加靈活,適應性更強。深度學習的研究進度也會因此而加速。以下內容為雷鋒網整理編輯。
深度學習(DL)讓很多技術領域都得以迅速發展,比如機器翻譯,語音識別,以及物體檢測。在研究社區,人們可以找到研究作者開源的代碼,複製他們的結果,幫助自己做進一步深度學習研究。然而,大多數深度學習系統使用了需要耗費大量工程開發的特殊設置,可能只對特定的問題或結構起作用。這使得在新實驗中運行以及進行實驗結果對比變得比較困難。
可喜的是,谷歌終於找到了解決這一問題的辦法,發布了T2T(Tensor2Tensor),一個用於在TensorFlow上訓練深度學習模型的開源系統。T2T方便了對各種各樣的機器學習應用的模型進行創新,比如翻譯,句法分析,圖像說明等等。這次發布也包含數據集庫和模型庫,包括最近幾篇論文中提到的最好模型。
在標準WMT英語-德語翻譯任務中,各模型的BLEU分數(越高越好)
作為舉例,谷歌將T2T庫用於機器翻譯。如上表所示,兩種不同T2T模型,SliceNet和Transformer,性能表現勝過之前業界表現最好的模型GNMT+MoE。其中最好的T2T模型Transformer,高出GNMT模型3.8分。而GNMT本身已經高出MOSES 4分(以短語翻譯系統MOSES為最低標準)。值得注意的是,使用單塊GPU在一天內訓練就可以達到之前最好的結果,一個小型的Transformer模型在單GPU訓練一天後可以得分24.9(上圖表格並沒有顯示)。可見使用T2T效果非常明顯。現在所有人都可以自己用一塊GPU來訓練這個翻譯模型了。Github有操作說明。(地址見文末)
模塊化多任務訓練
T2T庫是用人們熟悉的TensorFlow工具和深度學習系統中所需的定義多個組件:如數據集,模型結構,演算法,學習速率衰減方案,超參數等等開發出來的。關鍵是,它在所有這些組件之間執行了一個標準介面,實現了當前機器學習的最佳效果。所以你可以拿走任何一個數據集,模型,演算法,或一組超參數,來執行訓練並觀察它的性能表現。通過使架構模塊化,輸入數據和預測輸出之間的每一部分都是T2T函數。這意味著如果對模型架構有了新的想法,則不需要替換整個設置。你可以保留需要嵌入的部分,損失函數和其他所有部分。
這就意味著T2T很靈活,訓練不再依賴於特定的模型或數據集。甚至連比較有名的LSTM序列模型都可以用幾十行代碼來定義。此外還可以對不同領域的多個任務進行單個模型的訓練。甚至還可以在所有數據集上同時運行單個模型。MultiModel就可以這樣訓練並包含在T2T中,在很多任務上都產生了良好的效果。即使在ImageNet(圖像分類)MS COCO(圖像說明)WSJ(語音識別)WMT(翻譯)以及Penn Treebank(解析語料庫)聯合訓練也依然表現良好。這也是第一次證明了單個模型可以同時執行多個任務。
內置最佳實踐
這次的首次發布也提供了腳本,用來生成大量數據集,廣泛用於研究社區,一些模型和大量超參數配置。trade的其他重要技巧在執行中表現良好。把他們全部列出來很難,如果你決定用T2T運行你的模型,你將得到序列的正確填充(padding)和相應的交叉熵損失,調試良好的Adam優化器參數,自適應批處理,同步的分布式訓練,調試良好的圖像數據增強,標籤平滑和大量的超參數配置。
例如,考慮把英語句子解析成語法選區樹(grammatical constituency trees)的任務。這個問題已經研究了幾十年才找到可靠的方法。它可以表示為一個序列到序列的問題,可以用神經網路求解,但是在過去需要調試很多次。現在運用T2T,只需要幾天就可以添加解析數據集生成器,並且調節注意力轉化器模型來訓練解決這個問題。令人興奮的是,只用了一周的時間就得到了非常好的結果。
在WSJ 23節的標準數據集上解析F1分數。只在Penn Treebank WSJ訓練集上比較了文本中經過特殊訓練過的模型。更多結果詳見論文(https://arxiv.org/abs/1706.03762)
為T2T做貢獻
除了探索現有的模型和數據集,還可以輕鬆地定義自己的模型,並添加自己的數據集到T2T。谷歌相信已有的模型將很好的執行諸多NLP任務,所以只需添加你的數據集,也許就會得到一個有趣的結果。通過構建T2T模塊,還可以很容易構建你自己的模型,並觀察其如何執行不同任務。通過這樣的方式,整個社區都可以從基線庫(library of baselines)中受益,並加速深度學習研究。所以,來Github庫,嘗試一些新模型,來為T2T做點貢獻吧!
提及表格內模型的三篇論文(雷鋒網此前也做過覆蓋與報道):
Attention Is All You Need
Depthwise Separable Convolutions for Neural Machine Translation
One Model To Learn Them All
Github操作說明:https://github.com/tensorflow/tensor2tensor
via Google;雷鋒網整理編譯
雷鋒網原創文章,網站轉載請至雷鋒網官網申請授權。歡迎熱情討論,轉發分享~
※一加 5「正式」 發布,ofo 啟用新一代智能鎖
※看一眼就能結賬,國產收銀機器人如何秒殺日本自助收銀方案
※英特爾三款開發板年底停產,物聯網之夢終於要醒了
TAG:雷鋒網 |
※個人電腦上訓練深度學習模型:Uber開源「深度神經進化」加速版
※NVIDIA 遷移學習工具包:用於特定領域深度學習模型快速訓練的高級SDK
※超越DQN和A3C:深度強化學習領域近期新進展概覽
※在NLP中深度學習模型何時需要樹形結構?
※深度 | 超越DQN和A3C:深度強化學習領域近期新進展概覽
※深度學習工程模板:簡化載入數據、構建網路、訓練模型和預測樣本的流程
※小米開源移動端深度學習框架MACE,自主研發,專為IoT設備優化
※深度神經進化加速:只需 4 個小時就在個人電腦上訓練出強化學習模型
※新鮮開源:基於TF2.0的深度強化學習平台
※微軟開源 MMdnn,模型可在多深度學習框架間轉換
※谷歌開源強化學習深度規劃網路 PlaNet
※深度強化學習-DQN
※用深度學習改進FIFA 18遊戲角色細節
※深度學習三人行-TF訓練DNN之進階
※微軟收購深度學習初創公司Lobe 以幫助創建深度學習模型
※MIT深度學習各領域最新突破PPT整理
※十大預訓練模型助你學習深度學習
※CEVA將深度學習引進IoT邊緣裝置
※陳天奇等人提出TVM:深度學習自動優化代碼生成器
※OPPO R15系統體驗:AI深度優化 流暢更易用