พัฒนา Runtime USD น้ำหนักเบาให้เร็วขึ้นด้วย AI Agents

ในโลกของการสร้างสรรค์ 3 มิติ และการจำลองทางกายภาพ (Physical AI) การจัดการข้อมูลที่มีความซับซ้อนเป็นสิ่งสำคัญอย่างยิ่ง OpenUSD (Open Universal Scene Description) ได้กลายเป็นเฟรมเวิร์กมาตรฐานที่เปิดกว้างและสามารถขยายได้ เพื่อให้ทีมต่างๆ สามารถนำข้อมูล CAD, สินทรัพย์จากการจำลอง หรือข้อมูล Telemetry จากโลกจริง มาสร้างเป็นภาพมุมมองร่วมกันที่มีความแม่นยำทางกายภาพ

แต่เดิม การสร้าง Runtime USD มักจะต้องปรับแต่งจากโค้ดเบสขนาดใหญ่ที่มีอยู่ ซึ่งอาจไม่เหมาะกับทุกความต้องการ ทั้งในด้านการใช้หน่วยความจำ, รูปแบบ Application Binary Interface (ABI) ที่แตกต่างกัน หรือลักษณะประสิทธิภาพที่ต้องการ แต่วันนี้มีอีกทางเลือกหนึ่งที่น่าสนใจ นั่นคือการสร้าง Runtime โดยตรงจากมาตรฐาน USD ด้วย AI Agents ผ่านโครงการ nanousd-labs จาก NVIDIA Omniverse Labs

nanousd-labs: สร้าง Runtime USD จากข้อกำหนดมาตรฐานด้วย AI

nanousd-labs เป็นเครื่องมือที่ช่วยให้นักพัฒนาสามารถสร้าง Runtime USD ที่มีน้ำหนักเบาและเป็นไปตามข้อกำหนด (spec-compliant) ได้โดยตรงจาก USD Core Specification โดยใช้ AI Agents เป็นตัวช่วย วิธีการนี้ช่วยให้นักพัฒนาไม่ต้องปรับแต่งโค้ดเบสเดิมที่ใหญ่จนเกินไป และสามารถกำหนดข้อจำกัดด้านหน่วยความจำ ประสิทธิภาพ และ ABI ได้อย่างแม่นยำตามความต้องการใช้งาน

หลักการทำงาน: ข้อกำหนดคือสัญญา

หัวใจสำคัญของ nanousd-labs คือการมองว่า USD Core Specification ซึ่งจัดทำโดย Alliance for OpenUSD (AOUSD) เป็นเหมือน "สัญญา" ที่ AI Agents จะอ่านและนำไปสร้างโค้ด จากนั้นจึงตรวจสอบความถูกต้องกับชุดทดสอบที่สร้างขึ้นจากข้อกำหนดนั้นๆ นักพัฒนาจะเน้นที่การตัดสินใจเชิงสถาปัตยกรรม ในขณะที่ AI Agents จะทำงานที่เกี่ยวกับกระบวนการแปลงข้อกำหนดเป็นโค้ดโดยอัตโนมัติ เช่น การแยกวิเคราะห์ (parsing), การจัดองค์ประกอบฉาก (scene composition) และการค้นหาค่า (value resolution)

nanousd: Data Layer ที่เสถียรและยืดหยุ่น

nanousd เป็นส่วนประกอบที่ให้เลเยอร์ข้อมูลแบบ C ABI ที่เสถียร ซึ่งทำงานแยกจากการเรนเดอร์ ช่วยให้สามารถผสานรวมเข้ากับ OpenUSD ที่มีอยู่เดิมได้อย่างราบรื่น และยังรองรับการสลับ Backend แบบไดนามิก โดยยังคงรักษา API ที่สอดคล้องกัน นักพัฒนาสามารถใช้ nanousd ได้โดยตรง หรือนำวิธีการที่ขับเคลื่อนด้วย AI Agents ไปปรับใช้เพื่อสร้างหรือตรวจสอบเวิร์กโฟลว์ Physical AI ที่กำหนดเองได้

ทำไมต้องสร้าง Runtime USD ด้วย AI?

การสร้าง Runtime USD แบบดั้งเดิมมักต้องอาศัยการปรับแต่งโค้ดเบสที่มีอยู่ ซึ่งอาจใช้เวลานานและไม่ยืดหยุ่นหากต้องการปรับเปลี่ยนคุณสมบัติบางอย่าง nanousd-labs นำเสนอแนวทางใหม่ที่ใช้ประโยชน์จากลักษณะที่เป็นทางการและอ่านได้ด้วยเครื่องของ USD Core Specification

การทำงานของ AI Agents กับ USD Core Specification

วิธีการของ nanousd-labs ตั้งอยู่บนแนวคิดที่ว่า USD Core Specification คือ "สัญญา" ที่กำหนดพฤติกรรมที่ Runtime ที่เป็นไปตามข้อกำหนดควรจะแสดงออกมา โดยไม่จำเป็นต้องบอกวิธีการสร้างที่เจาะจง AI Agents จะอ่านข้อกำหนดโดยตรง และเขียนโค้ดที่ต้องทำให้พฤติกรรมนั้นสำเร็จ จากนั้นจึงตรวจสอบผลลัพธ์กับชุดทดสอบที่มาจากข้อกำหนดเดียวกัน

กระบวนการนี้ทำให้โค้ดที่สร้างขึ้นมีความยืดหยุ่น สามารถสร้างใหม่ได้ภายใต้ข้อจำกัดที่แตกต่างกัน เช่น หน่วยความจำ ประสิทธิภาพ หรือภาษา โดยยังคงความเป็นไปตามข้อกำหนดเดิม

nanousd-labs คืออะไร?

nanousd คือการนำ USD Core Specification มาสร้างเป็น Runtime ที่เป็นอิสระ โดยเน้นที่โมเดลข้อมูล (กฎเกณฑ์ที่ควบคุมว่าฉาก USD ทำงานอย่างไรเมื่อถูกโหลดและสอบถาม) และเปิดเผยผ่าน C ABI ที่เสถียร การนำไปใช้งานเขียนด้วย C++ พร้อม C API สาธารณะที่ภาษาใดๆ ก็สามารถเรียกใช้ได้โดยตรง

nanousd ทำหน้าที่เป็น Data Layer ไม่ใช่ Renderer โดยจะทำการแยกวิเคราะห์ (parse), จัดองค์ประกอบ (compose), สอบถาม (query) และเขียน (write) ข้อมูล โดยจะหยุดที่จุดเริ่มต้นของการสร้างพิกเซล AI Agents จะนำ Core Specification มาสร้างโมเดลข้อมูล และ nanousd จะเก็บเฉพาะสิ่งที่เวิร์กโหลดนั้นๆ ต้องการ โดยเปิดเผยผ่าน C ABI ที่เสถียร ทำให้สแต็ก OpenUSD ที่มีอยู่ยังคงทำงานได้โดยไม่ต้องแก้ไข

ความเสถียรของ C ABI และการสลับ Backend

USD Core Specification กำหนดว่า Runtime ต้องทำอะไรบ้าง แต่เปิดทางเลือกให้การจัดการหน่วยความจำ, การทำงานแบบหลายเธรด (threading), ABI และภาษา เป็นการตัดสินใจในการนำไปใช้งาน สำหรับ nanousd การเลือกหลักคือ C ABI ที่เสถียร ทำให้โค้ดฝั่ง Client ที่คอมไพล์กับ C API แบบคงที่ สามารถโหลด Implementation ของมันได้ใน Runtime ดังนั้น Backend จึงสามารถเปลี่ยนแปลงได้ในขณะที่โค้ดที่เรียกใช้ยังคงเดิม

สองวิธีเริ่มต้นสร้างด้วย USD Core Specification และ AI Agents

สำหรับนักพัฒนาที่กำลังสร้าง Physical AI pipelines และแอปพลิเคชัน ที่ต้องการ Runtime USD ที่มีน้ำหนักเบาและสร้างขึ้นเพื่อวัตถุประสงค์เฉพาะ มีสองวิธีในการเริ่มต้นใช้งาน nanousd-labs:

  1. สำหรับการใช้งานทันที: สำหรับทีมที่ต้องการ Runtime ที่พร้อมใช้งาน สามารถโคลนและสร้าง nanousd ได้โดยตรง nanousd-python ซึ่งเป็นแพ็กเกจ Python ที่สร้างบน C API ของ nanousd ไม่ต้องการ GPU และสามารถทำงานแบบ Headless บนเครื่องใดก็ได้ สามารถติดตั้งได้ง่ายๆ
    pip install nanousd

การเปิด Stage และไล่ดู Prims (องค์ประกอบแต่ละส่วนที่ประกอบกันเป็นฉาก USD) สามารถทำได้ดังนี้:

    import nanousd
stage = nanusd.OpenStage("my_scene.usd")
for prim in stage.Traverse():
print(f"- {prim.GetPath()} ({prim.GetTypeName()})")

จากนั้น AI Agent ที่อิงตาม USD Core Specification จะจัดการการสร้าง (authoring) และการตรวจสอบความถูกต้อง:

    
# Agent authors the stage
scene_structure = agent.author_stage(...)

# Agent composes it back through nanousd-labs to confirm it resolves correctly
composed_scene = nanousd.Compose(scene_structure)

# Agent returns the composed scene structure plus a note on anything it fixed
print(composed_scene.structure)
print(composed_scene.notes)

ผลลัพธ์ที่แสดงจะระบุองค์ประกอบแต่ละส่วนในฉาก, ประเภท, และวิธีการประกอบเข้าด้วยกัน

  1. สำหรับการเรียนรู้วิธีการและนำไปปรับใช้: สำหรับทีมที่ต้องการทำความเข้าใจวิธีการและนำไปปรับใช้กับสแต็กของตนเอง การเริ่มต้นครั้งแรกกับการให้ AI Agents สร้างโดยตรง จะเป็นการเขียนคำสั่งด้วยมือทั้งหมด Skillgraph คือที่ที่คำสั่งของมนุษย์ถูกแปลงเป็นทักษะที่นำกลับมาใช้ใหม่ได้ สูตร (recipes), Prompt และการทดสอบ จะบันทึกวิธีการสร้างพฤติกรรมที่สอดคล้องกับข้อกำหนด

มี Tutorial สั้นๆ ประมาณ 10 นาที ที่จะแนะนำวิธีการสร้าง Parser สำหรับ USD ASCII (USDA) ที่เป็นไปตาม Core Specification และจะจบลงด้วยความเข้าใจในวิธีการและจุดเริ่มต้นสำหรับการนำไปใช้งาน

การสร้าง Runtime USD ที่ตรงตามวัตถุประสงค์การใช้งาน สามารถทำได้แล้วโดยไม่ต้องเริ่มต้นจากศูนย์ USD Core Specification เป็นรากฐานที่แม่นยำให้ AI Agents ใช้สร้าง และ nanousd-labs คือตัวอย่างที่แสดงให้เห็นถึงความเป็นไปได้ในทางปฏิบัติ

การมีส่วนร่วมและการพัฒนาต่อยอด

  • นักพัฒนาสามารถ ร่วมสนับสนุน ด้วยการสร้างทักษะใหม่ๆ, การรองรับภาษาอื่นๆ หรือกรณีการใช้งาน Physical AI บน GitHub
  • องค์กรที่เป็นสมาชิก AOUSD สามารถ ร่วมกำหนดมาตรฐาน ผ่าน Core Spec Working Group ได้
  • สำรวจ OpenUSD standard USD Core Spec
  • ทดลองใช้งาน nanousd-labs project
  • เริ่มต้นด้วยเส้นทางการเรียนรู้ Learn OpenUSD ซึ่งเป็น Open-source ฟรี ที่ออกแบบมาเพื่อช่วยให้เชี่ยวชาญทักษะในการสร้างเวิร์กโฟลว์ 3 มิติที่มีประสิทธิภาพด้วย OpenUSD

#OpenUSD #USD #AI #NVIDIA #Omniverse

ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/develop-lightweight-usd-runtimes-faster-with-ai-agents/

พัฒนา Runtime USD น้ำหนักเบาให้เร็วขึ้นด้วย AI Agentsในโลกของการสร้างสรรค์ 3 มิติ และการจำลองทางกายภาพ (Physical AI) การจัดการข้อมูลที่มีความซับซ้อนเป็นสิ่งสำคัญอย่างยิ่ง OpenUSD (Open Universal Scene Description) ได้กลายเป็นเฟรมเวิร์กมาตรฐานที่เปิดกว้างและสามารถขยายได้ เพื่อให้ทีมต่างๆ สามารถนำข้อมูล CAD, สินทรัพย์จากการจำลอง หรือข้อมูล Telemetry จากโลกจริง มาสร้างเป็นภาพมุมมองร่วมกันที่มีความแม่นยำทางกายภาพแต่เดิม การสร้าง Runtime USD มักจะต้องปรับแต่งจากโค้ดเบสขนาดใหญ่ที่มีอยู่ ซึ่งอาจไม่เหมาะกับทุกความต้องการ ทั้งในด้านการใช้หน่วยความจำ, รูปแบบ Application Binary Interface (ABI) ที่แตกต่างกัน หรือลักษณะประสิทธิภาพที่ต้องการ แต่วันนี้มีอีกทางเลือกหนึ่งที่น่าสนใจ นั่นคือการสร้าง Runtime โดยตรงจากมาตรฐาน USD ด้วย AI Agents ผ่านโครงการ nanousd-labs จาก NVIDIA Omniverse Labsnanousd-labs: สร้าง Runtime USD จากข้อกำหนดมาตรฐานด้วย AInanousd-labs เป็นเครื่องมือที่ช่วยให้นักพัฒนาสามารถสร้าง Runtime USD ที่มีน้ำหนักเบาและเป็นไปตามข้อกำหนด (spec-compliant) ได้โดยตรงจาก USD Core Specification โดยใช้ AI Agents เป็นตัวช่วย วิธีการนี้ช่วยให้นักพัฒนาไม่ต้องปรับแต่งโค้ดเบสเดิมที่ใหญ่จนเกินไป และสามารถกำหนดข้อจำกัดด้านหน่วยความจำ ประสิทธิภาพ และ ABI ได้อย่างแม่นยำตามความต้องการใช้งานหลักการทำงาน: ข้อกำหนดคือสัญญาหัวใจสำคัญของ nanousd-labs คือการมองว่า USD Core Specification ซึ่งจัดทำโดย Alliance for OpenUSD (AOUSD) เป็นเหมือน "สัญญา" ที่ AI Agents จะอ่านและนำไปสร้างโค้ด จากนั้นจึงตรวจสอบความถูกต้องกับชุดทดสอบที่สร้างขึ้นจากข้อกำหนดนั้นๆ นักพัฒนาจะเน้นที่การตัดสินใจเชิงสถาปัตยกรรม ในขณะที่ AI Agents จะทำงานที่เกี่ยวกับกระบวนการแปลงข้อกำหนดเป็นโค้ดโดยอัตโนมัติ เช่น การแยกวิเคราะห์ (parsing), การจัดองค์ประกอบฉาก (scene composition) และการค้นหาค่า (value resolution)nanousd: Data Layer ที่เสถียรและยืดหยุ่นnanousd เป็นส่วนประกอบที่ให้เลเยอร์ข้อมูลแบบ C ABI ที่เสถียร ซึ่งทำงานแยกจากการเรนเดอร์ ช่วยให้สามารถผสานรวมเข้ากับ OpenUSD ที่มีอยู่เดิมได้อย่างราบรื่น และยังรองรับการสลับ Backend แบบไดนามิก โดยยังคงรักษา API ที่สอดคล้องกัน นักพัฒนาสามารถใช้ nanousd ได้โดยตรง หรือนำวิธีการที่ขับเคลื่อนด้วย AI Agents ไปปรับใช้เพื่อสร้างหรือตรวจสอบเวิร์กโฟลว์ Physical AI ที่กำหนดเองได้ทำไมต้องสร้าง Runtime USD ด้วย AI?การสร้าง Runtime USD แบบดั้งเดิมมักต้องอาศัยการปรับแต่งโค้ดเบสที่มีอยู่ ซึ่งอาจใช้เวลานานและไม่ยืดหยุ่นหากต้องการปรับเปลี่ยนคุณสมบัติบางอย่าง nanousd-labs นำเสนอแนวทางใหม่ที่ใช้ประโยชน์จากลักษณะที่เป็นทางการและอ่านได้ด้วยเครื่องของ USD Core Specificationการทำงานของ AI Agents กับ USD Core Specificationวิธีการของ nanousd-labs ตั้งอยู่บนแนวคิดที่ว่า USD Core Specification คือ "สัญญา" ที่กำหนดพฤติกรรมที่ Runtime ที่เป็นไปตามข้อกำหนดควรจะแสดงออกมา โดยไม่จำเป็นต้องบอกวิธีการสร้างที่เจาะจง AI Agents จะอ่านข้อกำหนดโดยตรง และเขียนโค้ดที่ต้องทำให้พฤติกรรมนั้นสำเร็จ จากนั้นจึงตรวจสอบผลลัพธ์กับชุดทดสอบที่มาจากข้อกำหนดเดียวกันกระบวนการนี้ทำให้โค้ดที่สร้างขึ้นมีความยืดหยุ่น สามารถสร้างใหม่ได้ภายใต้ข้อจำกัดที่แตกต่างกัน เช่น หน่วยความจำ ประสิทธิภาพ หรือภาษา โดยยังคงความเป็นไปตามข้อกำหนดเดิมnanousd-labs คืออะไร?nanousd คือการนำ USD Core Specification มาสร้างเป็น Runtime ที่เป็นอิสระ โดยเน้นที่โมเดลข้อมูล (กฎเกณฑ์ที่ควบคุมว่าฉาก USD ทำงานอย่างไรเมื่อถูกโหลดและสอบถาม) และเปิดเผยผ่าน C ABI ที่เสถียร การนำไปใช้งานเขียนด้วย C++ พร้อม C API สาธารณะที่ภาษาใดๆ ก็สามารถเรียกใช้ได้โดยตรงnanousd ทำหน้าที่เป็น Data Layer ไม่ใช่ Renderer โดยจะทำการแยกวิเคราะห์ (parse), จัดองค์ประกอบ (compose), สอบถาม (query) และเขียน (write) ข้อมูล โดยจะหยุดที่จุดเริ่มต้นของการสร้างพิกเซล AI Agents จะนำ Core Specification มาสร้างโมเดลข้อมูล และ nanousd จะเก็บเฉพาะสิ่งที่เวิร์กโหลดนั้นๆ ต้องการ โดยเปิดเผยผ่าน C ABI ที่เสถียร ทำให้สแต็ก OpenUSD ที่มีอยู่ยังคงทำงานได้โดยไม่ต้องแก้ไขความเสถียรของ C ABI และการสลับ BackendUSD Core Specification กำหนดว่า Runtime ต้องทำอะไรบ้าง แต่เปิดทางเลือกให้การจัดการหน่วยความจำ, การทำงานแบบหลายเธรด (threading), ABI และภาษา เป็นการตัดสินใจในการนำไปใช้งาน สำหรับ nanousd การเลือกหลักคือ C ABI ที่เสถียร ทำให้โค้ดฝั่ง Client ที่คอมไพล์กับ C API แบบคงที่ สามารถโหลด Implementation ของมันได้ใน Runtime ดังนั้น Backend จึงสามารถเปลี่ยนแปลงได้ในขณะที่โค้ดที่เรียกใช้ยังคงเดิมสองวิธีเริ่มต้นสร้างด้วย USD Core Specification และ AI Agentsสำหรับนักพัฒนาที่กำลังสร้าง Physical AI pipelines และแอปพลิเคชัน ที่ต้องการ Runtime USD ที่มีน้ำหนักเบาและสร้างขึ้นเพื่อวัตถุประสงค์เฉพาะ มีสองวิธีในการเริ่มต้นใช้งาน nanousd-labs:สำหรับการใช้งานทันที: สำหรับทีมที่ต้องการ Runtime ที่พร้อมใช้งาน สามารถโคลนและสร้าง nanousd ได้โดยตรง nanousd-python ซึ่งเป็นแพ็กเกจ Python ที่สร้างบน C API ของ nanousd ไม่ต้องการ GPU และสามารถทำงานแบบ Headless บนเครื่องใดก็ได้ สามารถติดตั้งได้ง่ายๆ pip install nanousdการเปิด Stage และไล่ดู Prims (องค์ประกอบแต่ละส่วนที่ประกอบกันเป็นฉาก USD) สามารถทำได้ดังนี้: import nanousd stage = nanusd.OpenStage("my_scene.usd") for prim in stage.Traverse(): print(f"- {prim.GetPath()} ({prim.GetTypeName()})")จากนั้น AI Agent ที่อิงตาม USD Core Specification จะจัดการการสร้าง (authoring) และการตรวจสอบความถูกต้อง: # Agent authors the stage scene_structure = agent.author_stage(...) # Agent composes it back through nanousd-labs to confirm it resolves correctly composed_scene = nanousd.Compose(scene_structure) # Agent returns the composed scene structure plus a note on anything it fixed print(composed_scene.structure) print(composed_scene.notes)ผลลัพธ์ที่แสดงจะระบุองค์ประกอบแต่ละส่วนในฉาก, ประเภท, และวิธีการประกอบเข้าด้วยกันสำหรับการเรียนรู้วิธีการและนำไปปรับใช้: สำหรับทีมที่ต้องการทำความเข้าใจวิธีการและนำไปปรับใช้กับสแต็กของตนเอง การเริ่มต้นครั้งแรกกับการให้ AI Agents สร้างโดยตรง จะเป็นการเขียนคำสั่งด้วยมือทั้งหมด Skillgraph คือที่ที่คำสั่งของมนุษย์ถูกแปลงเป็นทักษะที่นำกลับมาใช้ใหม่ได้ สูตร (recipes), Prompt และการทดสอบ จะบันทึกวิธีการสร้างพฤติกรรมที่สอดคล้องกับข้อกำหนดมี Tutorial สั้นๆ ประมาณ 10 นาที ที่จะแนะนำวิธีการสร้าง Parser สำหรับ USD ASCII (USDA) ที่เป็นไปตาม Core Specification และจะจบลงด้วยความเข้าใจในวิธีการและจุดเริ่มต้นสำหรับการนำไปใช้งานการสร้าง Runtime USD ที่ตรงตามวัตถุประสงค์การใช้งาน สามารถทำได้แล้วโดยไม่ต้องเริ่มต้นจากศูนย์ USD Core Specification เป็นรากฐานที่แม่นยำให้ AI Agents ใช้สร้าง และ nanousd-labs คือตัวอย่างที่แสดงให้เห็นถึงความเป็นไปได้ในทางปฏิบัติการมีส่วนร่วมและการพัฒนาต่อยอดนักพัฒนาสามารถ ร่วมสนับสนุน ด้วยการสร้างทักษะใหม่ๆ, การรองรับภาษาอื่นๆ หรือกรณีการใช้งาน Physical AI บน GitHubองค์กรที่เป็นสมาชิก AOUSD สามารถ ร่วมกำหนดมาตรฐาน ผ่าน Core Spec Working Group ได้สำรวจ OpenUSD standard USD Core Specทดลองใช้งาน nanousd-labs projectเริ่มต้นด้วยเส้นทางการเรียนรู้ Learn OpenUSD ซึ่งเป็น Open-source ฟรี ที่ออกแบบมาเพื่อช่วยให้เชี่ยวชาญทักษะในการสร้างเวิร์กโฟลว์ 3 มิติที่มีประสิทธิภาพด้วย OpenUSD#OpenUSD #USD #AI #NVIDIA #Omniversehttps://developer.nvidia.com/blog/develop-lightweight-usd-runtimes-faster-with-ai-agents/
Shared content
DEVELOPER.NVIDIA.COM
Develop Lightweight USD Runtimes Faster with AI Agents
OpenUSD is an open, extensible framework that provides a common scene description language for physical AI. It enables teams to bring CAD data, simulation assets, and real-world telemetry into a…
5 Comments 0 Shares 685 Views 0 Reviews