模擬人類大腦的神經網路已進入科學研究的前沿。主要問題是什麼? 它們需要大量的資料處理和儲存能力,遠遠超過一般設備所能提供的效能。這就是模型平行化的源頭。
模型並行分配機器學習模型,跨多個裝置傳送神經網路,從而更有效地使用可用記憶體,並訓練可能超過個別裝置容量的更大模型。
讓我們深入了解什麼是平行模式,它的優勢,以及如何實現它。我們也將探討一些真實案例。
模型平行處理是一種機器學習技術,神經網路的運算工作負載分佈在多個裝置或處理器中。與資料平行處理不同批次的資料獨立訓練模型拷貝不同,模型平行處理涉及將單一神經網路分割至多個裝置,每個裝置都負責運算一部分的模型操作。將其視為從五個不同的角度或多個團隊攻擊問題,每個團隊都有自己的優勢和能力,以盡可能有效地解決問題。
簡而言之,模型平行處理可加速大規模機器學習。略微精細化的層次,它還能:
提供模型設計的彈性
借助模型平行處理,研究人員在設計複雜的神經網路架構時能擁有更大的彈性。這包括複雜層和結構的架構,以及涉及不同操作類型的模型。
減少瓶頸
透過分配工作負載,模型平行處理有助於減少訓練期間可能發生的運算瓶頸。在處理大型資料集或模型時,這在複雜基礎架構方面尤其重要。
但最後,模型平行性的好處向下沸騰,達到“分歧與征服”。
以下是實作模型平行處理的一些基本步驟:
此外,請務必牢記在實作模型平行處理的常見挑戰,包括:
我們來看看模型平行處理在現實世界中成功的應用。以下所有範例皆使用模型平行處理,將機器學習模型分散至多個 GPU,以有效處理龐大的運算負載。
OpenAI 的 GPT-3
現在,大多數人都聽說過,如果沒有使用 ChatGPT。GPT-3(Generative Pre-trained Transformer 3)是最先進的語言模型,專為自然語言處理工作所設計。GPT-3 是一個龐大的模型,參數高達 1,750 億。
Facebook AI 的 wav2vec 2.0
Wav2vec 2.0 是由 Facebook AI 開發的語音辨識模型,可將口語轉換為書面文字。
百度 DeepSpeech 2
DeepSpeech 2 是由百度研究開發的深度學習模型,可自動辨識語音。它使用模型平行處理,將工作負載分散到多個 GPU,協助訓練大規模的語音辨識模型。
視覺變壓器(ViT)
視覺轉變者對影像分類任務越來越受歡迎,在某些情況下取代了傳統的卷積神經網路。
NVIDIA Megatron
Megatron 是由 NVIDIA 開發的深度學習模型平行處理函式庫,旨在擴展大規模語言模型的訓練。
所有這些範例都展示了模型平行處理在處理大型複雜模型訓練時所扮演的角色,進而改善了各種機器學習應用程式的效能、擴充性和效率。
模型平行是一種“分歧和征服”技術,讓系統更容易應用龐大的機器學習模型。但為了讓模型平行運作,您仍需要強大、彈性且高效率的資料儲存基礎架構。
Pure Storage 的AIRI® 是經過認證的 NVIDIA DGX BasePOD 全端解決方案,可簡化 AI 部署,並快速有效地擴展規模,讓您的資料團隊專注於提供有價值的洞察資訊,而非管理 IT。看看它,看看它能為您的機器學習工作提供多大的支援。