無性能損失,不用更改代碼,Lightning 1.1版本發(fā)布(lightning系統(tǒng))

機器之心報道

作者:杜偉、陳萍

繼1.0.0 版本推出不到兩個月的時間,grid.ai CEO、紐約大學博士 William Falcon 創(chuàng)建的 PyTorch Lightning 于近日宣布推出 1.1 版本。新版本新增了 sharded training 功能,在多 GPU 上訓練深度學習(DL)模型時可以節(jié)省 50% 以上的內存,并且沒有性能損失,也不需要更改代碼。

無性能損失,不用更改代碼,Lightning 1.1版本發(fā)布(lightning系統(tǒng))

與 Facebook Research 的 FairScale 團隊一道,PyTorch Lightning 團隊在 1.1 版本中推出了 Sharded Training beta 版。在下面的博客文章中,PyTorch Lightning 團隊的研究工程師 Sean Narenthiran 展示了只需要在 Lightning 訓練器中增加單一的 flag,則在多 GPU 上訓練 DL 模型時就會實現(xiàn)內存的大幅度降低。

此外,作者還介紹了如何使用 NeMo 來預訓練 Transformer LM,并實現(xiàn) 55% 的內存提升,以及訓練其他 PyTorch Lightning 賦能模型時進一步的內存降低。除了給出使用 NeMO Transformer LM 時 NLP 中的結果之外,作者還分別展示了語音識別中使用 DeepSpeech 2 以及計算機視覺中訓練 SwAV ResNet 和 iGPT 的結果。

PyTorch Lightning 團隊正努力增添新的模型并行化技術并保證魯棒性,并且與 FairScale 團隊展開合作提升所有 PyTorch Lightning 研究中的模型擴展性能。

更多使用技巧參考:https://pytorch-lightning.readthedocs.io/en/stable/multi_gpu.html#multi-gpu-training

更大的模型,更高的準確率

語言建模趨向于更大的預訓練模型,這種模型在下游任務中表現(xiàn)得更好。OpenAI 的 GPT-3 就是一個很好的例子,該模型有 1750 億個參數(shù),在訓練時需要大量的計算與優(yōu)化技巧。

無性能損失,不用更改代碼,Lightning 1.1版本發(fā)布(lightning系統(tǒng))

比較了語言模型參數(shù)隨時間變化的曲線,GPT-3 繼續(xù)在規(guī)模上超越。(圖源:Microsoft)

訓練大型模型時,內存很寶貴。當擴展模型大小時,GPU 的內存會被耗盡,而這又限制了訓練模型的大小。這使得團隊不斷嘗試更智能的內存管理技術。

Lightning 的 Sharded Training

無性能損失,不用更改代碼,Lightning 1.1版本發(fā)布(lightning系統(tǒng))

傳統(tǒng)分布式訓練 VS Sharded Training。參數(shù)(P)在 GPU 之間拆分,以減少每個 GPU 的內存開銷。Sharded Training 則拆分了優(yōu)化器狀態(tài)和梯度。

受微軟 Zero Redundancy Optimizer (ZeRO) 的啟發(fā),Sharded Training 可以減少在多個 GPU 上訓練大型模型所需的內存,訓練過程中在 GPU 之間「切分」模型。Sharding 包括將參數(shù)分割到不同的設備上,減少每個設備所需的內存。特別地,優(yōu)化器狀態(tài)和梯度可以獨立于模型進行切分,并且可以減少所有架構所需的內存。

Sharded Training 是在 FairScale 基礎上構建的,與 PyTorch 兼容并得到優(yōu)化。FairScale 是一個 PyTorch 擴展庫,用于高性能以及大規(guī)模訓練模型和數(shù)據(jù)并行。除了切分技術之外,它具有層間和層內并行性以及跨多個 GPU 和主機拆分模型。

通過在 GPU 上進行智能梯度和優(yōu)化器狀態(tài) sharding,可以分別將內存成本(基于微軟論文《ZeRO: Memory Optimizations Toward Training Trillion Parameter Models》的數(shù)據(jù))降低大約 4 倍和 8 倍。這有利于所有模型,在所有模型架構以及訓練過程中提供較低的內存使用率。需要注意的是,由于節(jié)點之間所需通信量的增加以及缺乏并行性,「naive implementations」導致運行速度急劇下降。

通過與 FairScale 的緊密合作,現(xiàn)在可以在所有 lightning 模塊上實現(xiàn) 55% 以上的內存減少,只需通過一個單一的 flag,這意味著更大的機型可以適應內存有限的多張 GPU。

在不更改代碼的情況下啟用 Sharded Training

為了展示在 Lightning 中使用 Sharded Training 有多簡單,使用 NVIDIA 的一個流行庫 NeMo 來訓練 Lightning 支持的對話 AI 模型。使用 NeMo 中提供的 vanilla Transformer LM 模型,有 12 億個參數(shù),該模型對訓練內存要求很高。在訓練大型語言模型時,內存是提高模型大小或提升 GPU 飽和度的寶貴資源。此外使用 WikiText 數(shù)據(jù)集訓練模型。

首先下載數(shù)據(jù)集并使用 NVIDIA NeMo 提供的處理腳本進行提取,然后在 NeMo 中找到預配置文件定義模型配置,修改數(shù)據(jù)輸入指向自定義數(shù)據(jù)集。為了進行基準測試,還構建了一個簡單的基于單詞的詞匯表。

在設置模型參數(shù)之后,用戶只需要將 Sharded 插件 flag 傳遞給支持 Sharded Traing 的訓練器就可以了。用戶還可以通過增加 GPU 數(shù)量和啟用本地混合精度(native mixed precision)來實現(xiàn)內存和速度的進一步提升。分區(qū)優(yōu)化器和 GPU 之間的通信可以在后臺自動處理。

下面介紹了使用 Lightning 內置 Sharding 與普通 GPU 擴展時每臺設備的內存提升情況,每臺設備的內存分配保持不變。不僅如此,Lightning 團隊還給出了 SwAW、DeepSpeech 2 和 iGPT 等其他 PyTorch Lightning 支持模型的測試結果。

結果表明,每個 GPU 上最高節(jié)省內存 15GiB,從而可以增加模型能力。例如,在硬件一樣的情況下,訓練 Transformer LM 時模型參數(shù)量可以從 12 億增至 20 億。

無性能損失,不用更改代碼,Lightning 1.1版本發(fā)布(lightning系統(tǒng))

使用 8 個 A100s 時訓練 Transformer LM、SwAV Wide ResNet、DeepSpeech2 和 iGPT 時的平均峰值內存比較。

隨著 GPU 之間通信的優(yōu)化,與標準分布式加速器相比,節(jié)點內性能的擴展效果更好。請注意,隨著向很多節(jié)點的擴展,內存降低的效果開始減弱,這是因為其他因素成為了瓶頸。但是,Sharded training 依然帶來良好的 throughout 擴展。

無性能損失,不用更改代碼,Lightning 1.1版本發(fā)布(lightning系統(tǒng))

在 8 個具有相同超參數(shù)和批大小的 A100s 上的平均 Epoch time 比較,越低越好。

博客地址:https://seannaren.medium.com/introducing-pytorch-lightning-sharded-train-sota-models-with-half-the-memory-7bcc8b4484f

版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年5月17日 上午8:23
下一篇 2024年5月17日 上午8:35

相關推薦

  • 作為科研項目負責人

    作為科研項目負責人,我深知自己的責任和使命。我們團隊的工作不僅僅是為了完成一項任務,更是為了推動科學技術的發(fā)展,為人類的進步做出貢獻。 作為科研項目的負責人,我們需要對項目進行全面…

    科研百科 2025年5月1日
    2
  • 保研夏令營、考研復試個人升學簡歷制作模板(研究生升學簡歷)

    ??本文介紹在保研夏令營、考研復試時,個人簡歷的制作模板與撰寫注意事項。 ??這里就將當初我自己的簡歷分享一下,供大家參考。其實我的簡歷是那種比較簡單、質樸的,通篇就一個顏色,沒有…

    科研百科 2024年4月6日
    104
  • 美容會員管理軟件多少錢一套(美容會員管理軟件多少錢一套啊)

    美容會員管理軟件多少錢一套(美容會員管理軟件多少錢一套啊) 在如今這個追求美麗的時代,美容行業(yè)正如日中天,成為了眾多消費者日常生活中不可或缺的一部分。為了滿足顧客多元化的需求,并提…

    科研百科 2024年3月27日
    116
  • 人事總結怎么和黨建相關聯(lián)

    人事總結和黨建關聯(lián)的重要性 人事總結是指對公司內部員工的表現(xiàn)、業(yè)績、能力等進行總結和分析的過程,是評估員工績效、激勵員工、提高公司整體效率的重要手段。而黨建則是中國共產(chǎn)黨在公司內部…

    科研百科 2024年10月8日
    4
  • 衛(wèi)健委科研項目申報書怎么寫衛(wèi)健委科研項目申報書怎么寫

    衛(wèi)健委科研項目申報書怎么寫 隨著醫(yī)療技術的不斷進步和人口老齡化的加劇,衛(wèi)健委科研項目越來越受到關注。作為國家衛(wèi)健委的重要組成部分,衛(wèi)健委科研項目是推動醫(yī)療事業(yè)發(fā)展的重要力量。那么,…

    科研百科 2024年9月13日
    4
  • 項目管理情況

    項目管理情況 項目管理是組織實現(xiàn)目標的重要手段之一。一個好的項目管理能夠幫助組織提高生產(chǎn)效率,降低成本,并增強組織的聲譽。然而,有效的項目管理并不容易,它需要組織中的各個部門之間的…

    科研百科 2024年12月9日
    4
  • c++ 開發(fā)桌面程序

    C++開發(fā)桌面程序是一項廣泛應用于軟件開發(fā)領域的技術。C++作為一種高級編程語言,具有強大的功能和靈活性,使得它成為開發(fā)桌面應用程序的首選語言之一。本文將介紹C++開發(fā)桌面程序的優(yōu)…

    科研百科 2024年2月23日
    141
  • 項目管理篩選系統(tǒng)有哪些

    項目管理篩選系統(tǒng)是一種能夠協(xié)助項目管理人員對項目數(shù)據(jù)進行篩選、分析和管理的軟件工具。隨著項目管理在現(xiàn)代商業(yè)中的越來越重要,越來越多的公司開始使用項目管理篩選系統(tǒng)來提高工作效率和項目…

    科研百科 2025年1月22日
    4
  • 開源工單系統(tǒng)

    開源工單系統(tǒng):讓工作流程更加高效和透明 隨著企業(yè)數(shù)字化轉型的不斷推進,開源工單系統(tǒng)已經(jīng)成為了許多企業(yè)使用的重要工具之一。開源工單系統(tǒng)不僅能夠幫助企業(yè)有效地管理業(yè)務流程,還能夠提高員…

    科研百科 2024年11月5日
    10
  • 商品管理系統(tǒng)的項目內容

    商品管理系統(tǒng)的項目概述 商品管理系統(tǒng)是一種用于管理企業(yè)商品庫存和銷售的軟件系統(tǒng),能夠幫助企業(yè)高效地管理商品信息,提高銷售效率和管理水平。本文將介紹商品管理系統(tǒng)的項目概述,包括系統(tǒng)的…

    科研百科 2025年1月16日
    5
精品丝袜国产自在线拍亚洲| 欧美姓爱第一页| 俄罗斯大荫蒂女人毛茸茸| aa级黄色大片| 在公交车上被站着被c| 久久亚洲精品中文字幕| 日产亚洲一区二区三区| 久久亚洲av无码精品色午夜| 成年女人免费视频播放77777| 久久777国产线看观看精品| 巨胸喷奶水视频www网快速| 一级视频免费观看| 壮汉紫黑粗大好深用力| avtt天堂网手机版亚洲| 国产精品户外野外| **aa级毛片午夜在线播放| 国产成人久久精品一区二区三区 | 日韩精品无码中文字幕一区二区 | 黄页网站在线视频免费| 在线播放真实国产乱子伦| 99国产精品久久久久久久成人热| 天天天天夜夜夜夜爱爱爱爱| japanese日本护士xxxx18一19| 天天爱天天操天天射| a级毛片免费看| 国产精品免费看久久久无码| 黄色一级片免费看| 国产偷国产偷亚洲高清日韩| 精品无码一区二区三区| 农村胖肥熟口味重| 精品三级内地国产在线观看| 免费v片在线观看无遮挡| 欧美成人在线影院| 亚洲精品欧美日本中文字幕| 欧美乱人伦中文字幕在线不卡| 亚洲日韩乱码中文无码蜜桃 | 国产精品成人第一区| 风间由美性色一区二区三区 | 久久国产精品只做精品| 小妇人电影中文在线观看 | 天天爱天天干天天|