例如,谷歌工程師們采用了傳奇的超級(jí)計(jì)算機(jī)公司Cray所使用的技巧。他們將芯片中負(fù)責(zé)神經(jīng)網(wǎng)絡(luò)計(jì)算的“巨大的矩陣乘法單元”與“通用向量單元”和“通用標(biāo)量單元”結(jié)合在一起。標(biāo)量單元和向量單元的結(jié)合讓Cray的性能優(yōu)于其他處理器。
谷歌開發(fā)了自己的新型算法結(jié)構(gòu)來編程芯片。所謂的“bfloat16”是一種表示實(shí)數(shù)的方法,可以提高神經(jīng)網(wǎng)絡(luò)數(shù)字運(yùn)算的效率。bfloat16的全稱是truncated 16-bit floating point(截?cái)喔↑c(diǎn)數(shù)),被通俗地稱為“brain float”。
TPU采用最快的內(nèi)存芯片,即所謂的高帶寬內(nèi)存(HBM)。在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),對(duì)內(nèi)存容量的需求也在激增。
Young說:“內(nèi)存在訓(xùn)練中更加集中。不只是數(shù)億個(gè)權(quán)重,還涉及處理神經(jīng)網(wǎng)絡(luò)激活變量的問題”。
谷歌也在調(diào)整編程神經(jīng)網(wǎng)絡(luò)的方式,以充分利用硬件。他們?cè)跀?shù)據(jù)和模型并行性方面做了大量工作,包括“Mesh TensorFlow”等項(xiàng)目,這是對(duì)TensorFlow編程框架的改編,目的是將數(shù)據(jù)和模型并行性在pod-scale上結(jié)合起來。
有一些技術(shù)細(xì)節(jié)Young不愿透露。他指出,谷歌沒有過多地談?wù)摗盎ミB”(interconnects),即數(shù)據(jù)在芯片中移動(dòng)的方式,只是說“我們有巨大的連接器”,拒絕提供更多信息。
Young談到一些可能并不遙遠(yuǎn)的更有趣的計(jì)算領(lǐng)域。例如,他建議通過模擬芯片進(jìn)行計(jì)算,這種電路將輸入作為連續(xù)值而不是作為1和0來處理,這樣可以發(fā)揮重要作用。他說:“也許我們將從模擬領(lǐng)域進(jìn)行采樣,在物理、模擬計(jì)算或非易失性技術(shù)方面確實(shí)有一些很酷的東西?!?/p>
評(píng)論
查看更多