首頁 科技週邊 人工智慧 淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA

淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA

Sep 19, 2023 pm 07:05 PM
工程 megatron-llama 愛橙科技 淘天集團

9 月12 日,淘天集團聯合愛橙科技正式對外開源大模型訓練框架-Megatron-LLaMA,旨在讓技術開發者們能夠更方便的提升大語言模型訓練性能,降低訓練成本,並且保持和LLaMA 社區的兼容性。測試顯示,在32 卡訓練上,相較於HuggingFace 上直接獲得的程式碼版本,Megatron-LLaMA 能夠取得176% 的加速;在大規模的訓練上,Megatron-LLaMA 相比較32 卡擁有幾乎線性的擴展性,而且對網路不穩定表現出高容忍度。目前 Megatron-LLaMA 已在開源社群上線。

開源位址:https://github.com/alibaba/Megatron-LLaMA

#
大語言模型的卓越表現一次又一次地超越了人們的想像。過去幾個月,LLaMA 及 LLaMA2 向開源社群的全面放開,使想訓練一個自己的大語言模型的人們多了一種很好的選擇。在開源社群中,已有非常多的基於LLaMA 產出的模型,包括進行續訓/ SFT(如Alpaca、Vicuna、WizardLM、Platypus、StableBegula、Orca、OpenBuddy、Linly、Ziya 等)和從零開始訓練( Baichuan、QWen、InternLM、OpenLLaMA)的工作。這些工作不僅在目前各種大模型能力客觀評測榜單上表現卓越,同時展現了在長文本理解、長文本生成、代碼編寫、數學求解等實用場景的優秀性能。更進一步,業界出現了許多有趣的產品,例如 LLaMA 結合 Whisper 的語音聊天機器人、LLaMA 結合 Stable Diffusion 的繪畫軟體、醫學 / 法律領域的輔助諮詢機器人等。

儘管從HuggingFace 上可以拿到LLaMA 的模型代碼,但用自己的數據訓一個LLaMA 模型對個人用戶或中小型組織並不是一件低成本且簡單的工作。大模型的體積和資料的規模,使得在普通的計算資源上無法完成有效的訓練,算力和成本成為嚴重的瓶頸。 Megatron-LM 社群的使用者在這方面的訴求非常急迫。 淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA
淘天集團和愛橙科技在大模型應用上有著非常廣泛應用場景,在大模型的高效訓練上進行了非常多的投入。 LLaMA 的問世,在數據處理、模型設計、微調及強化學習反饋調整等方面都給予了包括淘天集團和愛橙科技在內的許多公司非常多的啟示,也助力業務應用場景取得了新的突破。因此,為了回饋整個LLaMA 開源社群、促進中文預訓練大模型開源社群的發展,讓開發者們能夠更方便地提升大語言模型的訓練性能,降低訓練成本,淘天集團聯合愛橙科技將部分內部優化技術開源,發表Megatron-LLaMA,期望與每位合作夥伴共建Megatron 及LLaMA 生態。

Megatron-LLaMA 提供了一套標準的Megatron-LM 實現的LLaMA,並提供了與HuggingFace 格式自由切換的工具,方便與社區生態工具相容。 Megatron-LLaMA 重新設計了Megatron-LM 的反向流程,使得無論在節點數較少需要開較大梯度聚合(Gradient Accumulation, GA)、或是節點數較多必須使用小GA 的場景,都能夠取得卓越的訓練表現。

  • 在32 卡訓練上,相較於HuggingFace 上直接獲得的程式碼版本,Megatron-LLaMA 能夠取得176% 的加速;即使是採用DeepSpeed 及FlashAttention 優化過的版本,Megatron-LLaMA 仍能減少至少19% 的訓練時間。
  • 在大規模的訓練上,Megatron-LLaMA 相比較 32 卡擁有著幾乎線性的擴展性。例如使用 512 張 A100 復現 LLaMA-13B 的訓練,Megatron-LLaMA 的反向機制相對於原生 Megatron-LM 的 DistributedOptimizer 能夠節約至少兩天的時間,且沒有任何精確度損失。
  • Megatron-LLaMA 對網路不穩定表現出高容忍度。即使是現在性價比較高的4x200Gbps 通訊頻寬的8xA100-80GB 訓練集群(這種環境通常是混部環境,網路只能使用一半的頻寬,網路頻寬是嚴重的瓶頸,但租用價格相對低廉)上, Megatron-LLaMA 仍能取得0.85 的線性擴展能力,然而在這個指標上Megatron-LM 僅能達到不足0.7。

                                   Megatron-LM 技術中設計的高績效模式基礎上#LLaMA 社區開源上
    ##L#L#L#L#L#L#L#L#11.中一項重要工作。 LLaMA 在 LLM 的結構中引入了 BPE 字元編碼、RoPE 位置編碼、SwiGLU 激活函數、RMSNorm 正則化以及 Untied Embedding 等優化技術,在許多客觀和主觀評測中取得了卓越的效果。 LLaMA 提供了 7B、13B、30B、65B/70B 的版本,適用於各類大模型需求的場景,也受到廣大開發者的青睞。同諸多開源大模型一樣,由於官方只提供了推理版的程式碼,如何以最低成本進行高效訓練,並沒有一個標準的範式。
    Megatron-LM 是一種優雅的高效能訓練解決方案。Megatron-LM 中提供了张量并行(Tensor Parallel,TP,把大乘法分配到多张卡并行计算)、流水线并行(Pipeline Parallel,PP,把模型不同层分配到不同卡处理)、序列并行(Sequence Parallel, SP,序列的不同部分由不同卡处理,节约显存)、DistributedOptimizer 优化(类似 DeepSpeed Zero Stage-2,切分梯度和优化器参数至所有计算节点)等技术,能够显著减少显存占用并提升 GPU 利用率。Megatron-LM 运营着一个活跃的开源社区,持续有新的优化技术、功能设计合并进框架中。

    然而,基于 Megatron-LM 进行开发并不简单,在昂贵的多卡机上调试及功能性验证更是十分昂贵的。Megatron-LLaMA 首先提供了一套基于 Megatron-LM 框架实现的 LLaMA 训练代码,支持各种规模的模型版本,并且可以很简单地适配支持 LLaMA 的各类变种,包括对 HuggingFace 格式的 Tokenizer 的直接支持。于是,Megatron-LLaMA 可以很便捷地应用在已有的离线训练链路中,无需进行过多的适配。在中小规模训练 / 微调 LLaMA-7b 和 LLaMA-13b 的场景,Megatron-LLaMA 能够轻松达到业界领先的 54% 及以上的硬件利用率(MFU)。

                                          Megatron-LLaMA 的反向流程优化 淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA                   图示:DeepSpeed ZeRO Stage-2 

    DeepSpeed ZeRO 是微软推出的一套分布式训练框架,其中提出的技术对很多后来的框架都有非常深远的影响。DeepSpeed ZeRO Stage-2(后文简称 ZeRO-2)是该框架中一项节约显存占用且不增加额外计算量和通信量的技术。如上图所示,由于计算需要,每个 Rank 都需要拥有全部的参数。但对于优化器状态而言,每个 Rank 只负责其中的一部分即可,不必所有 Rank 同时执行完全重复的操作。于是 ZeRO-2 提出将优化器状态均匀地切分在每个 Rank 上(注意,这里并不需要保证每个变量被均分或完整保留在某个 Rank 上),每个 Rank 在训练进程中只负责对应部分的优化器状态和模型参数的更新。在这种设定下,梯度也可以按此方式进行切分。默认情况下,ZeRO-2 在反向时在所有 Rank 间使用 Reduce 方式聚合梯度,而后每个 Rank 只需要保留自身所负责的参数的部分,既消除了冗余的重复计算,又降低了显存占用。

                                             Megatron-LM DistributedOptimizer 淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA原生 Megatron-LM 通过 DistributedOptimizer 实现了类似 ZeRO-2 的梯度和优化器状态切分,以减少训练中的显存占用。如上图所示,DistributedOptimizer 在每次获得预设的梯度聚合过的所有梯度后,通过 ReduceScatter 算子,将之前累积的全部梯度分发到不同的 Rank。每个 Rank 只获得自己需要处理的部分梯度,而后进行优化器状态的更新和对应参数的更新。最后各个 Rank 通过 AllGather 的方式从其他节点上获取更新过的参数,最终取得全部的参数。实际训练的结果显示,Megatron-LM 的梯度和参数通信与其他计算串行进行,对于大规模预训练任务,为了保证总批数据大小不变,通常无法开启较大的 GA。于是通信占比会伴随机器增加上升,这时候串行通信的特点导致扩展性很弱。在社区内,这方面的需求也很迫切。 淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA           
                                     Megatron-LLaMA OverlappedDistributedOptimizer 

    为了解决这一问题,Megatron-LLaMA 改进了原生 Megatron-LM 的 DistributedOptimizer,使其梯度通信的算子能够可以和计算相并行。特别的,相比于 ZeRO 的实现,Megatron-LLaMA 在并行的前提下,通过巧妙的优化优化器分区策略,使用了更具有具有扩展性的集合通信方式来提升扩展性。OverlappedDistributedOptimizer 的主要設計保證瞭如下幾點:a) 單一集合通訊算子資料量足夠大,充分利用通訊頻寬;b) 新切分方式所需通訊資料量應等於資料並行所需的最小通訊資料量; c) 完整參數或梯度與切分後的參數或梯度的轉換過程中,無法引入過多顯存拷貝。 淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA
    具體而言,Megatron-LLaMA 改進了 DistributedOptimizer 的機制,提出了 OverlappedDistributedOptimizer,用於結合新的切分方式優化訓練中的反向流程。如上圖所示,在 OverlappedDistributedOptimizer 初始化時,會預先給所有參數指派其所屬的 Bucket。 Bucket 中的參數是完整的,一個參數只屬於一個 Bucket,一個 Bucket 中可能有多個參數。邏輯上,每個 Bucket 將會被連續等分成 P(P 為資料並行組的數量)等份,資料並行組中的每個 Rank 負責其中的一份。

    Bucket 被放置在一個本機佇列(Local grad bucket queue)中,從而確保通訊順序。在訓練計算的同時,資料並行組間以 Bucket 為單位,透過集合通訊交換各自所需的梯度。 Megatron-LLaMA 中 Bucket 的實作盡可能採用了位址索引,只在有需要值變更時才新分配空間,避免了顯存浪費。

    上述的設計,再結合大量的工程優化,使得在大規模訓練時,Megatron-LLaMA 可以很充分地使用硬件,實現了比原生Megatron-LM更好的加速。從32張A100卡擴展到512張A100卡的訓練,Megatron-LLaMA在常用混部的網路環境中仍能取得0.85的擴展比。

                                               Megatron-中最佳的未來計畫上#3) 未來計畫中提供愛#3/Hega-Tegas#Luno#SMega 的未來計畫#Vegacis 的未來計畫#3 月維護支援的訓練框架,在內部已有廣泛的應用。隨著越來越多的開發者湧入 LLaMA 的開源社群並貢獻可以相互借鑒的經驗,相信未來在訓練框架層面會有更多的挑戰和機會。 Megatron-LLaMA 將會緊密關注社群的發展,並與廣大開發者共同推進以下方向:

    自適應最優配置選擇
  • 更多模型結構或局部設計改變的支援
  • 在更多不同類別硬體環境下的極致效能訓練解決方案
  • 專案位址:https://github.com/alibaba/ Megatron-LLaMA
  • #

以上是淘天集團與愛橙科技合作發表開源大型模型訓練架構Megatron-LLaMA的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1677
14
CakePHP 教程
1431
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
ControlNet作者又出爆款!一張圖生成繪畫全過程,兩天狂攬1.4k Star ControlNet作者又出爆款!一張圖生成繪畫全過程,兩天狂攬1.4k Star Jul 17, 2024 am 01:56 AM

同樣是圖生視頻,PaintsUndo走出了不一樣的路線。 ControlNet作者LvminZhang又開始整活了!這次瞄準繪畫領域。新項目PaintsUndo剛上線不久,就收穫1.4kstar(還在瘋狂漲)。項目地址:https://github.com/lllyasviel/Paints-UNDO透過這個項目,用戶輸入一張靜態圖像,PaintsUndo就能自動幫你生成整個繪畫的全過程視頻,從線稿到成品都有跡可循。繪製過程,線條變化多端甚是神奇,最終視頻結果和原始圖像非常相似:我們再來看一個完整的繪

arXiv論文可以發「彈幕」了,史丹佛alphaXiv討論平台上線,LeCun按讚 arXiv論文可以發「彈幕」了,史丹佛alphaXiv討論平台上線,LeCun按讚 Aug 01, 2024 pm 05:18 PM

乾杯!當論文討論細緻到詞句,是什麼體驗?最近,史丹佛大學的學生針對arXiv論文創建了一個開放討論論壇——alphaXiv,可以直接在任何arXiv論文之上發布問題和評論。網站連結:https://alphaxiv.org/其實不需要專門訪問這個網站,只需將任何URL中的arXiv更改為alphaXiv就可以直接在alphaXiv論壇上打開相應論文:可以精準定位到論文中的段落、句子:右側討論區,使用者可以發表問題詢問作者論文想法、細節,例如:也可以針對論文內容發表評論,例如:「給出至

登頂開源AI軟體工程師榜首,UIUC無Agent方案輕鬆解決SWE-bench真實程式設計問題 登頂開源AI軟體工程師榜首,UIUC無Agent方案輕鬆解決SWE-bench真實程式設計問題 Jul 17, 2024 pm 10:02 PM

AIxiv專欄是本站發布學術、技術內容的欄位。過去數年,本站AIxiv專欄接收通報了2,000多篇內容,涵蓋全球各大專院校與企業的頂尖實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或聯絡報道。投稿信箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com這篇論文的作者皆來自伊利諾大學香檳分校(UIUC)張令明老師團隊,包括:StevenXia,四年級博士生,研究方向是基於AI大模型的自動代碼修復;鄧茵琳,四年級博士生,研究方

從RLHF到DPO再到TDPO,大模型對齊演算法已經是「token-level」 從RLHF到DPO再到TDPO,大模型對齊演算法已經是「token-level」 Jun 24, 2024 pm 03:04 PM

AIxiv專欄是本站發布學術、技術內容的欄位。過去數年,本站AIxiv專欄接收通報了2,000多篇內容,涵蓋全球各大專院校與企業的頂尖實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或聯絡報道。投稿信箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com在人工智慧領域的發展過程中,對大語言模型(LLM)的控制與指導始終是核心挑戰之一,旨在確保這些模型既強大又安全地服務人類社會。早期的努力集中在透過人類回饋的強化學習方法(RL

OpenAI超級對齊團隊遺作:兩個大模型博弈一番,輸出更好懂了 OpenAI超級對齊團隊遺作:兩個大模型博弈一番,輸出更好懂了 Jul 19, 2024 am 01:29 AM

如果AI模型給的答案一點也看不懂,你敢用嗎?隨著機器學習系統在更重要的領域中得到應用,證明為什麼我們可以信任它們的輸出,並明確何時不應信任它們,變得越來越重要。獲得對複雜系統輸出結果信任的一個可行方法是,要求系統對其輸出產生一種解釋,這種解釋對人類或另一個受信任的系統來說是可讀的,即可以完全理解以至於任何可能的錯誤都可以被發現。例如,為了建立對司法系統的信任,我們要求法院提供清晰易讀的書面意見,解釋並支持其決策。對於大型語言模型來說,我們也可以採用類似的方法。不過,在採用這種方法時,確保語言模型生

黎曼猜想显著突破!陶哲轩强推MIT、牛津新论文,37岁菲尔兹奖得主参与 黎曼猜想显著突破!陶哲轩强推MIT、牛津新论文,37岁菲尔兹奖得主参与 Aug 05, 2024 pm 03:32 PM

最近,被稱為千禧年七大難題之一的黎曼猜想迎來了新突破。黎曼猜想是數學中一個非常重要的未解決問題,與素數分佈的精確性質有關(素數是那些只能被1和自身整除的數字,它們在數論中扮演著基礎性的角色)。在當今的數學文獻中,已有超過一千個數學命題以黎曼猜想(或其推廣形式)的成立為前提。也就是說,黎曼猜想及其推廣形式一旦被證明,這一千多個命題將被確立為定理,對數學領域產生深遠的影響;而如果黎曼猜想被證明是錯誤的,那麼這些命題中的一部分也將隨之失去其有效性。新的突破來自MIT數學教授LarryGuth和牛津大學

LLM用於時序預測真的不行,連推理能力都沒用到 LLM用於時序預測真的不行,連推理能力都沒用到 Jul 15, 2024 pm 03:59 PM

語言模型真的能用於時序預測嗎?根據貝特里奇頭條定律(任何以問號結尾的新聞標題,都能夠用「不」來回答),答案應該是否定的。事實似乎也果然如此:強大如斯的LLM並不能很好地處理時序資料。時序,即時間序列,顧名思義,是指一組依照時間發生先後順序排列的資料點序列。在許多領域,時序分析都很關鍵,包括疾病傳播預測、零售分析、醫療和金融。在時序分析領域,近期不少研究者都在研究如何使用大型語言模型(LLM)來分類、預測和偵測時間序列中的異常。這些論文假設擅長處理文本中順序依賴關係的語言模型也能泛化用於時間序

首個基於Mamba的MLLM來了!模型權重、訓練程式碼等已全部開源 首個基於Mamba的MLLM來了!模型權重、訓練程式碼等已全部開源 Jul 17, 2024 am 02:46 AM

AIxiv专栏是本站发布学术、技术内容的栏目。过去数年,本站AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com。引言近年来,多模态大型语言模型(MLLM)在各个领域的应用取得了显著的成功。然而,作为许多下游任务的基础模型,当前的MLLM由众所周知的Transformer网络构成,这种网

See all articles