Arm早前曾宣布其ArmV8-A架構(gòu)的下一版本將包括對(duì)bfloat16的支持,現(xiàn)在透露了更多細(xì)節(jié)。
bfloat16是一種越來(lái)越多被應(yīng)用于加速機(jī)器學(xué)習(xí)應(yīng)用的浮點(diǎn)格式。谷歌、英特爾和不少新創(chuàng)公司都將bfloat16作為其AI加速架構(gòu)的核心功能之一。
Bfloat16是由Google發(fā)明,最初在其第三代Tensor處理單元(TPU)中導(dǎo)入,作為加速機(jī)器學(xué)習(xí)之用。英特爾也認(rèn)為該格式在未來(lái)AI計(jì)算中也有龐大的應(yīng)用潛力,因此整合到其即將推出的“Cooper Lake”Xeon SP處理器,以及“Spring Crest”神經(jīng)網(wǎng)絡(luò)處理器中,未來(lái)的Xe GPU也會(huì)支持。而包括Wave Computing、Habana Labs和Flex Logix等AI芯片新創(chuàng)公司也采用了支持該計(jì)算格式的定制AI處理器。
bfloat16的主要想法是提供動(dòng)態(tài)范圍與標(biāo)準(zhǔn)IEEE-FP32相同的16位浮點(diǎn)格式,精度較低。相當(dāng)于將8位的FP32指數(shù)字段的大小匹配,并將FP32分?jǐn)?shù)字段的大小縮小到7位。
根據(jù)Arm首席架構(gòu)師和研究員Nigel Stephens的說(shuō)法,在大多數(shù)情況下,bfloat16格式與FP32一樣準(zhǔn)確,用于神經(jīng)網(wǎng)絡(luò)計(jì)算,但是以一半的位址就可以完成任務(wù)。因此,與32位相比,吞吐量可以翻倍,內(nèi)存需求可以減半。在多數(shù)情況下,blfloat16可以成為這些機(jī)器學(xué)習(xí)算法中FP32的“插入式”替代品。由于神經(jīng)網(wǎng)絡(luò)的計(jì)算性質(zhì),只要數(shù)據(jù)類型具有足夠的范圍和精度,就可以很好地適應(yīng)少量噪聲,精準(zhǔn)的完成模型訓(xùn)練工作。
Arm將bfloat16的支持被放到ArmV8-A下的所有浮點(diǎn)處理的相關(guān)指令集,包含SVE(可擴(kuò)展矢量擴(kuò)展)、AArch64 Neon(64位SIMD)和AArch32 Neon(32位SIMD)。通過(guò)相關(guān)擴(kuò)展的支持,加速基于Arm的客戶端和服務(wù)器的機(jī)器學(xué)習(xí)推理和培訓(xùn)練過(guò)程。雖然Arm服務(wù)器市占率仍然很小,但其在智能手機(jī)等客戶端方面擁有幾乎絕對(duì)的統(tǒng)治地位,這意味著未來(lái)的手持式和物聯(lián)網(wǎng)設(shè)備將很快能夠利用更緊湊的數(shù)字格式來(lái)處理機(jī)器學(xué)習(xí)。
當(dāng)然,Arm如果越強(qiáng),那么采用自有AI架構(gòu)的芯片設(shè)計(jì)業(yè)者壓力其實(shí)也會(huì)越大,就好比華為先后使用寒武紀(jì)與達(dá)芬奇架構(gòu),都是封閉的專有架構(gòu),高通也是采用DSP結(jié)合NPU計(jì)算,如果Arm官方架構(gòu)性能有飛躍性的改進(jìn),那么這些采用定制AI架構(gòu)的芯片設(shè)計(jì)者可能最終會(huì)被迫放棄自己的封閉架構(gòu),轉(zhuǎn)而擁抱Arm的開放架構(gòu)。而這也有助于發(fā)展整體AI生態(tài),畢竟使用相同開發(fā)環(huán)境的硬件基數(shù)越大,就能吸引更多應(yīng)用開發(fā)者共同耕耘相關(guān)生態(tài)。
值得注意的是,Arm決定在SVE中加入bfloat16的支持這點(diǎn)。由于SVE是專門針對(duì)高性能計(jì)算的矢量指令集,截至目前為止,僅有富士通一家采用,并應(yīng)用于其A64FX芯片上。Arm方面表示,由于HPC用戶對(duì)機(jī)器學(xué)習(xí)的興趣持續(xù)增加,過(guò)去只能依靠GPU方案來(lái)進(jìn)行加速,若能在單一架構(gòu)處理完機(jī)器學(xué)習(xí)的工作,那么就不用再額外花費(fèi)成本添購(gòu)專用的加速硬件。
使用bfloat16還有另一個(gè)好處,那就是它具有與FP32相同的動(dòng)態(tài)范圍,這使得轉(zhuǎn)換現(xiàn)有使用FP32的現(xiàn)有計(jì)算代碼非常簡(jiǎn)單,可以大規(guī)模無(wú)痛轉(zhuǎn)換既有的FP32應(yīng)用到blfloat16數(shù)據(jù)格式下。
然而,SVE原本就可以針對(duì)從128位到2048位等不同的矢量長(zhǎng)度來(lái)實(shí)現(xiàn)計(jì)算工作,理論上,bfloat16應(yīng)該放在128位的Neon計(jì)算單元內(nèi)比較合理。但實(shí)際上,數(shù)據(jù)的吞吐量其實(shí)還是要取決于硬件的實(shí)現(xiàn)選擇,比如說(shuō)SVE執(zhí)行單元的數(shù)量,以及Neon計(jì)算單元的數(shù)量。
而隨著Arm增加了bfloat16這個(gè)數(shù)據(jù)格式的支持,借以加速AI計(jì)算,這也讓GPU成為目前主流機(jī)器學(xué)習(xí)加速硬件中唯一不支持這種數(shù)據(jù)格式的架構(gòu),而英特爾即將推出的Xe GPU也會(huì)加入該格式的支持,包含AMD或NVIDIA,應(yīng)該都會(huì)在下一代產(chǎn)品中增加此數(shù)據(jù)格式的支持。
根據(jù)ARM做的模擬,不同類型的運(yùn)算中bfloat16帶來(lái)的性能提升不等,少的有1.6倍性能,多的可達(dá)4倍性能,性能成長(zhǎng)相當(dāng)驚人。
-
ARM
+關(guān)注
關(guān)注
134文章
9328瀏覽量
375713 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4811瀏覽量
103055 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8497瀏覽量
134240
發(fā)布評(píng)論請(qǐng)先 登錄
為什么越來(lái)越多政府單位用上了國(guó)產(chǎn)云終端?它比你想的更能打

國(guó)產(chǎn)地物光譜儀為什么越來(lái)越多被科研團(tuán)隊(duì)選擇?

RK3576 vs RK3588:為何越來(lái)越多的開發(fā)者轉(zhuǎn)向RK3576?
基于雙向塊浮點(diǎn)量化的大語(yǔ)言模型高效加速器設(shè)計(jì)

詳解原子層沉積薄膜制備技術(shù)

為什么聊自動(dòng)駕駛的越來(lái)越多,聊無(wú)人駕駛的越來(lái)越少?

利用NVIDIA DPF引領(lǐng)DPU加速云計(jì)算的未來(lái)

應(yīng)用于活細(xì)胞成像的一次性細(xì)胞培養(yǎng)芯片
相比上一代低功耗藍(lán)牙芯片,CC2745P到底升級(jí)了什么?
NPU與機(jī)器學(xué)習(xí)算法的關(guān)系
為何越來(lái)越多的應(yīng)用場(chǎng)景都會(huì)用到溫濕度控制器?
為什么越來(lái)越多的視頻監(jiān)控AI分析做到了攝像頭上?

歐姆龍助力提高制造現(xiàn)場(chǎng)的生產(chǎn)效率和安全性
llm模型有哪些格式
隨著戶儲(chǔ)的發(fā)展推進(jìn),相關(guān)技術(shù)要求也越來(lái)越多

評(píng)論