พัฒนาหุ่นยนต์ให้ทำงานได้อย่างอิสระบนอุปกรณ์ด้วย NVIDIA Cosmos 3 Edge

หุ่นยนต์สมัยใหม่ต้องการความสามารถในการปรับตัวให้เข้ากับเซ็นเซอร์ สภาพแวดล้อม และภารกิจที่หลากหลาย โดยเฉพาะอย่างยิ่งเมื่อต้องทำงานบนฮาร์ดแวร์คอมพิวเตอร์ที่ติดตั้งบนตัวหุ่นยนต์เอง โมเดลโลก (World Models) เป็นพื้นฐานสำคัญในการเรียนรู้ปฏิสัมพันธ์ทางกายภาพ แต่ขนาดที่ใหญ่อาจเป็นอุปสรรคต่อการนำไปใช้งานบนอุปกรณ์โดยตรง วันนี้ NVIDIA Cosmos 3 Edge ได้เข้ามาเปลี่ยนแปลงข้อจำกัดนี้

Cosmos 3 Edge คือ Omni-model ขนาด 4 พันล้านพารามิเตอร์ (พร้อมด้วย Reasoner ขนาด 2 พันล้านพารามิเตอร์ที่ใช้สถาปัตยกรรม NVIDIA Nemotron) ในตระกูล Cosmos 3 ถูกฝึกฝนล่วงหน้า (Pre-trained) ด้วยข้อมูลโลกทางกายภาพเช่นเดียวกับ NVIDIA Cosmos 3 Nano และ NVIDIA Cosmos 3 Super ทำให้มีความเข้าใจพื้นฐานเกี่ยวกับวิธีการเคลื่อนที่และปฏิสัมพันธ์ของวัตถุต่างๆ ได้เป็นอย่างดี นอกจากนี้ โมเดลยังมีขนาดเล็กพอที่จะทำงานได้บนอุปกรณ์ NVIDIA Jetson Thor

บทความนี้จะแนะนำวิธีการ Post-train Cosmos 3 Edge เพื่อสร้างนโยบายการควบคุมหุ่นยนต์ (Manipulation Policy) ที่สามารถทำงานบน Jetson Thor และประเมินผลได้ในสภาพแวดล้อมจำลองแบบวนรอบปิด (Closed-loop simulation)

สิ่งที่คุณจะได้เรียนรู้

  • วิธีการ Post-train Cosmos 3 Edge เพื่อทำนายการกระทำของหุ่นยนต์
  • การให้บริการนโยบายที่ได้บน Jetson Thor
  • การรัน Inference ภายในวงจรควบคุมแบบ Receding-Horizon
  • การประเมินพฤติกรรมของนโยบายในสภาพแวดล้อมจำลองแบบ Closed-loop

ขั้นตอนทั้งหมดสามารถทำซ้ำได้จากคลังโค้ด cosmos-framework แบบโอเพนซอร์ส และสามารถดาวน์โหลด Checkpoint ที่ปล่อยออกมาได้จาก HuggingFace

ทำไมต้อง Post-train Cosmos 3 Edge สำหรับการควบคุมหุ่นยนต์บนอุปกรณ์?

โมเดลพื้นฐาน (Foundation Models) ประเภท World Models ถูกฝึกฝนล่วงหน้าด้วยชุดข้อมูลหลายรูปแบบขนาดใหญ่ ซึ่งรวบรวมรูปแบบการเคลื่อนที่และปฏิสัมพันธ์ทางกายภาพของวัตถุ เช่น วิธีที่วัตถุตก การไถล หรือการตอบสนองเมื่อสัมผัส Cosmos สามารถสร้างการกระทำ (Actions) โดยอิงจากการทำความเข้าใจและการคาดการณ์ทางกายภาพได้โดยธรรมชาติ ความรู้พื้นฐานนี้จึงเป็นจุดเริ่มต้นที่มีประโยชน์อย่างยิ่งสำหรับการฝึกนโยบายหุ่นยนต์ แทนที่จะต้องเรียนรู้ความสัมพันธ์ทางกายภาพทั้งหมดจากตัวอย่างการสาธิตเฉพาะงาน

อย่างไรก็ตาม การนำโมเดลเหล่านี้ไปใช้งานบนหุ่นยนต์จริงนั้นมีข้อจำกัดในทางปฏิบัติ 2 ประการ:

  1. หน่วยความจำอุปกรณ์ (Device Memory): โมเดลและสถานะการทำงาน (Runtime State) ต้องมีขนาดพอดีกับหน่วยความจำที่มีอยู่บนหุ่นยนต์
  2. ความหน่วงของการควบคุม (Control Latency): กระบวนการ Inference ทั้งหมดต้องรวดเร็วพอที่จะรองรับความถี่ในการควบคุมที่หุ่นยนต์ต้องการ

การ Post-train Cosmos 3 Edge เป็นการแก้ไขข้อจำกัดเหล่านี้ โดยนโยบายโมเดลที่ได้จะมีขนาดพอดีกับหน่วยความจำของ Jetson Thor ทำให้การ Inference ทำงานได้โดยตรงบนหุ่นยนต์ โดยไม่ต้องพึ่งพา GPU ในศูนย์ข้อมูล

ปัจจัยที่เหลือคือความหน่วงของการควบคุม นโยบายการกระทำ DROID ทำงานได้แบบเรียลไทม์บนตัวหุ่นยนต์ โดยบน NVIDIA Jetson AGX Thor T5000 สามารถสร้าง Action Chunk แต่ละอันได้ในเวลาประมาณ 1.53 วินาที (ทำงานที่ความละเอียด 640×540 และ 15 Hz) โดย Action Chunk หนึ่งอันครอบคลุมการเคลื่อนที่ของหุ่นยนต์ประมาณ 2.13 วินาที เนื่องจาก Action Chunk ถัดไปพร้อมใช้งานก่อนที่อันปัจจุบันจะเสร็จสิ้น แขนหุ่นยนต์จึงเคลื่อนที่ได้อย่างต่อเนื่อง โดยไม่มี GPU ในศูนย์ข้อมูลเข้ามาเกี่ยวข้อง นโยบายนี้รองรับการสตรีมอย่างต่อเนื่องบนอุปกรณ์โดยการสร้าง Action Chunks และวางแผนใหม่ (Replanning) หลังจากการ Inference แต่ละรอบ โดยไม่วางแผนใหม่ทุกครั้งที่ได้รับข้อมูล (Observation)

ในการทดสอบ RoboLab แบบ Closed-loop นโยบายที่ Post-train สามารถทำสำเร็จได้ถึง 22.9% ผลลัพธ์เหล่านี้แสดงให้เห็นว่าโมเดลพื้นฐาน World Foundation Model ขนาด 4 พันล้านพารามิเตอร์ สามารถเป็นแกนหลักของนโยบายบนอุปกรณ์แบบเรียลไทม์ที่ใช้งานได้จริง โมเดลนี้มีขนาดพอดีกับ Jetson AGX Thor และทำงานทั้งหมดบนตัวหุ่นยนต์

ข้อมูลที่ใช้อบรม Policy

นโยบายที่ปล่อยออกมาในบทความนี้ฝึกฝนด้วยชุดข้อมูล nvidia/Cosmos3-DROID ซึ่งประกอบด้วยเส้นทางการเคลื่อนที่ที่สำเร็จจากการควบคุมจากระยะไกลกว่า 76,000 เส้นทาง คิดเป็นประมาณ 350 ชั่วโมง ครอบคลุม 86 งาน และ 564 ฉาก ที่รวบรวมด้วยแขนหุ่นยนต์ Franka Panda และกริปเปอร์ Robotiq

ชุดข้อมูลถูกจัดรูปแบบด้วย LeRobotDataset v3.0 ที่ความละเอียด 640 × 360 พิกเซล โดยมีขั้นตอนการเตรียม 3 ขั้นตอน:

  1. กรองเฟรมที่ไม่มีการเคลื่อนไหวและไม่ใช่เฟรมของงาน
  2. เลือกตัวอย่างการสาธิตที่สำเร็จสำหรับการฝึก
  3. ใช้การสุ่มตัดภาพ (Random Cropping), การปรับขนาด (Rescaling) และการปรับสี (Color Jitter) ระหว่างการฝึก

นำข้อมูลหุ่นยนต์ของคุณมาใช้

คุณสามารถแปลงข้อมูลของคุณให้อยู่ในรูปแบบ LeRobot Dataset v3 (วิดีโอต่อเฟรม, สถานะข้อต่อ, สถานะกริปเปอร์, การกระทำ, คำแนะนำงาน) สำหรับการตั้งค่า Franka ที่คล้ายกับ DROID การเปลี่ยนแปลงหลักคือพาธของชุดข้อมูล หุ่นยนต์ที่มีลักษณะแตกต่างกัน (Embodiment) จะต้องมีการกำหนดค่าการทดลอง (Experiment Configuration) ของตนเอง ซึ่งจะกำหนดพื้นที่การกระทำ (Action Space), มิติ, เลย์เอาต์ของกล้อง และการตั้งค่าการทำให้เป็นมาตรฐาน (Normalization Settings)

Cosmos 3 รองรับหุ่นยนต์หลายประเภท รวมถึง Franka แบบแขนคู่, UR, WidowX 250, LeRobot SO101 ดูรายละเอียดได้ที่ Model Card ของ Cosmos 3 Edge

สิ่งที่ต้องมีก่อนเริ่มต้น

  • Cosmos framework เวอร์ชันล่าสุด
  • ฮาร์ดแวร์ที่ผ่านการตรวจสอบสำหรับการฝึก: NVIDIA DGX Station ที่ติดตั้ง NVIDIA GB200 Grace Blackwell Superchip หรือ NVIDIA GB300 Grace Blackwell Ultra Desktop Superchip
  • เวอร์ชัน NVIDIA CUDA และ Container ที่รองรับ: CUDA 13.0 (cu130), NGC 26.06-py3
  • การเข้าถึง Cosmos 3 Edge Base Checkpoint
  • การเข้าถึงชุดข้อมูล Cosmos3-DROID
  • Hugging Face Access Token

โปรดทราบว่านี่คือการ Post-training โมเดลพื้นฐาน ไม่ใช่การ Fine-tune บน GPU เดี่ยว การรันที่ตรวจสอบแล้วใช้ 64 โหนด (Node) ของ 4× GB200 เป็นเวลา 60,000 Iterations หรือประมาณ 68 ชั่วโมง (ประมาณ 17.4K GB200-hours) โปรดวางแผนทรัพยากรคอมพิวเตอร์ตามความเหมาะสม

วิธีการ Post-train

โดยรวมแล้ว การ Post-train แบ่งออกเป็น 4 ขั้นตอนหลัก:

  1. ดาวน์โหลดชุดข้อมูล
  2. แปลง Base Checkpoint เป็นรูปแบบ Distributed Checkpoint (DCP)
  3. ใช้ Curation Filter
  4. แก้ไขและเปิดใช้งานสคริปต์ Post-training

คุณจะพบไฟล์สคริปต์ในคลังโค้ด: examples/launchsftactionpolicydroid_nano.sh

สคริปต์นี้จะลงทะเบียนสูตร (Recipe) สำหรับ Cosmos 3 Nano หากต้องการฝึก Cosmos 3 Edge ให้ทำการแก้ไข 3 จุดก่อนเปิดใช้งาน:

  • แทนที่การนำเข้า NANOMODELCONFIG ด้วย EDGEMODELCONFIG (จาก configs/base/experiment/sft/models/edgemodelconfig.py)
  • ตั้งค่า BASECHECKPOINTPATH ให้เป็น Cosmos 3 Edge DCP Checkpoint จากขั้นตอนการแปลง
  • เปลี่ยนชื่อ examples/launchsftactionpolicydroidnano.sh เป็น examples/launchsftactionpolicydroidedge.sh

ส่วนอื่นๆ ทั้งหมด รวมถึงชุดข้อมูล, Action Space, Curation Filter และตารางการฝึก จะยังคงเหมือนเดิม

สำหรับคำแนะนำแบบ End-to-End ล่าสุด รวมถึงการแปลง Checkpoint, การกำหนดค่าสภาพแวดล้อม และการตั้งค่า Curation Filter โปรดดูที่ DROID Post-training Reproduction Guide และ Model Card ซึ่งจะมีการอัปเดตพร้อมกับคลังโค้ด

วิธีการ Deploy และรัน Policy บน Jetson Thor

นโยบายจะถูกให้บริการโดย WebSocket Policy Server ที่ใช้โปรโตคอล OpenPI ซึ่งเป็นโปรโตคอลเดียวกันที่ใช้ทั่วทั้งระบบ DROID Policy Client จะส่ง Dictionary ของ Observation เข้าไป และ Server จะส่ง Action Chunk กลับมา สำหรับ Edge Server จะทำงานโดยตรงบน Jetson Thor ด้วยขนาดประมาณ 9 GB (ใน BF16) น้ำหนักโมเดล (Weights) จะพอดีกับหน่วยความจำบนบอร์ดของ Thor ทำให้ทั้ง Policy Server และ Control Client ทำงานบนหุ่นยนต์ได้ โดยไม่ต้องใช้ GPU ในศูนย์ข้อมูล

เริ่มต้น Policy Server บนหุ่นยนต์

เนื่องจาก Server ทำงานบน Thor, host="localhost" การร้องขอจึงไม่จำเป็นต้องออกจากหุ่นยนต์ บนอุปกรณ์ Policy จะทำงานแบบเรียลไทม์ นี่คือการ Inference บนอุปกรณ์ที่ Cosmos Edge เปิดใช้งาน

Smoke Test (ไม่จำเป็นต้องใช้หุ่นยนต์)

DROID Policy เป็นแบบ State-Conditioned ซึ่งหมายความว่า jointposition และ gripperposition เป็น Input ที่แท้จริงของโมเดล ไม่ใช่เพียงส่วนประกอบที่เติมเข้ามา เมื่อไม่มีแขนหุ่นยนต์ ค่าศูนย์ (Zeros) จะถูกใช้เป็นค่า Placeholder ซึ่งการเรียกนี้เพียงแค่พิสูจน์ว่า Server สามารถส่งคืน Action Chunk ที่มีรูปแบบถูกต้องได้

การทำงานบนหุ่นยนต์

การเรียกเดียวกันนี้จะอยู่ในวงจร Replanning ในแต่ละรอบ ระบบจะอ่านข้อมูลจากกล้องล่าสุด และตำแหน่งข้อต่อกับกริปเปอร์ที่วัดได้จากแขนหุ่นยนต์ (แทนที่ค่าศูนย์ข้างต้น) จากนั้นดำเนินการส่วนหน้า (Prefix) ของ Action Chunk แล้วจึงส่งคำขออีกครั้ง:

การดำเนินการเพียงส่วนหน้า (Prefix) และการวางแผนใหม่ (Replanning) เป็นแนวทางปฏิบัติมาตรฐาน: นโยบายจะแก้ไขตัวเองทุกๆ ไม่กี่วินาที และเนื่องจากเป็นแบบ State-Conditioned การวางแผนใหม่แต่ละครั้งจะเริ่มต้นจากตำแหน่งที่แขนหุ่นยนต์อยู่จริง แทนที่จะเป็นตำแหน่งที่คาดการณ์ไว้ใน Action Chunk ก่อนหน้า การเริ่มต้น Server พร้อมเปิดใช้งาน Video Decoding จะส่งคืนการคาดการณ์ (Rollout) ของนโยบายควบคู่ไปกับการกระทำ ทำให้คุณสามารถตรวจสอบสิ่งที่ World Model คาดการณ์สำหรับ Action Chunk ที่ปล่อยออกมาได้

การประเมิน Policy ใน Closed-loop Simulation

คุณไม่จำเป็นต้องมีหุ่นยนต์จริงเพื่อตรวจสอบ Policy อันที่จริง การประเมิน Policy ใน Simulation เป็นสิ่งที่แนะนำก่อนที่จะประเมินบนหุ่นยนต์จริง เพื่อหลีกเลี่ยงพฤติกรรมที่ไม่คาดคิดก่อนที่จะส่งผลกระทบต่อผู้พัฒนาหรือหุ่นยนต์ RoboLab ซึ่งเป็น Benchmark ของ Isaac Lab-Arena ที่อยู่เบื้องหลัง RoboLab Leaderboard นั้นเป็นแบบโอเพนซอร์ส และ Client จะเชื่อมต่อกับ Policy Server เดียวกัน ระบบจะดำเนินการ Action Chunk แต่ละอันใน Physics Engine และสตรีมข้อมูล Observation ที่เรนเดอร์กลับมาเพื่อสร้าง Closed-loop ที่แท้จริงสำหรับงาน Manipulation ที่ควบคุมด้วยภาษา (Language-conditioned) กว่า 120 งาน

คุณสามารถสลับ --task เป็นงานใดก็ได้ใน 120 งาน เพื่อสร้างภาพรวมพฤติกรรมของ Policy ที่กว้างขึ้น การรันแต่ละครั้งจะสร้างวิดีโอจากมุมมอง (Viewport) และกล้องของหุ่นยนต์ รวมถึงบันทึกความสำเร็จ (Success Log) เพื่อให้คุณสามารถตรวจสอบทั้งผลลัพธ์และเส้นทางการเคลื่อนที่ที่ก่อให้เกิดผลลัพธ์นั้นได้

ในการประเมิน RoboLab แบบ Closed-loop นโยบาย Edge ที่ Post-train สามารถทำสำเร็จได้ 22.9% ทั่วทั้งชุดงาน ซึ่งเป็นผลลัพธ์ที่ได้โดยใช้พลังงาน Inference เพียงเศษเสี้ยวเมื่อเทียบกับ Cosmos 3 Variants ที่ใหญ่กว่า (Nano ทำสำเร็จได้ 36.8%) ซึ่งนี่คือการแลกเปลี่ยนที่ Edge ถูกออกแบบมาเพื่อให้: ระบบอัตโนมัติแบบเรียลไทม์ที่ทำงานทั้งหมดบนหุ่นยนต์ ด้วยอัตราความสำเร็จที่แข่งขันได้

หมายเหตุ: NVIDIA Isaac Sim 5.x ต้องการ NVIDIA RTX Server Driver Release 580 หรือใหม่กว่า โปรดยืนยันเวอร์ชันไดรเวอร์ที่รองรับในเอกสาร RoboLab และ Isaac Sim ก่อนทำการ Build

การ Post-train นอกเหนือจากการควบคุมหุ่นยนต์

เทคนิค Post-training ที่ช่วยปรับปรุงการควบคุมหุ่นยนต์ ยังสามารถขยายไปสู่ความสามารถอื่นๆ ได้ เช่น การสร้างข้อมูลสังเคราะห์ (Synthetic Data Generation) สำหรับการฝึกหุ่นยนต์ นักพัฒนาสามารถสร้าง World Models ที่เชี่ยวชาญเพื่อสร้างข้อมูลสังเคราะห์คุณภาพ

ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/post-train-nvidia-cosmos-3-edge-for-on-device-robot-control/

พัฒนาหุ่นยนต์ให้ทำงานได้อย่างอิสระบนอุปกรณ์ด้วย NVIDIA Cosmos 3 Edgeหุ่นยนต์สมัยใหม่ต้องการความสามารถในการปรับตัวให้เข้ากับเซ็นเซอร์ สภาพแวดล้อม และภารกิจที่หลากหลาย โดยเฉพาะอย่างยิ่งเมื่อต้องทำงานบนฮาร์ดแวร์คอมพิวเตอร์ที่ติดตั้งบนตัวหุ่นยนต์เอง โมเดลโลก (World Models) เป็นพื้นฐานสำคัญในการเรียนรู้ปฏิสัมพันธ์ทางกายภาพ แต่ขนาดที่ใหญ่อาจเป็นอุปสรรคต่อการนำไปใช้งานบนอุปกรณ์โดยตรง วันนี้ NVIDIA Cosmos 3 Edge ได้เข้ามาเปลี่ยนแปลงข้อจำกัดนี้Cosmos 3 Edge คือ Omni-model ขนาด 4 พันล้านพารามิเตอร์ (พร้อมด้วย Reasoner ขนาด 2 พันล้านพารามิเตอร์ที่ใช้สถาปัตยกรรม NVIDIA Nemotron) ในตระกูล Cosmos 3 ถูกฝึกฝนล่วงหน้า (Pre-trained) ด้วยข้อมูลโลกทางกายภาพเช่นเดียวกับ NVIDIA Cosmos 3 Nano และ NVIDIA Cosmos 3 Super ทำให้มีความเข้าใจพื้นฐานเกี่ยวกับวิธีการเคลื่อนที่และปฏิสัมพันธ์ของวัตถุต่างๆ ได้เป็นอย่างดี นอกจากนี้ โมเดลยังมีขนาดเล็กพอที่จะทำงานได้บนอุปกรณ์ NVIDIA Jetson Thorบทความนี้จะแนะนำวิธีการ Post-train Cosmos 3 Edge เพื่อสร้างนโยบายการควบคุมหุ่นยนต์ (Manipulation Policy) ที่สามารถทำงานบน Jetson Thor และประเมินผลได้ในสภาพแวดล้อมจำลองแบบวนรอบปิด (Closed-loop simulation)สิ่งที่คุณจะได้เรียนรู้วิธีการ Post-train Cosmos 3 Edge เพื่อทำนายการกระทำของหุ่นยนต์การให้บริการนโยบายที่ได้บน Jetson Thorการรัน Inference ภายในวงจรควบคุมแบบ Receding-Horizonการประเมินพฤติกรรมของนโยบายในสภาพแวดล้อมจำลองแบบ Closed-loopขั้นตอนทั้งหมดสามารถทำซ้ำได้จากคลังโค้ด cosmos-framework แบบโอเพนซอร์ส และสามารถดาวน์โหลด Checkpoint ที่ปล่อยออกมาได้จาก HuggingFaceทำไมต้อง Post-train Cosmos 3 Edge สำหรับการควบคุมหุ่นยนต์บนอุปกรณ์?โมเดลพื้นฐาน (Foundation Models) ประเภท World Models ถูกฝึกฝนล่วงหน้าด้วยชุดข้อมูลหลายรูปแบบขนาดใหญ่ ซึ่งรวบรวมรูปแบบการเคลื่อนที่และปฏิสัมพันธ์ทางกายภาพของวัตถุ เช่น วิธีที่วัตถุตก การไถล หรือการตอบสนองเมื่อสัมผัส Cosmos สามารถสร้างการกระทำ (Actions) โดยอิงจากการทำความเข้าใจและการคาดการณ์ทางกายภาพได้โดยธรรมชาติ ความรู้พื้นฐานนี้จึงเป็นจุดเริ่มต้นที่มีประโยชน์อย่างยิ่งสำหรับการฝึกนโยบายหุ่นยนต์ แทนที่จะต้องเรียนรู้ความสัมพันธ์ทางกายภาพทั้งหมดจากตัวอย่างการสาธิตเฉพาะงานอย่างไรก็ตาม การนำโมเดลเหล่านี้ไปใช้งานบนหุ่นยนต์จริงนั้นมีข้อจำกัดในทางปฏิบัติ 2 ประการ:หน่วยความจำอุปกรณ์ (Device Memory): โมเดลและสถานะการทำงาน (Runtime State) ต้องมีขนาดพอดีกับหน่วยความจำที่มีอยู่บนหุ่นยนต์ความหน่วงของการควบคุม (Control Latency): กระบวนการ Inference ทั้งหมดต้องรวดเร็วพอที่จะรองรับความถี่ในการควบคุมที่หุ่นยนต์ต้องการการ Post-train Cosmos 3 Edge เป็นการแก้ไขข้อจำกัดเหล่านี้ โดยนโยบายโมเดลที่ได้จะมีขนาดพอดีกับหน่วยความจำของ Jetson Thor ทำให้การ Inference ทำงานได้โดยตรงบนหุ่นยนต์ โดยไม่ต้องพึ่งพา GPU ในศูนย์ข้อมูลปัจจัยที่เหลือคือความหน่วงของการควบคุม นโยบายการกระทำ DROID ทำงานได้แบบเรียลไทม์บนตัวหุ่นยนต์ โดยบน NVIDIA Jetson AGX Thor T5000 สามารถสร้าง Action Chunk แต่ละอันได้ในเวลาประมาณ 1.53 วินาที (ทำงานที่ความละเอียด 640×540 และ 15 Hz) โดย Action Chunk หนึ่งอันครอบคลุมการเคลื่อนที่ของหุ่นยนต์ประมาณ 2.13 วินาที เนื่องจาก Action Chunk ถัดไปพร้อมใช้งานก่อนที่อันปัจจุบันจะเสร็จสิ้น แขนหุ่นยนต์จึงเคลื่อนที่ได้อย่างต่อเนื่อง โดยไม่มี GPU ในศูนย์ข้อมูลเข้ามาเกี่ยวข้อง นโยบายนี้รองรับการสตรีมอย่างต่อเนื่องบนอุปกรณ์โดยการสร้าง Action Chunks และวางแผนใหม่ (Replanning) หลังจากการ Inference แต่ละรอบ โดยไม่วางแผนใหม่ทุกครั้งที่ได้รับข้อมูล (Observation)ในการทดสอบ RoboLab แบบ Closed-loop นโยบายที่ Post-train สามารถทำสำเร็จได้ถึง 22.9% ผลลัพธ์เหล่านี้แสดงให้เห็นว่าโมเดลพื้นฐาน World Foundation Model ขนาด 4 พันล้านพารามิเตอร์ สามารถเป็นแกนหลักของนโยบายบนอุปกรณ์แบบเรียลไทม์ที่ใช้งานได้จริง โมเดลนี้มีขนาดพอดีกับ Jetson AGX Thor และทำงานทั้งหมดบนตัวหุ่นยนต์ข้อมูลที่ใช้อบรม Policyนโยบายที่ปล่อยออกมาในบทความนี้ฝึกฝนด้วยชุดข้อมูล nvidia/Cosmos3-DROID ซึ่งประกอบด้วยเส้นทางการเคลื่อนที่ที่สำเร็จจากการควบคุมจากระยะไกลกว่า 76,000 เส้นทาง คิดเป็นประมาณ 350 ชั่วโมง ครอบคลุม 86 งาน และ 564 ฉาก ที่รวบรวมด้วยแขนหุ่นยนต์ Franka Panda และกริปเปอร์ Robotiqชุดข้อมูลถูกจัดรูปแบบด้วย LeRobotDataset v3.0 ที่ความละเอียด 640 × 360 พิกเซล โดยมีขั้นตอนการเตรียม 3 ขั้นตอน:กรองเฟรมที่ไม่มีการเคลื่อนไหวและไม่ใช่เฟรมของงานเลือกตัวอย่างการสาธิตที่สำเร็จสำหรับการฝึกใช้การสุ่มตัดภาพ (Random Cropping), การปรับขนาด (Rescaling) และการปรับสี (Color Jitter) ระหว่างการฝึกนำข้อมูลหุ่นยนต์ของคุณมาใช้คุณสามารถแปลงข้อมูลของคุณให้อยู่ในรูปแบบ LeRobot Dataset v3 (วิดีโอต่อเฟรม, สถานะข้อต่อ, สถานะกริปเปอร์, การกระทำ, คำแนะนำงาน) สำหรับการตั้งค่า Franka ที่คล้ายกับ DROID การเปลี่ยนแปลงหลักคือพาธของชุดข้อมูล หุ่นยนต์ที่มีลักษณะแตกต่างกัน (Embodiment) จะต้องมีการกำหนดค่าการทดลอง (Experiment Configuration) ของตนเอง ซึ่งจะกำหนดพื้นที่การกระทำ (Action Space), มิติ, เลย์เอาต์ของกล้อง และการตั้งค่าการทำให้เป็นมาตรฐาน (Normalization Settings)Cosmos 3 รองรับหุ่นยนต์หลายประเภท รวมถึง Franka แบบแขนคู่, UR, WidowX 250, LeRobot SO101 ดูรายละเอียดได้ที่ Model Card ของ Cosmos 3 Edgeสิ่งที่ต้องมีก่อนเริ่มต้นCosmos framework เวอร์ชันล่าสุดฮาร์ดแวร์ที่ผ่านการตรวจสอบสำหรับการฝึก: NVIDIA DGX Station ที่ติดตั้ง NVIDIA GB200 Grace Blackwell Superchip หรือ NVIDIA GB300 Grace Blackwell Ultra Desktop Superchipเวอร์ชัน NVIDIA CUDA และ Container ที่รองรับ: CUDA 13.0 (cu130), NGC 26.06-py3การเข้าถึง Cosmos 3 Edge Base Checkpointการเข้าถึงชุดข้อมูล Cosmos3-DROIDHugging Face Access Tokenโปรดทราบว่านี่คือการ Post-training โมเดลพื้นฐาน ไม่ใช่การ Fine-tune บน GPU เดี่ยว การรันที่ตรวจสอบแล้วใช้ 64 โหนด (Node) ของ 4× GB200 เป็นเวลา 60,000 Iterations หรือประมาณ 68 ชั่วโมง (ประมาณ 17.4K GB200-hours) โปรดวางแผนทรัพยากรคอมพิวเตอร์ตามความเหมาะสมวิธีการ Post-trainโดยรวมแล้ว การ Post-train แบ่งออกเป็น 4 ขั้นตอนหลัก:ดาวน์โหลดชุดข้อมูลแปลง Base Checkpoint เป็นรูปแบบ Distributed Checkpoint (DCP)ใช้ Curation Filterแก้ไขและเปิดใช้งานสคริปต์ Post-trainingคุณจะพบไฟล์สคริปต์ในคลังโค้ด: examples/launchsftactionpolicydroid_nano.shสคริปต์นี้จะลงทะเบียนสูตร (Recipe) สำหรับ Cosmos 3 Nano หากต้องการฝึก Cosmos 3 Edge ให้ทำการแก้ไข 3 จุดก่อนเปิดใช้งาน:แทนที่การนำเข้า NANOMODELCONFIG ด้วย EDGEMODELCONFIG (จาก configs/base/experiment/sft/models/edgemodelconfig.py)ตั้งค่า BASECHECKPOINTPATH ให้เป็น Cosmos 3 Edge DCP Checkpoint จากขั้นตอนการแปลงเปลี่ยนชื่อ examples/launchsftactionpolicydroidnano.sh เป็น examples/launchsftactionpolicydroidedge.shส่วนอื่นๆ ทั้งหมด รวมถึงชุดข้อมูล, Action Space, Curation Filter และตารางการฝึก จะยังคงเหมือนเดิมสำหรับคำแนะนำแบบ End-to-End ล่าสุด รวมถึงการแปลง Checkpoint, การกำหนดค่าสภาพแวดล้อม และการตั้งค่า Curation Filter โปรดดูที่ DROID Post-training Reproduction Guide และ Model Card ซึ่งจะมีการอัปเดตพร้อมกับคลังโค้ดวิธีการ Deploy และรัน Policy บน Jetson Thorนโยบายจะถูกให้บริการโดย WebSocket Policy Server ที่ใช้โปรโตคอล OpenPI ซึ่งเป็นโปรโตคอลเดียวกันที่ใช้ทั่วทั้งระบบ DROID Policy Client จะส่ง Dictionary ของ Observation เข้าไป และ Server จะส่ง Action Chunk กลับมา สำหรับ Edge Server จะทำงานโดยตรงบน Jetson Thor ด้วยขนาดประมาณ 9 GB (ใน BF16) น้ำหนักโมเดล (Weights) จะพอดีกับหน่วยความจำบนบอร์ดของ Thor ทำให้ทั้ง Policy Server และ Control Client ทำงานบนหุ่นยนต์ได้ โดยไม่ต้องใช้ GPU ในศูนย์ข้อมูลเริ่มต้น Policy Server บนหุ่นยนต์เนื่องจาก Server ทำงานบน Thor, host="localhost" การร้องขอจึงไม่จำเป็นต้องออกจากหุ่นยนต์ บนอุปกรณ์ Policy จะทำงานแบบเรียลไทม์ นี่คือการ Inference บนอุปกรณ์ที่ Cosmos Edge เปิดใช้งานSmoke Test (ไม่จำเป็นต้องใช้หุ่นยนต์)DROID Policy เป็นแบบ State-Conditioned ซึ่งหมายความว่า jointposition และ gripperposition เป็น Input ที่แท้จริงของโมเดล ไม่ใช่เพียงส่วนประกอบที่เติมเข้ามา เมื่อไม่มีแขนหุ่นยนต์ ค่าศูนย์ (Zeros) จะถูกใช้เป็นค่า Placeholder ซึ่งการเรียกนี้เพียงแค่พิสูจน์ว่า Server สามารถส่งคืน Action Chunk ที่มีรูปแบบถูกต้องได้การทำงานบนหุ่นยนต์การเรียกเดียวกันนี้จะอยู่ในวงจร Replanning ในแต่ละรอบ ระบบจะอ่านข้อมูลจากกล้องล่าสุด และตำแหน่งข้อต่อกับกริปเปอร์ที่วัดได้จากแขนหุ่นยนต์ (แทนที่ค่าศูนย์ข้างต้น) จากนั้นดำเนินการส่วนหน้า (Prefix) ของ Action Chunk แล้วจึงส่งคำขออีกครั้ง:การดำเนินการเพียงส่วนหน้า (Prefix) และการวางแผนใหม่ (Replanning) เป็นแนวทางปฏิบัติมาตรฐาน: นโยบายจะแก้ไขตัวเองทุกๆ ไม่กี่วินาที และเนื่องจากเป็นแบบ State-Conditioned การวางแผนใหม่แต่ละครั้งจะเริ่มต้นจากตำแหน่งที่แขนหุ่นยนต์อยู่จริง แทนที่จะเป็นตำแหน่งที่คาดการณ์ไว้ใน Action Chunk ก่อนหน้า การเริ่มต้น Server พร้อมเปิดใช้งาน Video Decoding จะส่งคืนการคาดการณ์ (Rollout) ของนโยบายควบคู่ไปกับการกระทำ ทำให้คุณสามารถตรวจสอบสิ่งที่ World Model คาดการณ์สำหรับ Action Chunk ที่ปล่อยออกมาได้การประเมิน Policy ใน Closed-loop Simulationคุณไม่จำเป็นต้องมีหุ่นยนต์จริงเพื่อตรวจสอบ Policy อันที่จริง การประเมิน Policy ใน Simulation เป็นสิ่งที่แนะนำก่อนที่จะประเมินบนหุ่นยนต์จริง เพื่อหลีกเลี่ยงพฤติกรรมที่ไม่คาดคิดก่อนที่จะส่งผลกระทบต่อผู้พัฒนาหรือหุ่นยนต์ RoboLab ซึ่งเป็น Benchmark ของ Isaac Lab-Arena ที่อยู่เบื้องหลัง RoboLab Leaderboard นั้นเป็นแบบโอเพนซอร์ส และ Client จะเชื่อมต่อกับ Policy Server เดียวกัน ระบบจะดำเนินการ Action Chunk แต่ละอันใน Physics Engine และสตรีมข้อมูล Observation ที่เรนเดอร์กลับมาเพื่อสร้าง Closed-loop ที่แท้จริงสำหรับงาน Manipulation ที่ควบคุมด้วยภาษา (Language-conditioned) กว่า 120 งานคุณสามารถสลับ --task เป็นงานใดก็ได้ใน 120 งาน เพื่อสร้างภาพรวมพฤติกรรมของ Policy ที่กว้างขึ้น การรันแต่ละครั้งจะสร้างวิดีโอจากมุมมอง (Viewport) และกล้องของหุ่นยนต์ รวมถึงบันทึกความสำเร็จ (Success Log) เพื่อให้คุณสามารถตรวจสอบทั้งผลลัพธ์และเส้นทางการเคลื่อนที่ที่ก่อให้เกิดผลลัพธ์นั้นได้ในการประเมิน RoboLab แบบ Closed-loop นโยบาย Edge ที่ Post-train สามารถทำสำเร็จได้ 22.9% ทั่วทั้งชุดงาน ซึ่งเป็นผลลัพธ์ที่ได้โดยใช้พลังงาน Inference เพียงเศษเสี้ยวเมื่อเทียบกับ Cosmos 3 Variants ที่ใหญ่กว่า (Nano ทำสำเร็จได้ 36.8%) ซึ่งนี่คือการแลกเปลี่ยนที่ Edge ถูกออกแบบมาเพื่อให้: ระบบอัตโนมัติแบบเรียลไทม์ที่ทำงานทั้งหมดบนหุ่นยนต์ ด้วยอัตราความสำเร็จที่แข่งขันได้หมายเหตุ: NVIDIA Isaac Sim 5.x ต้องการ NVIDIA RTX Server Driver Release 580 หรือใหม่กว่า โปรดยืนยันเวอร์ชันไดรเวอร์ที่รองรับในเอกสาร RoboLab และ Isaac Sim ก่อนทำการ Buildการ Post-train นอกเหนือจากการควบคุมหุ่นยนต์เทคนิค Post-training ที่ช่วยปรับปรุงการควบคุมหุ่นยนต์ ยังสามารถขยายไปสู่ความสามารถอื่นๆ ได้ เช่น การสร้างข้อมูลสังเคราะห์ (Synthetic Data Generation) สำหรับการฝึกหุ่นยนต์ นักพัฒนาสามารถสร้าง World Models ที่เชี่ยวชาญเพื่อสร้างข้อมูลสังเคราะห์คุณภาพhttps://developer.nvidia.com/blog/post-train-nvidia-cosmos-3-edge-for-on-device-robot-control/
Shared content
DEVELOPER.NVIDIA.COM
Post-Train NVIDIA Cosmos 3 Edge for On-Device Robot Control
Robots need policies that can adapt to their sensors, environments, and tasks while running on onboard computing hardware. World models offer a foundation for learning physical interactions…
2 Commenti 0 condivisioni 227 Views 0 Anteprima