在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

FunASR語音大模型在Arm Neoverse平臺上的優化實踐流程

Arm社區 ? 來源:Arm社區 ? 2024-02-22 13:41 ? 次閱讀

Arm 架構在服務器領域發展勢頭前景看好。目前已有許多頭部云服務提供商和服務器制造商推出了基于 Arm Neoverse 平臺的服務器產品,例如 AWS Graviton、阿里云的倚天 710 系列等。這些廠商提供了完整的軟硬件支持和優化,使得大模型推理在基于 Arm 架構的服務器上運行更加便捷和高效。

Arm 架構的服務器通常具備低功耗的特性,能帶來更優異的能效比。相比于傳統的 x86 架構服務器,Arm 服務器在相同功耗下能夠提供更高的性能。這對于大模型推理任務來說尤為重要,因為大模型通常需要大量的計算資源,而能效比高的 Arm 架構服務器可以提供更好的性能和效率。

Armv9 新特性提高大模型推理的計算效率

Armv9 架構引入了 SVE2 (Scalable Vector Extension,可擴展向量延伸指令集)。SVE2 是一種可擴展的向量處理技術,它允許處理器同時執行多個數據元素的操作,可以提供更高效的向量計算和人工智能 (AI) 硬件加速,從而加快了 AI 任務的執行速度,提高了能效和性能。這對于在 Arm 架構的服務器上進行大規模 AI 推理和訓練任務非常有益,不論是實現更好的用戶體驗或是更高的計算效率。

SVE2 對 AI 推理引擎的支持有效地使用了 BFloat16 (BF16) 格式,BF16 是一種浮點數格式,它使用 16 位表示浮點數,其中 8 位用于指數部分,7 位用于尾數部分,還有 1 位用于符號位。相比于傳統的 32 位浮點數格式(如 FP32),BF16 在表示范圍和精度上有所減少,但仍然能夠滿足大多數 AI 推理任務的需求。

a998db7a-d13c-11ee-a297-92fbcf53809c.jpg

圖 1:BFloat16 格式

BF16 格式可以在減少存儲和帶寬需求之余,同時提供足夠的精度,來滿足大多數 AI 推理任務的要求。由于 SVE2 提供了針對 BF16 的向量指令,可以在同一條指令中同時處理多個 BF16 數據元素,從而提高計算效率。理論上來說,采用 BF16 可以實現雙倍的 FP32 的性能。

SVE2 的矩陣運算在 AI 推理中扮演著重要的角色,它可以顯著提高計算效率和性能。比如矩陣乘法 (Matrix Multiplication) 是許多 AI 任務中常見的運算,如卷積運算和全連接層的計算。SVE2 的向量指令可以同時處理多個數據元素,使得矩陣乘法的計算能夠以向量化的方式進行,從而提高計算效率。指令 FMMLA 可以實現 FP32 格式下兩個 2x2 矩陣乘法運算,指令 BFMMLA 可以通過單指令實現 BF16 格式下 4x2 矩陣和 2x4 矩陣的乘法,UMMLA、SMMLA 等可以實現 INT8 格式下 8x2 矩陣和 2x8 矩陣的矩陣乘法運算。通過 SVE2 的硬件加速功能,AI 推理可以在 Arm 架構中獲得更高效的矩陣運算執行,提高計算效率和性能。

a9abce92-d13c-11ee-a297-92fbcf53809c.png

圖 2:矩陣乘指令

ACL 實現 PyTorch 的計算加速

PyTorch 可以支持 Arm 架構的硬件加速資源,但需要安裝適用于 Arm 架構的 PyTorch 版本,或者是從開源源代碼編譯支持 Arm 架構硬件加速的 PyTorch 版本。Arm Compute Library (ACL, Arm 計算庫) 實現了 Arm 架構的硬件加速資源的優化封裝,通過 OneDNN 來使 PyTorch 對 Arm 優化加速調用。下面介紹如何生成帶 ACL 加速的 PyTorch 版本。

a9c5afd8-d13c-11ee-a297-92fbcf53809c.png

圖 3:Arm Neoverse 平臺 AI/ML 軟件組合

ACL 是開源軟件,下載后編譯并設定相應的系統路徑。

鏈接:https://github.com/arm-software/ComputeLibrary

# git clone https://github.com/ARM-software/ComputeLibrary.git

# scons arch=armv8.6-a-sve debug=0 neon=1 os=linux opencl=0 build=native -j 32 Werror=false

validation_tests=0 multi_isa=1 openmp=1 cppthreads=0 fixed_format_kernels=1

# export ACL_ROOT_DIR=/path_to_ACL/ComputeLibrary

開源軟件 OpenBLAS 也實現了部分 Neon 的加速,PyTorch 同樣也要依賴 OpenBLAS,下載相應源代碼編譯和安裝。

鏈接:https://github.com/OpenMathLib/OpenBLAS

# git clone https://github.com/OpenMathLib/OpenBLAS.git

# cmake & make & make install

獲取開源的 PyTorch 代碼,下載相應的依賴開源軟件,指定使能 ACL 的方法進行編譯,獲取 PyTorch 的安裝包并更新。

# git clone https://github.com/pytorch/pytorch

# git submodule update --init –recursive

# MAX_JOBS=32 PYTORCH_BUILD_VERSION=2.1.0 PYTORCH_BUILD_NUMBER=1 OpenBLAS_HOME=/opt/openblas

BLAS="OpenBLAS" CXX_FLAGS="-O3 -mcpu=neoverse-n2 -march=armv8.4-a" USE_OPENMP=1 USE_LAPACK=1 USE_CUDA=0

USE_FBGEMM=0 USE_DISTRIBUTED=0 USE_MKLDNN=1 USE_MKLDNN_ACL=1 python setup.py bdist_wheel

# pip install --force-reinstall dist/torch-2.x.x-cp310-cp310-linux_aarch64.whl

配置了運行環境,就可以利用 Arm 架構的硬件加速資源來加速 PyTorch 的計算。盡管 PyTorch 可以在 Arm 架構上利用硬件加速資源,但針對具體模型和應用場景,需要對模型和代碼進行一些調整以最大程度地發揮硬件的加速優勢。

基于 FunASR 的優化實踐

FunASR 是阿里巴巴達摩院開發的開源的基于 Paraformer 的大模型語音識別模型,提供包括語音識別 (ASR)、語音端點檢測 (VAD)、標點恢復、語言模型、說話人驗證、說話人分離和多人對話語音識別等在內的多種功能。本文以 FunASR 在 Arm Neoverse 平臺上優化的過程做為大模型的優化實踐案例。

倉庫地址:https://github.com/alibaba-damo-academy/FunASR

a9d9164a-d13c-11ee-a297-92fbcf53809c.png

圖 4:FunASR

本次優化是基于 ACL v23.08、oneDNN v3.3、PyTorch v2.1 進行,測試平臺基于阿里云的 ECS 公有云,包括 C8Y、C8I、C7 等云實例。

為了確保 PyTorch 已經啟動 ACL 進行加速,可以加上 “DNNL_VERBOSE=1” 來查看運行的日志輸出。

# OMP_NUM_THREADS=16 DNNL_VERBOSE=1 python runtimes.py

a9fdfca8-d13c-11ee-a297-92fbcf53809c.png

圖 5:使能 ACL 的 PyTorch 運行日志

得到如上的輸出結果,可以看到已經啟用了 ACL。

為了使優化有明確的目標,在運行大模型時,用 PyTorch 的 profiler 做整個模型的數據統計,即在調用大模型之前加上統計操作,為了減少單次運行的統計誤差,可以在多次運行之后做統計并輸出統計結果,如下面的示例:

aa1c9a14-d13c-11ee-a297-92fbcf53809c.jpg

默認運行是用 FP32 的格式,如果需要指定 BF16 的格式運行,需要加上 “ONEDNN_DEFAULT_FPMATH_MODE=BF16” 的參數

# OMP_NUM_THREADS=16 ONEDNN_DEFAULT_FPMATH_MODE=BF16 python profile.py

得到 profile 的統計數據:

aa27300a-d13c-11ee-a297-92fbcf53809c.png

圖 6:統計分析日志

分析運行的結果,找出需要優化的算子,在這個示例中,mkldnn_convolution 運行的時間顯著較長。

aa481f86-d13c-11ee-a297-92fbcf53809c.jpg

圖 7:優化前統計分析

通過分析定位,發現在 OMP 的操作中,數據并沒有按照多處理器進行并行數據處理,修復問題后,再次測試,發現 Convolution 的效率大大提升。

aa6a77d4-d13c-11ee-a297-92fbcf53809c.jpg

圖 8:卷積優化后統計分析

在 Arm 架構處理器中,SVE2 可以對 INT8 進行并行數據處理,比如單指令周期可以做到 16 個 INT8 的乘累加操作,對 INT8 的執行效率非常高,在對模型執行效率有更高要求的場景下,可以用 INT8 來動態量化模型,進一步提高效率。當然,也可以把 INT8 和 BF16 相結合,模型用 INT8 量化,中間計算用 BF16 格式,相較其他平臺,有 1.5 倍的效率提升。

aa81fd5a-d13c-11ee-a297-92fbcf53809c.png

圖 9:動態量化優化

aa9b7398-d13c-11ee-a297-92fbcf53809c.png

圖 10:優化結果對比

綜上,通過充分利用 Armv9 架構中的 SVE2 指令、BF16 數據類型等特性,并引入動態量化等技術,能夠實現以 FunASR 為例的大模型在 Arm Neoverse 平臺的服務器上高效率運行。





審核編輯:劉清

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

    關注

    68

    文章

    19286

    瀏覽量

    229817
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9094

    瀏覽量

    367541
  • 語音識別
    +關注

    關注

    38

    文章

    1739

    瀏覽量

    112656
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13225

原文標題:FunASR 語音大模型在 Arm Neoverse 平臺上的優化實踐

文章出處:【微信號:Arm社區,微信公眾號:Arm社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    利用Arm Kleidi技術實現PyTorch優化

    Neoverse 平臺上的 PyTorch 推理表現。Kleidi 技術可以通過 Arm Compute Library (ACL) 和 KleidiAI 庫獲取。
    的頭像 發表于 12-23 09:19 ?133次閱讀
    利用<b class='flag-5'>Arm</b> Kleidi技術實現PyTorch<b class='flag-5'>優化</b>

    Arm Neoverse如何加速實現AI數據中心

    快速演進的云計算和人工智能 (AI) 時代,企業需要能助力其優化性能、降低成本并在市場競爭中保持領先的方法。Arm Neoverse 已成為眾多前沿企業的選擇,他們希望
    的頭像 發表于 11-26 09:30 ?333次閱讀

    【實操文檔】智能硬件的大模型語音交互流程中接入RAG知識庫

    本帖最后由 jf_40317719 于 2024-9-29 17:13 編輯 智能硬件的語音交互接入大模型后可以直接理解自然語言內容,但大模型作為一個語言模型,對專業領域知識
    發表于 09-29 17:12

    深度學習算法嵌入式平臺上的部署

    隨著人工智能技術的飛速發展,深度學習算法各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰性的任務。本文將從嵌入式平臺的特點、深度學習算法的優化
    的頭像 發表于 07-15 10:03 ?1396次閱讀

    ARM進軍汽車芯片市場,推出Neoverse設計

    近日,全球知名的移動芯片設計公司ARM宣布邁出重大步伐,正式推出專為汽車領域設計的芯片——Neoverse。這一創新不僅展示了ARM芯片設計領域的領先地位,也為汽車行業帶來了前所未有
    的頭像 發表于 05-20 10:46 ?684次閱讀

    ArmArm Neoverse計算子系統(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Arm宣布了兩款新的Arm Neoverse計算子系統(CSS),它們基于“迄今為止最好的一代Neoverse技術”。是什么讓這些新產品
    的頭像 發表于 04-24 17:53 ?1071次閱讀
    <b class='flag-5'>Arm</b>新<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b>計算子系統(CSS):<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b> CSS V3和<b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b> CSS N3

    高通支持Meta Llama 3大語言模型驍龍旗艦平臺上實現終端側執行

    高通和Meta合作優化Meta Llama 3大語言模型,支持未來的驍龍旗艦平臺上實現終端側執行。
    的頭像 發表于 04-20 09:13 ?512次閱讀

    Google Cloud推出基于Arm Neoverse V2定制Google Axion處理器

    Arm Neoverse 平臺已成為云服務提供商優化其從芯片到軟件全棧的心儀之選。近日,Google Cloud 推出了基于 Arm
    的頭像 發表于 04-16 14:30 ?654次閱讀

    Arm Neoverse CSS V3 助力云計算實現 TCO 優化的機密計算

    Arm 基礎設施事業部高級產品經理 Mohit Taneja Arm 基礎設施事業部產品總監 Saptarshi Mondal ? 實現高性能定制芯片 ? Arm Neoverse
    發表于 03-26 16:37 ?370次閱讀
    <b class='flag-5'>Arm</b> <b class='flag-5'>Neoverse</b> CSS V3 助力云計算實現 TCO <b class='flag-5'>優化</b>的機密計算

    Neoverse CSS V3助力云計算實現TCO優化的機密計算

    Arm Neoverse 旨在為從云到邊緣的全場景基礎設施用例提供高性能和出色能效。針對需要更高性能的工作負載和用例,Arm 推出了 Neoverse V 系列。
    的頭像 發表于 03-14 12:13 ?531次閱讀
    <b class='flag-5'>Neoverse</b> CSS V3助力云計算實現TCO<b class='flag-5'>優化</b>的機密計算

    Arm發布Neoverse V3和N3 CPU內核

    計算市場持續迎來變革的背景下,Arm公司發布了其最新一代Neoverse CPU內核設計,分別為Neoverse V3(代號Poseidon)和N3(代號Hermes),兩款內核將為
    的頭像 發表于 02-27 09:27 ?973次閱讀
    <b class='flag-5'>Arm</b>發布<b class='flag-5'>Neoverse</b> V3和N3 CPU內核

    Arm架構與Neoverse技術基礎設施領域的應用與發展

    ArmNeoverse系列已有穩定的立足點。例如,英偉達的超級芯片Grace-Hopper就是由兩片獨立的芯片組成,其中 Hopper負責處理所有AI任務,如張量運算,Grace則扮演 CPU角色,利用I/O與內存管理功能與常規云世界相連。
    的頭像 發表于 02-22 15:36 ?584次閱讀

    Arm發布新一代Neoverse數據中心計算平臺,AI負載性能顯著提升

    據公開信息顯示,Arm去年推出的Neoverse CSS運算子系統提供了包含處理器設計的預驗證平臺,加快了定制SoC上市進程,首發型號為Neoverse CSS N2。
    的頭像 發表于 02-22 14:48 ?712次閱讀

    Arm 更新 Neoverse 產品路線圖,實現基于 Arm 平臺的人工智能基礎設施

    新聞重點: Arm 宣布推出兩款基于全新第三代 Neoverse IP 構建的新的 Arm Neoverse 計算子系統 Arm
    發表于 02-22 11:41 ?383次閱讀

    智原與Arm合作提供基于Arm Neoverse CSS的設計服務

    Arm解決方案上的卓越設計實力以及對制造端資源的承諾。智原將充分發揮Arm Neoverse計算子系統(CSS)的優勢,致力于提供卓越性能和創新的先進云端、高效能運算(HPC)和人工
    的頭像 發表于 01-10 16:29 ?745次閱讀
    主站蜘蛛池模板: 一级做a爱片特黄在线观看免费看| 在线天堂中文官网| 性欧美成人免费观看视| 激情深爱| 久久久久久久久女黄| 国产热视频| 精品综合久久88色鬼首页| 日本黄色网址视频| 禁漫画羞羞动漫入口| 久久综合精品视频| 久久国产午夜精品理论片34页| 黄网站在线观看| 久久久噜噜噜久久久| 狠狠干在线观看| 亚洲黄色激情网| www.四虎在线| 丁香婷婷啪啪| 日本老师xxxxxxxxx79| 天天夜夜骑| 狠狠色噜噜狠狠狠狠98| 黄 色 免费网 站 成 人| 精品国产理论在线观看不卡| 一级黄色片欧美| 成人女人a毛片在线看| 91亚洲国产成人久久精品网站| 三级视频中文字幕| 色视频免费在线| 69国产| 国产成人91青青草原精品| 国产女人小便视频| 青草视频网站在线观看| 免费在线黄色网址| 网址色| 天天干天天草| 亚洲高清免费| 天天在线综合网| 一级女性黄 色生活片| 第四色男人天堂| 视频三区| 岛国中文字幕| 清冷双性被cao的合不拢腿|