搜尋
首頁科技週邊人工智慧OpenAI程式語言加速Bert推理12倍,引擎備受關注

一行程式碼的威力到底有多大?今天我們要介紹的這個 Kernl 函式庫,使用者只需一行程式碼,在 GPU 上就能以快幾倍的速度運行 Pytorch transformer 模型,從而極大的加快了模型的推理速度。

具體而言,有了 Kernl 的加持,Bert 的推理速度比 Hugging Face 基準快了 12 倍。這項成果主要得益於 Kernl 以新的 OpenAI 程式語言 Triton 和 TorchDynamo 編寫了客製化的 GPU 核心。計畫作者來自 Lefebvre Sarrut。

OpenAI程式語言加速Bert推理12倍,引擎備受關注

GitHub 網址:https://github.com/ELS-RD/kernl/

以下是Kernl 與其他推理引擎的比較,橫座標中括號裡的數字分別表示batch size、序列長度,縱座標為推理加速情況。

OpenAI程式語言加速Bert推理12倍,引擎備受關注

基準測試在 3090 RTX GPU 運行,以及 12 核心 Intel CPU。

由上述結果可得,在長序列輸入這一塊,Kernl 可以說是最快的推理引擎(上圖中的右半部),在短輸入序列上接近英偉達的TensorRT(上圖的左半部)。除此之外,Kernl 內核程式碼非常簡短,易於理解和修改。該專案甚至添加了 Triton 偵錯器和工具 (基於 Fx) 來簡化核心替換,因此不需要修改 PyTorch 模型原始程式碼。

專案作者Michaël Benesty 對這項研究進行了總結,他們發布的Kernl 是一個用於加速transformer 推理的庫,速度非常快,有時會到達SOTA 性能,可破解以匹配大多數transformer 架構。

他們也在 T5 上做了測試,速度提高 6 倍,Benesty 表示這只是個開始。

為什麼要建立 Kernl?

在 Lefebvre Sarrut,專案作者在生產中運行幾個 transformers 模型,其中一些對延遲敏感,主要是搜尋和 recsys。他們也正在使用 OnnxRuntime 和 TensorRT,甚至創建了 transformer-deploy OSS 庫來與社區分享知識。

最近,作者在測試生成語言,並努力加速它們。然而事實證明,使用傳統工具要做到這些非常困難。在他們看來,Onnx 是另一種有趣的格式,它是一種針對機器學習所設計的開放式檔案格式,用於儲存訓練好的模型,具有廣泛的硬體支援。

但是,當他們處理新的LLM 架構時,Onnx 生態系統(主要是推理引擎)有以下幾個限制:

  • 沒有控制流的模型匯出到Onnx 很簡單,這是因為可以依賴追蹤。但動態行為更難取得;
  • 與PyTorch 不同,ONNX Runtime/TensorRT 還沒有原生支援實作張量並行的多GPU 任務;
  • TensorRT 無法為具有相同設定檔的transformer 模型管理2 個動態軸。但由於通常希望能夠提供不同長度的輸入,因此需要每個批次大小構建1 個模型;
  • #非常大的模型很常見,但Onnx(作為protobuff 檔案)在文件大小方面有一些限制,需要將權重儲存在模型之外來解決問題。

一個非常煩人的事實是新模型永遠不會被加速,你需要等著其他人來為此編寫自訂 CUDA 核心。現有解決方案並不是不好,OnnxRuntime 的一大優點是它的多硬體支持,TensorRT 則以非常快速著稱。

所以,專案作者想要在 Python/PyTorch 上有像 TensorRT 一樣快速的最佳化器,這也是他們創建 Kernl 的原因。

如何做到?

記憶體頻寬通常是深度學習的瓶頸,為了加速推理,減少記憶體存取往往是一個很好的策略。在短輸入序列上,瓶頸通常與 CPU 開銷有關,它必須被消除。專案作者主要利用了以下3 項技術:

首先是OpenAI Triton,它是一種編寫CUDA 等GPU 核心的語言,不要將它與Nvidia Triton 推理伺服器混淆,它的效率更高。幾個操作的融合實現了改進,使得他們不在 GPU 記憶體中保留中間結果的情況下連結計算。作者使用它重寫注意力(由 Flash Attention 取代)、線性層和激活以及 Layernorm/Rmsnorm。

其次是 CUDA 圖。在預熱(warmup)步驟中,它將保存每個啟動的核心及它們的參數。然後,專案作者重建了整個推理過程。

最後是 TorchDynamo,這個由 Meta 提出的原型機幫助專案作者應對動態行為。在預熱步驟中,它會追蹤模型並提供一個 Fx 圖(靜態計算圖)。他們使用自己的核心替換了 Fx 圖的一些操作,並在 Python 中重新編譯。

未來,專案路線圖將涵蓋更快的預熱、ragged 推理(padding 中沒有損失計算)、訓練支援(長序列支援)、多GPU 支援(多並行化模式)、量化(PTQ)、新batch 的Cutlass 核心測試以及提升硬體支援等。

更多詳細內容請參閱原始項目。

以上是OpenAI程式語言加速Bert推理12倍,引擎備受關注的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
外推指南外推指南Apr 15, 2025 am 11:38 AM

介紹 假設有一個農民每天在幾週內觀察農作物的進展。他研究了增長率,並開始思考他的植物在幾週內可以生長的高度。從Th

軟AI的興起及其對當今企業的意義軟AI的興起及其對當今企業的意義Apr 15, 2025 am 11:36 AM

軟AI(被定義為AI系統,旨在使用近似推理,模式識別和靈活的決策執行特定的狹窄任務 - 試圖通過擁抱歧義來模仿類似人類的思維。 但是這對業務意味著什麼

為AI前沿的不斷發展的安全框架為AI前沿的不斷發展的安全框架Apr 15, 2025 am 11:34 AM

答案很明確 - 只是雲計算需要向雲本地安全工具轉變,AI需要專門為AI獨特需求而設計的新型安全解決方案。 雲計算和安全課程的興起 在

生成AI的3種方法放大了企業家:當心平均值!生成AI的3種方法放大了企業家:當心平均值!Apr 15, 2025 am 11:33 AM

企業家,並使用AI和Generative AI來改善其業務。同時,重要的是要記住生成的AI,就像所有技術一樣,都是一個放大器 - 使得偉大和平庸,更糟。嚴格的2024研究O

Andrew Ng的新簡短課程Andrew Ng的新簡短課程Apr 15, 2025 am 11:32 AM

解鎖嵌入模型的力量:深入研究安德魯·NG的新課程 想像一個未來,機器可以完全準確地理解和回答您的問題。 這不是科幻小說;多虧了AI的進步,它已成為R

大語言模型(LLM)中的幻覺是不可避免的嗎?大語言模型(LLM)中的幻覺是不可避免的嗎?Apr 15, 2025 am 11:31 AM

大型語言模型(LLM)和不可避免的幻覺問題 您可能使用了諸如Chatgpt,Claude和Gemini之類的AI模型。 這些都是大型語言模型(LLM)的示例,在大規模文本數據集上訓練的功能強大的AI系統

60%的問題 -  AI搜索如何消耗您的流量60%的問題 - AI搜索如何消耗您的流量Apr 15, 2025 am 11:28 AM

最近的研究表明,根據行業和搜索類型,AI概述可能導致有機交通下降15-64%。這種根本性的變化導致營銷人員重新考慮其在數字可見性方面的整個策略。 新的

麻省理工學院媒體實驗室將人類蓬勃發展成為AI R&D的核心麻省理工學院媒體實驗室將人類蓬勃發展成為AI R&D的核心Apr 15, 2025 am 11:26 AM

埃隆大學(Elon University)想像的數字未來中心的最新報告對近300名全球技術專家進行了調查。由此產生的報告“ 2035年成為人類”,得出的結論是,大多數人擔心AI系統加深的採用

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。