การให้บริการโมเดลขนาดใหญ่ GLM-5.3 ข้ามเครื่อง NVIDIA DGX Stations สองเครื่องด้วย vLLM

การรันโมเดลปัญญาประดิษฐ์ขนาดใหญ่ในปัจจุบันมักพบข้อจำกัดเรื่องหน่วยความจำ เนื่องจากโมเดลยุคใหม่มีขนาดพารามิเตอร์ที่มหาศาลจนไม่สามารถโหลดลงในหน่วยความจำ GPU ของเครื่องเดียวได้ บทความนี้จะพาทุกคนไปทำความเข้าใจแนวทางการเชื่อมต่อเครื่อง NVIDIA DGX Stations จำนวนสองเครื่องเข้าด้วยกันผ่านเทคโนโลยี ConnectX-8 RDMA เพื่อให้บริการโมเดล GLM-5.3 ผ่านจุดเชื่อมต่อ (Endpoint) เดียวกันได้อย่างมีประสิทธิภาพ

ทำไมการใช้ GPU เดี่ยวจึงไม่เพียงพอสำหรับโมเดลขนาดใหญ่

โมเดลปัญญาประดิษฐ์ระดับแนวหน้าอย่าง GLM-5.3 NVFP4 ซึ่งเป็นโมเดลประเภท Mixture-of-Experts (MoE) ที่ผ่านการทำ Quantization มีพารามิเตอร์รวมสูงถึง 753,000 ล้านพารามิเตอร์ โดยมีพารามิเตอร์ที่ถูกใช้งานจริงประมาณ 40,000 ล้านพารามิเตอร์ต่อหนึ่งโทเค็น

แม้โครงสร้างแบบ Sparse activation จะช่วยลดภาระการคำนวณลงได้ แต่ตัวโมเดลยังคงต้องเก็บบันทึกน้ำหนัก (Weights) ทั้งหมดให้อยู่ในหน่วยความจำ GPU ตลอดเวลา เนื่องจากแต่ละโทเค็นสามารถถูกส่งไปยังผู้เชี่ยวชาญ (Experts) ที่แตกต่างกันได้ น้ำหนักของโมเดลที่มีขนาดประมาณ 464 GB จึงเกินกว่าความจุ HBM3e ขนาด 252 GB ของ GPU รุ่น GB300 เดี่ยวๆ จะรองรับได้ การใช้เครื่อง DGX Stations สองเครื่องจึงเป็นแนวทางสำคัญในการแก้ปัญหานี้

แนวทางการเตรียมความพร้อมและตั้งค่าระบบ

การดำเนินงานเพื่อให้บริการโมเดลข้ามสองเครื่องต้องอาศัยการเตรียมความพร้อมทั้งด้านฮาร์ดแวร์และซอฟต์แวร์ เพื่อให้การสื่อสารระหว่างเครื่องเป็นไปอย่างราบรื่น

  • การเชื่อมต่อฮาร์ดแวร์: เชื่อมต่อเครื่อง DGX Stations ทั้งสองเครื่องเข้าด้วยกันผ่านระบบเครือข่ายความเร็วสูง พร้อมตรวจสอบความพร้อมของอุปกรณ์และการเชื่อมต่อ RDMA บนเรลที่กำหนด
  • สภาพแวดล้อมซอฟต์แวร์: ติดตั้งระบบปฏิบัติการ Docker และ NVIDIA Container Toolkit บนเครื่องทั้งสองฝั่ง พร้อมจัดเตรียมพื้นที่ว่างบนดิสก์ให้เพียงพอสำหรับไฟล์ชุดน้ำหนัก (Checkpoint) ของโมเดลที่มีขนาดใหญ่
  • การจัดการสิทธิ์การใช้งาน: ผู้ใช้งานจำเป็นต้องยอมรับเงื่อนไขและข้อกำหนดการใช้งานโมเดล รวมถึงการเข้าถึงชุดข้อมูลที่เกี่ยวข้องผ่านแพลตฟอร์มที่กำหนดก่อนเริ่มดาวน์โหลดไฟล์

ขั้นตอนการกระจายบริการโมเดลด้วย vLLM

เมื่อเตรียมความพร้อมของระบบเรียบร้อยแล้ว ขั้นตอนถัดไปคือการกระจายการทำงานออกเป็นสองส่วนหลัก โดยแบ่งบทบาทให้เครื่องหนึ่งทำหน้าที่เป็นศูนย์กลางในการให้บริการ API และอีกเครื่องทำหน้าที่เป็นหน่วยประมวลผลร่วม

  1. การคัดลอกและตรวจสอบชุดข้อมูลน้ำหนัก: ทำการดาวน์โหลดชุดน้ำหนักของโมเดลลงบนเครื่องหลัก ก่อนจะทำการสำเนาไฟล์ไปยังเครื่องที่สอง พร้อมทั้งตรวจสอบความถูกต้องของชื่อไฟล์และขนาดเพื่อให้มั่นใจว่าข้อมูลตรงกันทั้งสองฝั่ง
  2. การเปิดใช้งานระบบบริการแบบกระจาย: กำหนดค่าพารามิเตอร์สำคัญ เช่น ความยาวบริบทสูงสุด (Context ceiling) และสัดส่วนการใช้หน่วยความจำ GPU ผ่านสคริปต์กลาง เพื่อให้ vLLM ทำการแบ่งพาร์ติชันน้ำหนักไปยัง GPU ของแต่ละเครื่องโดยอัตโนมัติ
  3. การเปิดใช้งานฟีเจอร์เสริมประสิทธิภาพ: ระบบสามารถเปิดใช้เทคโนโลยีการทำนายหลายโทเค็น (Multi-token prediction) เพื่อช่วยเพิ่มความเร็วในการสร้างข้อความ รวมถึงการจัดเก็บหน่วยความจำแคชแบบ FP8 และระบบ Prefix caching เพื่อช่วยลดเวลาในการประมวลผลซ้ำ

การตรวจสอบการทำงานและทดสอบความเสถียร

หลังจากระบบเริ่มทำงานเรียบร้อยแล้ว จำเป็นต้องมีการตรวจสอบสถานะการเชื่อมต่อว่าระบบทั้งสองฝั่งสามารถแลกเปลี่ยนข้อมูลกันผ่าน GPU RDMA ได้อย่างถูกต้องสมบูรณ์

การทดสอบส่งคำขอผ่าน OpenAI-compatible API จะช่วยยืนยันว่าระบบสามารถตอบสนองคำสั่งได้อย่างถูกต้อง นอกจากนี้ยังสามารถใช้เครื่องมือวัดประสิทธิภาพการทำงาน เช่น AIPerf เพื่อประเมินอัตราความเร็วในการประมวลผล (Throughput) และระยะเวลาในการตอบสนอง (Latency) ภายใต้ระดับความหนาแน่นของการใช้งานที่แตกต่างกัน เพื่อช่วยให้ผู้ดูแลระบบสามารถปรับแต่งค่าคอนฟิกูเรชันให้เหมาะสมกับภาระงานจริงได้มากที่สุด

สรุปภาพรวมการใช้งาน

การประยุกต์ใช้เครื่อง NVIDIA DGX Stations สองเครื่องร่วมกับซอฟต์แวร์ vLLM ถือเป็นแนวทางที่มีประสิทธิภาพสูงในการก้าวข้ามข้อจำกัดด้านหน่วยความจำของฮาร์ดแวร์เดี่ยว ช่วยให้องค์กรสามารถรันโมเดลปัญญาประดิษฐ์ขนาดใหญ่ระดับหลายแสนล้านพารามิเตอร์ในสภาพแวดล้อมภายในองค์กรได้อย่างราบรื่น พร้อมรองรับการใช้งานจริงผ่านชุดคำสั่งมาตรฐานได้อย่างมั่นใจ

#AI #MachineLearning #NVIDIA #vLLM #DeepLearning

ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/when-one-gpu-isnt-enough-serving-glm-5-3-across-two-nvidia-dgx-stations-with-vllm/

การให้บริการโมเดลขนาดใหญ่ GLM-5.3 ข้ามเครื่อง NVIDIA DGX Stations สองเครื่องด้วย vLLMการรันโมเดลปัญญาประดิษฐ์ขนาดใหญ่ในปัจจุบันมักพบข้อจำกัดเรื่องหน่วยความจำ เนื่องจากโมเดลยุคใหม่มีขนาดพารามิเตอร์ที่มหาศาลจนไม่สามารถโหลดลงในหน่วยความจำ GPU ของเครื่องเดียวได้ บทความนี้จะพาทุกคนไปทำความเข้าใจแนวทางการเชื่อมต่อเครื่อง NVIDIA DGX Stations จำนวนสองเครื่องเข้าด้วยกันผ่านเทคโนโลยี ConnectX-8 RDMA เพื่อให้บริการโมเดล GLM-5.3 ผ่านจุดเชื่อมต่อ (Endpoint) เดียวกันได้อย่างมีประสิทธิภาพทำไมการใช้ GPU เดี่ยวจึงไม่เพียงพอสำหรับโมเดลขนาดใหญ่โมเดลปัญญาประดิษฐ์ระดับแนวหน้าอย่าง GLM-5.3 NVFP4 ซึ่งเป็นโมเดลประเภท Mixture-of-Experts (MoE) ที่ผ่านการทำ Quantization มีพารามิเตอร์รวมสูงถึง 753,000 ล้านพารามิเตอร์ โดยมีพารามิเตอร์ที่ถูกใช้งานจริงประมาณ 40,000 ล้านพารามิเตอร์ต่อหนึ่งโทเค็นแม้โครงสร้างแบบ Sparse activation จะช่วยลดภาระการคำนวณลงได้ แต่ตัวโมเดลยังคงต้องเก็บบันทึกน้ำหนัก (Weights) ทั้งหมดให้อยู่ในหน่วยความจำ GPU ตลอดเวลา เนื่องจากแต่ละโทเค็นสามารถถูกส่งไปยังผู้เชี่ยวชาญ (Experts) ที่แตกต่างกันได้ น้ำหนักของโมเดลที่มีขนาดประมาณ 464 GB จึงเกินกว่าความจุ HBM3e ขนาด 252 GB ของ GPU รุ่น GB300 เดี่ยวๆ จะรองรับได้ การใช้เครื่อง DGX Stations สองเครื่องจึงเป็นแนวทางสำคัญในการแก้ปัญหานี้แนวทางการเตรียมความพร้อมและตั้งค่าระบบการดำเนินงานเพื่อให้บริการโมเดลข้ามสองเครื่องต้องอาศัยการเตรียมความพร้อมทั้งด้านฮาร์ดแวร์และซอฟต์แวร์ เพื่อให้การสื่อสารระหว่างเครื่องเป็นไปอย่างราบรื่นการเชื่อมต่อฮาร์ดแวร์: เชื่อมต่อเครื่อง DGX Stations ทั้งสองเครื่องเข้าด้วยกันผ่านระบบเครือข่ายความเร็วสูง พร้อมตรวจสอบความพร้อมของอุปกรณ์และการเชื่อมต่อ RDMA บนเรลที่กำหนดสภาพแวดล้อมซอฟต์แวร์: ติดตั้งระบบปฏิบัติการ Docker และ NVIDIA Container Toolkit บนเครื่องทั้งสองฝั่ง พร้อมจัดเตรียมพื้นที่ว่างบนดิสก์ให้เพียงพอสำหรับไฟล์ชุดน้ำหนัก (Checkpoint) ของโมเดลที่มีขนาดใหญ่การจัดการสิทธิ์การใช้งาน: ผู้ใช้งานจำเป็นต้องยอมรับเงื่อนไขและข้อกำหนดการใช้งานโมเดล รวมถึงการเข้าถึงชุดข้อมูลที่เกี่ยวข้องผ่านแพลตฟอร์มที่กำหนดก่อนเริ่มดาวน์โหลดไฟล์ขั้นตอนการกระจายบริการโมเดลด้วย vLLMเมื่อเตรียมความพร้อมของระบบเรียบร้อยแล้ว ขั้นตอนถัดไปคือการกระจายการทำงานออกเป็นสองส่วนหลัก โดยแบ่งบทบาทให้เครื่องหนึ่งทำหน้าที่เป็นศูนย์กลางในการให้บริการ API และอีกเครื่องทำหน้าที่เป็นหน่วยประมวลผลร่วมการคัดลอกและตรวจสอบชุดข้อมูลน้ำหนัก: ทำการดาวน์โหลดชุดน้ำหนักของโมเดลลงบนเครื่องหลัก ก่อนจะทำการสำเนาไฟล์ไปยังเครื่องที่สอง พร้อมทั้งตรวจสอบความถูกต้องของชื่อไฟล์และขนาดเพื่อให้มั่นใจว่าข้อมูลตรงกันทั้งสองฝั่งการเปิดใช้งานระบบบริการแบบกระจาย: กำหนดค่าพารามิเตอร์สำคัญ เช่น ความยาวบริบทสูงสุด (Context ceiling) และสัดส่วนการใช้หน่วยความจำ GPU ผ่านสคริปต์กลาง เพื่อให้ vLLM ทำการแบ่งพาร์ติชันน้ำหนักไปยัง GPU ของแต่ละเครื่องโดยอัตโนมัติการเปิดใช้งานฟีเจอร์เสริมประสิทธิภาพ: ระบบสามารถเปิดใช้เทคโนโลยีการทำนายหลายโทเค็น (Multi-token prediction) เพื่อช่วยเพิ่มความเร็วในการสร้างข้อความ รวมถึงการจัดเก็บหน่วยความจำแคชแบบ FP8 และระบบ Prefix caching เพื่อช่วยลดเวลาในการประมวลผลซ้ำการตรวจสอบการทำงานและทดสอบความเสถียรหลังจากระบบเริ่มทำงานเรียบร้อยแล้ว จำเป็นต้องมีการตรวจสอบสถานะการเชื่อมต่อว่าระบบทั้งสองฝั่งสามารถแลกเปลี่ยนข้อมูลกันผ่าน GPU RDMA ได้อย่างถูกต้องสมบูรณ์การทดสอบส่งคำขอผ่าน OpenAI-compatible API จะช่วยยืนยันว่าระบบสามารถตอบสนองคำสั่งได้อย่างถูกต้อง นอกจากนี้ยังสามารถใช้เครื่องมือวัดประสิทธิภาพการทำงาน เช่น AIPerf เพื่อประเมินอัตราความเร็วในการประมวลผล (Throughput) และระยะเวลาในการตอบสนอง (Latency) ภายใต้ระดับความหนาแน่นของการใช้งานที่แตกต่างกัน เพื่อช่วยให้ผู้ดูแลระบบสามารถปรับแต่งค่าคอนฟิกูเรชันให้เหมาะสมกับภาระงานจริงได้มากที่สุดสรุปภาพรวมการใช้งานการประยุกต์ใช้เครื่อง NVIDIA DGX Stations สองเครื่องร่วมกับซอฟต์แวร์ vLLM ถือเป็นแนวทางที่มีประสิทธิภาพสูงในการก้าวข้ามข้อจำกัดด้านหน่วยความจำของฮาร์ดแวร์เดี่ยว ช่วยให้องค์กรสามารถรันโมเดลปัญญาประดิษฐ์ขนาดใหญ่ระดับหลายแสนล้านพารามิเตอร์ในสภาพแวดล้อมภายในองค์กรได้อย่างราบรื่น พร้อมรองรับการใช้งานจริงผ่านชุดคำสั่งมาตรฐานได้อย่างมั่นใจ#AI #MachineLearning #NVIDIA #vLLM #DeepLearninghttps://developer.nvidia.com/blog/when-one-gpu-isnt-enough-serving-glm-5-3-across-two-nvidia-dgx-stations-with-vllm/
Shared content
DEVELOPER.NVIDIA.COM
When One GPU Isn’t Enough: Serving GLM-5.3 Across Two NVIDIA DGX Stations with vLLM
Running a frontier-scale model locally means keeping all its weights in GPU memory; the largest models no longer fit on one machine. Two NVIDIA DGX Stations connected over ConnectX-8 RDMA serve one…
3 Reacties 0 aandelen 660 Views 0 voorbeeld