เกณฑ์มาตรฐาน gpu การเรียนรู้เชิงลึก

เรากําลังฝึกอบรมโมเดลภาษาสําหรับงานของเราอย่างต่อเนื่อง ทีมงานของเราใช้การ์ดวิดีโอที่แตกต่างกันหลายสิบใบที่เลือกสําหรับงานที่แตกต่างกัน: ที่ไหนสักแห่งที่เราต้องการสถานี DGX ที่ทรงพลัง และบางแห่งการ์ดเกมเก่าเช่น RTX 2080Ti ก็เพียงพอแล้ว การเลือก GPU ที่เหมาะสมที่สุดสําหรับการฝึกแบบจําลองอาจส่งผลกระทบอย่างมากต่อทั้งความเร็วและความคุ้มค่าของกระบวนการ

สิ่งที่น่าสนใจคือมีบทความบนอินเทอร์เน็ตค่อนข้างน้อยที่มีการเปรียบเทียบ GPU สําหรับการเรียนรู้ของเครื่อง แต่มีเพียงไม่กี่บทความที่เน้นเรื่องความเร็วสําหรับการฝึกอบรมโมเดลภาษา ส่วนใหญ่จะพบเฉพาะการทดสอบการอนุมานเท่านั้น เมื่อชิป H100 ใหม่เปิดตัว รายงานของ NVidia ระบุว่าในการฝึกซ้อมเร็วกว่า A100 ถึงเก้าเท่า แต่สําหรับงานของเรา การ์ดใหม่เร็วกว่าการ์ดเก่าเพียง 90% เท่านั้น จากการเปรียบเทียบ ผู้ให้บริการคลาวด์ของเรามีราคาที่แตกต่างกัน 2 เท่าระหว่าง GPU เหล่านี้ ดังนั้นจึงไม่มีประโยชน์ที่จะเปลี่ยนมาใช้ H100 ใหม่เพื่อประหยัดเงิน

นอกจากนั้น เรายังทําการทดสอบสถานี DGX ซึ่งประกอบด้วยการ์ดกราฟิก A100 80GB จํานวน 8 ใบ และราคา 10,000 ดอลลาร์ต่อเดือน หลังจากการทดสอบ เห็นได้ชัดว่าอัตราส่วนราคา/ประสิทธิภาพของสถานีนี้ไม่เหมาะกับเราเลย และสําหรับเงินจํานวนนี้ เราสามารถใช้ 66 x RTX 3090 ซึ่งโดยรวมแล้วจะมีประโยชน์มากกว่ามาก

โมเดลภาษาการแปลของเรามีพารามิเตอร์มากถึง 500 ล้านพารามิเตอร์ (โดยเฉลี่ย 100 ล้านถึง 300 ล้าน) เป็นไปได้ว่าหากเราเพิ่มจํานวนพารามิเตอร์อย่างมีนัยสําคัญ อัตราส่วนราคา/ประสิทธิภาพของ DGX จะดีขึ้น ปัจจุบันเราไม่ได้ฝึกโมเดลภาษาขนาดใหญ่ที่สามารถแปลระหว่างทุกภาษาได้ในทุกรูปแบบในคราวเดียวแต่ใช้โมเดลภาษาแยกกันในแต่ละคู่ภาษา เช่น อังกฤษ-เยอรมัน แต่ละรุ่นดังกล่าวมีความเร็วตั้งแต่ 120 ถึง 300 Mb

เป็นที่น่าสังเกตว่าภาษาต่างๆ มีข้อมูลบนอินเทอร์เน็ตในปริมาณที่แตกต่างกัน และในขณะเดียวกัน ตัวอย่างเช่น สําหรับภาษาสเปน คุณสามารถค้นหาประโยคพร้อมคําแปลได้ 500 ล้านประโยค แต่เมื่อฝึกอบรมโมเดลสําหรับภาษาที่หายากเช่นทิเบต คุณต้องเลือก GPU เฉพาะสําหรับงานแมชชีนเลิร์นนิงตามข้อมูลที่มีอยู่ ในการสร้างโมเดลการแปลจากภาษาอังกฤษเป็นภาษาสเปน เราใช้เซิร์ฟเวอร์ที่มี RAM 4 x RTX 4500 และ 256GB ในเวลาเดียวกัน ภาษาทิเบตสามารถฝึกบน RTX 2080 Ti ด้วย RAM ขนาด 16GB ได้ เนื่องจากไม่สมเหตุสมผลที่จะเพิ่มความซับซ้อนของโครงข่ายประสาทเทียม และด้วยเหตุนี้ จึงต้องใช้เซิร์ฟเวอร์ที่ทรงพลังยิ่งขึ้นพร้อมข้อมูลจํานวนเล็กน้อย

การเลือกโปรเซสเซอร์กราฟิกและตัวเลขทางทฤษฎี

การฝึกอบรมโมเดลภาษาเกิดขึ้นบนแพลตฟอร์ม Data Studio ภายในของเราโดยใช้เฟรมเวิร์ก OpenNMT-tf ระยะนี้รวมถึงการเตรียมข้อมูล การฝึกอบรมแบบจําลอง และการเปรียบเทียบแบบจําลองด้วยการแปลอ้างอิง การใช้ FP16 แทน FP32 ในระหว่างการฝึกอบรมทําให้เราสามารถลดเวลาการฝึกอบรมของโมเดลภาษาได้อย่างมาก โดยไม่ทําให้คุณภาพการแปลลดลง แต่ไม่ใช่ว่า GPU ทั้งหมดของเราจะสนับสนุนสิ่งนั้น

เมื่อเลือกโปรเซสเซอร์กราฟิก ถือเป็นมาตรฐานในการพิจารณาตัวชี้วัดต่างๆ เช่น กําลังการประมวลผล (TFLOPS) หน่วยความจําวิดีโอ (VRAM) ผลลัพธ์การวัดประสิทธิภาพ GPU การสนับสนุนไลบรารีและเฟรมเวิร์ก งบประมาณ และปัจจัยอื่นๆ (ขนาดและฟอร์มแฟคเตอร์ของการ์ดกราฟิก ความต้องการพลังงาน การระบายความร้อน และความเข้ากันได้กับระบบของคุณ) เมื่อฝึกอบรมโมเดลการสร้างข้อความ คุณควรจําไว้ว่าภาษาที่แตกต่างกันจะใช้ทรัพยากรในปริมาณที่แตกต่างกัน ตัวอย่างเช่น 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

โมเดลเหล่านี้ได้รับการฝึกฝนโดยใช้ชุด GPU จํานวน 18 ตัว ในกระบวนการฝึกอบรมโครงข่ายประสาทเทียม เราใช้คู่ภาษามากมาย (มากกว่าร้อยภาษา) การทดสอบ GPU ได้ช่วยระบุว่าฮาร์ดแวร์ใดทํางานได้ดีที่สุดสําหรับงานเฉพาะ ในระหว่างการฝึกอบรมคู่ภาษาของเราพารามิเตอร์โครงข่ายประสาทเทียมต่อไปนี้ถูกนํามาใช้เป็นพื้นฐาน:
 

  • ขนาด Vocab = 30 000
  • จํานวนหน่วย = 768
  • เลเยอร์ = 6
  • หัว = 16
  • มิติภายใน = 4 096


ก่อนอื่น เรามาอธิบายลักษณะ GPU ที่เป็นของกลุ่มแรกตามตารางที่ 1 กัน เวลาเป็นนาทีและวินาทีที่ใช้ในการฝึกแบบจําลองด้วยความเร็วประมาณ 1,000 ขั้น และขนาดชุดคูณ 100,000 หน่วย จะถูกนํามาใช้เป็นพื้นฐานในการเปรียบเทียบตัวบ่งชี้

เราเน้นย้ําว่าสําหรับกลุ่มแรก การวัดความเร็วจะดําเนินการโดยใช้ การจัดตําแหน่ง กลไกและการใช้งานเท่านั้น FP32● หากไม่ได้ใช้กลไกนี้ ความเร็วในการเรียนรู้บนเซิร์ฟเวอร์บางเครื่องอาจเร็วขึ้นมาก

กลไกการจัดตําแหน่งช่วยให้สามารถจับคู่สตริงย่อยในฐานและข้อความที่แปลได้ จําเป็นต้องแปลข้อความที่จัดรูปแบบ เช่น หน้าเว็บ เมื่อสตริงย่อยในประโยคอาจถูกเน้นด้วยแบบอักษรอื่น และควรแปลด้วยการเน้น

โดยคํานึงถึงพารามิเตอร์ที่กล่าวถึงข้างต้นของโครงข่ายประสาทเทียมเวลาที่ดีที่สุดจากตารางแรกแสดงโดย GPU Nvidia H100 ด้วยเวลาการเรียนรู้ 22 นาที, และเวลากลางแสดงโดย GPU ของแบรนด์เดียวกัน GeForce RTX 4060 Ti ด้วยเวลาการเรียนรู้ 72 นาที และอันดับสุดท้ายคือ GPU Tesla V100-SXM 2 ด้วยเวลาการเรียนรู้ 140 นาที

นอกจากนี้ยังมีการ์ด Nvidia A10 แปดใบในการทดสอบ GPU ที่มีช่วงการเรียนรู้ 20 นาที 28 วินาที การ์ด Nvidia A40 สองใบที่มีเวลา 56 นาที และการ์ด Tesla V100-SXM สองใบที่โอเวอร์คล็อกในเวลา 86 นาที การใช้การ์ดหลายใบในชุด 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 จากตารางนี้แล้วเราสามารถพูดได้ว่าอันดับที่หนึ่งเป็นของ GPU ซีรีส์ RTX A4500 ด้วยเวลาฝึก 31 นาที แต่ควรเน้นย้ําว่าความเร็วของโมเดลการฝึกดังกล่าวได้มาจาก เพิ่มจํานวนหน่วยของ GPU ที่ใช้แล้วเป็น 4 หากไม่คํานึงถึงข้อเท็จจริงนี้ ความเร็วในการฝึกซ้อมของ GPU ดังกล่าวจะสูงขึ้นมาก ซึ่งจะจัดให้อยู่ในตําแหน่งสุดท้ายในตารางสุดท้าย

GPU ซีรีส์ Quadro RTX 6000 ที่มีเวลาเรียนรู้ 47 นาทีอยู่ในอันดับที่สอง ควรสังเกตว่าความเร็วการฝึกดังกล่าวถูกกําหนดเงื่อนไขผกผันด้วยจํานวนหน่วยของโปรเซสเซอร์ที่ใช้ ซึ่งเท่ากับสี่ การใช้ GPU ดังกล่าวเพียงตัวเดียวจะทําให้สูญเสียความเร็วประมาณ 3.2 เท่า และด้วยเหตุนี้จึงใช้เวลาประมาณ 153 นาทีและอยู่ในอันดับที่สุดท้าย

บรรทัดที่สามถ่ายโดย GPU ซีรีส์ TITAN RTX ด้วยเวลา 75 นาที 85 วินาที คะแนนความเร็วในการเรียนรู้นี้เกิดจากการใช้โปรเซสเซอร์ 2 ตัว ซึ่งทําให้เวลาในการฝึกของโมเดลลดลง

ผู้นําอย่างไม่ต้องสงสัยในแง่ของความเร็วในการฝึกซ้อมในจํานวนหนึ่งหน่วยจะเป็น GPU ซีรีส์ GeForce RTX 3090 ด้วยเวลา 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 จากตารางที่แล้ว เราสามารถพูดได้ว่าเวลาการฝึกของโครงข่ายประสาทเทียมลดลงเกือบสองเท่า จากผลการวัดประสิทธิภาพ เราสามารถสังเกตได้จากเกณฑ์มาตรฐาน GPU การเรียนรู้ของเครื่องในตารางที่ 4 ว่าตําแหน่งของ GPU ยังคงไม่เปลี่ยนแปลงส่วนใหญ่ การ์ดซีรีส์ Quadro RTX 6000 ขยับขึ้นจากอันดับที่ 5 มาอยู่ที่อันดับที่ 6 โดยเอาชนะ 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

คําถามที่พบบ่อย (FAQ)

การซื้อ 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

ติดต่อเรา

0/250
* ระบุช่องที่จำเป็น

ความเป็นส่วนตัวของคุณมีความสำคัญสูงสุดสำหรับเรา ข้อมูลของคุณจะถูกใช้เฉพาะเพื่อจุดประสงค์ในการติดต่อเท่านั้น

อีเมล

สมบูรณ์

คำขอของคุณถูกส่งเรียบร้อยแล้ว

× 
Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.

We also use third-party cookies that help us analyze how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.

You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Always Active

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Always Active

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Always Active

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Always Active

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.