การเปิดตัว Dynamo ล่าสุดของ NVIDIA ซึ่งเป็นเฟรมเวิร์กสำหรับการอนุมานปัญญาประดิษฐ์เชิงสร้างสรรค์ที่มีปริมาณงานสูงและความหน่วงต่ำ ได้จุดประเด็นการถกเถียงในชุมชนนักพัฒนาเกี่ยวกับการเลือกภาษาโปรแกรมมิ่งและภูมิทัศน์ที่กำลังเปลี่ยนแปลงของเครื่องมือ AI inference
Rust เทียบกับภาษาพัฒนาเว็บแบบดั้งเดิม
การประกาศเปิดตัว NVIDIA Dynamo ได้จุดประเด็นการถกเถียงอย่างเข้มข้นโดยไม่คาดคิดเกี่ยวกับความเหมาะสมของ Rust สำหรับการพัฒนาเว็บ สมาชิกในชุมชนได้ยกประเด็นแนวทางแบบผสมผสานของ Dynamo ที่ใช้ Rust สำหรับส่วนประกอบที่ต้องการประสิทธิภาพสูงและ Python สำหรับความสามารถในการขยาย เป็นหลักฐานของปรัชญาการพัฒนาที่ปฏิบัติได้จริง ทางเลือกทางเทคนิคนี้ได้กลายเป็นจุดขัดแย้งในสงครามภาษาโปรแกรมมิ่งที่ดำเนินอยู่
ฝ่ายสนับสนุนโต้แย้งว่า Rust มอบประสิทธิภาพที่เหนือกว่าสำหรับบริการเว็บ โดยนักพัฒนาบางคนอ้างว่าเฟรมเวิร์กอย่าง Actix และ Axum มีความเรียบง่ายคล้าย Flask ของ Python ในขณะที่มอบประสิทธิภาพใกล้เคียงกับ nginx ฝ่ายวิจารณ์โต้แย้งว่าความซับซ้อนของ Rust และข้อกำหนดด้านการพึ่งพาทำให้มันไม่สะดวกในทางปฏิบัติเท่ากับ Go หรือ Python สำหรับแอปพลิเคชันเว็บทั่วไป โดยชี้ให้เห็นถึงความจำเป็นในการใช้ไลบรารีภายนอกหลายตัวเพื่อชดเชยสิ่งที่พวกเขามองว่าเป็นข้อจำกัดของไลบรารีมาตรฐาน
Rust กำลังเป็นหนึ่งในภาษาโปรแกรมมิ่งสำหรับเว็บที่ดีที่สุด Actix และ Axum ให้ความรู้สึกเหมือน Flask ของ Python... มันดีกว่า Go และ Python จริงๆ ส่วนอื่นๆ (ฐานข้อมูล, API clients ฯลฯ) น่าจะพัฒนาให้ดีขึ้นในอนาคต
ความกังวลเกี่ยวกับระบบนิเวศ Inference ของ NVIDIA
นอกเหนือจากการถกเถียงเรื่องภาษา การประกาศนี้ยังเผยให้เห็นความกังวลที่สำคัญเกี่ยวกับประวัติผลงานของ NVIDIA กับผลิตภัณฑ์ inference นักพัฒนาหลายคนได้แบ่งปันเรื่องราวเตือนภัยเกี่ยวกับความยากลำบากในการใช้งานโซลูชัน inference ของ NVIDIA โดยมีผู้แสดงความคิดเห็นรายหนึ่งเตือนถึงการต่อสู้ที่ยาวนานถึงหนึ่งปีแม้จะมีการเข้าถึงทีมพัฒนาของ NVIDIA โดยตรง
ประสบการณ์เหล่านี้ทำให้บางคนแนะนำทางเลือกอื่นเช่น Ray Serve แม้ว่าข้อเสนอแนะนี้เองก็จุดประเด็นการถกเถียงเพิ่มเติมเกี่ยวกับความเหมาะสมของเฟรมเวิร์กที่แตกต่างกันสำหรับงาน LLM ผู้วิจารณ์ Ray ชี้ให้เห็นถึงการขาดการปรับให้เหมาะสมกับโมเดลภาษา โดยสังเกตถึงการไม่มีคุณสมบัติสำคัญเช่น KV-caching และ model parallelism ซึ่งรวมอยู่ใน Dynamo และเฟรมเวิร์กเฉพาะทางอื่นๆ
ทางเลือกที่ชุมชนระบุสำหรับโซลูชันการอนุมานของ NVIDIA:
- Ray Serve (ใช้งานได้ทั่วไปแต่ถูกวิจารณ์สำหรับงาน LLM)
- vLLM (เฉพาะทางสำหรับ LLM)
- SGLang (เฉพาะทางสำหรับ LLM)
- text-generation-inference (เฉพาะทางสำหรับ LLM)
ความเข้ากันได้กับ OpenAI API ในฐานะมาตรฐานที่กำลังเกิดขึ้น
ประเด็นที่น่าสนใจในการอภิปรายนี้เน้นที่การรวม OpenAI Compatible Frontend ของ Dynamo สมาชิกในชุมชนสังเกตว่าแนวทางนี้กำลังเป็นที่นิยมมากขึ้นในพื้นที่การให้บริการ LLM โดยเครื่องมือต่างๆ เช่น VLLM, Llama.cpp และ LiteLLM ต่างก็นำเสนอ API ที่เข้ากันได้กับ OpenAI สิ่งนี้บ่งชี้ว่าอุตสาหกรรมอาจกำลังมุ่งไปสู่การออกแบบอินเทอร์เฟซของ OpenAI เป็นมาตรฐานที่เป็นที่ยอมรับสำหรับการอนุมาน LLM คล้ายกับที่ API ของ Amazon S3 กลายเป็นมาตรฐานสำหรับการจัดเก็บวัตถุ
คุณสมบัติหลักของ NVIDIA Dynamo:
- การแยกส่วนการเรียกข้อมูลล่วงหน้าและถอดรหัสการอนุมาน
- การจัดตารางเวลา GPU แบบไดนามิก
- การจัดเส้นทางคำขอที่คำนึงถึง LLM
- การถ่ายโอนข้อมูลที่เร่งความเร็วด้วย NIXL
- การโอนย้ายแคช KV
- เป็นโอเพนซอร์สที่มีการใช้งานสองรูปแบบ (Rust สำหรับประสิทธิภาพ, Python สำหรับความสามารถในการขยาย)
ความกังวลเกี่ยวกับการพัฒนาแบบหลายภาษา
นักพัฒนาบางคนแสดงความสงสัยเกี่ยวกับสถาปัตยกรรมหลายภาษาของ Dynamo ซึ่งรวม Rust, Go, Python และ C++ ผู้วิจารณ์โต้แย้งว่าการดูแลรักษาสแต็กเทคโนโลยีที่หลากหลายเช่นนี้อาจเป็นเรื่องท้าทาย โดยเฉพาะอย่างยิ่งเมื่อพิจารณาถึงการขาดแคลนนักพัฒนา Rust ในชุมชน AI ความกังวลเหล่านี้เน้นย้ำถึงความตึงเครียดระหว่างการปรับแต่งส่วนประกอบแต่ละส่วนด้วยภาษาเฉพาะทางและการรักษาโค้ดเบสที่เป็นเอกภาพและดูแลรักษาได้
โดยสรุป ในขณะที่ NVIDIA Dynamo นำเสนอความสามารถที่น่าสนใจสำหรับการอนุมาน LLM ประสิทธิภาพสูง ปฏิกิริยาของชุมชนเผยให้เห็นความตึงเครียดที่ลึกซึ้งในระบบนิเวศของนักพัฒนาเกี่ยวกับทางเลือกภาษา ความน่าเชื่อถือของเฟรมเวิร์ก และแนวทางสถาปัตยกรรม เมื่อการใช้งาน AI กลายเป็นสิ่งสำคัญมากขึ้นต่อการดำเนินธุรกิจ การอภิปรายเหล่านี้สะท้อนให้เห็นถึงความเสี่ยงสูงที่เกี่ยวข้องกับการเลือกเครื่องมือและเทคโนโลยีที่เหมาะสมสำหรับสภาพแวดล้อมการผลิต
อ้างอิง: NVIDIA Dynamo