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

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

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

3天內不再提示

讓Attention提速9倍!FlashAttention燃爆顯存,Transformer上下文長度史詩級提升

智能感知與物聯網技術研究所 ? 來源:未知 ? 2023-07-24 16:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FlashAttention新升級!斯坦福博士一人重寫算法,第二代實現了最高9倍速提升。

繼超快且省內存的注意力算法FlashAttention爆火后,升級版的2代來了。FlashAttention-2是一種從頭編寫的算法,可以加快注意力并減少其內存占用,且沒有任何近似值。比起第一代,FlashAttention-2速度提升了2倍。

甚至,相較于PyTorch的標準注意力,其運行速度最高可達9倍。

一年前,StanfordAILab博士Tri Dao發布了FlashAttention,讓注意力快了2到4倍,如今,FlashAttention已經被許多企業和研究室采用,廣泛應用于大多數LLM庫。如今,隨著長文檔查詢、編寫故事等新用例的需要,大語言模型的上下文以前比過去變長了許多——GPT-4的上下文長度是32k,MosaicML的MPT上下文長度是65k,Anthropic的Claude上下文長度是100k。但是,擴大Transformer的上下文長度是一項極大的挑戰,因為作為其核心的注意力層的運行時間和內存要求,是輸入序列長度的二次方。Tri Dao一直在研究FlashAttention-2,它比v1快2倍,比標準的注意力快5到9倍,在A100上已經達到了225 TFLOP/s的訓練速度!

35a61e38-29ff-11ee-a368-dac502259ad0.png

論文鏈接:https://tridao.me/publications/flash2/flash2.pdf

項目鏈接:

https://github.com/Dao-AILab/flash-attention

35c3cc6c-29ff-11ee-a368-dac502259ad0.png ?

FlashAttention-2:更好的算法、并行性和工作分區

端到端訓練GPT模型,速度高達225 TFLOP/s

雖說FlashAttention在發布時就已經比優化的基線快了2-4倍,但還是有相當大的進步空間。比方說,FlashAttention仍然不如優化矩陣乘法(GEMM)運算快,僅能達到理論最大FLOPs/s的25-40%(例如,在A100 GPU上的速度可達124 TFLOPs/s)。

35de6e1e-29ff-11ee-a368-dac502259ad0.png

▲ GEMM如何用于卷積在過去的幾個月里,研究人員一直在開發FlashAttention-2,它的性能指標比第一代更強。研究人員表示,2代相當于完全從頭重寫,使用英偉達的CUTLASS 3.x及其核心庫CuTe。從速度上看,FlashAttention-2比之前的版本快了2倍,在A100 GPU上的速度可達230 TFLOPs/s。當使用端到端來訓練GPT之類的語言模型時,研究人員的訓練速度高達225 TFLOPs/s(模型的FLOP利用率為72%)。

對注意力計算重新排序

我們知道,FlashAttention是一種對注意力計算進行重新排序的算法,利用平鋪、重新計算來顯著加快計算速度,并將序列長度的內存使用量從二次減少到線性。

3657c5d4-29ff-11ee-a368-dac502259ad0.png

研究人員將輸入塊從HBM(GPU內存)加載到SRAM(快速緩存),并對該模塊執行注意,更新HBM中的輸出。由于沒有將大型中間注意力矩陣寫入HBM,內存的讀/寫量也跟著減少,進而帶來了2-4倍的執行時間加速。下圖是FlashAttention的前向傳遞圖:通過平鋪和softmax重新縮放,研究人員人員按模塊進行操作,避免從HBM讀取或是寫入,同時獲得正確輸出,無需近似。369d1f26-29ff-11ee-a368-dac502259ad0.png

然而,FlashAttention仍然存在一些低效率的問題,這是由于不同線程塊之間的工作劃分并不理想,以及GPU上的warp——導致低占用率或不必要的共享內存讀寫。

更少的non-matmulFLOP(非矩陣乘法浮點計算數)

研究人員通過調整FlashAttention的算法來減少non-matmul FLOP的次數。這非常重要,因為現代GPU有專門的計算單元(比如英偉達GPU上的張量核心),這就使得matmul的速度更快。例如,A100 GPU FP16/BF16 matmul的最大理論吞吐量為312 TFLOPs/s,但non-matmul FP32的理論吞吐量僅為 19.5 TFLOPs/s。另外,每個非matmul FLOP比matmul FLOP要貴16倍。所以為了保持高吞吐量,研究人員希望在matmul FLOP上花盡可能多的時間。研究人員還重新編寫了FlashAttention中使用的在線softmax技巧,以減少重新縮放操作的數量,以及邊界檢查和因果掩碼操作,而無需更改輸出。

更好的并行性

FlashAttention v1在批大小和部數量上進行并行化處理。研究人員使用1個線程塊來處理一個注意力頭,共有 (batch_size * head number) 個線程塊。

36cb68b8-29ff-11ee-a368-dac502259ad0.png

▲在前向處理(左圖)中,研究者將Worker(線程塊)并行化,每個Worker負責處理注意力矩陣的一個行塊。在后向處理過程中(右圖),每個Worker處理注意力矩陣的一個列塊

每個線程塊都在流式多處理器 (SM)運行,例如,A100 GPU上有108個這樣的處理器。當這個數字很大(比如 ≥80)時,這種調度是有效的,因為在這種情況下,可以有效地使用GPU上幾乎所有的計算資源。在長序列的情況下(通常意味著更小批或更少的頭),為了更好地利用GPU上的多處理器,研究人員在序列長度的維度上另外進行了并行化,使得該機制獲得了顯著加速。

更好的工作分區

即使在每個線程塊內,研究人員也必須決定如何在不同的warp(線程束)之間劃分工作(一組32個線程一起工作)。研究人員通常在每個線程塊使用4或8個warp,分區方案如下圖所示。研究人員在FlashAttention-2中改進了這種分區,減少了不同warp之間的同步和通信量,從而減少共享內存讀/寫。36fb00e6-29ff-11ee-a368-dac502259ad0.png對于每個塊,FlashAttention將K和V分割到4個warp上,同時保持Q可被所有warp訪問。這稱為「sliced-K」方案。然而,這樣做的效率并不高,因為所有warp都需要將其中間結果寫入共享內存,進行同步,然后再將中間結果相加。而這些共享內存讀/寫會減慢FlashAttention中的前向傳播速度。在FlashAttention-2中,研究人員將Q拆分為4個warp,同時保持所有warp都可以訪問K和V。在每個warp執行矩陣乘法得到Q K^T的一個切片后,它們只需與共享的V切片相乘,即可得到相應的輸出切片。這樣一來,warp之間就不再需要通信。共享內存讀寫的減少就可以提高速度。 3739797a-29ff-11ee-a368-dac502259ad0.png ?新功能:頭的維度高達256,多查詢注意力

FlashAttention僅支持最大128的頭的維度,雖說適用于大多數模型,但還是有一些模型被排除在外。FlashAttention-2現在支持256的頭的維度,這意味著GPT-J、CodeGen、CodeGen2以及Stable Diffusion 1.x等模型都可以使用FlashAttention-2來獲得加速和節省內存。v2還支持多查詢注意力(MQA)以及分組查詢注意力(GQA)。

377ca1d2-29ff-11ee-a368-dac502259ad0.png

GQA為每組查詢頭共享單個key和value的頭,在多頭和多查詢注意之間進行插值

這些都是注意力的變體,其中多個查詢頭會指向key和value的同一個頭,以減少推理過程中KV緩存的大小,并可以顯著提高推理的吞吐量。 379d9464-29ff-11ee-a368-dac502259ad0.png ?

注意力基準

研究人員人員在A100 80GB SXM4 GPU 上測量不同設置(有無因果掩碼、頭的維度是64或128)下不同注意力方法的運行時間。37c79eee-29ff-11ee-a368-dac502259ad0.png研究人員發現FlashAttention-2比第一代快大約2倍(包括在xformers庫和Triton中的其他實現)。與PyTorch中的標準注意力實現相比,FlashAttention-2的速度最高可達其9倍。

37e91a92-29ff-11ee-a368-dac502259ad0.png

▲A100 GPU上的前向+后向速度

只需在H100 GPU上運行相同的實現(不需要使用特殊指令來利用TMA和第四代Tensor Core等新硬件功能),研究人員就可以獲得高達335 TFLOPs/s的速度。

3843bcb8-29ff-11ee-a368-dac502259ad0.png

▲H100 GPU上的前向+后向速度

當用于端到端訓練GPT類模型時,FlashAttention-2能在A100 GPU上實現高達225TFLOPs/s的速度(模型FLOPs利用率為72%)。與已經非常優化的FlashAttention模型相比,端到端的加速進一步提高了1.3倍。3884eab2-29ff-11ee-a368-dac502259ad0.png ?38a7e814-29ff-11ee-a368-dac502259ad0.png ?

未來的工作

速度上快2倍,意味著研究人員可以用與之前訓練8k上下文模型相同的成本,來訓練16k上下文長度的模型。這些模型可以理解長篇書籍和報告、高分辨率圖像、音頻和視頻。同時,FlashAttention-2還將加速現有模型的訓練、微調和推理。在不久的將來,研究人員還計劃擴大合作,使FlashAttention廣泛適用于不同類型的設備(例如H100 GPU、AMD GPU)以及新的數據類型(例如fp8)。下一步,研究人員計劃針對H100 GPU進一步優化FlashAttention-2,以使用新的硬件功能(TMA、第四代Tensor Core、fp8等等)。將FlashAttention-2中的低級優化與高級算法更改(例如局部、擴張、塊稀疏注意力)相結合,可以讓研究人員用更長的上下文來訓練AI模型。研究人員也很高興與編譯器研究人員合作,使這些優化技術更好地應用于編程 38c13b84-29ff-11ee-a368-dac502259ad0.png ?作者介紹

Tri Dao曾在斯坦福大學獲得了計算機博士學位,導師是Christopher Ré和Stefano Ermon。根據主頁介紹,他將從2024年9月開始,任職普林斯頓大學計算機科學助理教授。

Tri Dao的研究興趣在于機器學習和系統,重點關注高效訓練和長期環境:- 高效Transformer訓練和推理 - 遠程記憶的序列模型 - 緊湊型深度學習模型的結構化稀疏性。

值得一提的是,Tri Dao今天正式成為生成式AI初創公司Together AI的首席科學家。

3920ef98-29ff-11ee-a368-dac502259ad0.png

參考資料:https://princeton-nlp.github.io/flash-atttention-2/


原文標題:讓Attention提速9倍!FlashAttention燃爆顯存,Transformer上下文長度史詩級提升

文章出處:【微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。


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

    關注

    2945

    文章

    47820

    瀏覽量

    415101

原文標題:讓Attention提速9倍!FlashAttention燃爆顯存,Transformer上下文長度史詩級提升

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    NVIDIA BlueField-4為推理上下文記憶存儲平臺提供強大支持

    隨著代理式 AI 工作流將上下文窗口擴展到數百萬個 token,并將模型規模擴展到數百萬億個參數,AI 原生企業正面臨著越來越多的擴展挑戰。這些系統目前依賴于智能體長期記憶來存儲跨多輪、工具和會話持續保存的上下文,以便智能體能夠基于先前的推理進行構建,而不是每次請求都從頭
    的頭像 發表于 02-02 10:29 ?1026次閱讀
    NVIDIA BlueField-4為推理<b class='flag-5'>上下文</b>記憶存儲平臺提供強大支持

    Transformer如何自動駕駛大模型獲得思考能力?

    在談及自動駕駛時,Transformer一直是非常關鍵的技術,為何Transformer在自動駕駛行業一直被提及?
    的頭像 發表于 02-01 09:15 ?4175次閱讀

    深入解析NVIDIA Nemotron 3系列開放模型

    這一全新開放模型系列引入了開放的混合 Mamba-Transformer MoE 架構,使多智能體系統能夠進行快速長上下文推理。
    的頭像 發表于 12-24 10:34 ?4057次閱讀
    深入解析NVIDIA Nemotron 3系列開放模型

    大語言模型如何處理上下文窗口中的輸入

    本博客介紹了五個基本概念,闡述了大語言模型如何處理上下文窗口中的輸入。通過明確的例子和實踐中獲得的見解,本文介紹了多個與上下文窗口有關的基本概念,如詞元化、序列長度和注意力等。
    的頭像 發表于 12-03 13:48 ?596次閱讀
    大語言模型如何處理<b class='flag-5'>上下文</b>窗口中的輸入

    執行脫離上下文的威脅分析與風險評估

    作為WITTENSTEIN high integrity system(WHIS)公司的核心產品,SAFERTOS專為安全關鍵型嵌入式系統設計,使其成為確保聯網車輛環境可靠防護的理想選擇。在本文中,我們將討論如何開展SAFERTOS安全分析,結合威脅評估與風險評估(TARA)結果,以及這些實踐方法的具體實施,最終推動SAFERTOS增強型安全模塊的開發。遵循行業標準,該方法為管理風險并保護互聯車輛組件免受不斷演變的威脅提供了一個結構化的框架。
    的頭像 發表于 11-28 09:11 ?472次閱讀
    執行脫離<b class='flag-5'>上下文</b>的威脅分析與風險評估

    請問riscv中斷還需要軟件保存上下文和恢復嗎?

    以下是我拷貝的文檔里的說明,這個中斷處理還需要軟件來寫上下文保存和恢復,在使用ARM核的單片機都不需要考慮這些的,使用過的小伙伴能解答嗎? 3.8. 進出中斷的上下文保存和恢復 RISC-V架構
    發表于 10-20 09:56

    中國科學院自動化研究所與沐曦合作打造類腦脈沖大模型“瞬悉1.0”

    復雜性”的通用智能實現方法。Transformer架構的固有缺點訓練時開銷隨序列長度呈平方增長以及推理時顯存占用也隨序列長度線性增加,構成
    的頭像 發表于 09-10 11:35 ?1139次閱讀

    米爾RK3576部署端側多模態多輪對話,6TOPS算力驅動30億參數LLM

    當 GPT-4o 用毫秒響應處理圖文混合指令、Gemini-1.5-Pro 以百萬 token 上下文 “消化” 長文檔時,行業的目光正從云端算力競賽轉向一個更實際的命題:如何智能 “落地
    發表于 09-05 17:25

    HarmonyOSAI編程智能問答

    多線程? 指定上下文問答 在對話框中輸入@符號,或點擊上方@Add Context按鈕,可指定對單個或多個代碼文件進行分析。點擊圖標開啟光標上下文功能,該功能可識別光標位置和選中的代碼片段,CodeGenie分析指定文件和選
    發表于 09-03 16:17

    【「DeepSeek 核心技術揭秘」閱讀體驗】+看視頻+看書籍+國產開源大模型DeepSeekV3技術詳解--1

    大小的潛在向量 (Latent Vector) c_t 中。同時,為了保證對近期上下文的精確感知,它依然會實時計算當前 token 的 K 和 V。 最終,注意力機制的計算將同時作用于“壓縮的歷史
    發表于 08-23 15:20

    HarmonyOSAI編程編輯區代碼續寫

    利用AI大模型分析并理解開發者在代碼編輯區的上下文信息或自然語言描述信息,智能生成符合上下文的ArkTS或C++代碼片段。 使用約束 建議在編輯區內已有較豐富上下文,能夠使模型對編程場景有一定
    發表于 08-21 15:43

    HarmonyOS AI輔助編程工具(CodeGenie)智能問答

    Context按鈕,可指定對單個或多個代碼文件進行分析。點擊 圖標開啟光標上下文功能,該功能可識別光標位置和選中的代碼片段,CodeGenie分析指定文件和選中的代碼片段。 以上材料主要參考引用HarmonyOS官方文檔。
    發表于 08-15 11:07

    鴻蒙NEXT-API19獲取上下文,在class中和ability中獲取上下文,API遷移示例-解決無法在EntryAbility中無法使用最新版

    摘要:隨著鴻蒙系統API升級至16版本(modelVersion5.1.1),多項API已廢棄。獲取上下文需使用UIContext,具體方法包括:在組件中使用getUIContext(),在類中使
    的頭像 發表于 07-01 10:57 ?784次閱讀
    鴻蒙NEXT-API19獲取<b class='flag-5'>上下文</b>,在class中和ability中獲取<b class='flag-5'>上下文</b>,API遷移示例-解決無法在EntryAbility中無法使用最新版

    Transformer架構中編碼器的工作流程

    編碼器是Transformer體系結構的基本組件。編碼器的主要功能是將輸入標記轉換為上下文表示。與早期獨立處理token的模型不同,Transformer編碼器根據整個序列捕獲每個token的
    的頭像 發表于 06-10 14:27 ?1069次閱讀
    <b class='flag-5'>Transformer</b>架構中編碼器的工作流程

    S32K在AUTOSAR中使用CAT1 ISR,是否需要執行上下文切換?

    如果我們在 AUTOSAR 中使用 CAT1 ISR,是否需要執行上下文切換?另外,是否需要返回指令才能跳回到作系統?您有沒有帶有 CAT1 ISR 的 S32K3x4 微控制器的示例?
    發表于 03-27 07:34