日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

PyTorch 親自出手,少量代碼讓大模型推理提速10倍!

來源: 責編: 時間:2023-12-11 17:19:07 249觀看
導讀PyTorch團隊讓大模型推理速度加快了10倍。且只用了不到1000行的純原生PyTorch代碼!項目名為GPT-fast,加速效果觀感是這樣嬸兒的:通暢,屬實通暢!重點是,團隊直接放出了代碼以及詳細“教程”。還是簡筆畫版的那種,特別好理解。

PyTorch團隊讓大模型推理速度加快了10倍。5uO28資訊網——每日最新資訊28at.com

且只用了不到1000行的純原生PyTorch代碼!5uO28資訊網——每日最新資訊28at.com

項目名為GPT-fast,加速效果觀感是這樣嬸兒的:5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

通暢,屬實通暢!5uO28資訊網——每日最新資訊28at.com

重點是,團隊直接放出了代碼以及詳細“教程”。還是簡筆畫版的那種,特別好理解。5uO28資訊網——每日最新資訊28at.com

開發團隊成員@Horace He表示:5uO28資訊網——每日最新資訊28at.com

我們不把它看作是庫或者框架,更希望大家能把它當成個例子,根據自己的需求“復制粘貼”。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

網友直接炸開鍋,英偉達AI科學家Jim Fan評價道:5uO28資訊網——每日最新資訊28at.com

這是自Andrej Karpathy發布的minGPT以來最棒的教程式repo之一!5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

開源世界需要更多minGPT、GPT-Fast這樣的項目!5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

那么GPT-fast究竟是如何給大模型提速的?5uO28資訊網——每日最新資訊28at.com

開盒大模型“加速包”

總的來說,用到這幾種方法:5uO28資訊網——每日最新資訊28at.com

  • Torch.compile:一個專門為PyTorch模型設計的編譯器,可以提升模型運行效率。
  • GPU量化:通過減少計算的精度來加速模型的運算速度。
  • 推測性解碼:使用一個較小的模型來預測較大模型的輸出,以此加快大語言模型的運算。
  • 張量并行性:通過在多個硬件設備上分布模型的運算來加速處理速度。

下面我們來一一展開。5uO28資訊網——每日最新資訊28at.com

開發團隊一開始使用簡單的PyTorch來實現,但效果不佳(25.5 tok/s):5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

他們查看跟蹤后發現,一個原因是推理性能由于CPU過多占用而受限。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

那么如何解決呢?5uO28資訊網——每日最新資訊28at.com

可以想象這樣一個場景,GPU是一個龐大的工廠(擁有大量可用的算力),而CPU則是一個小推車,來回為工廠“供貨”。5uO28資訊網——每日最新資訊28at.com

在很多情況下,CPU無法足夠快地“喂”GPU。5uO28資訊網——每日最新資訊28at.com

因此,開發團隊建議給GPU更多的工作量,或者說一次性給它更大“塊”的任務來處理。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

在推理過程中要做到這一點,可以引入torch.compile。5uO28資訊網——每日最新資訊28at.com

torch.compile能夠捕獲模型中更大的區域,并將其編譯成單一的編譯區域。特別是當以“reduce-overhead”模式運行時,它非常有效地減少了CPU的開銷。5uO28資訊網——每日最新資訊28at.com

效果立竿見影,性能直接提升了4倍,從25 tok/s提高到107 tok/s:5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

接下來,開發團隊想進一步提升速度,但遇到了內存帶寬瓶頸。5uO28資訊網——每日最新資訊28at.com

開發團隊計算了模型的帶寬利用率,結果已經達到了72%:5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

也就是說進一步提高速度的空間可能有限。5uO28資訊網——每日最新資訊28at.com

重新審視上面的方程式,團隊發現雖然實際上不能改變模型參數量,也不能改變GPU的內存帶寬(至少在不花更多錢的情況下),但可以改變存儲每個參數所用的字節數。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

這意味著,雖然無法改變模型的大小或者升級硬件來提高性能,但可以通過減少存儲模型參數所需的數據量來提高效率。5uO28資訊網——每日最新資訊28at.com

通常可以通過量化技術來實現,即減少表示每個參數所需的位數。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

由此,開發團隊引入了下一個技術——int8量化。5uO28資訊網——每日最新資訊28at.com

采用int8權重量化減少了內存負載,進一步提升了性能(157.4 tok/s):5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

使用量化后還有一個問題:要生成100個token,必須加載(或調用)模型權重100次。頻繁加載模型權重也會導致效率低下。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

乍一看,好像沒有什么解決的法子,因為在自回歸生成模式中存在著嚴格的序列依賴關系。5uO28資訊網——每日最新資訊28at.com

但開發團隊指出,通過利用推測性解碼可以打破這種嚴格的序列依賴關系。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

再來打個比方,想象有一個資深工程師Verity,他在技術決策上總是正確,但編寫代碼的速度相對較慢。5uO28資訊網——每日最新資訊28at.com

同時,還有一個初級工程師Drake,和Verity相反,不擅長技術決策,但編寫代碼的速度更快、成本也更低。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

那么如何利用不同人的優勢來提高整體效率?5uO28資訊網——每日最新資訊28at.com

方法很簡單,先讓Drake編寫代碼,并在此過程中做出技術決策。接下來,將代碼交給Verity進行審查,不對的地方就讓Drake重做。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

在Transformer模型推理中,大型的驗證模型即為Verity角色,Drake則是一個更小的、能更快生成文本的草稿模型。5uO28資訊網——每日最新資訊28at.com

開發團隊使用草稿模型生成8個token,然后使用驗證模型并行處理,丟棄不匹配的部分。5uO28資訊網——每日最新資訊28at.com

由此一來,打破了串行依賴,再次提高速度。5uO28資訊網——每日最新資訊28at.com

值得一提的是,推測性解碼不會改變輸出的質量。只要使用草稿模型生成token+驗證這些token所需的時間少于單獨生成這些token所需的時間,這種方法就是有效的。5uO28資訊網——每日最新資訊28at.com

而且使用原生PyTorch實現這種技術實際上非常簡單,整個實現過程只需要大約50行原生PyTorch代碼。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

由于AMD也支持Triton和torch.compile后端,因此之前在Nvidia GPU上應用的所有優化也可以在AMD GPU上重新應用。5uO28資訊網——每日最新資訊28at.com

開發團隊觀察到int8量化的加速從22 tok/s達到102 tok/s:5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

之后開發團隊又用了int4量化,進一步提升速度,但模型準確性有所下降。5uO28資訊網——每日最新資訊28at.com

因此使用了分組量化和GPTQ降低權重大小。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

最后在保證準確性的前提下,速度提升至202.1 tok/s:5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

將以上技術結合使用,達到更高速度244.7 tok/s:5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

到目前為止,研發團隊一直都是在單個GPU上提速。但其實很多情況下是可以使用多個GPU的。5uO28資訊網——每日最新資訊28at.com

而使用多個GPU可以增加內存帶寬,從而提高模型的整體性能。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

在選擇并行處理策略時,需要在多個設備上分割一個token的處理過程,所以需要使用張量并行性。5uO28資訊網——每日最新資訊28at.com

而PyTorch也提供了用于張量并行性的底層工具,可以與torch.compile結合使用。5uO28資訊網——每日最新資訊28at.com

開發團隊還透露也正在開發用于表達張量并行性的更高級別的API。5uO28資訊網——每日最新資訊28at.com

然而,即使沒有更高級別的API,添加張量并行性也很容易,150行代碼即可實現,且不需要對模型進行任何改變。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

之前提到的所有優化都可以與張量并行性相結合。將這些優化結合起來,能夠以55 tokens/s的速度為Llama-70B提供int8量化。5uO28資訊網——每日最新資訊28at.com

5uO28資訊網——每日最新資訊28at.com

最后總結成果,忽略量化,僅用766行代碼(model.py 244行代碼,generate.py 371行代碼,tp.py 151行代碼),就實現了快速推理、推測性解碼和張量并行性。5uO28資訊網——每日最新資訊28at.com

對于Llama-7B,使用compile+int4量化+推測性解碼速度達到241 tok/s。對于Llama-70B,通過加入張量并行性,達到80 tok/s。5uO28資訊網——每日最新資訊28at.com

這些性能都接近或超越了當前SOTA。5uO28資訊網——每日最新資訊28at.com

參考鏈接:5uO28資訊網——每日最新資訊28at.com

[1]https://pytorch.org/blog/accelerating-generative-ai-2/?utm_cnotallow=273712248&utm_medium=social&utm_source=twitter&hss_channel=tw-7765855026067210245uO28資訊網——每日最新資訊28at.com

[2]https://twitter.com/DrJimFan/status/17302989473764436985uO28資訊網——每日最新資訊28at.com

[3]https://twitter.com/cHHillee/status/17302933302135318445uO28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-42214-0.htmlPyTorch 親自出手,少量代碼讓大模型推理提速10倍!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python裝飾器演化過程

下一篇: Python進階指南,面向對象編程

標簽:
  • 熱門焦點
  • 一加Ace2 Pro真機揭曉 鈦空灰配色質感拉滿

    終于,在經過了幾波預熱之后,一加Ace2 Pro的外觀真機圖在網上出現了。還是博主數碼閑聊站曝光的,這次的外觀設計還是延續了一加11的方案,只是細節上有了調整,例如新加入了鈦空灰
  • 六大權益!華為8月服務日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務日也式開啟,到店可享六大專屬權益。華為用戶可在華為商城Ap
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • 三分鐘白話RocketMQ系列—— 如何發送消息

    我們知道RocketMQ主要分為消息 生產、存儲(消息堆積)、消費 三大塊領域。那接下來,我們白話一下,RocketMQ是如何發送消息的,揭秘消息生產全過程。注意,如果白話中不小心提到相關代
  • 年輕人的“職場羞恥感”,無處不在

    作者:馮曉亭 陶 淘 李 欣 張 琳 馬舒葉來源:燃次元“人在職場,應該選擇什么樣的著裝?”近日,在網絡上,一個與著裝相關的帖子引發關注,在該帖子里,一位在高級寫字樓亞洲金
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • 回歸OPPO兩年,一加贏了銷量,輸了品牌

    成為OPPO旗下主打性能的先鋒品牌后,一加屢創佳績。今年618期間,一加手機全渠道銷量同比增長362%,憑借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
  • OPPO K11搭載長壽版100W超級閃充:26分鐘充滿100%

    據此前官方宣布,OPPO將于7月25日也就是今天下午14:30舉辦新品發布會,屆時全新的OPPO K11將正式與大家見面,將主打旗艦影像,和同檔位競品相比,其最大的賣
  • Meta盲目擴張致超萬人被裁,重金押注元宇宙而前景未明

    圖片來源:圖蟲創意日前,Meta創始人兼CEO 馬克·扎克伯發布公開信,宣布Meta計劃裁員超11000人,占其員工總數13%。他公開承認了自己的預判失誤:“不僅
Top 主站蜘蛛池模板: 浮梁县| 临城县| 沙田区| 古田县| 德令哈市| 万全县| 乐清市| 东乌珠穆沁旗| 秦皇岛市| 宁蒗| 郯城县| 海门市| 荣昌县| 鞍山市| 老河口市| 明星| 陈巴尔虎旗| 平南县| 荔波县| 廊坊市| 景德镇市| 宝兴县| 阿拉尔市| 丰台区| 崇礼县| 湛江市| 凤庆县| 肃北| 渭源县| 青铜峡市| 商洛市| 武定县| 嘉兴市| 平乐县| 德清县| 大足县| 新宾| 依安县| 黑水县| 托克逊县| 兴隆县|