AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

大模型分布式并行技術--分布式系統

來源: 責編: 時間:2023-10-27 09:15:32 309觀看
導讀近年來, 大多數出現在頂級人工智能會議上的模型都是在多個 GPU 上訓練的, 特別是隨著基于 Transformer 的語言模型的提出。當研究人員和工程師開發人工智能模型時, 分布式訓練無疑是一種常見的做法。傳統的單 機單卡模式

近年來, 大多數出現在頂級人工智能會議上的模型都是在多個 GPU 上訓練的, 特別是隨著基于 Transformer 的語言模型的提出。當研究人員和工程師開發人工智能模型時, 分布式訓練無疑是一種常見的做法。傳統的單 機單卡模式已經無法滿足超大模型進行訓練的要求,這一趨勢背后有幾個原因。nJi28資訊網——每日最新資訊28at.com

  • 模型規模迅速增加。2018 年的 BERT-Large 有 3.45 億的參數, 2018 年的 GPT-2 有 15 億的參數, 而 2020 年 的 GPT-3 有 1750 億個參數。很明顯, 模型規模隨著時間的推移呈指數級增長。目前最大的模型已經超過 了萬億個參數。而與較小的模型相比,超大型模型通常能提供更優越的性能。
  • 數據集規模迅速增加。從 GPT- 1 ,GPT-2 再到 GPT-3,訓練數據分別為 5GB ,40GB ,45TB  (清洗后約為 570GB),數量量爆炸性增長。
  • 計算能力越來越強。隨著半導體行業的進步, 顯卡變得越來越強大。由于核的數量增多, GPU 是深度學習 最常見的算力資源。從 2012 年的 K10 GPU 到 2020 年的 A100 GPU,計算能力已經增加了幾百倍。這使我 們能夠更快地執行計算密集型任務,而深度學習正是這樣一項任務。

如今, 我們接觸到的模型可能太大, 以致于無法裝入一個 GPU,而數據集也可能大到足以在一個 GPU 上訓 練上百天。這時, 只有用不同的并行化技術在多個 GPU 上訓練我們的模型, 我們才能完成并加快模型訓練, 以 追求在合理的時間內獲得想要的結果。因此,我們需要進行單機多卡、甚至是多機多卡進行大模型的訓練。nJi28資訊網——每日最新資訊28at.com

而利用 AI 集群, 使深度學習算法更好地從大量數據中訓練出性能優良的大模型是分布式機器學習的首要目 標。為了實現該目標, 一般需要根據硬件資源與數據/模型規模的匹配情況, 考慮對計算任務、訓練數據和模型 進行劃分,進行分布式存儲和分布式訓練。nJi28資訊網——每日最新資訊28at.com

分布式系統

分布式系統由多個軟件組件組成, 在多臺機器上運行。例如, 傳統的數據庫運行在一臺機器上。隨著數據量 的爆發式增長, 單臺機器已經不能為企業提供理想的性能。特別是在雙十一這樣的網絡狂歡節, 網絡流量會出 乎意料的大。為了應對這種壓力, 現代高性能數據庫被設計成在多臺機器上運行, 它們共同為用戶提供高吞吐 量和低延遲。nJi28資訊網——每日最新資訊28at.com

分布式系統示例分布式系統示例nJi28資訊網——每日最新資訊28at.com

分布式系統的一個重要評價指標是可擴展性。例如, 當我們在 4 臺機器上運行一個應用程序時, 我們自然希望該應用程序的運行速度能提高 4 倍。然而, 由于通信開銷和硬件性能的差異, 很難實現線性提速。因此, 當我 們實現應用程序時, 必須考慮如何使其更快。良好的設計和系統優化的算法可以幫助我們提供良好的性能。有 時,甚至有可能實現線性和超線性提速。總訓練速度可以用如下公式簡略估計:nJi28資訊網——每日最新資訊28at.com

總訓練速度 ∝ 單設備計算速度 × 計算設備總量 × 多設備加速比     nJi28資訊網——每日最新資訊28at.com

其中, 單設備計算速度主要由單塊計算加速芯片的運算速度和數據 I/O 能力來決定, 對單設備訓練效率進行優 化, 主要的技術手段有混合精度訓練、算子融合、梯度累加等; 分布式訓練系統中計算設備數量越多, 其理論峰 值計算速度就會越高, 但是受到通訊效率的影響, 計算設備數量增大則會造成加速比急速降低; 多設備加速比 則是由計算和通訊效率決定, 需要結合算法和網絡拓撲結構進行優化, 分布式訓練并行策略主要目標就是提升 分布式訓練系統中的多設備加速比。nJi28資訊網——每日最新資訊28at.com

分布式訓練需要多臺機器/GPU。在訓練期間, 這些設備之間會有通信。為了更好地理解分布式訓練, 有幾個重要的術語需要我們了解清楚。nJi28資訊網——每日最新資訊28at.com

  •  host: 主機 (host) 是通信網絡中的主要設備。在初始化分布式環境時,經常需要它作為一個參數。  port: 這里的端口 (port) 主要是指主機上用于通信的主端口。
  • rank: 在網絡中賦予設備的唯一 ID。
  •  world size: 網絡中設備的數量。
  •  process group: 進程組 (process group) 是一個通信網絡, 包括設備的一個子集。總是有一個默認的進程組, 它包含所有的設備。一個子集的設備可以形成一個進程組,以便它們只在組內的設備之間進行通信。

讓我們假設我們有 2 臺機器(也稱為節點),每臺機器有 4 個 GPU,參考上圖。當我們在這兩臺機器上初始 化分布式環境時,我們基本上啟動了 8 個進程(每臺機器上有 4 個進程),每個進程被綁定到一個 GPU 上。在初始化分布式環境之前, 我們需要指定主機(主地址) 和端口(主端口)。在這個例子中, 我們可以讓主 機為節點 0,端口為一個數字, 如 29500。所有的 8 個進程將尋找地址和端口并相互連接, 默認的進程組將被創 建。默認進程組的 world size 為 8,細節如下表。nJi28資訊網——每日最新資訊28at.com

進程組示例進程組示例nJi28資訊網——每日最新資訊28at.com

我們還可以創建一個新的進程組。這個新的進程組可以包含任何進程的子集。例如, 我們可以創建一個只 包含偶數進程的組,如下表所示:nJi28資訊網——每日最新資訊28at.com

創建新的進程組示例nJi28資訊網——每日最新資訊28at.com

在進程組中,各進程可以通過兩種方式進行通信,下圖中展示了部分進程組中進程通信示例。nJi28資訊網——每日最新資訊28at.com

  • collective: 一組進程一起執行分散、聚集、 all-reduce 、廣播等操作。

進程組中進程通信示例進程組中進程通信示例nJi28資訊網——每日最新資訊28at.com

目前的大語言模型都采用了分布式訓練架構完成訓練。GPT-3 的訓練全部使用 NVIDIA V100 GPU 。OPT 使 用了 992 塊 NVIDIA A100 80G GPU,采用全分片數據并行 (Fully Shared Data Parallel) 以及 Megatron-LM 張量并 行 (Tensor Parallelism),整體訓練時間將近 2 個月。BLOOM 模型的研究人員則公開了更多在硬件和所采用的系 統架構方面的細節。該模型的訓練一共花費 3.5 個月, 使用 48 個計算節點, 每個節點包含 8 塊 NVIDIA A100 80G GPU (總計 384 個 GPU),并且使用 4*NVLink 用于節點內部 GPU 之間通信, 節點之間采用四個 Omni-Path 100 Gbps 網卡構建的增強 8 維超立方體全局拓撲網絡進行通信。LLaMA 模型訓練給出了不同參數規模的總 GPU 小 時數。LLaMA 模型訓練采用 A100-80GB GPU,LLaMA-7B 模型訓練需要 82432 GPU 小時, LLaMA- 13B 模型訓 練需要 135168 GPU 小時, LLaMA-33B 模型訓練花費了 530432 GPU 小時, 而 LLaMA-65B 模型訓練花費則高達 1022362 GPU 小時。由于 LLaMA 所使用的訓練數據量遠超 OPT 和 BLOOM 模型, 因此, 雖然模型參數量遠小 于上述兩個模型,但是其所需計算量仍然非常驚人。nJi28資訊網——每日最新資訊28at.com

通過使用分布式訓練系統, 大語言模型訓練周期可以從單計算設備花費幾十年, 縮短到使用數千個計算設 備花費幾十天就可以完成。然而, 分布式訓練系統仍然需要克服計算墻、顯存墻、通信墻等多種挑戰, 以確保集 群內的所有資源得到充分利用,從而加速訓練過程并縮短訓練周期。nJi28資訊網——每日最新資訊28at.com

  • 計算墻:單個計算設備所能提供的計算能力與大語言模型所需的總計算量之間存在巨大差異。2022 年 3 年 發布的 NVIDIA H100 SXM 的單卡 FP16 算力也只有 2000 TFLOPs,而 GPT-3 則需要 314 ZFLOPs 的總算 力,兩者相差了 8 個數量級。
  • 顯存墻:單個計算設備無法完整存儲一個大語言模型的參數。GPT-3 包含 1750 億參數, 如果采用FP16 格 式進行存儲,需要 700GB 的計算設備內存空間,而 NVIDIA H100 GPU 只有 80 GB 顯存。
  • 通信墻:分布式訓練系統中各計算設備之間需要頻繁地進行參數傳輸和同步。由于通信的延遲和帶寬限制, 這可能成為訓練過程的瓶頸。GPT-3 訓練過程中, 如果分布式系統中存在 128 個模型副本, 那么在每次迭 代過程中至少需要傳輸 89.6TB 的梯度數據。而截止 2023 年 8 月, 單個 InfiniBand 鏈路僅能夠提供不超過800Gb/s 帶寬。

計算墻和顯存墻源于單計算設備的計算和存儲能力有限, 與模型對龐大計算和存儲需求之間存在矛盾。這個問 題可以通過采用分布式訓練方法來解決, 但分布式訓練又會面臨通信墻的挑戰。在多機多卡的訓練中, 這些問 題逐漸顯現。隨著大模型參數的增大, 對應的集群規模也隨之增加, 這些問題變得更加突出。同時, 在大型集群 進行長時間訓練時,設備故障可能會影響或中斷訓練過程,對分布式系統的問題性也提出了很高要求。nJi28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-15340-0.html大模型分布式并行技術--分布式系統

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Flex 布局項目實戰,好像沒那么難!

下一篇: 12個程序員必知必備的Git命令

標簽:
  • 熱門焦點
Top