เร่งสปีดเทรนโมเดล LLM ด้วย NVFP4 บน NVIDIA Blackwell: เร็วกว่าเดิม 1.7 เท่า โดยไม่เสียความแม่นยำ

การเทรนโมเดลภาษาขนาดใหญ่ (LLM) ให้ถึงระดับแนวหน้า (Frontier LLMs) นั้น หัวใจสำคัญอยู่ที่ Throughput หรือปริมาณงานที่ประมวลผลได้ต่อหน่วยเวลา เมื่อการเทรนต้องใช้โทเค็นจำนวนมหาศาลหลายล้านล้านโทเค็น และกระจายไปบนเซิร์ฟเวอร์ประมวลผล (Accelerators) นับพันเครื่อง ทุกเสี้ยววินาทีที่ประหยัดได้จากการปรับปรุงประสิทธิภาพการเทรน สามารถส่งผลให้ประหยัดเวลาได้หลายวัน และลดค่าใช้จ่ายด้านการประมวลผลได้อย่างมหาศาล

หนึ่งในปัจจัยสำคัญที่ส่งผลต่อ Throughput คือ ความแม่นยำของตัวเลข (Numerical Precision) แม้ว่าการใช้ Mixed-Precision ที่มีความละเอียดต่ำ (Low-bit Mixed-Precision) จะเป็นเครื่องมือที่มีประสิทธิภาพสูง แต่การทำให้การเทรนโมเดลด้วยความละเอียดต่ำนั้นถูกต้องและได้ผลลัพธ์ที่ดีก็เป็นเรื่องที่ท้าทาย

เพื่อตอบโจทย์นี้ NVIDIA ได้พัฒนา NVFP4 ซึ่งเป็นสูตรการเทรน (Training Recipe) ที่ใช้ความละเอียดระดับ Subbyte 4 บิต สำหรับการ Pre-training บนแพลตฟอร์ม JAX โดยผสานรวมเข้ากับ MaxText ซึ่งเป็นเฟรมเวิร์กไลบรารีประสิทธิภาพสูงและปรับขนาดได้สำหรับ LLM ผลลัพธ์ที่ได้คือการ Pre-training แบบ Mixed-Precision 4 บิต ที่ให้ Throughput สูงบน NVIDIA Blackwell โดยไม่มีการสูญเสียความแม่นยำเมื่อเทียบกับ FP8 Baseline

บทความนี้จะเจาะลึกถึงรูปแบบของ NVFP4, วิธีการที่ทำให้ได้ประสิทธิภาพสูงและความแม่นยำที่ยอดเยี่ยมแม้จะใช้ความละเอียดต่ำพิเศษ พร้อมสาธิตวิธีการใช้งานสูตรการเทรน NVFP4 ใน MaxText และการเก็บข้อมูลประสิทธิภาพที่แสดงให้เห็นถึงความก้าวหน้า

NVFP4 คืออะไร? ทำไมถึงทรงพลัง?

NVFP4 เป็นรูปแบบการเข้ารหัสตัวเลขที่มีความละเอียดต่ำพิเศษ (Subbyte Precision) ที่ออกแบบมาเพื่อเพิ่ม Throughput ในการเทรนโมเดล AI โดยเฉพาะบนแพลตฟอร์ม NVIDIA Blackwell และ Rubin

ประโยชน์หลักของ NVFP4:

  • Throughput สูง: บนชิป NVIDIA GB300 Grace Blackwell Ultra Superchip รองรับการประมวลผล GEMM (General Matrix Multiply) ที่ให้ Throughput สูงกว่า FP8 Native ถึง 7 เท่า
  • ลดเวลาเทรน: เมื่อรวมกับสูตรการเทรน NVFP4 จะช่วยลดเวลาในแต่ละ Step การเทรนได้อย่างมีนัยสำคัญ
  • รักษาความแม่นยำ: การออกแบบสูตรการเทรนช่วยให้มั่นใจได้ว่าความแม่นยำของโมเดลจะไม่ลดลงอย่างมีนัยสำคัญเมื่อเทียบกับ Baseline ที่ใช้ความละเอียดสูงกว่า
  • ประหยัดต้นทุน: การเทรนที่เร็วขึ้นและใช้ทรัพยากรอย่างมีประสิทธิภาพมากขึ้น ส่งผลให้ลดค่าใช้จ่ายด้านการประมวลผลลงได้อย่างมาก

สูตรการเทรน NVFP4: 5 ส่วนผสมลับสู่ความสำเร็จ

สูตรการเทรน NVFP4 ใน MaxText ใช้เทคนิคสำคัญหลายประการเพื่อรักษาความแม่นยำในการเทรน LLM ขนาดใหญ่ ในขณะเดียวกันก็ปลดล็อกศักยภาพ Throughput ของแพลตฟอร์ม NVIDIA Blackwell และ Rubin เทคนิคเหล่านี้ถูกคัดเลือกมาอย่างดีเพื่อประสิทธิภาพและความแม่นยำสูงสุด

5 ส่วนผสมหลักที่ทำงานร่วมกันเพื่อรักษาความแม่นยำในการเทรน 4 บิต:

  1. Micro Block Scaling (16-element blocks): ใช้การแบ่งบล็อกข้อมูลขนาด 16 องค์ประกอบ ซึ่งเล็กกว่า 32 องค์ประกอบของ MXFP4 ทำให้ค่า Outlier เพียงค่าเดียวมีผลต่อ Scale ที่ใช้ร่วมกันน้อยลง
  2. E4M3 Block Scale Factors: ใช้ Mantissa Bits ในการ Scale แทน E8M0 Scaling แบบ MXFP4 โดยวางซ้อนไว้ใต้ Per-tensor FP32 scale ซึ่งช่วยให้ MXFP4 ต้องการโทเค็นมากกว่าถึง 36% เพื่อให้ได้ Final Loss เท่ากับ NVFP4 ในการทดลอง 8B-parameter, 1T token
  3. Random Hadamard Transform (RHT): ใช้กับอินพุต GEMM ของ WGRAD (Weight Gradient) เท่านั้น เพื่อช่วยปรับการกระจายของ Outlier ให้เป็นแบบ Gaussian ซึ่งจะข้ามการใช้กับ FPROP และ DGRAD เพื่อรักษาความสอดคล้องของ 2D-scale
  4. 2D Weight Scaling: ใช้ Scale แบบ FP8 หนึ่งค่าต่อบล็อกน้ำหนักขนาด 16x16 เพื่อให้ FPROP และ DGRAD ที่เป็น Transpose ใช้ Scale เดียวกัน ส่วน Activation และ Gradients จะใช้ Scaling ที่มี Overhead ต่ำกว่าแบบ 1x16
  5. Stochastic Rounding (SR): ใช้การปัดเศษแบบ Unbiased เพื่อให้แน่ใจว่าการอัปเดตค่าน้ำหนักที่เล็กน้อยจะไม่ถูกปัดเป็นศูนย์ ในขณะที่น้ำหนักและ Activation จะยังคงใช้การปัดเศษแบบ Round-to-Nearest-Even ซึ่ง SR จะช่วยขยายข้อผิดพลาดได้

![NVFP4 Data Flow Diagram](ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/wp-content/uploads/2024/06/image-4-1024x552.png)
ภาพแสดง Data Flow ของ NVFP4 ภายใน Linear Layer หนึ่ง

การประยุกต์ใช้ NVFP4 ใน Transformer Layers

  • MLP Layers: การประมวลผล GEMM ทั้งสามส่วน (FPROP, DGRAD, WGRAD) ใน MLP (Multi-Layer Perceptron) หรือ Feed-Forward Network ของ Transformer จะถูก Quantize เป็น NVFP4 โดยตรง โดยอินพุตจะเป็น NVFP4 และเอาต์พุตจะเป็น BF16 ซึ่งสุดท้ายจะถูกรวมเข้ากับ Master Weight แบบ FP32 ใน Optimizer Step
  • Attention Blocks: ในส่วนของ Attention Block (เช่น QKV Projection, Attention Output Projection, Score/Context Matmuls) จะยังคงใช้ความละเอียดที่สูงกว่า เพื่อหลีกเลี่ยงปัญหาการขยาย Noise จากการ Quantize ใน Softmax และเพื่อรองรับ Activation ที่มีความเข้มข้นของ Outlier สูง ซึ่งความละเอียด 4 บิต อาจไม่สามารถแสดงผลได้อย่างเหมาะสม

การเลือกใช้ NVFP4 กับ MLP Layers เป็นหลัก เนื่องจาก MLP คิดเป็นสัดส่วน FLOPs (Floating Point Operations) ส่วนใหญ่ในการเทรน จึงสามารถเก็บเกี่ยวความเร็วที่เพิ่มขึ้นได้อย่างเต็มที่ โดยไม่เสี่ยงต่อการลู่เข้า (Convergence) ของโมเดล

เปิดใช้งาน NVFP4 ใน MaxText

สูตรการเทรน NVFP4 พร้อมใช้งานแล้วใน GitHub Repository ของ JAX-Toolbox และ MaxText โดยมีสคริปต์ตัวอย่างสำหรับการเทรน Llama 3 8B ด้วย NVFP4 บนแพลตฟอร์ม Blackwell

วิธีเปิดใช้งาน:

เพียงตั้งค่า Flag การ Quantize ใน MaxText ให้เป็นหนึ่งในสองโหมดต่อไปนี้:

  • quantization=tenvfp4: แนะนำ ใช้ NVFP4 พร้อม Random Hadamard Transform (RHT) หากการลู่เข้าด้วย tenvfp4norht ยังไม่น่าพอใจ
  • quantization=tenvfp4no_rht: NVFP4 แบบไม่มี RHT ให้ Overhead ต่ำที่สุด แต่อาจส่งผลต่อคุณภาพการลู่เข้า

ขั้นตอนการรัน:

  1. ดึง Container ของ MaxText (แนะนำ ghcr.io/nvidia/jax:maxtext) ซึ่งมี JAX, NVIDIA Transformer Engine, และไลบรารี NVIDIA CUDA/cuDNN ที่จำเป็น ติดตั้งอยู่
  2. รันสคริปต์ตัวอย่าง nvfp4_example.sh จาก Root ของ Repository

หลังจากรัน MaxText จะแสดงผล Step Time, TFLOP/s/device, และ Tokens/s/device รวมถึงสร้าง Nsight Systems trace เพื่อให้ตรวจสอบรายละเอียดได้

หากต้องการสร้าง FP8 Baseline สำหรับการเปรียบเทียบ ให้รันสคริปต์เดียวกันโดยใช้ quantization=tefp8delayedscaling

ผลลัพธ์ที่น่าทึ่ง: ประสิทธิภาพที่เพิ่มขึ้นอย่างก้าวกระโดด

การทดสอบประสิทธิภาพการเทรน MaxText บน Llama 3 8B ด้วย FSDP=4, Sequence Length 8,192, Per-device Batch Size 4 เป็นเวลา 50 Steps บน Container ghcr.io/nvidia/jax:maxtext แสดงให้เห็นถึงความแตกต่างที่ชัดเจน

| การกำหนดค่า | Llama 3 8B (GB200) | Llama 3 8B (GB300) | Llama 3.1 405B (GB200) | Llama 3.1 405B (GB300) |
| :-------------------------- | :----------------- | :----------------- | :--------------------- | :--------------------- |
| NVFP4 Speedup vs FP8 | 1.31x | 1.39x | 1.44x | 1.73x |

กราฟแสดง TFLOP/s ต่อ GPU:

![Per-GPU Sustained TFLOPs](ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/wp-content/uploads/2024/06/image-3.png)

NVFP4 สามารถเพิ่มประสิทธิภาพเฉลี่ยต่อ GPU ได้ถึง 500–700 TF/s ในทุกการกำหนดค่า โดยมีอัตราเร่ง 1.31–1.73 เท่า เมื่อเทียบกับ FP8 Baseline โดยที่ยังคง Model, Hyperparameters, Parallelism, และ Global Batch Size ไว้เหมือนเดิม

อัตราเร่งที่สูงที่สุดพบใน Configuration 405B (1.44x บน GB200, 1.73x บน GB300) ซึ่งส่วนหนึ่งมาจากการที่ GEMM Mass ในแต่ละ Step มีสัดส่วนที่สูงกว่า Overhead ของ FSDP Collective ทำให้ความเร็วที่ได้จากการปรับปรุง Precision ส่งผลโดยตรงต่อเวลาที่ใช้จริง (Wall-clock time)

กราฟแสดง Llama 3 8B Training Loss:

![Llama 3 8B Training Loss Comparison](ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/wp-content/uploads/2024/06/image-2.png)

จากการทดลองเทรน Llama 3 8B เป็นเวลา 10,000 Steps โดยใช้ Hyperparameters เหมือนกันทุกประการ พบว่าทั้ง FP8 Baseline และ NVFP4 ต่างก็ลู่เข้าสู่เส้นโค้งเดียวกัน โดยมีค่า Final Loss ใกล้เคียงกันมาก (ต่างกันเพียง +0.026 nats ในช่วง Converged Regime) ซึ่งแสดงให้เห็นว่าการเร่งความเร็วด้วย NVFP4 นั้น มาพร้อมกับความแม่นยำที่ไม่ลดลงอย่างมีนัยสำคัญ

เริ่มต้นใช้งาน NVFP4

เพียงดึง MaxText Container และรันสคริปต์ nvfp4_example.sh บนแพลตฟอร์ม Blackwell คุณก็สามารถสัมผัสประสบการณ์การเทรนโมเดลที่เร็วขึ้นได้อย่างมหาศาล

ขอขอบคุณ Jaroslav Sevcik, Ilia Sergachev, Johannes Reifferscheid, Phuong Nguyen, และ Jeremy Berchtold สำหรับการมีส่วนร่วมในการพัฒนา NVFP4 บน JAX, XLA, และ TE

#NVIDIA #JAX #MaxText #LLM #AI #DeepLearning #NVFP4

ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/train-models-faster-with-jax-and-maxtext-using-nvfp4-on-nvidia-blackwell/

เร่งสปีดเทรนโมเดล LLM ด้วย NVFP4 บน NVIDIA Blackwell: เร็วกว่าเดิม 1.7 เท่า โดยไม่เสียความแม่นยำการเทรนโมเดลภาษาขนาดใหญ่ (LLM) ให้ถึงระดับแนวหน้า (Frontier LLMs) นั้น หัวใจสำคัญอยู่ที่ Throughput หรือปริมาณงานที่ประมวลผลได้ต่อหน่วยเวลา เมื่อการเทรนต้องใช้โทเค็นจำนวนมหาศาลหลายล้านล้านโทเค็น และกระจายไปบนเซิร์ฟเวอร์ประมวลผล (Accelerators) นับพันเครื่อง ทุกเสี้ยววินาทีที่ประหยัดได้จากการปรับปรุงประสิทธิภาพการเทรน สามารถส่งผลให้ประหยัดเวลาได้หลายวัน และลดค่าใช้จ่ายด้านการประมวลผลได้อย่างมหาศาลหนึ่งในปัจจัยสำคัญที่ส่งผลต่อ Throughput คือ ความแม่นยำของตัวเลข (Numerical Precision) แม้ว่าการใช้ Mixed-Precision ที่มีความละเอียดต่ำ (Low-bit Mixed-Precision) จะเป็นเครื่องมือที่มีประสิทธิภาพสูง แต่การทำให้การเทรนโมเดลด้วยความละเอียดต่ำนั้นถูกต้องและได้ผลลัพธ์ที่ดีก็เป็นเรื่องที่ท้าทายเพื่อตอบโจทย์นี้ NVIDIA ได้พัฒนา NVFP4 ซึ่งเป็นสูตรการเทรน (Training Recipe) ที่ใช้ความละเอียดระดับ Subbyte 4 บิต สำหรับการ Pre-training บนแพลตฟอร์ม JAX โดยผสานรวมเข้ากับ MaxText ซึ่งเป็นเฟรมเวิร์กไลบรารีประสิทธิภาพสูงและปรับขนาดได้สำหรับ LLM ผลลัพธ์ที่ได้คือการ Pre-training แบบ Mixed-Precision 4 บิต ที่ให้ Throughput สูงบน NVIDIA Blackwell โดยไม่มีการสูญเสียความแม่นยำเมื่อเทียบกับ FP8 Baselineบทความนี้จะเจาะลึกถึงรูปแบบของ NVFP4, วิธีการที่ทำให้ได้ประสิทธิภาพสูงและความแม่นยำที่ยอดเยี่ยมแม้จะใช้ความละเอียดต่ำพิเศษ พร้อมสาธิตวิธีการใช้งานสูตรการเทรน NVFP4 ใน MaxText และการเก็บข้อมูลประสิทธิภาพที่แสดงให้เห็นถึงความก้าวหน้าNVFP4 คืออะไร? ทำไมถึงทรงพลัง?NVFP4 เป็นรูปแบบการเข้ารหัสตัวเลขที่มีความละเอียดต่ำพิเศษ (Subbyte Precision) ที่ออกแบบมาเพื่อเพิ่ม Throughput ในการเทรนโมเดล AI โดยเฉพาะบนแพลตฟอร์ม NVIDIA Blackwell และ Rubinประโยชน์หลักของ NVFP4:Throughput สูง: บนชิป NVIDIA GB300 Grace Blackwell Ultra Superchip รองรับการประมวลผล GEMM (General Matrix Multiply) ที่ให้ Throughput สูงกว่า FP8 Native ถึง 7 เท่าลดเวลาเทรน: เมื่อรวมกับสูตรการเทรน NVFP4 จะช่วยลดเวลาในแต่ละ Step การเทรนได้อย่างมีนัยสำคัญรักษาความแม่นยำ: การออกแบบสูตรการเทรนช่วยให้มั่นใจได้ว่าความแม่นยำของโมเดลจะไม่ลดลงอย่างมีนัยสำคัญเมื่อเทียบกับ Baseline ที่ใช้ความละเอียดสูงกว่าประหยัดต้นทุน: การเทรนที่เร็วขึ้นและใช้ทรัพยากรอย่างมีประสิทธิภาพมากขึ้น ส่งผลให้ลดค่าใช้จ่ายด้านการประมวลผลลงได้อย่างมากสูตรการเทรน NVFP4: 5 ส่วนผสมลับสู่ความสำเร็จสูตรการเทรน NVFP4 ใน MaxText ใช้เทคนิคสำคัญหลายประการเพื่อรักษาความแม่นยำในการเทรน LLM ขนาดใหญ่ ในขณะเดียวกันก็ปลดล็อกศักยภาพ Throughput ของแพลตฟอร์ม NVIDIA Blackwell และ Rubin เทคนิคเหล่านี้ถูกคัดเลือกมาอย่างดีเพื่อประสิทธิภาพและความแม่นยำสูงสุด5 ส่วนผสมหลักที่ทำงานร่วมกันเพื่อรักษาความแม่นยำในการเทรน 4 บิต:Micro Block Scaling (16-element blocks): ใช้การแบ่งบล็อกข้อมูลขนาด 16 องค์ประกอบ ซึ่งเล็กกว่า 32 องค์ประกอบของ MXFP4 ทำให้ค่า Outlier เพียงค่าเดียวมีผลต่อ Scale ที่ใช้ร่วมกันน้อยลงE4M3 Block Scale Factors: ใช้ Mantissa Bits ในการ Scale แทน E8M0 Scaling แบบ MXFP4 โดยวางซ้อนไว้ใต้ Per-tensor FP32 scale ซึ่งช่วยให้ MXFP4 ต้องการโทเค็นมากกว่าถึง 36% เพื่อให้ได้ Final Loss เท่ากับ NVFP4 ในการทดลอง 8B-parameter, 1T tokenRandom Hadamard Transform (RHT): ใช้กับอินพุต GEMM ของ WGRAD (Weight Gradient) เท่านั้น เพื่อช่วยปรับการกระจายของ Outlier ให้เป็นแบบ Gaussian ซึ่งจะข้ามการใช้กับ FPROP และ DGRAD เพื่อรักษาความสอดคล้องของ 2D-scale2D Weight Scaling: ใช้ Scale แบบ FP8 หนึ่งค่าต่อบล็อกน้ำหนักขนาด 16x16 เพื่อให้ FPROP และ DGRAD ที่เป็น Transpose ใช้ Scale เดียวกัน ส่วน Activation และ Gradients จะใช้ Scaling ที่มี Overhead ต่ำกว่าแบบ 1x16Stochastic Rounding (SR): ใช้การปัดเศษแบบ Unbiased เพื่อให้แน่ใจว่าการอัปเดตค่าน้ำหนักที่เล็กน้อยจะไม่ถูกปัดเป็นศูนย์ ในขณะที่น้ำหนักและ Activation จะยังคงใช้การปัดเศษแบบ Round-to-Nearest-Even ซึ่ง SR จะช่วยขยายข้อผิดพลาดได้![NVFP4 Data Flow Diagram](https://developer.nvidia.com/blog/wp-content/uploads/2024/06/image-4-1024x552.png)ภาพแสดง Data Flow ของ NVFP4 ภายใน Linear Layer หนึ่งการประยุกต์ใช้ NVFP4 ใน Transformer LayersMLP Layers: การประมวลผล GEMM ทั้งสามส่วน (FPROP, DGRAD, WGRAD) ใน MLP (Multi-Layer Perceptron) หรือ Feed-Forward Network ของ Transformer จะถูก Quantize เป็น NVFP4 โดยตรง โดยอินพุตจะเป็น NVFP4 และเอาต์พุตจะเป็น BF16 ซึ่งสุดท้ายจะถูกรวมเข้ากับ Master Weight แบบ FP32 ใน Optimizer StepAttention Blocks: ในส่วนของ Attention Block (เช่น QKV Projection, Attention Output Projection, Score/Context Matmuls) จะยังคงใช้ความละเอียดที่สูงกว่า เพื่อหลีกเลี่ยงปัญหาการขยาย Noise จากการ Quantize ใน Softmax และเพื่อรองรับ Activation ที่มีความเข้มข้นของ Outlier สูง ซึ่งความละเอียด 4 บิต อาจไม่สามารถแสดงผลได้อย่างเหมาะสมการเลือกใช้ NVFP4 กับ MLP Layers เป็นหลัก เนื่องจาก MLP คิดเป็นสัดส่วน FLOPs (Floating Point Operations) ส่วนใหญ่ในการเทรน จึงสามารถเก็บเกี่ยวความเร็วที่เพิ่มขึ้นได้อย่างเต็มที่ โดยไม่เสี่ยงต่อการลู่เข้า (Convergence) ของโมเดลเปิดใช้งาน NVFP4 ใน MaxTextสูตรการเทรน NVFP4 พร้อมใช้งานแล้วใน GitHub Repository ของ JAX-Toolbox และ MaxText โดยมีสคริปต์ตัวอย่างสำหรับการเทรน Llama 3 8B ด้วย NVFP4 บนแพลตฟอร์ม Blackwellวิธีเปิดใช้งาน:เพียงตั้งค่า Flag การ Quantize ใน MaxText ให้เป็นหนึ่งในสองโหมดต่อไปนี้:quantization=tenvfp4: แนะนำ ใช้ NVFP4 พร้อม Random Hadamard Transform (RHT) หากการลู่เข้าด้วย tenvfp4norht ยังไม่น่าพอใจquantization=tenvfp4no_rht: NVFP4 แบบไม่มี RHT ให้ Overhead ต่ำที่สุด แต่อาจส่งผลต่อคุณภาพการลู่เข้าขั้นตอนการรัน:ดึง Container ของ MaxText (แนะนำ ghcr.io/nvidia/jax:maxtext) ซึ่งมี JAX, NVIDIA Transformer Engine, และไลบรารี NVIDIA CUDA/cuDNN ที่จำเป็น ติดตั้งอยู่รันสคริปต์ตัวอย่าง nvfp4_example.sh จาก Root ของ Repositoryหลังจากรัน MaxText จะแสดงผล Step Time, TFLOP/s/device, และ Tokens/s/device รวมถึงสร้าง Nsight Systems trace เพื่อให้ตรวจสอบรายละเอียดได้หากต้องการสร้าง FP8 Baseline สำหรับการเปรียบเทียบ ให้รันสคริปต์เดียวกันโดยใช้ quantization=tefp8delayedscalingผลลัพธ์ที่น่าทึ่ง: ประสิทธิภาพที่เพิ่มขึ้นอย่างก้าวกระโดดการทดสอบประสิทธิภาพการเทรน MaxText บน Llama 3 8B ด้วย FSDP=4, Sequence Length 8,192, Per-device Batch Size 4 เป็นเวลา 50 Steps บน Container ghcr.io/nvidia/jax:maxtext แสดงให้เห็นถึงความแตกต่างที่ชัดเจน| การกำหนดค่า | Llama 3 8B (GB200) | Llama 3 8B (GB300) | Llama 3.1 405B (GB200) | Llama 3.1 405B (GB300) || :-------------------------- | :----------------- | :----------------- | :--------------------- | :--------------------- || NVFP4 Speedup vs FP8 | 1.31x | 1.39x | 1.44x | 1.73x |กราฟแสดง TFLOP/s ต่อ GPU:![Per-GPU Sustained TFLOPs](https://developer.nvidia.com/blog/wp-content/uploads/2024/06/image-3.png)NVFP4 สามารถเพิ่มประสิทธิภาพเฉลี่ยต่อ GPU ได้ถึง 500–700 TF/s ในทุกการกำหนดค่า โดยมีอัตราเร่ง 1.31–1.73 เท่า เมื่อเทียบกับ FP8 Baseline โดยที่ยังคง Model, Hyperparameters, Parallelism, และ Global Batch Size ไว้เหมือนเดิมอัตราเร่งที่สูงที่สุดพบใน Configuration 405B (1.44x บน GB200, 1.73x บน GB300) ซึ่งส่วนหนึ่งมาจากการที่ GEMM Mass ในแต่ละ Step มีสัดส่วนที่สูงกว่า Overhead ของ FSDP Collective ทำให้ความเร็วที่ได้จากการปรับปรุง Precision ส่งผลโดยตรงต่อเวลาที่ใช้จริง (Wall-clock time)กราฟแสดง Llama 3 8B Training Loss:![Llama 3 8B Training Loss Comparison](https://developer.nvidia.com/blog/wp-content/uploads/2024/06/image-2.png)จากการทดลองเทรน Llama 3 8B เป็นเวลา 10,000 Steps โดยใช้ Hyperparameters เหมือนกันทุกประการ พบว่าทั้ง FP8 Baseline และ NVFP4 ต่างก็ลู่เข้าสู่เส้นโค้งเดียวกัน โดยมีค่า Final Loss ใกล้เคียงกันมาก (ต่างกันเพียง +0.026 nats ในช่วง Converged Regime) ซึ่งแสดงให้เห็นว่าการเร่งความเร็วด้วย NVFP4 นั้น มาพร้อมกับความแม่นยำที่ไม่ลดลงอย่างมีนัยสำคัญเริ่มต้นใช้งาน NVFP4เพียงดึง MaxText Container และรันสคริปต์ nvfp4_example.sh บนแพลตฟอร์ม Blackwell คุณก็สามารถสัมผัสประสบการณ์การเทรนโมเดลที่เร็วขึ้นได้อย่างมหาศาลขอขอบคุณ Jaroslav Sevcik, Ilia Sergachev, Johannes Reifferscheid, Phuong Nguyen, และ Jeremy Berchtold สำหรับการมีส่วนร่วมในการพัฒนา NVFP4 บน JAX, XLA, และ TE#NVIDIA #JAX #MaxText #LLM #AI #DeepLearning #NVFP4https://developer.nvidia.com/blog/train-models-faster-with-jax-and-maxtext-using-nvfp4-on-nvidia-blackwell/
Shared content
DEVELOPER.NVIDIA.COM
Train Models Faster with JAX and MaxText Using NVFP4 on NVIDIA Blackwell
Pre-training frontier LLMs comes down to throughput. When training spans trillions of tokens across thousands of accelerators, every percentage point of step time can add up to days of training and…
6 التعليقات 0 المشاركات 278 مشاهدة 0 معاينة