女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

聚焦“源1.0”背后的計算挑戰以及我們采取的訓練方法

浪潮AIHPC ? 來源:浪潮AIHPC ? 作者:浪潮AIHPC ? 2022-11-15 16:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

從2018年的BERT到2020年的GPT-3,NLP語言模型經歷了爆發式的發展過程,其中BERT模型的參數量為3.4億,而GPT-3的模型參數量達到了1750億。2021年9月,浪潮發布了“源1.0”,它是目前規模最大的中文AI單體模型,參數規模高達2457億,訓練采用的中文數據集達5TB。“源1.0”在語言智能方面表現優異,獲得中文語言理解評測基準CLUE榜單的零樣本學習和小樣本學習兩類總榜冠軍。測試結果顯示,人群能夠準確分辨人與“源1.0”作品差別的成功率低于50%。

海量的參數帶來了模型訓練和部署上的巨大挑戰。本文將聚焦“源1.0”背后的計算挑戰以及我們采取的訓練方法。

“源1.0”的模型結構

“源1.0”是一個典型的語言模型。語言模型通俗來講就是能夠完成自然語言理解或者生成文本的神經網絡模型。對于“源1.0”,我們考慮語言模型(Language Model,LM)和前綴語言模型(Prefix Language Model,PLM)兩種模型結構。如下圖所示:

91275cda-64bc-11ed-8abf-dac502259ad0.jpg

圖1 模型結構示意圖(左圖為LM,右圖為PLM)

我們比較了130億參數的LM和PLM在不同下游任務上的結果,注意到LM在Zero-Shot和Few-Shot上表現更好,而PLM在微調方面表現出色。微調通常會在大多數任務中帶來更好的準確性,然而微調會消耗大量的計算資源,這是不經濟的。所以我們選擇LM作為“源 1.0”模型的基礎模型結構。

?

如何訓練“源1.0”

| 源1.0訓練面對的挑戰

“源1.0”的訓練需要面對的第一個挑戰就是數據和計算量的挑戰。

數據方面,如果把訓練一個巨量模型的訓練過程比作上異常戰役的話,那么數據就是我們的彈藥。數據量的多少,決定了我們可以訓練模型的規模,以及最后的效果。針對這一方面,我們構建了一個全新的中文語料庫,清洗后的高質量數據規模達到了5TB,是目前規模最大的中文語料庫。

914ec108-64bc-11ed-8abf-dac502259ad0.jpg

圖2 數據預處理流程圖

算力方面,根據OpenAI提出的PetaFlop/s-day衡量標準,我們可以估算“源1.0”訓練的計算需求情況。根據Wikipedia提供的數據(https://en.wikipedia.org/wiki/OpenAI),GPT-3的計算需求約為3640 PetaFlop/s-day,而“源1.0”的計算需求達到了4095 PetaFlop/s-day。

計算資源的巨大開銷是限制研究人員研發具有數以千萬計參數的NLP大模型的瓶頸。例如GPT-3是在由10000個GPU所組成的集群上訓練得到的。我們在設計“源1.0”的模型結構時,考慮到了影響大規模分布式訓練的關鍵因素,采用了專門的分布式訓練策略,從而加速了模型的訓練過程。

在模型訓練時一般最常用的是采用數據并行分布式計算策略,但這只能滿足小模型的訓練需求。對于巨量模型來說,由于其模型參數量過大,遠遠超過常用計算設備比如GPU卡的顯存容量,因此需要專門的算法設計來解決巨量模型訓練的顯存占用問題,同時還需要兼顧訓練過程中的GPU計算性能的利用率。

| “源1.0”的訓練策略

為了解決顯存不足的問題,我們采用了張量并行、流水并行、數據并行相結合的并行策略,實現了在2128個GPU上部署“源1.0”,并完成了1800億tokens的訓練。

a. 張量并行

針對單個GPU設備不能完整的承載模型訓練,一個解決方案就是張量并行+數據并行的2D并行策略。具體來說,使用多個GPU設備為1組,比如單個服務器內的8個GPU為1組,組內使用張量并行策略對模型進行拆分,組間(服務器間)采用數據并行。

對于張量并行部分,NVIDIA在Megatron-LM中提出了針對Transformer結構的張量并行解決方案。其思路是把每一個block的參數和計算都均勻的拆分到N個GPU設備上,從而實現每個GPU設備都承擔這一block的參數量和計算量的1/N效果。圖3展示了對Transformer結構中的MLP層和self-attention層進行張量并行拆分計算的過程示意圖。

9177114e-64bc-11ed-8abf-dac502259ad0.jpg

圖3 張量并行示意圖

在訓練過程中,tensor經過每一層的時候,計算量與通信數據量之比91b4a91e-64bc-11ed-8abf-dac502259ad0.png如下:

91cea1a2-64bc-11ed-8abf-dac502259ad0.jpg

其中,S為輸入序列的長度,h為隱藏層的大小(hidden size)。

b. 流水并行

91e98698-64bc-11ed-8abf-dac502259ad0.jpg

圖4 流水線并行示意圖

對于具有數千億參數的語言模型,這些參數很難被存放在單個節點中。流水線并行將LM的層序列在多個節點之間進行分割,以解決存儲空間不足的問題,如圖5所示。每個節點都是流水線中的一個階段,它接受前一階段的輸出并將結果過發送到下一階段。如果前一個相鄰節點的輸出尚未就緒,則當前節點將處于空閑狀態。節點的空閑時間被稱為流水線氣泡(pipline bubble)。為了提高流水行并行的性能,我們必須盡可能減少在氣泡上花費的時間。定義流水線中氣泡的理想時間占比為如下形式:

920f7e3e-64bc-11ed-8abf-dac502259ad0.jpg

根據這一公式,流水線氣泡的耗時隨著層數L的增加而增加,隨著微批次大小(micro-batch-size)的增加而減小。當m?L/l的時候,流水并行過程中的流水線氣泡對訓練性能的影響幾乎可以忽略。

與此同時,在流水并行過程中,節點間的計算量與通信數據量之比91b4a91e-64bc-11ed-8abf-dac502259ad0.png為:

924189b0-64bc-11ed-8abf-dac502259ad0.jpg

根據上面的公式,流水線中節點的計算效率與h和S呈線性關系,這與張量并行類似。

c. 數據并行

925b54c6-64bc-11ed-8abf-dac502259ad0.jpg

圖6 數據并行示意圖

采用數據并行時,全局批次大小(global batch size)按照流水線分組進行分割。每個流水線組都包含模型的一個副本,數據在組內按照局部批次規模送入模型副本。數據并行時的計算量與通信數據量的比值91b4a91e-64bc-11ed-8abf-dac502259ad0.png可用如下公式近似:

92a067aa-64bc-11ed-8abf-dac502259ad0.jpg

91b4a91e-64bc-11ed-8abf-dac502259ad0.pngd? 1時,上面公式可以進一步簡化成:

92ce6272-64bc-11ed-8abf-dac502259ad0.jpg

根據這一公式,我們可以看出數據并行的計算效率與全局批次大小B和序列長度S呈正比關系。由于模型對內存的需求與S的平方成正比,與B成線性關系,因此增加全局批次大小可以更有效的提升數據并行的效率。

當全局批次大小過大的時候,模型很容易出現不收斂的問題,為了保證模型訓練過程的穩定性,我們將全局批次大小限制在了10^7個token內。

根據以上的理論分析,我們確定了設計“源1.0”巨量模型結構的基本原則:

盡可能增加序列長度,因為它有利于張量并行、流水線并行和數據并行。由于內存占用與序列長度的平方成正比,因此有必要在反向傳播時重新計算激活函數,以節省內存開銷;

語言模型中層數太多會對性能產生負面影響,因為這會增加在流水線氣泡上的時間消耗;

增加隱藏層大小可以提高張量并行和流水線并行的性能;

增加節點中的微批次大小可以提高流水線并行效率,增加全局批次大小可以提升數據并行的效率;

在這一設計原則的基礎上,我們設計的“源1.0”的模型結構以及分布式策略的設置如下表所示:

92ec6e7a-64bc-11ed-8abf-dac502259ad0.jpg

結合模型結構的特性以及我們使用集群的硬件特性,我們如下的節點配置和分布式策略選擇:

“源1.0”模型在訓練過程中共使用了2128個GPU;

模型分成了7組,每組38臺AI服務器,里面放置一個完整的“源1.0”模型,7組之間采用數據并行;

每組的38個服務器,采用流水并行每個服務器放置1/38的模型(2個Transformer Layer),一共76層;

在每臺服務器內采用張量并行,按照Transformer結構的每一層進行均勻切分;

模型收斂曲線如下圖:

930cd2a0-64bc-11ed-8abf-dac502259ad0.jpg

91b4a91e-64bc-11ed-8abf-dac502259ad0.png

關于“源1.0”的更多信息,大家可以參照浪潮發布在arxiv上的論文:https://arxiv.org/abs/2110.04725

審核編輯 :李倩

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

    關注

    42

    文章

    4814

    瀏覽量

    103602
  • 模型
    +關注

    關注

    1

    文章

    3520

    瀏覽量

    50421
  • 語言模型
    +關注

    關注

    0

    文章

    561

    瀏覽量

    10788

原文標題:如何訓練2457億參數量的中文巨量模型“源1.0”

文章出處:【微信號:浪潮AIHPC,微信公眾號:浪潮AIHPC】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    大模型推理顯存和計算量估計方法研究

    方法。 一、引言 大模型推理是指在已知輸入數據的情況下,通過深度學習模型進行預測或分類的過程。然而,大模型的推理過程對顯存和計算資源的需求較高,這給實際應用帶來了以下挑戰: 顯存不足:大模型在推理
    發表于 07-03 19:43

    GLAD應用:高斯光束的吸收和自聚焦效應

    ,此時介質折射率的橫向分布也是鐘形的,從而對入射光束產生會聚作用,這就是高斯光束的自聚焦效應。 系統描述 本例重點展示了beer以及sfocus兩個命令的使用,給出了經過吸收之后高斯光束的強度分布輪廓圖
    發表于 06-17 08:52

    GLAD應用:高斯光束的吸收和自聚焦效應

    ,此時介質折射率的橫向分布也是鐘形的,從而對入射光束產生會聚作用,這就是高斯光束的自聚焦效應。 系統描述 本例重點展示了beer以及sfocus兩個命令的使用,給出了經過吸收之后高斯光束的強度分布輪廓圖
    發表于 05-16 08:47

    RAKsmart智能算力架構:異構計算+低時延網絡驅動企業AI訓練范式升級

    在AI大模型參數量突破萬億、多模態應用爆發的今天,企業AI訓練正面臨算力效率與成本的雙重挑戰。RAKsmart推出的智能算力架構,以異構計算資源池化與超低時延網絡為核心,重構AI訓練
    的頭像 發表于 04-17 09:29 ?317次閱讀

    聚焦離子束技術的原理和應用

    聚焦離子束(FIB)技術在納米科技里很重要,它在材料科學、微納加工和微觀分析等方面用處很多。離子:FIB的核心部件離子是FIB系統的關鍵部分,液態金屬離子(LMIS)用得最多,特
    的頭像 發表于 04-11 22:51 ?263次閱讀
    <b class='flag-5'>聚焦</b>離子束技術的原理和應用

    大模型訓練:開源數據與算法的機遇與挑戰分析

    最近,開源中國 OSCHINA、Gitee 與 Gitee AI 聯合發布了《2024 中國開源開發者報告》。 報告聚焦 AI 大模型領域,對過去一年的技術演進動態、技術趨勢、以及開源開發者生態數據
    的頭像 發表于 02-20 10:40 ?618次閱讀
    大模型<b class='flag-5'>訓練</b>:開源數據與算法的機遇與<b class='flag-5'>挑戰</b>分析

    華為公布AI模型訓練與車輛控制專利

    顯示,該專利涉及一種全新的模型訓練方法以及車輛控制方法,并配套有相關裝置,這些均可廣泛應用于人工智能領域。具體而言,華為此次提出的創新點在于,利用專家系統的輸出來引導并確定用于更新AI模型的梯度。這一
    的頭像 發表于 02-20 09:14 ?477次閱讀

    騰訊公布大語言模型訓練新專利

    近日,騰訊科技(深圳)有限公司公布了一項名為“大語言模型的訓練方法、裝置、計算機設備及存儲介質”的新專利。該專利的公布,標志著騰訊在大語言模型訓練領域取得了新的突破。 據專利摘要顯示,該方法
    的頭像 發表于 02-10 09:37 ?408次閱讀

    《具身智能機器人系統》第10-13章閱讀心得之具身智能機器人計算挑戰

    ,自動生成對抗樣本。我們可以對防御機制進行了系統化梳理:在數據層面,采用清洗和過濾去除惡意樣本;在模型層面,通過知識蒸餾壓縮潛在攻擊面;在訓練層面,引入對抗樣本增強模型魯棒性。這些多層次的防御措施形成
    發表于 01-04 01:15

    “芯合”異構混合并行訓練系統1.0發布

    近日,中國移動研究院副院長段曉東攜手天數智芯、壁仞科技、中興、海光、瀚博等一眾產業合作伙伴,共同推出了“芯合”異構混合并行訓練系統1.0版本。 該系統具備兩大核心能力,首先是基于非均勻計算任務切分
    的頭像 發表于 12-13 15:46 ?608次閱讀

    聚焦離子束(FIB)技術的特點、優勢以及應用

    本文介紹了聚焦離子束(FIB)技術的特點、優勢以及應用。 一、FIB 在芯片失效分析中的重要地位 芯片作為現代科技的核心組成部分,其可靠性至關重要。而在芯片失效分析領域,聚焦離子束(FIB)技術正
    的頭像 發表于 11-21 11:07 ?1163次閱讀
    <b class='flag-5'>聚焦</b>離子束(FIB)技術的特點、優勢<b class='flag-5'>以及</b>應用

    PyTorch GPU 加速訓練模型方法

    的基本原理 GPU(圖形處理單元)最初是為圖形渲染設計的,但隨著技術的發展,人們發現GPU在并行計算方面有著天然的優勢。GPU擁有成千上萬個核心,可以同時處理大量數據,這使得它在進行矩陣運算和并行計算時比CPU更加高效。 2. 檢查GPU設備 在開始
    的頭像 發表于 11-05 17:43 ?1406次閱讀

    Pytorch深度學習訓練方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練
    的頭像 發表于 10-28 14:05 ?655次閱讀
    Pytorch深度學習<b class='flag-5'>訓練</b>的<b class='flag-5'>方法</b>

    如何訓練ai大模型

    :從可靠的來源獲取數據,如公開數據集、內部數據庫或第三方數據提供商。 2. 數據清洗 去除重復數據 :確保數據集中沒有重復項,以避免在訓練過程中引入冗余信息。 處理缺失值 :對于缺失的數據,可以采取填充、刪除或插值等方法進行處
    的頭像 發表于 10-17 18:17 ?2620次閱讀

    電流為0的處理方法及影響

    電流為0的情況通常指的是電流的輸出電流為零。這種情況可以由多種原因引起,包括電路故障、電源故障、負載故障等。在這種情況下,我們需要對電路進行詳細的分析,以確定問題的原因并采取相應的
    的頭像 發表于 08-06 17:03 ?2426次閱讀