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

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

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

3天內不再提示

利用Arm Kleidi技術實現PyTorch優化

Arm社區 ? 來源:Arm社區 ? 2024-12-23 09:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:Arm 基礎設施事業部高級產品經理 Ashok Bhat

PyTorch 是一個廣泛應用的開源機器學習 (ML) 庫。近年來,Arm 與合作伙伴通力協作,持續改進 PyTorch 的推理性能。本文將詳細介紹如何利用 Arm Kleidi 技術提升 Arm Neoverse 平臺上的 PyTorch 推理表現。Kleidi 技術可以通過 Arm Compute Library (ACL) 和 KleidiAI 庫獲取。

PyTorch 提供兩種主要的執行模式:即時執行模式 (Eager Mode) 和圖模式 (Graph Mode)。即時執行模式是一種動態執行模式,操作會以 Python 代碼編寫的方式立即執行,該模式非常適用于實驗與調試。而圖模式則是在執行前將一系列 PyTorch 操作編譯成靜態計算圖,從而實現性能優化和高效的硬件加速。通過使用 torch.compile 函數,可以方便地將 PyTorch 代碼轉換為圖模式,通常能夠顯著提升執行速度。

PyTorch 即時執行模式

CPU 推理性能提升高達三倍

PyTorch 即時執行模式使用 oneDNN,針對具有 ACL 內核的 Arm Neoverse 處理器進行了優化。可以通過以下的 PyTorch 軟件棧圖進行了解。

b5a46902-bead-11ef-9310-92fbcf53809c.jpg

圖 1:PyTorch 軟件棧

PyTorch 中的 FX Graph 是用于可視化和優化 PyTorch 模型的一種中間表示形式。

ATen 是支撐 PyTorch 框架的基礎張量庫。它提供了核心張量類別和大量數學運算,構成了 PyTorch 模型的基本組件。

oneDNN 是一個性能庫,為包括 Arm 和 x86 在內的各種硬件架構提供常見深度學習原語的優化實現方案。在這些架構上,ATen 使用 oneDNN 作為性能增強后端。這意味著當 PyTorch 遇到支持的操作時,會將計算委托給 oneDNN,后者可以使用針對特定硬件的優化來提高執行效率。

Arm Compute Library 于 2016 年首次發布,提供針對 Arm 進行優化的關鍵 ML 原語,包括卷積、池化、激活函數、全連接層、歸一化。這些原語利用 Arm Neoverse 核心上針對特定 ML 和特定硬件的功能和指令來實現高性能。我們已將 Arm Compute Library 集成到 oneDNN 中,以便在 Arm 平臺上加速 ATen 操作。

Arm Neoverse CPU 包含有助于加速 ML 的硬件擴展,其中包括 Neon、SVE/SVE2、BF16 和 I8MM,通過有效地進行向量處理、BF16 運算和矩陣乘法來加速 ML 任務。

b6220aa6-bead-11ef-9310-92fbcf53809c.jpg

圖 2:各種模型在即時執行模式下實現的性能提升

PyTorch 圖模式(使用 torch.compile)

比 PyTorch 即時執行模式進一步提高兩倍

PyTorch 2.0 引入了 torch.compile,與默認的即時執行模式相比,可提高 PyTorch 代碼的速度。與即時執行模式不同,torch.compile 將整個模型預編譯成針對特定硬件平臺優化的單圖。從 PyTorch 2.3.1 開始,官方 AArch64 安裝包均包含 torch.compile 優化。在基于亞馬遜科技 (AWS) Graviton3 的 Amazon EC2 實例上,對于各種自然語言處理 (NLP)、計算機視覺 (CV) 和推薦模型,這些優化可以為 TorchBench 模型推理帶來比即時執行模式高出兩倍的性能。

b63c4b14-bead-11ef-9310-92fbcf53809c.jpg

圖 3:各種模型在編譯模式下實現的性能提升

下一步通過 KleidiAI 庫

提升生成式 AI 推理性能

目前,我們已經研究了 Arm Compute Library 如何在即時執行模式和編譯模式下提升 PyTorch 推理性能。接下來,我們來看 PyTorch 即將推出什么新功能。Arm 目前正在努力提升 PyTorch 中的大語言模型 (LLM) 推理性能,并以 Llama 和 Gemma 為主要 LLM 示例。

經優化的 INT4 內核

今年早些時候,Arm 軟件團隊和合作伙伴共同優化了 llama.cpp 中的 INT4 和 INT8 內核,以利用更新的 DOT 和 MLA 指令。在 AWS Graviton3 處理器上,這些內核在即時評估方面比現有 GEMM MMLA 內核提升了 2.5 倍,并且在文本生成方面比默認的 vec_dot 內核提升了兩倍。這些經優化的新內核也是 Arm KleidAI 庫的一部分。

今年早些發布的 KleidiAI 庫是一個開源庫,具有針對 Arm CPU 上的 AI 任務進行優化的微內核。對于微內核,可將它視為能夠提升特定 ML 操作性能的軟件。開發者可以通過包含相關的 .c 和 .h 文件及公共頭文件來使用這些微內核。無需包含庫的其余部分。

Kleidi 與 PyTorch 的集成

b65c141c-bead-11ef-9310-92fbcf53809c.jpg

圖 4:Kleidi 技術與 PyTorch 的集成

我們引入了兩種新的 ATen 操作:torch.ops.aten._kai_weights_pack_int4() 和 torch.ops.aten._kai_input_quant_mm_int4(),兩者均使用 KleidiAI 庫中高度優化的打包技術和 GEMM 內核。gpt-fast 利用這些 PyTorch 算子來 (1) 使用對稱的每通道量化將權重量化為 INT4,并添加包含量化尺度的額外數組;(2) 動態量化激活矩陣并使用 AArch64 I8MM 擴展來執行激活矩陣和權重的 INT8 矩陣乘法。

b674764c-bead-11ef-9310-92fbcf53809c.jpg

圖 5:通過在 PyTorch 中集成 KleidiAI

來提升 4 位量化 LLM 模型性能

通過這種方法,與目前默認的 PyTorch 實現方案相比,我們可以將 Llama 的推理性能提高 18 倍,將 Gemma 的推理性能提高 14 倍。

結論

Arm 及其合作伙伴利用 Arm Compute Library 中的 Kleidi 技術提高了 Arm Neoverse 平臺上的 PyTorch 推理性能。在即時執行模式下可實現高達兩倍的性能提升,在圖模式下(使用 torch.compile)可再提升兩倍。此外,我們還在努力將生成式 AI 模型(Llama 和 Gemma)的推理性能提升高達 18 倍。

Arm 通過部署 Kleidi 技術來實現PyTorch 上的優化,以加速在基于 Arm 架構的處理器上運行 LLM 的性能。Arm 技術專家在基于 Neoverse V2 的 AWS Graviton4 R8g.4xlarge EC2 實例上運行 Llama 3.1 展示了所實現的性能提升。如果你對這一演示感興趣,可閱讀《Arm KleidiAI 助力提升 PyTorch 上 LLM 推理性能》了解。

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

    關注

    134

    文章

    9340

    瀏覽量

    376152
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11063

    瀏覽量

    216479
  • 機器學習
    +關注

    關注

    66

    文章

    8499

    瀏覽量

    134330
  • pytorch
    +關注

    關注

    2

    文章

    809

    瀏覽量

    13868
  • Neoverse
    +關注

    關注

    0

    文章

    12

    瀏覽量

    4775

原文標題:如何在 Arm Neoverse 平臺上使用 Kleidi 技術加速 PyTorch 推理?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Arm KleidiAI助力提升PyTorch上LLM推理性能

    熱門的深度學習框架尤為突出,許多企業均會選擇其作為開發 AI 應用的庫。通過部署 Arm Kleidi 技術Arm 正在努力優化
    的頭像 發表于 12-03 17:05 ?1442次閱讀
    <b class='flag-5'>Arm</b> KleidiAI助力提升<b class='flag-5'>PyTorch</b>上LLM推理性能

    ARM程序設計優化策略與技術

    程序優化是指軟件編程結束后,利用軟件開發工具對程序進行調整和改進,讓程序充分利用資源, 提高運行效率, 縮減代碼尺寸的過程。按照優化的側重點不同, 程序
    發表于 07-07 11:06

    Pytorch模型訓練實用PDF教程【中文】

    ?模型部分?還是優化器?只有這樣不斷的通過可視化診斷你的模型,不斷的對癥下藥,才能訓練出一個較滿意的模型。本教程內容及結構:本教程內容主要為在 PyTorch 中訓練一個模型所可能涉及到的方法及函數,并且
    發表于 12-21 09:18

    在Ubuntu 18.04 for Arm上運行的TensorFlow和PyTorch的Docker映像

    ,并做出優化實現盡可能高的性能。我們希望這些 Docker 鏡像和創建它們的方法對希望在 AArch64 上使用 TensorFlow 和 PyTorch 的人有所幫助。包括什么?構建
    發表于 10-14 14:25

    解讀最佳實踐:倚天 710 ARM 芯片的 Python+AI 算力優化

    編者按: 在剛剛結束的 PyCon China 2022 大會上,龍蜥社區開發者朱宏林分享了主題為《ARM 芯片的 Python+AI 算力優化》的技術演講。本次演講,作者將向大家介紹他們在倚天
    發表于 12-23 16:02

    ARM編譯器優化版本1.0

    ARM編譯器armcc可以優化您的代碼以實現小代碼和高性能。 本教程介紹了編譯器執行的主要優化技術,并解釋了如何控制編譯器
    發表于 08-28 07:11

    基于ARM的EPA通信協議棧優化技術的研究與實現

    本文敘述基于ARM的EPA通信協議棧優化技術的研究與實現的案例分析。
    發表于 10-13 16:48 ?32次下載
    基于<b class='flag-5'>ARM</b>的EPA通信協議棧<b class='flag-5'>優化</b><b class='flag-5'>技術</b>的研究與<b class='flag-5'>實現</b>

    Pytorch實現MNIST手寫數字識別

    Pytorch 實現MNIST手寫數字識別
    發表于 06-16 14:47 ?7次下載

    PyTorch教程12.1之優化和深度學習

    電子發燒友網站提供《PyTorch教程12.1之優化和深度學習.pdf》資料免費下載
    發表于 06-05 15:08 ?0次下載
    <b class='flag-5'>PyTorch</b>教程12.1之<b class='flag-5'>優化</b>和深度學習

    PyTorch教程19.1之什么是超參數優化

    電子發燒友網站提供《PyTorch教程19.1之什么是超參數優化.pdf》資料免費下載
    發表于 06-05 10:25 ?0次下載
    <b class='flag-5'>PyTorch</b>教程19.1之什么是超參數<b class='flag-5'>優化</b>

    PyTorch教程19.2之超參數優化API

    電子發燒友網站提供《PyTorch教程19.2之超參數優化API.pdf》資料免費下載
    發表于 06-05 10:27 ?0次下載
    <b class='flag-5'>PyTorch</b>教程19.2之超參數<b class='flag-5'>優化</b>API

    PyTorch教程19.4之多保真超參數優化

    電子發燒友網站提供《PyTorch教程19.4之多保真超參數優化.pdf》資料免費下載
    發表于 06-05 10:45 ?0次下載
    <b class='flag-5'>PyTorch</b>教程19.4之多保真超參數<b class='flag-5'>優化</b>

    2.0優化PyTorch推理與AWS引力子處理器

    2.0優化PyTorch推理與AWS引力子處理器
    的頭像 發表于 08-31 14:27 ?891次閱讀
    2.0<b class='flag-5'>優化</b><b class='flag-5'>PyTorch</b>推理與AWS引力子處理器

    Arm推出AI優化Arm終端CSS以及新的Arm Kleidi軟件

    Arm 終端計算子系統 (CSS) 作為新的計算解決方案,結合了 Armv9 架構的優勢,以及基于三納米工藝節點,經過驗證和證實為生產就緒的新 Arm CPU 和 GPU 實現,可賦能芯片合作伙伴快速創新,
    的頭像 發表于 05-30 11:33 ?1132次閱讀
    <b class='flag-5'>Arm</b>推出AI<b class='flag-5'>優化</b>的<b class='flag-5'>Arm</b>終端CSS以及新的<b class='flag-5'>Arm</b> <b class='flag-5'>Kleidi</b>軟件

    Arm Kleidi擴展到汽車市場 Arm Kleidi實現性能自動優化

    Arm 控股有限公司(納斯達克股票代碼:ARM,以下簡稱“Arm”)近日宣布將 Arm Kleidi
    的頭像 發表于 03-14 15:36 ?986次閱讀
    主站蜘蛛池模板: 国产无遮挡床戏视频免费 | 在线免费看黄视频 | 免费大片黄日本在线观看 | 国产三级黄色录像 | 很黄很黄叫声床戏免费视频 | 免费的色视频 | 欧美日本俄罗斯一级毛片 | 五月天婷婷爱 | 欧美在线视 | 婷婷综合久久中文字幕 | 久久天天干 | 最新国产你懂的在线网址 | 午夜欧美精品久久久久久久久 | 人人免费人人专区 | 欧美日韩免费大片 | 久久精品国产精品亚洲红杏 | 最新色站 | 欧美性xxxxbbbb | 国产激烈床戏无遮挡在线观看 | 国产色啪午夜免费视频 | 5月丁香6月婷婷 | 美女网站视频色 | 在线网站你懂得 | 色五月在线视频 | 中文字幕成人乱码在线电影 | 夜色福利久久久久久777777 | 日本免费人成黄页网观看视频 | 欧美日韩一区二区三区视频 | 五月天婷婷在线观看 | 日本高清色视频www 日本高清色视频在线观看免费 | 亚洲综合色丁香婷婷六月图片 | 手机看片福利久久 | 一本大道高清在线视频 视频 | 首页 亚洲 欧美 制服 丝腿 | 五月天婷婷导航 | 日本不卡一 | 国产色网址 | 国产大片91精品免费观看不卡 | 欧美色图一区 | 在线五月婷婷 | 成人看的一级毛片 |