六強合推AI運算新規則:MicroXcaling 格式

隨著生成式AI浪潮到來,AI模型變的更肥大、更加耗費運算量

因應這個挑戰,Microsoft、AMD、Intel、Meta、NVIDIA、Qualcomm等科技六巨頭在2023年底向Open Compute Project提交一個AI數值系統標準:MicroXcaling 格式 (簡稱MX),希望能比FP8更省AI記憶體空間、運算成本更低

󠀠

AI運算所需的位元寬度(bitwidth),就像iPhone的價格一樣,「越低」就「越好」

怎麼說呢?

如果iPhone的價格從5萬台幣跳水成1萬台幣,就會有更多人買得起iPhone

如果AI運算所需的位元寬度能從8位元降到更低,就會有更多人用得起AI

󠀠

▌科學記號與主流數值系統

現有主流的數值系統我們可以初步分為:整數(int)、浮點數(fp)、塊狀浮點數(block fp)、指數(exp)四大類。

相信大家國中都有學過「科學記號」,250這個「整數」可表示為2.5×10^2

因為電腦採用二進制,我們把科學記號從10為基底改成2為基底,250可以表示成1.953125×2^7,這就是「浮點數」

如果讓一群小數共用一個指數 (2^7),那就變成「塊狀浮點數」

我們也可以把這個浮點數四捨五入只看指數項,1.953125×2^7可以近似成2^7,這時就是「指數」囉

󠀠

󠀠

▌MicroXcaling (MX)賣點是什麼?

MicroXcaling最像是「塊狀浮點數」,也就是一群數字(element)共用一個縮放因子 (scale)

因為一群element共用一個scale,所以element有機會可以用到很少位元數,而scale則用來保證值域足夠

利用共用,MX既達成了「更低位元數」,又能「保持需要的值域」!

󠀠

而element與縮放因子都是可以調整其格式的,可以配置其整數(M)有幾位元、指數(E)有幾位元

󠀠

目前MX格式有四種:MXFP8、MXFP6、MXFP4、MXINT8

每32個elements共用一個scale,每個scale都是8位元指數,element分別是FP8、FP6、FP4、INT8格式

MXINT8 就很像是8位元的塊狀浮點數

󠀠

▌什麼!GPT-3只要4位元MXFP4就夠了嗎!?

作者們實驗了20多種模型,有興趣歡迎自行查看論文的數據

講重點,在GPT-3上,用4位元的MXFP4來量化AI模型權狀可以達到跟FP32差不多的準確度!

󠀠

󠀠

▌台灣的AI數值系統

蘿蔔身為台灣一份子,知道其實也有許多認真的研究生和工程師在努力研發。

󠀠

相比於大陸的CSDN、知乎,台灣好像沒什麼媒介能幫忙增加研究成果曝光

我們想做點改變,若你知道有相關的研究成果,且認為是「真」的研究成果,歡迎寄信給我們、或是直接留言

寄信格式:列出論文題目、發表位置、10~20字以內的總結

我們的email:lobolab.service@gmail.com

我們會幫忙統整進本文,利用社群力量讓更多人看到辛苦的研究成果!

▌延伸閱讀與資源

[1] https://www.opencompute.org/……/ocp-microscaling……

[2] Microscaling Data Formats for Deep Learning, Arxiv’23 (https://arxiv.org/pdf/2310.10537.pdf)

[3] All-You-Can-Fit 8-Bit Flexible Floating-Point Format for Accurate and Memory-Efficient Inference of Deep Neural Networks, Arxiv’21

[4] Block and Subword-Scaling Floating-Point (BSFP): An Efficient Non-Uniform Quantization For Low Precision Inference, ICLR’23 (https://openreview.net/pdf?id=VWm4o4l3V9e)

[5] https://fpga.org/……/risc-v-composable-extensions……/

[6] https://neuchips.ai/……/article/d4CZj43ut5ZWdiu4/news

You cannot copy content of this page

Scroll to Top