訓(xùn)練支撐許多現(xiàn)代人工智能(AI)工具的大型神經(jīng)網(wǎng)絡(luò)都需要真實(shí)強(qiáng)大的計(jì)算能力。例如,OpenAI最先進(jìn)的語言模型GPT-3訓(xùn)練就需要驚人的10億億次運(yùn)算,其計(jì)算時(shí)間耗資約500萬美元。工程師們認(rèn)為他們已經(jīng)找到了一種方法,通過使用不同的方式表示數(shù)字,進(jìn)而減輕計(jì)算負(fù)擔(dān)。
早在2017年,當(dāng)時(shí)在A*STAR計(jì)算資源中心和新加坡國立大學(xué)就職的約翰?古斯塔夫森(John Gustafson)以及在星際機(jī)器人與電腦公司任職的艾薩克?約莫托(Isaac Yonemoto)就開發(fā)了一種新的數(shù)字表示方法。這些數(shù)字稱為“posit”,他們提議將這些數(shù)字作為對目前使用的標(biāo)準(zhǔn)浮點(diǎn)算數(shù)處理器的改進(jìn)表示。
現(xiàn)在,馬德里康普頓斯大學(xué)的一個(gè)研究團(tuán)隊(duì)開發(fā)了首個(gè)可在硬件中實(shí)現(xiàn)posit標(biāo)準(zhǔn)的處理器內(nèi)核,并表明,與使用標(biāo)準(zhǔn)浮點(diǎn)數(shù)字計(jì)算相比,基本計(jì)算任務(wù)的位對位(bit-for-bit)精度提高了4個(gè)數(shù)量級。他們在2022年9月的IEEE計(jì)算機(jī)算數(shù)研討會上發(fā)表了其研究結(jié)果。
“如今,摩爾定律似乎已開始衰落。”康普頓斯大學(xué)ArTeCS小組的研究生研究員大衛(wèi)?馬拉森?金塔納(David Mallasén Quintana)說,“所以我們需要找到其他方法來提高機(jī)器的性能。其中一種方法就是改變我們的實(shí)數(shù)編碼方式,以及如何表示實(shí)數(shù)。”
用數(shù)字表示方法來突破極限的并非只有康普頓斯團(tuán)隊(duì)。早在2022年9月,Arm、英特爾和英偉達(dá)就形成了一項(xiàng)技術(shù)規(guī)范,在機(jī)器學(xué)習(xí)應(yīng)用程序中,使用8位浮點(diǎn)數(shù)字替代通常的32位或16位浮點(diǎn)數(shù)字,即使用短小、低精度的格式,以降低計(jì)算精度為代價(jià),提高計(jì)算效率和內(nèi)存使用率。
實(shí)數(shù)不能在硬件中完美表示,因?yàn)閷?shí)數(shù)的數(shù)量是無限的。為了適應(yīng)指定的位數(shù),許多實(shí)數(shù)必須四舍五入。posit的優(yōu)勢在于,這種方法表示數(shù)字的精度是沿著數(shù)軸分布的。在數(shù)軸中間,1和-1周圍,posit表示的精度比浮點(diǎn)的高。在數(shù)軸兩翼會逐漸出現(xiàn)較大的負(fù)數(shù)和正數(shù),posit精度比浮點(diǎn)下降得更平穩(wěn)。
古斯塔夫森說:“這與數(shù)字在計(jì)算中的自然分布相吻合。動(dòng)態(tài)范圍是合適的,在需要更高精度時(shí),它的精度可以滿足需求。浮點(diǎn)運(yùn)算中有很多從來沒有用過的位串,這是一種浪費(fèi)。”
posit之所以能實(shí)現(xiàn)1和-1周圍精度的提高,是因?yàn)樵摫硎痉椒ㄓ幸粋€(gè)額外組成部分。浮點(diǎn)數(shù)由3個(gè)部分組成:一個(gè)符號位(0為正,1為負(fù)),幾個(gè)“尾數(shù)”(小數(shù))位表示二進(jìn)制小數(shù)點(diǎn)后面的數(shù),其余的位用來定義指數(shù)(2exp)。
posit保留了浮點(diǎn)數(shù)的所有組成部分,但添加了一個(gè)額外的“regime”部分,即指數(shù)的指數(shù)。regime的優(yōu)點(diǎn)在于它的位長度可以變化。對于較小的數(shù)字,它可以只需要2位,為尾數(shù)留下更高的精度。這樣posit可以在1和-1周圍的“甜蜜點(diǎn)”位置實(shí)現(xiàn)更高的精度。
深度神經(jīng)網(wǎng)絡(luò)通常使用被稱為權(quán)重的歸一化參數(shù),因此它們是從posit獲益的完美候選者。許多神經(jīng)網(wǎng)絡(luò)計(jì)算都由乘積累加運(yùn)算組成。每次執(zhí)行這種計(jì)算,每個(gè)求和都必須再次截?cái)啵瑢?dǎo)致精度損失。采用posit,一個(gè)名為quire的專用寄存器能夠有效地執(zhí)行累加步驟,減少精度損失。但目前的硬件應(yīng)用的是浮點(diǎn),而且到目前為止,在軟件中使用posit帶來的計(jì)算收益在很大程度上被格式轉(zhuǎn)換的損耗掩蓋了。
使用他們用現(xiàn)場可編程門陣列(FPGA)合成的新硬件,康普頓斯團(tuán)隊(duì)對32位浮點(diǎn)和32位posit的計(jì)算進(jìn)行并列比較。
該團(tuán)隊(duì)還將結(jié)果與更精確但計(jì)算成本較高的64位浮點(diǎn)格式的結(jié)果進(jìn)行比較,對結(jié)果的精度進(jìn)行評估。對于矩陣乘法(神經(jīng)網(wǎng)絡(luò)訓(xùn)練中固有的一連串乘積累加)的精度,posit比浮點(diǎn)運(yùn)算驚人地提高了4個(gè)數(shù)量級。
該團(tuán)隊(duì)還發(fā)現(xiàn),提高精度并沒有以計(jì)算時(shí)間為代價(jià),只是芯片使用面積和功耗略有增加。
盡管提高數(shù)字精度是不可否認(rèn)的,但確切地說,它對訓(xùn)練GPT-3等大型AI有怎樣的影響還有待觀察。
馬拉森說:“posit可能會提高訓(xùn)練速度,因?yàn)樵谟?xùn)練的過程中不會丟失太多信息。但這些事我們還不知道。有人已經(jīng)在軟件中試過了,現(xiàn)在也要在我們的硬件中試一下。”
其他團(tuán)隊(duì)正在研究實(shí)現(xiàn)自己的硬件,促進(jìn)posit的使用。“這正是我所希望的,它被瘋狂地接受了。”古斯塔夫森說,“posit數(shù)字格式爆火,正在使用posit的有幾十個(gè)團(tuán)隊(duì),公司和大學(xué)的團(tuán)隊(duì)都有。”
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19265瀏覽量
229682 -
人工智能
+關(guān)注
關(guān)注
1791文章
47208瀏覽量
238295 -
深度神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
61瀏覽量
4526 -
OpenAI
+關(guān)注
關(guān)注
9文章
1082瀏覽量
6485
原文標(biāo)題:新的數(shù)字表示方法將改進(jìn)AI數(shù)學(xué)運(yùn)算
文章出處:【微信號:bdtdsj,微信公眾號:中科院半導(dǎo)體所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論