使用神經(jīng)網(wǎng)絡(luò)進(jìn)行序列預(yù)測(cè)是眾所周知的計(jì)算機(jī)科學(xué)問(wèn)題,在語(yǔ)音識(shí)別、機(jī)器翻譯、語(yǔ)言建模和其他領(lǐng)域中都有著廣泛的應(yīng)用。這種預(yù)測(cè)使用的模型對(duì)計(jì)算能力要求很高,這限制了它們的實(shí)際應(yīng)用。
Facebook AI Research的科學(xué)家設(shè)計(jì)了自適應(yīng)的softmax算法,這是一種為GPU定制的近似算法,可在龐大的單詞量基礎(chǔ)上高效地訓(xùn)練神經(jīng)網(wǎng)絡(luò)。如公開(kāi)發(fā)表的論文中所描述的,自適應(yīng)softmax利用單詞在大語(yǔ)料庫(kù)中的不均衡分布,形成可以最小化計(jì)算復(fù)雜度的群集。完全softmax與詞匯庫(kù)大小線性相關(guān),而自適應(yīng)softmax是次線性相關(guān)的,并且針對(duì)GPU進(jìn)行了優(yōu)化。
在開(kāi)發(fā)softmax的同時(shí),F(xiàn)acebook研究人員發(fā)布了開(kāi)源庫(kù)torch-rnnlib,幫助研究人員設(shè)計(jì)和測(cè)試GPU中的遞歸模型。有了torch.cudnn,可以使用NVIDIA CUDA Deep Neural Network庫(kù)輕松訪問(wèn)基線。RNN、LSTM、GRU和其他遞歸神經(jīng)網(wǎng)絡(luò)都有具體的實(shí)現(xiàn),研究人員可以很容易地把它們用于遞歸神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)。
Facebook研究人員在單個(gè)GPU上對(duì)該算法進(jìn)行測(cè)試,速度達(dá)到了每秒12500個(gè)單詞,同時(shí)保持精確度接近完全softmax。從基準(zhǔn)困惑度來(lái)看,谷歌公司的Jozefowicz等人在2016年使用32個(gè)GPU訓(xùn)練了3個(gè)星期得到30的困惑度(越低越好),同時(shí)使用18個(gè)GPU訓(xùn)練了幾天得到44的困惑度。Google使用Tensorflow實(shí)現(xiàn)的LSTM模型發(fā)布在Github上,它的主要作者在Reddit的相關(guān)話題中提出了一個(gè)有趣的方法來(lái)解釋困惑度。相反地,自適應(yīng)softmax可以在大約14小時(shí)內(nèi)達(dá)到50的困惑度,在一兩天內(nèi)達(dá)到43.9的困惑度以及在六天內(nèi)達(dá)到39.8的困惑度。如果沒(méi)有CuDNN庫(kù),性能下降約30%。所有工具和技術(shù)都針對(duì)EuroParl和十億字語(yǔ)料庫(kù)進(jìn)行過(guò)測(cè)試,這些語(yǔ)料庫(kù)是當(dāng)前可獲得的最大的幾個(gè)語(yǔ)料庫(kù)。
查看英文原文:Facebook Builds an Efficient Neural Network Model over a Billion Words