ฝึกอบรมโมเดลรถยนต์ไร้คนขับแบบวงปิดด้วย NVIDIA Alpamayo
การพัฒนาโมเดลสำหรับการขับขี่อัตโนมัติ (AV) จำเป็นต้องมีการเชื่อมช่องว่างที่สำคัญระหว่างการฝึกอบรมและการนำไปใช้งานจริง โมเดล Vision-Language-Action (VLA) ที่สามารถประมวลผลฉากการขับขี่ที่ซับซ้อนและให้เหตุผลระหว่างทางที่ละเอียดอ่อน มักจะถูกฝึกในลักษณะ Open-Loop ซึ่งผลลัพธ์ของโมเดลจะถูกนำไปเปรียบเทียบโดยตรงกับพฤติกรรมจริง โดยไม่ได้คำนึงถึงผลกระทบต่อสภาพแวดล้อม
แต่ในสภาพแวดล้อมจริง การทำงานของนโยบายการขับขี่นั้นเป็นแบบ Closed-Loop ซึ่งทุกการตัดสินใจในการเบรก การเลี้ยว หรือการนำทาง จะส่งผลต่อสภาพแวดล้อม และข้อผิดพลาดเล็กๆ น้อยๆ ก็สามารถสะสมและทวีความรุนแรงขึ้นเมื่อเวลาผ่านไป
NVIDIA Alpamayo คือคำตอบสำหรับความท้าทายนี้ โดยเป็นชุดเครื่องมือแบบเปิดที่ประกอบด้วยโมเดล AI, เฟรมเวิร์กการจำลอง และชุดข้อมูล AI ทางกายภาพสำหรับการพัฒนารถยนต์ไร้คนขับ Alpamayo ประกอบด้วยแพลตฟอร์มจำลอง AlpaSim และเฟรมเวิร์กการฝึกอบรมแบบวงปิด AlpaGym
บทความนี้จะอธิบายวิธีการฝึกอบรมโมเดล AV แบบวงปิดด้วย NVIDIA Alpamayo โดยเฉพาะอย่างยิ่ง จะแนะนำขั้นตอนการ:
- ติดตั้งและตั้งค่า AlpaGym
- กำหนดค่ารางวัล (rewards) สำหรับการฝึกแบบวงปิด
- เริ่มต้นการฝึกอบรมแบบวงปิด
- ส่งออก (export) จุดตรวจสอบ (checkpoint) ที่ผ่านการฝึกอบรมแล้วเพื่อนำไปใช้ต่อไป
การฝึกอบรมแบบวงปิดด้วย AlpaGym ช่วยเสริมเวิร์กโฟลว์การฝึกอบรม AV โดยเปลี่ยนผลลัพธ์จากการจำลองของ AlpaSim ให้กลายเป็นประสบการณ์การฝึกฝน แทนที่จะมองการจำลองเป็นเพียงขั้นตอนสุดท้ายของการประเมินผล AlpaGym จะเชื่อมโยงผลตอบรับจากการจำลองเข้ากับวงจรการฝึกอบรมโมเดลโดยตรง
การใช้ AlpaGym สำหรับการเรียนรู้แบบเสริมกำลัง (Reinforcement Learning) แบบวงปิด
การเรียนรู้แบบเสริมกำลัง (RL) สามารถนำมาใช้เพื่อปรับปรุงโมเดลที่ได้รับการฝึกอบรมในลักษณะ Open-Loop มาก่อน แทนที่จะปรับปรุงโมเดลโดยอิงจากเส้นทางการขับขี่ของผู้เชี่ยวชาญที่บันทึกไว้เท่านั้น ตอนนี้โมเดลสามารถเรียนรู้จากผลของการกระทำของตัวเองในการจำลองได้
การเปลี่ยนแปลงนี้มีความสำคัญอย่างยิ่งต่อการพัฒนารถยนต์ไร้คนขับ ซึ่งข้อผิดพลาดในการคาดการณ์หรือการวางแผนเพียงเล็กน้อยสามารถทวีความรุนแรงขึ้นเมื่อเวลาผ่านไป ในการฝึกอบรมแบบวงปิด ทุกการตัดสินใจในการเบรก การเลี้ยว และการนำทาง จะส่งผลต่อสถานะถัดไปของสภาพแวดล้อม ซึ่งเผยให้เห็นโหมดความล้มเหลวที่ชุดข้อมูลแบบคงที่หรือการประเมินผลแบบ Open-Loop อาจมองข้ามไป
อย่างไรก็ตาม การเปิดใช้งาน RL แบบวงปิดก็มาพร้อมกับความท้าทายของตัวเอง การอนุมานโมเดล (model inference), การรันการจำลอง, การฝึกโมเดล, การซิงโครไนซ์การอัปเดตน้ำหนัก, การสื่อสารระหว่างอินสแตนซ์ และการย้ายข้อมูล ทั้งหมดนี้ทำพร้อมกันนั้นมีความซับซ้อนสูง ซึ่งต้องการการจัดการและการใช้ทรัพยากรคอมพิวเตอร์อย่างมีประสิทธิภาพในลักษณะที่แข็งแกร่งแต่ยืดหยุ่น
เพื่อจัดการกับความท้าทายเหล่านี้ AlpaGym จะเชื่อมโยงการฝึกอบรมโมเดลเข้ากับ AlpaSim สำหรับการจำลองแบบวงปิด และจัดเตรียมเฟรมเวิร์กแบบ Open-Source ที่มีปริมาณงานสูงสำหรับการเรียนรู้แบบวงปิด ระบบนี้ผสานรวม AlpaSim simulator microservices, NVIDIA Physical AI Open Datasets และเฟรมเวิร์กการฝึกอบรมแบบกระจาย NVIDIA Cosmos-RL เข้าเป็นไปป์ไลน์การฝึกอบรมหลังการผลิต (post-training) ที่ปรับขนาดได้
AlpaGym ถูกสร้างขึ้นเพื่อปรับขนาดได้อย่างราบรื่นตั้งแต่ GPU เครื่องเดียวไปจนถึงคลัสเตอร์แบบหลายโหนด รองรับการฝึกอบรมขนาดใหญ่ที่มีประสิทธิภาพผ่านไปป์ไลน์ RL แบบกระจายที่ทำงานแบบอะซิงโครนัสและเสถียร โดยไม่จำเป็นต้องเปลี่ยนแปลงโค้ดของผู้ใช้ มันรวม AlpaSim และ Cosmos RL เป็น Runtime และชั้นการจัดการ (orchestration layer), GRPO เป็นอัลกอริทึมเริ่มต้น และรวมฟังก์ชันรางวัลอ้างอิงที่ผ่านการทดสอบกับโมเดล Alpamayo และชุดข้อมูล Physical AI AV NuRec
หากต้องการเริ่มต้นกับการฝึกอบรมหลังการผลิตด้วย AlpaGym ให้ทำตามขั้นตอนด้านล่าง
ขั้นตอนที่ 1: ติดตั้งและตั้งค่า AlpaGym
สิ่งที่แนะนำ: GPU ที่รองรับ CUDA พร้อม VRAM >= 40 GB และพื้นที่ว่างในดิสก์ประมาณ 100-150 GB (สำหรับสภาพแวดล้อม, อิมเมจคอนเทนเนอร์, น้ำหนักโมเดล ~21 GB) และเพิ่มเติมประมาณ 1.5 GB ต่อฉาก NuRec (ประมาณ 1.5 TB สำหรับชุดข้อมูล public_2601 ทั้งหมด)
ในการติดตั้ง AlpaGym จาก Alpamayo ให้ติดตั้ง CUDA dependencies และ Redis บนโฮสต์ จากนั้นซิงโครไนซ์ UV workspace:
# คำสั่งตัวอย่าง - โปรดดูเอกสารประกอบของ Alpamayo สำหรับคำแนะนำที่ถูกต้อง
uv syncสภาพแวดล้อม Python ถูกจัดการโดย uv แต่ cuDNN, NCCL และไบนารี redis-server เป็น dependencies ของโฮสต์ที่ใช้โดย CUDA model stack และ Cosmos-RL หรือจะใช้ Dockerfile ที่เหมาะสมก็ได้ การยืนยันตัวตนกับ Hugging Face เป็นสิ่งจำเป็นสำหรับการดาวน์โหลดอาร์ติแฟกต์ฉาก
การรัน AlpaGym คือการกำหนดค่าด้วย Hydra ซึ่งจะระบุจุดตรวจสอบโมเดล, ชุดฉาก AlpaSim, การขนาน (parallelism) ของการโรลเอาต์, ฟังก์ชันรางวัล และพารามิเตอร์การฝึกอบรม Cosmos-RL ในเวิร์กโฟลว์นี้ จุดตรวจสอบเริ่มต้นคือโมเดล Alpamayo
ขั้นตอนที่ 2: กำหนดค่ารางวัลแบบวงปิด
รางวัลควรสอดคล้องกับพฤติกรรมที่คุณต้องการปรับปรุงแบบวงปิด สำหรับการฝึกอบรมคุณภาพเส้นทาง (trajectory-quality) รางวัลที่พบบ่อย ได้แก่ ความคืบหน้า (progress), การรักษาเลน (lane keeping), การหลีกเลี่ยงการชน (collision avoidance), อัตราการออกนอกถนน (offroad rate), ความสบาย (comfort) และระยะห่างจากเส้นทางอ้างอิง (distance to a reference trajectory)
รางวัลแรกที่ใช้งานได้จริงนั้นเรียบง่ายโดยเจตนา: รวมความคืบหน้าเข้ากับการลงโทษสำหรับความล้มเหลวที่สำคัญต่อความปลอดภัย ใน AlpaGym สามารถแสดงเป็นผลรวมเล็กๆ ของเทอมต่างๆ โดยใช้เมตริก AlpaSim เท่าที่เป็นไปได้:
# ตัวอย่างแนวคิดของฟังก์ชันรางวัล (โปรดดูเอกสารประกอบ Alpamayo สำหรับการใช้งานจริง)
reward = (
progress_term
+ lane_keeping_term
- collision_penalty
- offroad_penalty
+ comfort_term
)เมื่อไปป์ไลน์มีความเสถียรแล้ว ให้เพิ่มเทอมที่เฉพาะเจาะจงมากขึ้นสำหรับโหมดความล้มเหลวที่สังเกตได้จากวิดีโอและเมตริกของ AlpaSim
ขั้นตอนที่ 3: เริ่มต้นการฝึกอบรมแบบวงปิด
เริ่มการฝึก AlpaGym จากจุดตรวจสอบโมเดลของคุณ ปัจจุบัน AlpaGym รองรับโมเดล Alpamayo 1.5 (10 พันล้านพารามิเตอร์) ซึ่งใช้เป็นโมเดลตัวอย่างที่นี่ พร้อมคำแนะนำโดยละเอียดเพิ่มเติมใน GitHub repo ของ NVlabs/alpagym สำหรับวิธีการใช้โมเดล AV ของคุณเอง
ขั้นแรก ให้ดาวน์โหลด Alpamayo 1.5 checkpoint และแปลงเป็น checkpoint ที่เข้ากันได้กับ AlpaGym:
# คำสั่งตัวอย่าง - โปรดดูเอกสารประกอบ Alpamayo สำหรับคำแนะนำที่ถูกต้อง
python tools/convert_checkpoint.py --input_dir --output_dir คำสั่งนี้จะเปิด AlpaGym พร้อม AlpaSim บน GPU สองตัว (ทดสอบบน RTX 6000 Ada 2x 50GB) โปรดทราบว่าการฝึกโมเดล 10B ไม่สามารถทำได้บน GPU เดียว มีการวางแผนสคริปต์การกลั่น (distillation) ไปยัง checkpoint ที่เล็กกว่าซึ่งเข้ากันได้กับ GPU เดียว หากต้องการดูตัวอย่างและคำแนะนำเกี่ยวกับวิธีการปรับขนาดไปยัง GPU หลายตัว รวมถึงการติดตั้งแบบโหนดเดียวหรือหลายโหนด โปรดไปที่ GitHub repo ของ NVlabs/alpagym
ระหว่างการฝึก AlpaGym จะร้องขอการโรลเอาต์ฉากจาก AlpaSim รวบรวมอาร์ติแฟกต์ต่อตอน (per-episode) คำนวณรางวัล และอัปเดตโมเดล สัญญาณการฝึกที่มีประโยชน์ ได้แก่ ค่าเฉลี่ยของรางวัล, ความแปรปรวนของรางวัล, อัตราความล้มเหลว, ค่า loss ของโมเดล, ปริมาณงานการโรลเอาต์ (rollout throughput) และช่องว่างระหว่างผลลัพธ์ที่สร้างขึ้นกับน้ำหนักโมเดลล่าสุด
ในสูตรนี้ อาร์ติแฟกต์การโรลเอาต์และสัญญาณการฝึกเหล่านี้เป็นผลลัพธ์หลักของการรันการฝึกอบรมหลังการผลิต สิ่งเหล่านี้จะช่วยคุณยืนยันว่าการเรียนรู้แบบวงปิดกำลังทำงานอย่างถูกต้อง และเลือกจุดตรวจสอบสำหรับการประเมินผลต่อไปบนชุดฉาก AlpaSim ที่แยกไว้ของคุณเอง อาร์ติแฟกต์การรันจะถูกเขียนไว้ที่ tmp/alpagym-runs/ และผลลัพธ์ของ Hydra อยู่ที่ outputs/
ขั้นตอนที่ 4: ส่งออกจุดตรวจสอบที่ผ่านการฝึกอบรมแล้ว
หลังจากการฝึก การรัน AlpaGym จะเขียนการส่งออก Cosmos-RL ในรูปแบบ safetensors ไปที่ tmp/alpagym-runs/ ไดรเวอร์ AlpaSim ไม่สามารถโหลดการส่งออกสำหรับการฝึกนี้ได้โดยตรง ดังนั้น ก่อนอื่นให้แปลงเป็นรูปแบบการอนุมาน (inference format) (ซึ่งตรงข้ามกับการแปลง checkpoint ในขั้นตอนที่ 3):
# คำสั่งตัวอย่าง - โปรดดูเอกสารประกอบ Alpamayo สำหรับคำแนะนำที่ถูกต้อง
python tools/convert_checkpoint.py --input_dir tmp/alpagym-runs/ --output_dir --type inferenceถัดไป ให้รัน checkpoint ที่แปลงแล้วบนสถานการณ์จำลองที่เป็นตัวแทนเพื่อตรวจสอบว่าโมเดล, ไดรเวอร์ และวงจรการจำลองเชื่อมต่อกันอย่างถูกต้อง ในขั้นตอนนี้ คุณสามารถตรวจสอบพฤติกรรมของโมเดลได้เมื่อการกระทำของตนเองส่งผลต่อสถานะถัดไปของสภาพแวดล้อม การประเมินผล (Eval) จำเป็นต้องเข้าถึง VLM ที่ถูกจำกัดสิทธิ์ nvidia/Cosmos-Reason2-8B ซึ่งไดรเวอร์ใช้เพื่อสร้าง tokenizer/preprocessor พื้นฐานใหม่
การโรลเอาต์แบบวงปิดให้สัญญาณเชิงคุณภาพที่มีประโยชน์: โมเดลสร้างเส้นทางที่เสถียรหรือไม่และยังคงอยู่ในพื้นที่ที่ขับขี่ได้หรือไม่, มันตอบสนองต่อยานพาหนะอื่นที่อยู่ใกล้เคียงอย่างไร, และควรพุ่งเป้าไปที่โหมดความล้มเหลวใดระหว่างการฝึกอบรมหลังการผลิต
ด้วยจุดตรวจสอบนี้ ทีมต่างๆ สามารถตรวจสอบวิดีโอการโรลเอาต์, เมตริกต่อตอน, การติดตามรางวัล และกรณีความล้มเหลวที่รวบรวมระหว่างการฝึกอบรม อาร์ติแฟกต์เหล่านี้มีประโยชน์สำหรับการดีบักการออกแบบรางวัล, การตรวจสอบความเสถียรของการโรลเอาต์ และการเลือกจุดตรวจสอบสำหรับการประเมินผลในภายหลังบน AlpaSim ที่แยกไว้
เริ่มต้นฝึกอบรมโมเดล AV
การฝึกอบรมหลังการผลิตแบบวงปิดเป็นแนวทางที่ใช้งานได้จริงสำหรับการทำซ้ำนโยบายการขับขี่แบบ End-to-End ในกรณีนี้ AlpaGym ใช้การโรลเอาต์แบบวงปิดเพื่อฝึกอบรมโมเดล AV หลังการผลิต ทำให้พวกมันเรียนรู้จากผลของการกระทำของตนเอง
คุณสามารถใช้เครื่องมือเหล่านี้ร่วมกับส่วนประกอบอื่นๆ ของ NVIDIA Alpamayo Open Platform เพื่อพัฒนารูปแบบการให้เหตุผล (reasoning models) ที่สามารถรัน, ตรวจสอบ และฝึกอบรมหลังการผลิตในเวิร์กโฟลว์การจำลองแบบวงปิด ขยายสูตรเดียวกันนี้ให้กว้างขึ้นด้วยรางวัล, สถานการณ์จำลอง และชุดการประเมินผลของคุณเอง
พร้อมที่จะเริ่มต้นแล้วหรือยัง? สำรวจเฟรมเวิร์ก AlpaGym ที่กว้างขวางขึ้น และตรวจสอบ GitHub repo ของ NVlabs/alpamayo-recipes เพื่อปรับสูตรในบทความนี้ให้เข้ากับกรณีการใช้งานของคุณเอง
หากต้องการประเมินโมเดลของคุณบนกระดานคะแนนสาธารณะ โปรดดูการแข่งขัน AV แบบเปิดสองรายการที่ NVIDIA เปิดตัวในงาน CVPR 2026:
- AlpaSim Closed-Loop E
ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/how-to-post-train-autonomous-vehicle-models-in-closed-loop-with-nvidia-alpamayo/