深度學習 gpu 基準

我們不斷為我們的工作訓練語言模型。我們的團隊使用數十種不同的顯示卡來執行不同的任務:在某個地方我們需要強大的 DGX 站,而在某個地方像 RTX 2080Ti 這樣的舊遊戲卡就足夠了。選擇模型訓練的最佳 GPU 可以顯著影響流程的速度和成本效益。

有趣的是,網路上有不少文章對機器學習進行GPU比較,但很少關注語言模型訓練的速度。大多數情況下只找到推理測驗。當新的H100晶片發佈時,NVidia的報告稱,它在訓練中比A100快了九倍,但對於我們的任務,新卡只比舊卡快了90%。 相比之下,我們的雲端供應商在這些 GPU 之間有 2x 的價格差異,因此切換到新的 H100 來省錢是沒有意義的。

除此之外,我們還測試了一個DGX站,它由8張A100 80GB顯示卡組成,每月費用為1萬美元。經過測試,很明顯這個電台的性價比根本不適合我們,花這筆錢,我們可以拿66 x RTX 3090,總共會更有用。

我們的翻譯語言模型有多達 5 億個參數(平均 1 億到 3 億)。如果我們大幅增加參數數量,DGX的性價比可能會更好。目前,我們不訓練可以同時在所有變體的所有語言之間進行翻譯的大型語言模型,而是為每個語言對使用單獨的語言模型,例如。英語-德語。每個此類型號的容量為 120 至 300 Mb。

值得注意的是,不同語言在網路上的資料量不同,同時。例如,對於西班牙語,您可以找到 5 億個帶有翻譯的句子,但在訓練藏語等稀有語言的模型時,您需要根據可用數據選擇特定的 GPU 來執行機器學習任務。要建立從英語到西班牙語的翻譯模型,我們使用具有 4 x RTX 4500 和 256GB RAM 的伺服器。同時,藏語可以在具有16GB RAM的RTX 2080 Ti上進行訓練,因為增加神經網路的複雜性是沒有意義的,因此,使用具有少量資料的更強大的伺服器是沒有意義的。

選擇圖形處理器和理論圖形

語言模型培訓使用 OpenNMT-tf 框架在我們的內部 Data Studio 平台上進行。此階段包括資料準備、模型訓練以及參考翻譯的模型比較。在訓練期間使用 FP16 而不是 FP32 使我們能夠顯著減少語言模型的訓練時間,而不會降低翻譯質量,但並非所有 GPU 都支援這一點。

選擇圖形處理器時,標準考慮處理能力(TFLOPS)、視訊記憶體(VRAM)、GPU 基準測試結果、庫和框架支援、預算和其他因素(圖形卡尺寸和外形尺寸、功率需求)等指標、冷卻以及與系統的兼容性)。在訓練文字產生模型時,您還應該記住,不同的語言會消耗不同數量的資源。例如,拉丁語言使用 1 個位元組編碼 1 個字符,西里爾語言使用 2 個位元組編碼,包含象形文字的語言使用 3 個位元組編碼。了解顯示卡的特徵會對學習過程的速度產生重大影響。

當根據所使用的 GPU 訓練模型時,顯示卡根據使用時間分為兩組:早期顯示卡,用於首次測量學習速度,以及目前使用的顯示卡。這些顯示卡的主要特徵分別見表1和表2。

表 1 - 先前使用的圖形處理器及其技術參數
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


筆記
1。當CUDA大於7。0時,使用FP16將提高訓練速度,這取決於CUDA版本和顯示卡本身的特性。
2。如果顯示卡的規格顯示FP16與FP32的性能比大於1比1,則保證使用混合精度將訓練速度提高規格中規定的量。例如,對於 Quadro RTX 6000,FP16 TFLOPS 值 32。62 (2:1) 將使鍛鍊速度至少加快兩倍(實踐中為 2。4 倍)

表 2 - 目前使用的 GPU 型號及其主要特性
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - FP16、TFLOPS 和 FP32、TFLOPS 的值取自每個 GPU 的規格

GPU 訓練和測試過程

這些模型使用一組 18 個 GPU 進行訓練。在神經網路訓練的過程中,我們使用了大量的語言對(一百多種語言)。GPU 測試有助於確定哪些硬體最適合特定任務。在我們的語言對訓練過程中,以下神經網路參數作為基礎:
 

  • 詞彙量 = 30 000
  • 數字 = 768
  • 層 = 6
  • 頭 = 16
  • 內部尺寸 = 4 096


首先,讓我們根據表 1 來表徵屬於第一組的 GPU。以1000步左右的速度和10萬單位的批量倍數訓練模型所花費的時間(以分鐘和秒為單位)將作為比較指標的基礎。

我們強調,對於第一組,速度測量是使用 對齊 機制且僅使用 FP32。如果不使用這種機制,某些伺服器上的學習速度可能會更快。

對齊機制允許匹配基礎文字和翻譯文字中的子字串。當句子中的子字串可能以不同字體突出顯示並且應使用突出顯示進行翻譯時,需要翻譯格式化的文本,例如網頁。

考慮到神經網路的上述參數,第一個表中的最佳時間由 GPU Nvidia H100 顯示,學習時間為 22 分鐘 中間時間由同品牌geforce RTX 4060 Ti的GPU顯示,學習時間為72分鐘,最後一名由GPU Tesla V100-SXM 2顯示,學習時間為140分鐘。

GPU測試中還有8張學習曲線為20分28秒的Nvidia A10卡、兩張時間為56分鐘的Nvidia A40卡和兩張時長為86分鐘的Tesla V100-SXM卡。同時應用同一系列GPU的多個卡可以加快模型的訓練過程,並且幾乎與具有更高容量的GPU同時顯示,但這種技術在財務和程序上可能不夠合理。學習速度測量的結果可以在表 3 中觀察到。

表 3 - 先前使用的圖形地圖上的訓練時間測量
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


接下來,我們對目前使用的圖形油門踏板進行比較分析(表2)。對於這組圖形處理器,使用 進行速度測量 對齊 機制,以及使用FP16和FP32。包括此機制和混合精度的速度測量結果將分別列於下表 4 和表 5。

所以,從這個表測量了GPU的速度,我們可以說第一名是RTX A4500系列GPU,訓練時間為31分鐘,但應該強調的是,這樣的訓練模型速度是透過將用過的GPU 單位數量增加到4 個。不考慮這一事實,上述GPU的訓練速度將會高得多,這將使其在決賽桌中排名倒數第二。

學習時間為47分鐘的Quadro RTX 6000系列GPU位居第二。應該注意的是,這樣的訓練速度與所使用的處理器的單元數成反比,該單元數等於四個。僅使用一台這樣的 GPU 會導致速度損失約 3。2 倍,因此大約需要 153 分鐘,並將其排在最後。

第三行是TITAN RTX系列GPU,用時75分85秒。這種學習速度分數是由於使用了 2 個處理器,從而減少了模型的訓練時間。

就單機訓練速度而言,毫無疑問的領先者肯定是GeForce RTX 3090系列GPU,時間為78分26秒。增加該GPU的單元數量將加快模型訓練速度,這將明顯超越上述所有GPU模型。模型訓練時間測量資料如表4。

表 4 - 先前使用的 GPU 語言模型訓練速度的比較分析
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


使用 FP16 進行以下訓練速度測量。與 FP32 相比,半精度可以減少模型訓練期間消耗的記憶體量並加速 GPU 上的計算。表示的準確性將低於使用 FP32 時。

從上表測量使用FP32的模型的訓練時間,我們可以說神經網路的訓練時間減少了近兩倍。根據效能測量結果,我們可以從表4的機器學習GPU基準觀察到GPU的位置基本上保持不變。Quadro RTX 6000 系列卡從第五位上升到第六位,比 GeForce RTX 3090 GPU 領先 96 秒。最終數字如表5所示。

表 5 - 先前使用的 GPU 語言模型訓練速度的比較分析
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

常見問題(常見問題)

值得購買 GPU 進行深度學習嗎?

購買 GPU 進行深度學習可以顯著提高培訓速度和效率,使其成為嚴肅專案的值得投資。然而,該決定應考慮預算、具體用例以及雲端解決方案是否更具成本效益等因素。

哪個 GPU 最適合深度學習?

NVIDIA A100 通常被認為是深度學習的首選,為大型型號提供卓越的性能和記憶體。對於注重預算的用戶,NVIDIA RTX 3090 為有效訓練模型提供了強大的功能。

AMD 還是 NVIDIA 更適合深度學習?

NVIDIA 因其強大的軟體生態系統而成為深度學習的首選,該生態系統增強了效能以及與流行框架的兼容性。儘管 AMD GPU 有所改進,但它們在優化和深度學習應用程式支援方面仍然落後於 NVIDIA。

GPU 對 NLP 有幫助嗎?

是的,GPU 透過有效處理平行計算,顯著加速自然語言處理(NLP)中的神經網路訓練。這種速度提升可以實現更快的實驗和迭代,從而提高模型效能並減少訓練時間。

更引人入勝的讀物正在等待著

什麼是本地語音辨識?

什麼是本地語音辨識?

September 19, 2024

評估翻譯系統中的統計意義

評估翻譯系統中的統計意義

September 10, 2024

法律與合規機器翻譯

法律與合規機器翻譯

August 23, 2024

聯繫支持

* 必填字段

透過提交此表格,我同意服務條款和隱私權政策將分別管轄我收到的服務和我提供的個人資料的使用。

電子郵件

完全的

您的請求已成功發送

×