0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Facebook展示了如何讓機(jī)器翻譯速度變快,同時(shí)又能擴(kuò)展應(yīng)用的方法

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-09-24 09:40 ? 次閱讀

編者按:機(jī)器翻譯是人工智能在實(shí)際應(yīng)用中的一個(gè)重要領(lǐng)域。在這篇文章中,F(xiàn)acebook的研究人員們展示了他們是如何讓機(jī)器翻譯速度變快,同時(shí)又能擴(kuò)展應(yīng)用的方法。

我們希望,用戶能用自己的母語(yǔ)體驗(yàn)他們的產(chǎn)品,從而將全世界各地的用戶聯(lián)系起來(lái)。為了這一目的,我們用神經(jīng)機(jī)器翻譯(NMT)自動(dòng)翻譯文章和評(píng)論的文字。此前有關(guān)這項(xiàng)工作的成果已經(jīng)在fairseq上開源,這是一種序列到序列的學(xué)習(xí)庫(kù),可以讓任何人訓(xùn)練NMT、進(jìn)行文本摘要總結(jié)或者其他文本生成任務(wù)。

隨著NMT在學(xué)習(xí)大型單一語(yǔ)種數(shù)據(jù)上的能力逐漸提高,追求更快的訓(xùn)練速度成為了研究重點(diǎn)。為了這一目的,我們必須找到一種方法能顯著減少訓(xùn)練時(shí)間。直到目前,在一臺(tái)機(jī)器上訓(xùn)練這種類型的NMT模型都需要好幾周時(shí)間,這種速度顯然比較慢。

現(xiàn)在,經(jīng)過(guò)對(duì)模型精確度和訓(xùn)練設(shè)置的多種改變,我們可以在32分鐘內(nèi)訓(xùn)練一個(gè)強(qiáng)大的NMT模型,速度比之前快了45倍。論文地址:arxiv.org/abs/1808.09381

加速訓(xùn)練

首先,我們的重點(diǎn)在如何減少模型的訓(xùn)練時(shí)間,最終僅用了一個(gè)NVIDIA DGX-1和8個(gè)Volta GPUs就將之前將近24個(gè)小時(shí)的訓(xùn)練時(shí)間減少到了5小時(shí)以下。神經(jīng)網(wǎng)絡(luò)通常含有數(shù)百萬(wàn)個(gè)參數(shù),可以在訓(xùn)練時(shí)進(jìn)行調(diào)整。這些參數(shù)通常會(huì)儲(chǔ)存在32位浮點(diǎn)數(shù)中。第一步,我們將訓(xùn)練從32位轉(zhuǎn)換成16位,從而減少GPU內(nèi)存,并且能使用經(jīng)過(guò)優(yōu)化的NVIDIA Tensor Cores。用精度降低的浮點(diǎn)訓(xùn)練有時(shí)會(huì)導(dǎo)致模型質(zhì)量的降低,因?yàn)楦↑c(diǎn)的“溢出”。在我們的工作中,我們應(yīng)用了一種常見的用于自動(dòng)檢測(cè)和放置過(guò)載的技術(shù),將訓(xùn)練時(shí)間減少到了8.25個(gè)小時(shí),速度快了2.9倍并且沒有使模型質(zhì)量損失。

接下來(lái),我們通過(guò)所謂的“累積更新(cumulative upgrade)”來(lái)延遲模型的更新。我們對(duì)模型進(jìn)行同步訓(xùn)練,從而每個(gè)GPU保留著和模型一樣的副本,但處理訓(xùn)練數(shù)據(jù)不同的部分。處理需要反向傳播,反向傳播在網(wǎng)絡(luò)上分為前向傳遞和后向傳遞,以計(jì)算訓(xùn)練模型所需的統(tǒng)計(jì)數(shù)據(jù)。處理完每個(gè)mini-batch后,GPU會(huì)將結(jié)果(梯度)同步互相傳遞。這種方法會(huì)導(dǎo)致潛在的低效:首先,在GPU之間傳輸數(shù)據(jù)會(huì)消耗時(shí)間;第二,速度快的單元要等待速度慢的單元才能繼續(xù)訓(xùn)練。

后者是文本處理模型一個(gè)重要的挑戰(zhàn),不同長(zhǎng)度的句子會(huì)讓問(wèn)題更嚴(yán)重,這一點(diǎn)在計(jì)算機(jī)視覺領(lǐng)域是體會(huì)不到的,因?yàn)橛?xùn)練的圖像通常大小相同。針對(duì)上面提到的兩個(gè)問(wèn)題,我們的解決方法是拖延同步點(diǎn),將多個(gè)mini-batch的結(jié)果聚集起來(lái)再傳播到各個(gè)處理單元中。這將訓(xùn)練時(shí)間減少到了7.5個(gè)小時(shí),沒有損失模型質(zhì)量。

累積更新同樣增加了高效訓(xùn)練的量,或者用于每個(gè)步驟訓(xùn)練的數(shù)據(jù)。在我們的設(shè)置中,batch的大小增加了16倍,這是我們將學(xué)習(xí)率提高了一倍,從而讓訓(xùn)練時(shí)間減少到了5.2小時(shí)。

在多個(gè)步驟間進(jìn)行梯度聚集

最終,我們用多余的GPU內(nèi)存進(jìn)一步擴(kuò)大了batch的大小。通過(guò)將每個(gè)處理單元從原來(lái)的3500單詞增加到5000個(gè)單詞,我們能將整體的訓(xùn)練時(shí)間減少到4.9小時(shí),是原來(lái)的4.9倍。

在多個(gè)機(jī)器上訓(xùn)練

我們?cè)趩我粰C(jī)器上的訓(xùn)練優(yōu)化同樣可以應(yīng)用在多機(jī)器訓(xùn)練中(即分布式訓(xùn)練)。將原本在單獨(dú)DGX-1機(jī)器上的訓(xùn)練擴(kuò)展到16個(gè)機(jī)器上時(shí)(有128個(gè)GPU),我們發(fā)現(xiàn)只需37分鐘就能訓(xùn)練相同的模型,這是原來(lái)的38.6倍。

在多個(gè)機(jī)器上訓(xùn)練時(shí),另一種優(yōu)化會(huì)使GPU交流和反向傳遞重疊。反向傳遞之后,我們獲得了在其他處理單元中交流所需要的信息。通常來(lái)說(shuō),反向和交流是接連出現(xiàn)的,但是我們可以讓二者重疊從而節(jié)省時(shí)間。特別的,我們可以當(dāng)反向步驟一在某個(gè)神經(jīng)網(wǎng)絡(luò)的子集中完成,就在多個(gè)處理單元中對(duì)梯度進(jìn)行同步。GPU交流之后就會(huì)和反向傳遞重合。這就進(jìn)一步減少了訓(xùn)練時(shí)間,即達(dá)到了32分鐘。

反向傳播中的反向傳遞(back pass)可以和梯度同步重疊進(jìn)行,從而提高訓(xùn)練速度

每次模型優(yōu)化后訓(xùn)練時(shí)間的減少

在更多未翻譯的數(shù)據(jù)上訓(xùn)練

將模型的訓(xùn)練時(shí)間縮短后,我們又開始研究如何訓(xùn)練模型在更大的數(shù)據(jù)集上工作。通常來(lái)講,訓(xùn)練NMT模型需要有對(duì)應(yīng)翻譯版本的數(shù)據(jù),即雙語(yǔ)數(shù)據(jù)。但是這種資源十分有限,可用數(shù)據(jù)大多只有一種語(yǔ)言。在我們的第二篇論文中(地址:arxiv.org/abs/1808.09381),我們展示了如何讓模型在這種情況下工作,同時(shí)用大量數(shù)據(jù)訓(xùn)練可以讓精確度有所提升。

其中提高NMT在單一語(yǔ)言數(shù)據(jù)上效率的技術(shù)之一就是反向翻譯(back-translation)。如果我們的目的是訓(xùn)練一個(gè)英譯德的翻譯模型,那么我們首先要訓(xùn)練一個(gè)德譯英的模型,然后用它來(lái)訓(xùn)練所有單一德語(yǔ)的數(shù)據(jù)。之后把英譯德模型在現(xiàn)有和新數(shù)據(jù)上進(jìn)行訓(xùn)練。我們的論文表明,數(shù)據(jù)如何翻譯是很重要的,在采樣過(guò)程中并不總是選擇最佳翻譯版本是很有用的。

反向翻譯過(guò)程

如果我們?cè)诂F(xiàn)有的500萬(wàn)條句子中加入2.26億條反向翻譯的句子,那么模型翻譯質(zhì)量會(huì)得到顯著提高。下方的表格就展示了系統(tǒng)的精確度在不同數(shù)據(jù)上的表現(xiàn)。

更快的翻譯

我們同樣改善了翻譯速度,模型一經(jīng)訓(xùn)練好,fairseq就能翻譯出來(lái)。尤其是我們使用了智能緩存,或者從計(jì)算中算出了一經(jīng)完成的句子,并且分批處理單詞數(shù)量而不是句子。這將翻譯速度提高了將近60%。下方圖表就展示了各種方法的對(duì)比。

結(jié)語(yǔ)

繼續(xù)提升自動(dòng)翻譯技術(shù)仍然是我們的研究重點(diǎn),希望未來(lái)有更多發(fā)現(xiàn)能讓訓(xùn)練速度更快,這樣就可以推動(dòng)實(shí)驗(yàn)的迭代次數(shù),讓NMT模型的發(fā)展更快。我們還希望未來(lái)能用無(wú)標(biāo)記數(shù)據(jù)解決翻譯之外的問(wèn)題,例如問(wèn)答或文本總結(jié)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Facebook
    +關(guān)注

    關(guān)注

    3

    文章

    1429

    瀏覽量

    54479
  • 人工智能
    +關(guān)注

    關(guān)注

    1787

    文章

    46062

    瀏覽量

    235081
  • 機(jī)器翻譯
    +關(guān)注

    關(guān)注

    0

    文章

    139

    瀏覽量

    14838

原文標(biāo)題:數(shù)據(jù)集更大、訓(xùn)練速度更快,F(xiàn)acebook改善機(jī)器翻譯的秘訣有哪些?

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    機(jī)器翻譯三大核心技術(shù)原理 | AI知識(shí)科普

    ` 本帖最后由 訊飛開放平臺(tái) 于 2018-7-6 10:39 編輯 機(jī)器翻譯技術(shù)發(fā)展了80多年,巴別塔的傳說(shuō)已經(jīng)成為過(guò)去,上天是不可能上天的了,但是你優(yōu)雅地和全世界討論世界杯,不再手舞足蹈
    發(fā)表于 07-06 10:30

    機(jī)器翻譯三大核心技術(shù)原理 | AI知識(shí)科普 2

    是端到端序列生成模型,是將輸入序列變換到輸出序列的一種框架和方法。其核心部分有兩點(diǎn),一是如何表征輸入序列(編碼),二是如何獲得輸出序列(解碼)。對(duì)于機(jī)器翻譯而言不僅包括了編碼和解碼兩個(gè)部分,還引入
    發(fā)表于 07-06 10:46

    神經(jīng)機(jī)器翻譯方法有哪些?

    目前,神經(jīng)機(jī)器翻譯(NMT)已經(jīng)成為在學(xué)術(shù)界和工業(yè)界最先進(jìn)的機(jī)器翻譯方法。最初的這種基于編碼器-解碼器架構(gòu)的機(jī)器翻譯系統(tǒng)都針對(duì)單個(gè)語(yǔ)言對(duì)進(jìn)行翻譯
    發(fā)表于 11-23 12:14

    一種全新的無(wú)監(jiān)督機(jī)器翻譯方法,在BLUE基準(zhǔn)測(cè)試上取得了10分以上提升

    Facebook無(wú)監(jiān)督機(jī)器翻譯方法,首先是系統(tǒng)學(xué)習(xí)雙語(yǔ)詞典,將一個(gè)詞與其他語(yǔ)言對(duì)應(yīng)的多種翻譯聯(lián)系起來(lái)。舉個(gè)例子,就好比
    的頭像 發(fā)表于 09-02 09:10 ?5946次閱讀

    從冷戰(zhàn)到深度學(xué)習(xí),機(jī)器翻譯歷史不簡(jiǎn)單!

    深度學(xué)習(xí)機(jī)器翻譯 實(shí)現(xiàn)高質(zhì)量機(jī)器翻譯的夢(mèng)想已經(jīng)存在了很多年,很多科學(xué)家都為這一夢(mèng)想貢獻(xiàn)了自己的時(shí)間和心力。從早期的基于規(guī)則的機(jī)器翻譯到如今廣泛應(yīng)用的神經(jīng)機(jī)器翻譯,
    發(fā)表于 09-17 09:23 ?367次閱讀

    換個(gè)角度來(lái)聊機(jī)器翻譯

    同時(shí)期國(guó)內(nèi)科技企業(yè)在機(jī)器翻譯上的進(jìn)展也非常迅速,以語(yǔ)音和語(yǔ)義理解見長(zhǎng)的科大訊飛在2014年國(guó)際口語(yǔ)翻譯大賽IWSLT上獲得中英和英中兩個(gè)翻譯方向的全球第一名,在2015年又在由美國(guó)國(guó)家
    的頭像 發(fā)表于 04-24 13:55 ?3386次閱讀
    換個(gè)角度來(lái)聊<b class='flag-5'>機(jī)器翻譯</b>

    機(jī)器翻譯走紅的背后是什么

    未來(lái)需要新的算法和語(yǔ)義層面的綜合性突破,促進(jìn)機(jī)器翻譯產(chǎn)品的迭代和產(chǎn)業(yè)全面升級(jí)。
    發(fā)表于 07-14 10:02 ?988次閱讀

    MIT和谷歌開發(fā)失傳語(yǔ)言的機(jī)器翻譯系統(tǒng)

    注釋數(shù)據(jù)庫(kù)和機(jī)器從中學(xué)習(xí)的技術(shù)語(yǔ)言學(xué)習(xí)發(fā)生了革命性變化,這使得機(jī)器翻譯變得越來(lái)越普遍。
    發(fā)表于 07-17 10:56 ?590次閱讀

    未來(lái)機(jī)器翻譯會(huì)取代人工翻譯

    所謂機(jī)器翻譯,就是利用計(jì)算機(jī)將一種自然語(yǔ)言(源語(yǔ)言)轉(zhuǎn)換為另一種自然語(yǔ)言(目標(biāo)語(yǔ)言)的過(guò)程。它是計(jì)算語(yǔ)言學(xué)的一個(gè)分支,是人工智能的終極目標(biāo)之一,具有重要的科學(xué)研究?jī)r(jià)值。而且機(jī)器翻譯又具有重要
    的頭像 發(fā)表于 12-29 10:12 ?4878次閱讀

    多語(yǔ)言翻譯新范式的工作:機(jī)器翻譯界的BERT

    思想就是打造“機(jī)器翻譯界的BERT”,通過(guò)預(yù)訓(xùn)練技術(shù)再在具體語(yǔ)種上微調(diào)即可達(dá)到領(lǐng)先的翻譯效果,其在32個(gè)語(yǔ)種上預(yù)訓(xùn)練出的統(tǒng)一模型在47個(gè)翻譯測(cè)試集上取得了全面顯著的提升。 目錄 機(jī)器翻譯
    的頭像 發(fā)表于 03-31 17:24 ?2877次閱讀
    多語(yǔ)言<b class='flag-5'>翻譯</b>新范式的工作:<b class='flag-5'>機(jī)器翻譯</b>界的BERT

    基于模板驅(qū)動(dòng)的神經(jīng)機(jī)器翻譯模型綜述

    基于模板驅(qū)動(dòng)的神經(jīng)機(jī)器翻譯模型綜述
    發(fā)表于 06-24 15:31 ?16次下載

    基于DNN與規(guī)則學(xué)習(xí)的機(jī)器翻譯算法綜述

    基于DNN與規(guī)則學(xué)習(xí)的機(jī)器翻譯算法綜述
    發(fā)表于 06-29 15:44 ?33次下載

    基于句子級(jí)上下文的神經(jīng)機(jī)器翻譯綜述

    基于句子級(jí)上下文的神經(jīng)機(jī)器翻譯綜述
    發(fā)表于 06-29 16:26 ?64次下載

    Google遵循AI原則減少機(jī)器翻譯的性別偏見

    得益于神經(jīng)機(jī)器翻譯 (NMT) 的進(jìn)步,譯文更加自然流暢,但與此同時(shí),這些譯文也反映出訓(xùn)練數(shù)據(jù)存在社會(huì)偏見和刻板印象。因此,Google 持續(xù)致力于遵循 AI 原則,開發(fā)創(chuàng)新技術(shù),減少機(jī)器翻譯
    的頭像 發(fā)表于 08-24 10:14 ?2720次閱讀

    機(jī)器翻譯研究進(jìn)展

    機(jī)器翻譯使用計(jì)算機(jī)將一種語(yǔ)言翻譯成另一種語(yǔ)言,具有低成本、高效率和高翻譯質(zhì)量等優(yōu)勢(shì),在語(yǔ)音翻譯、同聲傳譯自動(dòng)化等許多領(lǐng)域得到廣泛應(yīng)用。 隨著雙語(yǔ)語(yǔ)料庫(kù)的不斷建設(shè)和完善,基于語(yǔ)料庫(kù)的
    的頭像 發(fā)表于 07-06 11:19 ?647次閱讀
    <b class='flag-5'>機(jī)器翻譯</b>研究進(jìn)展