18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

小白必讀:到底什么是FP32、FP16、INT8?

穎脈Imgtec ? 2025-10-20 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

網(wǎng)上關(guān)于算力的文章,如果提到某個芯片或某個智算中心的算力,都會寫:在FP32精度下,英偉達H100的算力大約為 0.9 PFlops。在FP16精度下,某智算中心的算力是 6.7 EFlops。在INT8精度下,驍龍8Gen1的算力是 9 TOPS?!?/span>那么,評估算力的大小,為什么要加上FP32、FP16、INT8這樣的前提?它們到底是什么意思?其實,F(xiàn)P32、FP16、INT8,都是數(shù)字在計算機中存儲的格式類型,是計算機內(nèi)部表示數(shù)字的方式。大家都知道,數(shù)字在計算機里是以二進制(0和1)的形式進行存儲和處理。但是,數(shù)字有大有小、有零有整,如果只是簡單地進行二進制的換算,就會很亂,影響處理效率。dd39d7a2-ad7e-11f0-8ce9-92fbcf53809c.png所以,我們需要一個統(tǒng)一的“格式”,去表達這些數(shù)字。


  • FP32、FP16

我們先來說說最常見的FP32和FP16。FP32和FP16,都是最原始的、由IEEE定義的標(biāo)準(zhǔn)浮點數(shù)類型(Floating Point)。
浮點數(shù),是表示小數(shù)的一種方法。所謂浮點,就是小數(shù)點的位置不固定。與浮點數(shù)相對應(yīng)的,是定點數(shù),即小數(shù)點的位置固定。

dd4a4646-ad7e-11f0-8ce9-92fbcf53809c.jpg

浮點數(shù)先看看FP32。FP32是一種標(biāo)準(zhǔn)的32位浮點數(shù),它由三部分組成:

dd52cd2a-ad7e-11f0-8ce9-92fbcf53809c.png

符號位(Sign):表示數(shù)字的正負,0表示正數(shù),1 表示負數(shù)。

指數(shù)位(Exponent):用于表示數(shù)字的大小范圍(也叫動態(tài)范圍,dynamic range),可以表示從非常小到非常大的數(shù)。

尾數(shù)位(Mantissa):也叫小數(shù)位(fraction),用于表示數(shù)字的精度(precision,相鄰兩個數(shù)值之間的間隔)。

這三個部分的位數(shù),分別是:1、8、23。加起來,剛好是32位。

十進制和FP32之間的轉(zhuǎn)換有一個公式,過程有點復(fù)雜。需要具體了解的,可以看下面的灰字和圖。數(shù)學(xué)不好的童鞋,直接跳過吧:

轉(zhuǎn)換公式:

dd5b2cae-ad7e-11f0-8ce9-92fbcf53809c.png

轉(zhuǎn)換過程示例:

dd68b23e-ad7e-11f0-8ce9-92fbcf53809c.png

下面這個網(wǎng)址,可以直接幫你換算:

https://baseconvert.com/ieee-754-floating-point

dd7305ea-ad7e-11f0-8ce9-92fbcf53809c.png

FP32的表示范圍非常廣泛,大約是±3.4×103?,精度可以達到小數(shù)點后7位左右。

dd7997de-ad7e-11f0-8ce9-92fbcf53809c.png

再看看FP16。

FP16的位數(shù)是FP32的一半,只有16位。三部分的位數(shù),分別是符號位(1位)、指數(shù)位(5位)、尾數(shù)位(10位)。

dd84fdcc-ad7e-11f0-8ce9-92fbcf53809c.pngFP16的表示范圍是±65504(±6.55×10?,精度只能達到小數(shù)點后3位左右。也就是說,1.001和1.0011在FP16下的表示是相同的。
FP16的十進制換算過程如下:dd932258-ad7e-11f0-8ce9-92fbcf53809c.png很顯然,F(xiàn)P32的位數(shù)更長,表達的范圍更大,精度也更高。dd9df840-ad7e-11f0-8ce9-92fbcf53809c.png


FP64、FP8、FP4

除了常見的FP32和FP16之外,還有FP64、FP8、FP4。

圖我就懶得畫了。列個表,方便對比:


dda68776-ad7e-11f0-8ce9-92fbcf53809c.png


大家肯定能看出來,F(xiàn)P64所表示的動態(tài)范圍最大,精度最高。FP4反之。

FP32通常稱為單精度浮點數(shù),F(xiàn)P16被稱為半精度浮點數(shù)。其它的命名,上面表格也有。


FP8有點特別,有E4M3(4位指數(shù)和3位尾數(shù))和E5M2(5位指數(shù)和2位尾數(shù))兩種表示方式。E4M3精度更高,而E5M2范圍更寬。


ddaf59aa-ad7e-11f0-8ce9-92fbcf53809c.png



不同格式的應(yīng)用區(qū)別

好了,問題來了——為什么要搞這么多的格式呢?不同的格式,會帶來什么樣的影響呢?

簡單來說,位數(shù)越多,范圍越大,精度越高。但是,占用內(nèi)存會更多,計算速度也會更慢。

舉個例子,就像圓周率π。π可以是小數(shù)點后無數(shù)位,但一般來說,我們都會取3.14。這樣雖然會損失一點精度,但能夠大幅提升計算的效率。

換言之,所有的格式類型,都是在“精度”和“效率”之間尋找平衡。不同的應(yīng)用場景有不同的需求,采用不同的格式。

FP64的精度最高,在基礎(chǔ)科學(xué)、金融建模、氣候模擬、醫(yī)學(xué)研究、軍事應(yīng)用等領(lǐng)域會用得比較多。這些場景對誤差比較敏感。

FP32是通用計算的“全能選手”,也是早期主要的數(shù)據(jù)類型。它的平衡性更強,精度和速度適中,適合圖形渲染等很多任務(wù)。

FP16也是應(yīng)用非常普遍的一種格式。它非常適合AI領(lǐng)域的應(yīng)用,可以覆蓋大多數(shù)深度學(xué)習(xí)任務(wù)的數(shù)值需求。這幾年,F(xiàn)P16一直是智算場景下性價比最優(yōu)的方案,配合Tensor Core(張量核心)算力利用率超92%。

FP16也很適合圖像渲染。例如,GPU的著色器就大量使用了FP16,用于計算光照(如游戲中的人物陰影)、紋理映射,可以更好地平衡畫面質(zhì)量與幀率。

FP8和FP4是最近幾年才崛起的新興低精度浮點數(shù)格式。FP8于2022年9月由英偉達等多家芯片廠商共同定義。FP4則是2023年10月由某學(xué)術(shù)機構(gòu)定義。

ddba7010-ad7e-11f0-8ce9-92fbcf53809c.png

這幾年全社會關(guān)注算力,主要是因為AI,尤其是AIGC大模型訓(xùn)練推理帶來的需求。FP32和FP16的平衡性更強,占用內(nèi)存比FP64更小,計算效率更高,非常適合這類需求,所以關(guān)注度和出鏡率更高。

舉個例子:如果一個神經(jīng)網(wǎng)絡(luò)有10億(1 billion)個參數(shù),一個FP32格式數(shù)占4字節(jié)數(shù)(32bit÷8=4byte),F(xiàn)P16占2字節(jié)。那么,F(xiàn)P32格式下,占用內(nèi)存(顯存)大約是4000MB(10億×4byte÷1024÷1024)。FP16格式下,則是約2000MB。

更小的內(nèi)存占用,允許模型使用更大的Batch Size(批量樣本數(shù)),提升梯度估計的穩(wěn)定性。運算速度越快,訓(xùn)練周期越短,成本越低,能耗也越低。

那么,這里提一個問題——不同的數(shù)據(jù)類型,有不同的特點。那么,有沒有辦法,可以將不同數(shù)據(jù)類型的優(yōu)點進行結(jié)合呢?

當(dāng)然可以。這里,就要提到兩個重要概念——多精度混合精度

在計算領(lǐng)域,多精度計算與混合精度計算是兩種重要的優(yōu)化策略。

多精度計算,是在應(yīng)用程序或系統(tǒng)的不同場景下,固定選用不同的精度模式,以此匹配計算需求。

混合精度計算,更為巧妙。它在同一操作或步驟中,巧妙動態(tài)融合多種精度級別,進行協(xié)同工作。

例如,在大模型的訓(xùn)練推理任務(wù)中,就可以采用FP16和FP32的混合精度訓(xùn)練推理。FP16,可以用于卷積、全連接等核心計算(減少計算量)。FP32,則可以用于權(quán)重更新、BatchNorm統(tǒng)計量等計算(避免精度損失)。

現(xiàn)在主流的AI計算框架,例如PyTorch、TensorFlow,都支持自動將部分計算(如矩陣乘法)切換至FP16,同時保留FP32主權(quán)重用于梯度更新。

大家需要注意,并不是所有的硬件都支持新的低精度數(shù)據(jù)格式!

像我們的消費級顯卡,F(xiàn)P64就是閹割過的,F(xiàn)P16/FP32性能強,F(xiàn)P64性能弱。

英偉達的A100/H100,支持TF32(注意區(qū)別,不是FP32)、FP64、FP8,專為AI和高性能計算優(yōu)化。

AMD GPU,CDNA架構(gòu)(如MI250X)側(cè)重FP64,RDNA架構(gòu)(如RX 7900XTX)側(cè)重FP32/FP16。

FP8最近幾年熱門,也是源于對計算效率的極致追求。

英偉達GPU從Ada架構(gòu)和Hopper架構(gòu)開始提供了對FP8格式的支持,分別是前面提到的E4M3和E5M2。到了Blackwell架構(gòu),開始支持名為MXFP8的新FP8,其實就是之前的傳統(tǒng)FP8基礎(chǔ)上增加了Block Scaling能力。


TF32、BF16

除了FP64/FP32/FP16/FP8/FP4之外,業(yè)界還推出了一些“改進型”的浮點數(shù)類型。例如剛才提到的TF32(及TF16),還有BF16。

TF32和TF16,是英偉達針對機器學(xué)習(xí)設(shè)計的一種特殊數(shù)值類型,用于替代FP32。TF,是指Tensor Float,張量浮點數(shù)。

TF32的組成:1位符號位,8位指數(shù)位(對齊FP32),10位小數(shù)位(對齊FP16),實際有效位數(shù)為19位。

ddc44b44-ad7e-11f0-8ce9-92fbcf53809c.png

BF16由Google Brain提出,也是用于機器學(xué)習(xí)。BF,是指Brain Float。

BF16的組成:1位符號位,8位指數(shù)位(和FP32一致),7位小數(shù)位(低于FP16),實際有效位數(shù)為16位。

雖然BF16的精度低于FP16(犧牲尾數(shù)精度),但表示范圍和FP32一致(指數(shù)范圍相同),易于與FP32轉(zhuǎn)換,適用于深度學(xué)習(xí)推理。


INT8、INT4

最后,我們再來說說INT8/INT4。

剛才介紹的,都是浮點數(shù)。INT是Integer的縮寫,即整數(shù)類型。什么是整數(shù)?不用我解釋了吧?沒有小數(shù)的,就是整數(shù)(例如1、2、3)。

INT8,是用8位二進制數(shù)表示整數(shù),范圍(有符號數(shù))是-128到127。INT4,是用4位二進制數(shù)來表示整數(shù),范圍(有符號數(shù))是-8到7。

ddd0333c-ad7e-11f0-8ce9-92fbcf53809c.png

INT比FP更簡單,對數(shù)據(jù)進行了“粗暴”的截斷。例如FP32中的0.7,會變成1(若采用四舍五入),或0(若采用向下取整)。

這種方式肯定會引入誤差。但是,對某些任務(wù)(如圖像分類)影響較小。因為輸入數(shù)據(jù)(例如像素值0-255)本身已經(jīng)是離散的,模型輸出的類別概率只需要“足夠接近”即可。

這里,我們就要提到一個重要的概念——量化。

將深度學(xué)習(xí)模型中的權(quán)重和激活值從高精度浮點數(shù)(例如FP32)轉(zhuǎn)換為低精度(INT8)表示的過程,就是“量化”。

量化的主要目的,是為了減少模型的存儲需求和計算復(fù)雜度,同時盡量減少精度損失。

舉個例子,量化就像是把一幅高分辨率的畫變成一幅低分辨率的畫,既要減少體積,也要盡可能降低精度損失。當(dāng)你網(wǎng)速慢的時候,720p視頻也能看。

INT8量化是目前應(yīng)用最廣泛的量化方法之一,行業(yè)關(guān)注度很高。因為它在保持較高精度的同時,大大減少了模型的尺寸和計算需求。大多數(shù)深度學(xué)習(xí)框架和硬件加速器,都支持INT8量化。INT8的走紅,和AI端側(cè)應(yīng)用浪潮也有密切關(guān)系。端側(cè)和邊緣側(cè)的設(shè)備,內(nèi)存更小,算力更弱,顯然更加適合采用INT8這樣的量化數(shù)據(jù)格式(否則可能無法加載)。而且,這類設(shè)備通常是移動設(shè)備,對功耗更加敏感,需要盡量省電。
dddb922c-ad7e-11f0-8ce9-92fbcf53809c.png端側(cè)和邊緣側(cè),主要是進行推理任務(wù)。量化模型在推理時的計算量更少,能夠加快推理速度。大家會注意到,GPU算卡和數(shù)據(jù)中心的算力,通常是FLOPS(每秒浮點運算次數(shù))為單位。而手機終端的算力,通常是TOPS(每秒萬億次操作)為單位,沒有FL。這正是因為手機終端、物聯(lián)網(wǎng)模組以INT8量化數(shù)據(jù)類型(整數(shù)運算)為主。手機里面的NPU,往往還會專門針對INT8進行優(yōu)化。

dde7d3b6-ad7e-11f0-8ce9-92fbcf53809c.png

INT4量化,是一種更為激進的量化方式。但是,在實際應(yīng)用中相對較少見。


因為過低的精度,可能導(dǎo)致模型性能顯著下降。此外,并不是所有的硬件都支持INT4操作,需要考慮硬件的兼容性。


ddf4cb16-ad7e-11f0-8ce9-92fbcf53809c.png

需要特別注意的是,在實際應(yīng)用中,存在量化和反量化過程。

例如,在大模型訓(xùn)練任務(wù)中,會先將神經(jīng)網(wǎng)絡(luò)的參數(shù)(weight)、特征圖(activation)等原本用浮點表示的量值,換成用定點(整型)表示。后面,再將定點數(shù)據(jù)反量化回浮點數(shù)據(jù),得到結(jié)果。

量化包括很多種算法(如權(quán)重量化、激活量化、混合精度量化等),以及量化感知訓(xùn)練(QAT)、訓(xùn)練后量化(PTQ)等類型。具體的過程還是非常復(fù)雜的。限于篇幅,這里就不多介紹了,大家感興趣可以自行檢索。


結(jié)語

好啦,以上就是關(guān)于FP32、FP16、INT8等數(shù)據(jù)格式類型的介紹。

現(xiàn)在整個社會的算力應(yīng)用場景越來越多,不同的場景會用到不同的數(shù)據(jù)類型。這就給廠商們提出了難題——需要讓自家的算卡,盡可能支持更多的數(shù)據(jù)類型。

所以,今年以來,包括國產(chǎn)品牌在內(nèi)的一些算卡廠商,都提出了全場景、全數(shù)據(jù)類型、全功能GPU(NPU)的說法。也就是說,自家的算卡,需要能夠通吃所有的應(yīng)用場景,支持所有的數(shù)據(jù)類型。

未來,隨著AI浪潮的發(fā)展,F(xiàn)P4、INT4甚至二值化(Binary/Temary)的更低精度數(shù)據(jù)類型,會不會更加普及呢?會不會取代FP32/FP16/INT8?

讓我們拭目以待!

參考文獻:

1、《從精度到效率,數(shù)據(jù)類型如何重塑計算世界?》,不完美的代碼,CSDN;

2、《大模型精度:FP32、TF32、FP16、BF16、FP8、FP4、NF4、INT8》,知乎;

3、《現(xiàn)在談?wù)摯竽P蛥?shù),其中的“fp8”是什么意思?》,Edison Chen,知乎;

4、《GPU服務(wù)器計算精度是什么?FP32、FP16和INT8全解析》,熵云智能中心,知乎;

5、《大模型涉及到的精度有多少種?》,一步留神,知乎;

6、百度百科、維基百科、騰訊元寶。


文章來源于鮮棗課堂,作者小棗君

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    462

    文章

    53221

    瀏覽量

    454772
  • 算力
    +關(guān)注

    關(guān)注

    2

    文章

    1331

    瀏覽量

    16451
  • 智算中心
    +關(guān)注

    關(guān)注

    0

    文章

    104

    瀏覽量

    2332
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    FPGA中使用FP16格式的點積運算實例分析

    本文講述的是使用FP16格式的點積運算實例,展示了MLP72支持的數(shù)字類型和乘數(shù)的范圍。
    發(fā)表于 08-15 09:50 ?2594次閱讀
    FPGA中使用<b class='flag-5'>FP16</b>格式的點積運算實例分析

    【算能RADXA微服務(wù)器試用體驗】+ GPT語音與視覺交互:2,圖像識別

    CV186X的FP16 BModel,batch_size=1 │├── yolov8s_int8_1b.bmodel# 使用TPU-MLIR編譯,用于CV186X的INT8 BModel
    發(fā)表于 07-14 23:36

    Optimum Intel / NNCF在重量壓縮中選擇FP16模型的原因?

    無法確定使用 Optimum Intel / NNCF 在重量壓縮中選擇 FP16 模型的原因。
    發(fā)表于 03-06 06:04

    將Whisper大型v3 fp32模型轉(zhuǎn)換為較低精度后,推理時間增加,怎么解決?

    將 openai/whisper-large-v3 FP32 模型轉(zhuǎn)換為 FP16、INT8INT4。 推理所花費的時間比在 FP32
    發(fā)表于 06-24 06:23

    實例!詳解FPGA如何實現(xiàn)FP16格式點積級聯(lián)運算

    ,因此S=a1b1+a2b2+a3b3+...本文講述的是使用FP16格式的點積運算實例,展示了MLP72支持的數(shù)字類型和乘數(shù)的范圍。此設(shè)計實現(xiàn)了同時處理8FP16輸入的點積。該設(shè)計包含四個
    發(fā)表于 08-18 10:58

    詳解天線系統(tǒng)解決方案中的FP16格式點積級聯(lián)運算

    元素的總和相乘而成,因此本文講述的是使用 FP16 格式的點積運算實例,展示了 MLP72 支持的數(shù)字類型和乘數(shù)的范圍。此設(shè)計實現(xiàn)了同時處理 8FP16 輸入的點積。該設(shè)計包含四個 MLP72
    發(fā)表于 09-04 16:12

    Arm Cortex-M系列處理器中m4 dsp如何做到只支持fp32一種數(shù)據(jù)類型

    Arm Cortex-M系列處理器進階選型秘籍中,是不是說如果處理int8 simd,可以做到4-way?m4 dsp只支持fp32一種數(shù)據(jù)類型?
    發(fā)表于 09-07 14:24

    推斷FP32模型格式的速度比CPU上的FP16模型格式快是為什么?

    在 CPU 上推斷出 FP32 模型格式和 FP16 模型格式。 FP32 模型格式的推斷速度比 FP16 模型格式快。 無法確定推斷 FP32
    發(fā)表于 08-15 08:03

    INT8量化常見問題的解決方案

    一、int8的輸出和fp32模型輸出差異比較大 解決方案: 檢查前后處理是否有問題,int8網(wǎng)絡(luò)輸入輸出一般需要做scale處理,看看是否遺漏? 通過量化可視化工具分析int8的輸
    發(fā)表于 09-19 06:09

    BM1684架構(gòu)介紹

    L2cache 2.2 峰值算力 峰值算力: FP32峰值算力 = 64 * 16 * 2(FP32 MAC) * 2 * 0 55G / 1024 = 2.2 TOPS INT8
    發(fā)表于 09-19 08:11

    NVIDIA宣布推出新一代計算平臺“HGX-2”

    除了高性能,HGX-2平臺的最大優(yōu)點是支持多種精度計算,可適應(yīng)不同需求,比如在科學(xué)計算和模擬中,可使用FP64、FP32高精度計算,而在AI訓(xùn)練和推理中,則可使用FP16浮點、Int8
    的頭像 發(fā)表于 06-04 14:09 ?4196次閱讀
    NVIDIA宣布推出新一代計算平臺“HGX-2”

    NVIDIA TensorRT的數(shù)據(jù)格式定義

      數(shù)據(jù)類型是每個單獨值的表示。它的大小決定了取值范圍和表示的精度,分別是FP32(32位浮點,或單精度),FP1616位浮點或半精度),INT32(32位整數(shù)表示),和
    的頭像 發(fā)表于 05-20 14:48 ?2168次閱讀
    NVIDIA TensorRT的數(shù)據(jù)格式定義

    基于算能第四代AI處理器BM1684X的邊緣計算盒子

    英碼IVP03X智能工作站搭載算能全新一代AI處理器BM1684X,八核ARM Cortex-A53,主頻2.3GHz;INT8算力高達32Tops,FP16算力達16 TFLOPS,FP32
    發(fā)表于 08-10 09:46 ?2703次閱讀
    基于算能第四代AI處理器BM1684X的邊緣計算盒子

    NVIDIA GPU架構(gòu)下的FP8訓(xùn)練與推理

    FP8 訓(xùn)練利用 E5M2/E4M3 格式,具備與 FP16 相當(dāng)?shù)膭討B(tài)范圍,適用于反向傳播與前向傳播。
    的頭像 發(fā)表于 04-25 10:01 ?3649次閱讀
    NVIDIA GPU架構(gòu)下的<b class='flag-5'>FP8</b>訓(xùn)練與推理

    計算精度對比:FP64、FP32FP16、TF32、BF16、int8

    本文轉(zhuǎn)自:河北人工智能計算中心在當(dāng)今快速發(fā)展的人工智能領(lǐng)域,算力成為決定模型訓(xùn)練與推理速度的關(guān)鍵因素之一。為了提高計算效率,不同精度的數(shù)據(jù)類型應(yīng)運而生,包括FP64、FP32、FP16、TF32
    的頭像 發(fā)表于 06-26 11:09 ?1600次閱讀
    計算精度對比:<b class='flag-5'>FP</b>64、<b class='flag-5'>FP32</b>、<b class='flag-5'>FP16</b>、TF32、BF<b class='flag-5'>16</b>、<b class='flag-5'>int8</b>