色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個(gè)GPU訓(xùn)練一個(gè)130億參數(shù)的模型

工程師鄧生 ? 來源:機(jī)器之心Pro ? 作者:蛋醬、張倩 ? 2021-02-11 09:04 ? 次閱讀

現(xiàn)在的模型動(dòng)輒數(shù)百、數(shù)千億參數(shù),普通人訓(xùn)不動(dòng)怎么辦?

前不久,谷歌發(fā)布了參數(shù)量為 1.6 萬億的語言模型Swith Transformer,將 GPT-3 創(chuàng)下的參數(shù)量記錄(1750 億)推至新高。這些大模型的出現(xiàn)讓普通研究者越發(fā)絕望:沒有「鈔能力」、沒有一大堆 GPU 就做不了 AI 研究了嗎?

在此背景下,部分研究者開始思考:如何讓這些大模型的訓(xùn)練變得更加接地氣?也就是說,怎么用更少的卡訓(xùn)練更大的模型?

為了解決這個(gè)問題,來自微軟、加州大學(xué)默塞德分校的研究者提出了一種名為「 ZeRO-Offload 」的異構(gòu)深度學(xué)習(xí)訓(xùn)練技術(shù),可以在單個(gè) GPU 上訓(xùn)練擁有 130 億參數(shù)的深度學(xué)習(xí)模型,讓普通研究者也能著手大模型的訓(xùn)練。與 Pytorch 等流行框架相比,ZeRO-Offload 將可訓(xùn)練的模型規(guī)模提升了 10 倍,而且不需要數(shù)據(jù)科學(xué)家對(duì)模型做出任何改變,也不會(huì)犧牲計(jì)算效率。

論文鏈接:https://arxiv.org/pdf/2101.06840.pdf

ZeRO-Offload 通過將數(shù)據(jù)和計(jì)算卸載(offload)至 CPU 來實(shí)現(xiàn)大規(guī)模模型訓(xùn)練。為了不降低計(jì)算效率,它被設(shè)計(jì)為最小化與 GPU 之間的數(shù)據(jù)往來,并在盡可能節(jié)省 GPU 內(nèi)存的同時(shí)降低 CPU 的計(jì)算時(shí)間。因此,對(duì)于一個(gè)參數(shù)量為 100 億的模型,ZeRO-Offload 可以在單個(gè) NVIDIA V100 GPU 上實(shí)現(xiàn) 40 TFlops/GPU。相比之下,使用 PyTorch 訓(xùn)練一個(gè)參數(shù)量為 14 億的模型僅能達(dá)到 30TFlops,這是在不耗盡內(nèi)存的情況下所能訓(xùn)練的最大模型。ZeRO-Offload 還可以擴(kuò)展至多 GPU 設(shè)置并實(shí)現(xiàn)線性加速,最多可在 128 個(gè) GPU 上實(shí)現(xiàn)近似線性加速。

此外,ZeRO-Offload 還可以和模型并行一起使用,在一個(gè) DGX-2 box AI 服務(wù)器上訓(xùn)練參數(shù)量超 700 億的模型。與單獨(dú)使用模型并行相比,這一參數(shù)量實(shí)現(xiàn)了 4.5 倍的規(guī)模提升。

在下文中,我們將結(jié)合 Medium 博主 LORENZ KUHN 的一篇博客來詳細(xì)了解這篇論文。

ZeRO-Offload 是什么?

ZeRO-Offload 是一種通過將數(shù)據(jù)和計(jì)算從 GPU 卸載到 CPU,以此減少神經(jīng)網(wǎng)絡(luò)訓(xùn)練期間 GPU 內(nèi)存占用的方法,該方法提供了更高的訓(xùn)練吞吐量,并避免了移動(dòng)數(shù)據(jù)和在 CPU 上執(zhí)行計(jì)算導(dǎo)致的減速問題。

借助 ZeRO-offload,使用相同的硬件能訓(xùn)練以往 10 倍大的模型,即使在單個(gè) GPU 上也是如此。比如在一個(gè) 32GB RAM 的 V100 GPU 上訓(xùn)練百億參數(shù)的 GPT-2。

此外,ZeRO-offload 還能實(shí)現(xiàn)在多 GPU 設(shè)置中的近似線性擴(kuò)展。

對(duì)于研究者來說,ZeRO-offload 適用的情況包括:

想訓(xùn)練更大的模型,或者想更快地訓(xùn)練現(xiàn)在的模型,因?yàn)?ZeRO-offload 允許訓(xùn)練更大的 batch size;

你正在使用 PyTorch,并且愿意 / 能夠使用微軟的 DeepSpeed 庫(ZeRO-offload 的其他實(shí)現(xiàn)形式暫未推出),你也可以嘗試根據(jù)官方實(shí)現(xiàn)自行調(diào)整;

愿意接受一些建模時(shí)的限制,比如當(dāng)前版本的 ZeRO-Offload 需要搭配使用 Adam 的混合精度訓(xùn)練。

如何使用?

ZeRO-Offload 在微軟的 DeepSpeed 庫中實(shí)現(xiàn),官方實(shí)現(xiàn)地址:https://github.com/microsoft/DeepSpeed/blob/6e65c2cc084ecfc393c67a2f64639e8d08d325f6/deepspeed/runtime/zero/stage2.py。

在 DeepSpeed 中設(shè)置完畢后,使用 ZeRO-Offload 就不需要太多額外的工作了,只需要修改一些標(biāo)志和配置文件。

目前,Hugging Face 的 transformers 庫與 DeepSpeed 進(jìn)行了實(shí)驗(yàn)性集成,使用方法和基準(zhǔn)測試結(jié)果參見:https://huggingface.co/blog/zero-deepspeed-fairscale。

dfe6624efd1148a7b571982c796e7e36.png

Facebook 研究院的 fairscale 有 ZeRO 的部分實(shí)現(xiàn),ZeRO-Offload 正是基于 ZeRO 這一多 GPU 內(nèi)存優(yōu)化方法構(gòu)建的。目前還不支持 CPU 卸載。

ZeRO-Offload 的工作原理

ZeRO-Offload 是基于 Zero Redundancy Optimizer (ZeRO) 構(gòu)建的。ZeRO 是微軟在 2020 年 2 月提出的一種萬億級(jí)模型參數(shù)訓(xùn)練方法,用于數(shù)據(jù)并行和模型并行訓(xùn)練中的內(nèi)存優(yōu)化,其中梯度、參數(shù)和優(yōu)化器狀態(tài)分布在多 GPU 內(nèi)存中,沒有任何冗余。這使得 GPU 之間的通信開銷保持在比較低的狀態(tài)。

25f1777e01a6434bbe47b894c9556628.jpeg

與標(biāo)準(zhǔn)數(shù)據(jù)并行基準(zhǔn)相比,ZeRO 在三個(gè)階段中節(jié)省的內(nèi)存和通信用量。

讓我們來回顧一下 ZeRO:

為了解決數(shù)據(jù)并行和模型并行存在的問題,ZeRO 提供了三階段的優(yōu)化方法,分別為優(yōu)化器狀態(tài)分割、梯度分割、參數(shù)分割,三個(gè)階段按順序?qū)嵤?/p>

在優(yōu)化器分割狀態(tài):ZeRO 降低了 3/4 的內(nèi)存,通信量和數(shù)據(jù)并行相同;

加入梯度分割:降低了 7/8 的內(nèi)存,通信量和數(shù)據(jù)并行相同;

加入?yún)?shù)分割:內(nèi)存減少與數(shù)據(jù)并行度呈線性關(guān)系。例如,在 64 個(gè) GPU 上進(jìn)行分割的時(shí)候,可以將內(nèi)存降至 1/64。在通信量上有 50% 的提升。

在去年 9 月份的博客中,微軟這么介紹 ZeRO-Offload:

ZeRO-Offload 繼承了 ZeRO-2 的優(yōu)化器狀態(tài)和梯度分割。但與 ZeRO-2 不同的是,ZeRO-Offload 不在每塊 GPU 上保持優(yōu)化器狀態(tài)和梯度的分割,而是將二者卸載至主機(jī) CPU 內(nèi)存。在整個(gè)訓(xùn)練階段,優(yōu)化器狀態(tài)都保存在 CPU 內(nèi)存中;而梯度則在反向傳播過程中在 GPU 上利用 reduce-scatter 進(jìn)行計(jì)算和求均值,然后每個(gè)數(shù)據(jù)并行線程將屬于其分割的梯度平均值卸載到 CPU 內(nèi)存中(參見下圖 g offload),將其余的拋棄。一旦梯度到達(dá) CPU,則每個(gè)數(shù)據(jù)并行線程直接在 CPU 上并行更新優(yōu)化器狀態(tài)分割(參見下圖 p update)。

之后,將參數(shù)分割移回 GPU,再在 GPU 上執(zhí)行 all-gather 操作,收集所有更新后的參數(shù)(參見下圖 g swap)。ZeRO-Offload 還利用單獨(dú)的 CUDA 流來窮盡通信與計(jì)算中的重疊,從而最大化訓(xùn)練效率。

6caa771fed244038ae13d21e6a536154.jpeg

ZeRO-Offload 概覽。

值得注意的是,ZeRO-Offload 專為使用 Adam 的混合精度訓(xùn)練而設(shè)計(jì)。也就是說,當(dāng)前版本的 ZeRO-Offload 使用 Adam 的優(yōu)化版本 DeepCPUAdam。其主要原因是避免 CPU 計(jì)算成為整個(gè)過程中的瓶頸。DeepCPUAdam 的速度是 Adam PyTorch 實(shí)現(xiàn)的 6 倍。

實(shí)驗(yàn)結(jié)果

最后來看一下 ZeRO-Offload 論文中提供的一些實(shí)驗(yàn)結(jié)果。

下圖 7 展示了利用 ZeRO-Offload 技術(shù)在 1 個(gè)、4 個(gè)或 16 個(gè) GPU(一個(gè) DGX-2)上可以訓(xùn)練的最大模型情況。

e1f97bcaae694e619797ef17897d3849.jpeg

下圖 11 展示了每個(gè) GPU 的吞吐量隨 GPU 數(shù)量增加而呈現(xiàn)的變化情況??梢钥闯觯?GPU 數(shù)量逐漸增加至 128 個(gè)的過程中,ZeRO-Offload 幾乎可以實(shí)現(xiàn)吞吐量的線性加速。

f4aa51269d0344e1b8bf675e716f208e.jpeg

下圖 8 展示了使用 PyTorch、L2L 和 ZeRO-Offload 實(shí)現(xiàn)的每個(gè) GPU 吞吐量差異。從中可以看出,利用 ZeRO-Offload 實(shí)現(xiàn)的每個(gè) GPU 吞吐量比 L2L 平均高出 14%(最多高出 22%)。

99478603f46d497ab241fbb1abe9d3c3.jpeg

責(zé)任編輯:PSY

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4729

    瀏覽量

    128890
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3226

    瀏覽量

    48809
  • 模擬訓(xùn)練系統(tǒng)

    關(guān)注

    0

    文章

    6

    瀏覽量

    10061
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AI模型是如何訓(xùn)練的?訓(xùn)練個(gè)模型花費(fèi)多大?

    電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)在深度學(xué)習(xí)中,經(jīng)常聽到一個(gè)詞“模型訓(xùn)練”,但是模型是什么?又是怎么訓(xùn)練的?在人工智能中,面對(duì)大量的數(shù)據(jù),要在雜
    的頭像 發(fā)表于 10-23 00:19 ?2.6w次閱讀

    模型訓(xùn)練為什么不能用4090顯卡,GPU訓(xùn)練性能和成本對(duì)比

    為什么?般有 tensor parallelism、pipeline parallelism、data parallelism 幾種并行方式,分別在模型的層內(nèi)、模型的層間、訓(xùn)練數(shù)據(jù)三
    發(fā)表于 09-15 11:16 ?2.5w次閱讀
    大<b class='flag-5'>模型</b><b class='flag-5'>訓(xùn)練</b>為什么不能用4090顯卡,<b class='flag-5'>GPU</b><b class='flag-5'>訓(xùn)練</b>性能和成本對(duì)比

    在Ubuntu上使用Nvidia GPU訓(xùn)練模型

    問題最近在Ubuntu上使用Nvidia GPU訓(xùn)練模型的時(shí)候,沒有問題,過會(huì)再訓(xùn)練出現(xiàn)非??D,使用nvidia-smi查看發(fā)現(xiàn),顯示
    發(fā)表于 01-03 08:24

    探索種降低ViT模型訓(xùn)練成本的方法

    (1 GPU)和時(shí)間(24小時(shí))資源下從頭開始訓(xùn)練ViT模型。首先,提出了種向ViT架構(gòu)添加局部性的有效方法。其次,開發(fā)了種新的圖像大小
    發(fā)表于 11-24 14:56

    GPU如何訓(xùn)練大批量模型?方法在這里

    內(nèi)存時(shí),在單個(gè)或多個(gè) GPU 服務(wù)器上訓(xùn)練模型。 分布式計(jì)算 2018 年的大部分時(shí)間我都在試圖訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)克服 GPU 極限。無論是在
    發(fā)表于 12-03 17:24 ?868次閱讀

    OpenAI發(fā)布了個(gè)“逆天”的AI模型——GPT2整個(gè)模型包含15個(gè)參數(shù)

    能有這樣出色的表現(xiàn),不是沒有原因的,GPT-2各種特定領(lǐng)域的語言建模任務(wù)中都取得了很好的分?jǐn)?shù)。作為個(gè)沒有經(jīng)過任何領(lǐng)域數(shù)據(jù)專門訓(xùn)練模型,它的表現(xiàn),比那些專為特定領(lǐng)域數(shù)據(jù)集(例如維基百
    的頭像 發(fā)表于 03-07 14:45 ?8403次閱讀

    谷歌訓(xùn)練開發(fā)個(gè)萬億參數(shù)的AI語言模型

    參數(shù)是機(jī)器學(xué)習(xí)算法的關(guān)鍵。它們是從歷史訓(xùn)練數(shù)據(jù)中學(xué)到的模型部分。般來說,在語言領(lǐng)域,參數(shù)
    的頭像 發(fā)表于 01-18 16:19 ?1828次閱讀

    NVIDIA GPU助力提升模型訓(xùn)練和推理性價(jià)比

    ,其中的模型數(shù)量達(dá)數(shù)千個(gè),日均調(diào)用服務(wù)達(dá)到千億級(jí)別。無量推薦系統(tǒng),在模型訓(xùn)練和推理都能夠進(jìn)行海量Embedding和DNN模型
    的頭像 發(fā)表于 08-23 17:09 ?4796次閱讀

    AI模型是如何訓(xùn)練的?訓(xùn)練個(gè)模型花費(fèi)多大?

    電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)在深度學(xué)習(xí)中,經(jīng)常聽到一個(gè)詞“模型訓(xùn)練”,但是模型是什么?又是怎么訓(xùn)練的?在人工智能中,面對(duì)大量的數(shù)據(jù),要在雜
    的頭像 發(fā)表于 10-23 00:20 ?8868次閱讀

    推特并入X公司 馬斯克還買了10000個(gè)GPU訓(xùn)練模型

    。 另外,還有個(gè)特別有意思的是,馬斯克才呼吁暫停?ChatGPT 的訓(xùn)練,馬上就轉(zhuǎn)身就下場買了10000個(gè)GPU
    的頭像 發(fā)表于 04-12 14:19 ?893次閱讀

    基于個(gè)完整的 LLM 訓(xùn)練流程

    ? ? 在這篇文章中,我們將盡可能詳細(xì)地梳理個(gè)完整的 LLM 訓(xùn)練流程。包括模型預(yù)訓(xùn)練(Pretrain)、Tokenizer
    的頭像 發(fā)表于 06-29 10:08 ?1944次閱讀
    基于<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>完整的 LLM <b class='flag-5'>訓(xùn)練</b>流程

    為什么ai模型訓(xùn)練要用gpu

    GPU憑借其強(qiáng)大的并行處理能力和高效的內(nèi)存系統(tǒng),已成為AI模型訓(xùn)練不可或缺的重要工具。
    的頭像 發(fā)表于 10-24 09:39 ?256次閱讀

    PyTorch GPU 加速訓(xùn)練模型方法

    在深度學(xué)習(xí)領(lǐng)域,GPU加速訓(xùn)練模型已經(jīng)成為提高訓(xùn)練效率和縮短訓(xùn)練時(shí)間的重要手段。PyTorch作為
    的頭像 發(fā)表于 11-05 17:43 ?546次閱讀

    從零開始訓(xùn)練個(gè)大語言模型需要投資多少錢?

    ,前言 ? 在AI領(lǐng)域,訓(xùn)練個(gè)大型語言模型(LLM)是
    的頭像 發(fā)表于 11-08 14:15 ?199次閱讀
    從零開始<b class='flag-5'>訓(xùn)練</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>大語言<b class='flag-5'>模型</b>需要投資多少錢?

    GPU是如何訓(xùn)練AI大模型

    在AI模型訓(xùn)練過程中,大量的計(jì)算工作集中在矩陣乘法、向量加法和激活函數(shù)等運(yùn)算上。這些運(yùn)算正是GPU所擅長的。接下來,AI部落小編帶您了解GPU是如何
    的頭像 發(fā)表于 12-19 17:54 ?84次閱讀
    主站蜘蛛池模板: 在线va无卡无码高清| 在线成 人av影院| 亚洲成av人影院| 亚洲精品天堂无码中文字幕影院| 99精品影视| 精品午夜久久影视| 我把寡妇日出水好爽| bl撅高扒开臀缝哦| 久久视频这里只精品99热在线观看| 午夜AV亚洲一码二中文字幕青青 | 2020美女视频黄频大全视频| 国产精品-区区久久久狼| 欧美一区二区三区免费播放| 一区二区三区无码高清视频| 国产精品视频大全| 人与禽交3d动漫羞羞动漫| 337p欧洲亚大胆精品| 娇妻中日久久持久久| 无码AV熟妇素人内射V在线| 扒开小处30p| 女教师跟黑人男朋友激情过后| 一区二区乱子伦在线播放| 国产午夜在线视频| 帅小伙和警官同性3p| 操他射他影院| 女人高潮了拔出来了她什么感觉 | 囯产精品久久久久久久久蜜桃| 男污女XO猛烈的动态图| 制服丝袜 快播| 亚洲 欧美 制服 视频二区| 国产超碰精久久久久久无码AV| 欧美亚洲另类丝袜自拍动漫| 99爱在线观看精品视频| 国产色欲一区二区精品久久呦| 欧美日韩视频高清一区| 亚洲国产夜色在线观看| 99国产精品综合AV无码| 四虎国产精品永久一区高清 | 国产精品无码麻豆放荡AV| 日本美女搞基视频| www精品一区二区三区四区|