国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arm宣布將會采用Bfloat16數據類型,這種數據類型會成為主流嗎?

倩倩 ? 來源:lq ? 作者:雷鋒網 ? 2019-09-20 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為了提升AI性能,AI芯片公司從多個方面進行優化,包括采用更先進的工藝制程、進行架構創新,數據類型的支持也是其中之一。如今,為了加速機器學習性能,Arm宣布將會采用Bfloat16數據類型,這種數據類型會成為主流嗎?

Arm Holdings宣布其ArmV8-A架構的下一版本將支持bfloat16,這種浮點格式越來越多地用于加速機器學習應用。如今,谷歌、英特爾和少數初創公司的芯片都選擇了支持bfloat16。

Bfloat16,又名16位腦浮點(brain floating point),由Google發明,最初在其第三代Tensor處理單元(TPU)中支持。英特爾認可以將bfloat16整合到其未來的“Cooper Lake”Xeon SP處理器,以及即將推出的“Spring Crest”神經網絡處理器中。Wave Computing、Habana Labs和Flex Logix也采用了定制的AI處理器。

bfloat16的主要思想是提供16位浮點格式,其動態范圍與標準IEEE-FP32相同,但精度較低。相當于指數區和FP32保持了相同的8位,并將FP32分數字段的小數區縮減到到了7位。

根據Arm的ISA架構師和Fellow Nigel Stephens的說法,大多數情況下,用戶在進行神經網絡計算時,bfloat16格式與FP32一樣準確,但是以一半的位數完成任務。因此,與32位相比,采用bfloat16吞吐量可以翻倍,內存需求可以減半。在大多數情況下,blfloat16可以成為這些機器學習算法中FP32的“插入式”替代品。“幸運的是,神經網絡由于其統計性質,只要數據類型具有足夠的范圍和精度,就可以很好地適應少量噪聲,” Stephens告訴我們。

在Arm,附加支持將適用于ArmV8-A下支持的所有浮點指令集,即SVE(可擴展矢量擴展),AArch64 Neon(64位SIMD)和AArch32 Neon(32位SIMD))。附加支持旨在用于基于Arm的終端和服務器的機器學習推理和訓練。雖然Arm服務器的規模仍然很小,但其終端市場規模巨大,這意味著未來的手持式和物聯網設備將很快能夠利用更緊湊的數字格式。

Stephens 8月份撰寫的一篇博客中寫到,將增加四條新指令來支持bfoat16值的乘法運算,這是用于訓練和推理神經網絡的最常用計算。據他介紹,在大多數情況下,應用程序開發人員不會在底層代碼中添加這些指令,因為這些支持很可能由Arm自己的機器學習庫提供。對于那些對細節感興趣的人來說,這四條新指令如下:

BFDOT 是BF16元素的[1×2]×[2×1]點積,累積到SIMD結果中的每個IEEE-FP32元素中。

BFMMLA, 包括兩個有效地 BFDOT 操作,執行BF16元素的[2×4]×[4×2]矩陣乘法,累積到SIMD結果內的每個[2×2]矩陣的IEEE-FP32元素中。

BFMLAL是偶數或奇數BF16元素的簡單乘積,累積到SIMD結果中的每個IEEE-FP32元素中。

BFCVT,將IEEE-FP32元素或標量值轉換為BF16格式。

在SVE中包含對bfloat16的支持特別有趣,因為這些向量指令是專門為高性能計算開發的。截至目前,唯一已知的實現SVE是富士通的A64FX芯片,這款處理器將為即將推出的Post-K超級計算機提供動力,該超級計算機現在名為Fugaku。但這還為時過早,無法獲得bfloat16的好處,但后來的那些,就像為歐洲處理器計劃(EPI)開發的Arm處理器肯定會包含它。

Stephens說,鑒于傳統HPC用戶對機器學習的興趣增加以及他們的高性能系統對訓練大型神經網絡的適應性,在SVE中包含bfloat16似乎是一種自然的補充。他還指出,有一些HPC研究人員正在調查使用新的16位格式來加速傳統科學應用的混合精度計算。

“再次強調,bfloat16的優勢在于它具有與FP32相同的動態范圍,這使得使用FP 32的代碼,在轉換的早期階段使用bfloat16更容易。”他解釋說。

并且由于SVE可以針對不同的向量長度,實現從128位到2048位,理論上bfloat16吞吐量應該相應于128位Neon實現進行擴展。但實際上,Stephens說吞吐量還取決于具體的硬件實現選擇,例如SVE執行單元的數量與給定實現的Neon執行單元的數量。

然而,當轉換為具有較小范圍的數據類型(例如INT8和FP16)時,基于blfoat16的網絡的易部署性與其最終大小和性能之間存在折衷。Stephens表示,使用blfoat16進行推理可能對那些無法承擔額外費用和重新訓練網絡的開發人員來說是有吸引力的,因為只有一種類型可用于訓練和推理,因此可以使用這些較小的類型(可能需要幾個月)。

另外,需要注意的是bfloat16類型沒有標準,因此無法保證相同計算的結果在不同的處理器上完全相同。但正如Stephens所指出的那樣,FP32關于如何對點積進行排序(IEEE保持開放排序),甚至存在可變性。無論如何,四舍五入的噪音幾乎總是可以接受的,因為正如斯蒂芬斯所說,機器學習是一種統計游戲。

Arm對bfloat16的支持,使得GPU(目前廣泛使用的機器學習引擎)包括Nvidia和AMD,成為唯一仍然不提供該格式原生支持的機器學習引擎。但作為現在使用最廣泛的處理器架構,GPU支持bfloat16幾乎是不可避免的,包括英特爾即將推出的X e GPU加速器。IEEE是否曾接受bfloat16并提供了一些標準?這還有待觀察。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4838

    瀏覽量

    107802
  • 機器學習
    +關注

    關注

    66

    文章

    8553

    瀏覽量

    136962
  • AI芯片
    +關注

    關注

    17

    文章

    2128

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PyTorch 中RuntimeError分析

    ? 錯誤原因 這個 RuntimeError 是因為在 PyTorch 中,upsample_nearest2d_out_frame(最近鄰2D上采樣)操作尚未對 BFloat16 數據類型提供
    發表于 03-06 06:02

    基于凌羽派的OpenHarmony北向應用開發:ArkTS語法-數據類型和變量聲明

    可以在程序執行期間具有不同的值。使用TS風格,聲明的時候使用冒號給出數據類型。 let hi: string = \'hello\'; let num: number = 0; 2.2 常量聲明
    發表于 02-26 14:24

    睿遠研究院丨IO-Link規范解讀(十五):數據類型詳解

    前言 本篇對IO-Link規范的附錄F的數據類型做個詳細解釋,附錄定義了 ?基本數據類型 (Basic Data Types) 和? 組合數據類型 (Composite Data Types),并
    的頭像 發表于 01-14 18:25 ?5352次閱讀
    睿遠研究院丨IO-Link規范解讀(十五):<b class='flag-5'>數據類型</b>詳解

    LabVIEW 變體:萬能數據容器的藝術

    的[LabVIEW簡單萬能框架] 就用到了變體,感興趣的寶子們可以去前面翻看。 還有好使的用法,利用變體的屬性能存儲和運算各種數據類型,用幾個甚至1個變體就能存儲整個應用程序的所有數據,方便管理和數據
    發表于 01-05 11:06

    電能質量在線監測裝置支持哪些數據壓縮算法?

    增強。以下是主流算法的詳細支持情況: 一、無損壓縮算法(核心用于關鍵數據) 算法名稱 核心原理 適用數據類型 壓縮比 裝置支持情況 DEFLATE(ZIP 基礎) LZ77 + 哈夫曼編碼結合,先通過 LZ77 查找重復序列,再
    的頭像 發表于 12-12 14:08 ?451次閱讀
    電能質量在線監測裝置支持哪些<b class='flag-5'>數據</b>壓縮算法?

    枚舉類型的講解

    枚舉是一個基本的數據類型,它可以讓數據更簡潔。 如果寫一個判斷星期的文章,我們當然可以使用宏定義來使代碼更加易懂,不過: #define MON 1 #define TUE 2
    發表于 12-08 08:14

    電能質量在線監測裝置支持的數據推送頻率是多少?

    電能質量在線監測裝置的數據推送頻率 可靈活配置 ,根據數據類型(穩態 / 暫態 / 事件)和應用場景(電網關口 / 工業用戶 / 新能源并網)的不同, 覆蓋從毫秒級到小時級的廣泛范圍 ,主流裝置支持
    的頭像 發表于 12-05 15:07 ?408次閱讀
    電能質量在線監測裝置支持的<b class='flag-5'>數據</b>推送頻率是多少?

    數組的初體驗

    程序中也需要容器,只不過該容器有點特殊,它在程序中是一塊連續的,大小固定并且里面的數據類型一致的內存空間,它還有個好聽的名字叫數組。可以將數組理解為大小固定,所放物品為同類的一個購物袋,在該購 物
    發表于 11-25 08:06

    C語言自動類型轉換

    一、自動類型轉換 數據類型存在自動轉換的情況. 自動轉換發生在不同數據類型運算時,在編譯的時候自動完成。 char類型數據轉換為int
    發表于 11-25 08:04

    C語言強制類型轉換

    強制類型轉換是通過定義類型轉換運算來實現的。其一般形式為: (數據類型) (表達式) 其作用是把表達式的運算結果強制轉換成類型說明符所表示的類型
    發表于 11-24 06:32

    內存與數據處理優化藝術

    ,避免了數組索引的額外計算。 選擇合適的數據類型同樣重要。如果一個變量只需要表示0或1,使用最小所需的數據類型就比使用較大的類型更好,因為它占用內存更少,可能提高緩存利用率。 對于浮點運算,在不需要
    發表于 11-14 07:46

    大彩講堂:VisualHMI-LUA教程-獲取和設置16數據函數

    ,返回無符號短整型數據。?vtype:變量類型,生成main.lua,自動定義變量的數據類型?addr:變量地址2.2set_uint16(vtype,addr,v
    的頭像 發表于 10-13 16:40 ?1366次閱讀
    大彩講堂:VisualHMI-LUA教程-獲取和設置<b class='flag-5'>16</b>位<b class='flag-5'>數據</b>函數

    SQL 通用數據類型

    SQL 通用數據類型 數據庫表中的每個列都要求有名稱和數據類型。Each column in a database table is required to have a name and a
    的頭像 發表于 08-18 09:46 ?713次閱讀

    IEC101協議可以傳輸什么類型數據

    IEC101協議作為電力系統遠動通信的核心標準,其核心能力在于支持多種類型數據的傳輸,滿足調度端與場站端(如變電站、發電廠)的實時監控、控制及狀態感知需求。以下從數據類型、傳輸模式及典型應用場景三個
    的頭像 發表于 05-21 11:37 ?1008次閱讀

    詳解Prometheus的數據類型

    對于 Prometheus 生態的監控系統,PromQL 是必備技能,本文著重點講解這個查詢語言,摻雜一些生產實踐場景,希望對你有所幫助。
    的頭像 發表于 05-13 09:50 ?1467次閱讀
    詳解Prometheus的<b class='flag-5'>數據類型</b>