ภาพรวม
สถาปัตยกรรมการให้บริการที่แบ่งการอนุมานโมเดลภาษาขนาดใหญ่ออกเป็นสองเฟส ได้แก่ เติมล่วงหน้าและถอดรหัส และรันบนกลุ่ม GPU ที่แตกต่างกัน เป็นเรื่องสำคัญเนื่องจากทั้งสองระยะนี้มีความต้องการด้านฮาร์ดแวร์ที่ตรงกันข้าม และการบังคับให้เข้าสู่เครื่องเดียวกันจะทำให้ความจุสิ้นเปลืองและทำให้เวลาในการตอบสนองลดลง
การให้บริการการกรอกข้อมูลล่วงหน้าและถอดรหัสแบบแยกส่วนเป็นส่วนสำคัญทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง
เจาะลึก
เมื่อ LLM ตอบกลับ มันจะทำงานในสองขั้นตอน การเติมล่วงหน้าจะอ่านพรอมต์ทั้งหมดในครั้งเดียวและสร้างแคชคีย์-ค่า (KV) นี่เป็นการระเบิดครั้งใหญ่แบบขนานและขอบเขตการคำนวณที่ทำให้หน่วยทางคณิตศาสตร์ของ GPU อิ่มตัว จากนั้นถอดรหัสจะสร้างโทเค็นทีละรายการ แต่ละขั้นตอนจะอ่านแคช KV ทั้งหมด ซึ่งเป็นหยดที่จำกัดแบนด์วิดท์หน่วยความจำและคำนวณเพียงเล็กน้อย เมื่อทำงานร่วมกัน การกรอกข้อมูลล่วงหน้าแบบยาวจะทำให้การถอดรหัสของทุกคนหยุดชะงัก (การบล็อกส่วนหัวของบรรทัด) และการแบทช์ทั้งสองจะสร้างการรบกวน การแยกส่วนจะทำการกรอกข้อมูลล่วงหน้าบนพูล GPU หนึ่งและถอดรหัสบนอีกพูลหนึ่ง โดยถ่ายโอนแคช KV ระหว่างพวกมันผ่านการเชื่อมต่อระหว่างกันที่รวดเร็ว เช่น NVLink หรือ InfiniBand แต่ละพูลได้รับการปรับแต่งและปรับขนาดอย่างเป็นอิสระ ปรับปรุง goodput ลดเวลาแฝงของส่วนท้าย และปล่อยให้ผู้ปฏิบัติงานเข้าถึงเป้าหมายโทเค็นเวลาถึงโทเค็นแรกและเวลาต่อเอาต์พุตที่จำกัดพร้อมกัน
ข้อมูลเชิงลึกทางเทคนิค
ทั้งสองระยะมีความแตกต่างกันในเรื่องคอขวด การกรอกข้อมูลล่วงหน้าจะประมวลผลโทเค็นพร้อมท์ทั้งหมดแบบขนาน ดังนั้น FLOP จะปรับขนาดตามความยาวพร้อมท์และเพิ่มแกนเทนเซอร์ให้สูงสุด การถอดรหัสเป็นแบบถดถอยอัตโนมัติ: โทเค็นใหม่แต่ละโทเค็นต้องมีการส่งต่อหนึ่งครั้งซึ่งจะอ่านแคช KV แบบเต็มจาก HBM อีกครั้ง ดังนั้นปริมาณงานจะถูกควบคุมโดยแบนด์วิดท์หน่วยความจำ ไม่ใช่การคำนวณ การแยกส่วนใช้ประโยชน์จากสิ่งนี้โดยการกำหนดขนาด การจัดกลุ่ม และแม้แต่การเลือกความคล้ายคลึงที่แตกต่างกันสำหรับแต่ละพูล จากนั้นจัดส่งแคช KV จากผู้ปฏิบัติงานที่กรอกข้อมูลล่วงหน้าเพื่อถอดรหัสผู้ปฏิบัติงาน
การเรียนรู้การเติมข้อมูลล่วงหน้าแบบแยกส่วนและการถอดรหัสการให้บริการ
สถาปัตยกรรมการให้บริการที่แบ่งการอนุมานโมเดลภาษาขนาดใหญ่ออกเป็นสองเฟส ได้แก่ เติมล่วงหน้าและถอดรหัส และรันบนกลุ่ม GPU ที่แตกต่างกัน เป็นเรื่องสำคัญเนื่องจากทั้งสองระยะนี้มีความต้องการด้านฮาร์ดแวร์ที่ตรงกันข้าม และการบังคับให้เข้าสู่เครื่องเดียวกันจะทำให้ความจุสิ้นเปลืองและทำให้เวลาในการตอบสนองลดลง การให้บริการการกรอกข้อมูลล่วงหน้าและถอดรหัสแบบแยกส่วนเป็นส่วนสำคัญทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง เพื่อสร้างความเข้าใจอย่างลึกซึ้ง ให้ถือว่า Disaggregated Prefill and Decode Serving เป็นรูปแบบการดำเนินงาน ไม่ใช่คุณลักษณะเดียว: กำหนดผลลัพธ์ที่ต้องการ ชี้แจงสมมติฐาน และแยกสิ่งที่ระบบสามารถทำได้อย่างน่าเชื่อถือจากสิ่งที่ยังต้องใช้วิจารณญาณจากผู้เชี่ยวชาญ
ในทางปฏิบัติ ทีมที่แข็งแกร่งที่ใช้ Disaggregated Prefill และ Decode Serving จะปรับสถาปัตยกรรม ข้อมูล และตัวเลือกโครงสร้างพื้นฐานให้เหมาะสมโดยเทียบกับความน่าเชื่อถือและต้นทุน โดยจะบันทึกเกณฑ์ความสำเร็จที่ชัดเจน ทดสอบกับข้อมูลและขั้นตอนการทำงานที่สมจริง และทำซ้ำตามรูปแบบความล้มเหลวที่สังเกตได้ แทนที่จะชนะการวัดประสิทธิภาพเพียงครั้งเดียว นี่คือจุดที่ความเข้าใจทางทฤษฎีกลายเป็นความสามารถที่คงทนของผลิตภัณฑ์ นโยบาย และการดำเนินงาน
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในเวลาเดียวกัน การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้ แนวทางที่ยืดหยุ่นที่สุดคือการรวมความเร็วของการทดลองเข้ากับวินัยในการกำกับดูแล: ดำเนินการนำร่อง จับหลักฐาน เผยแพร่บันทึกการตัดสินใจ และอัปเดตการป้องกันอย่างต่อเนื่องเมื่อพฤติกรรมของโมเดล ความคาดหวังของผู้ใช้ และข้อกำหนดด้านกฎระเบียบมีการเปลี่ยนแปลง
ผลกระทบเชิงกลยุทธ์
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ
การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด
การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ
ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต
ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ
การใช้งานจริงในโลกแห่งความเป็นจริง
ผู้ช่วยแชทจะกำหนดเส้นทางเอกสารขนาดยาวไปยังคลัสเตอร์ที่กรอกข้อมูลล่วงหน้าซึ่งมีการประมวลผลสูง จากนั้นสตรีมการตอบกลับจากคลัสเตอร์ถอดรหัสที่เพิ่มประสิทธิภาพหน่วยความจำเพื่อให้เวลาแฝงในการพิมพ์ราบรื่น
NVIDIA Dynamo และ vLLM ช่วยให้ผู้ปฏิบัติงานปรับใช้กลุ่มผู้ปฏิบัติงานที่กรอกข้อมูลล่วงหน้าและถอดรหัสแยกกัน ดังนั้นการแจ้งเตือนที่ยาวต่อเนื่องจะไม่หยุดการทำงานรุ่นต่อเนื่อง
Mooncake (ใช้โดย Kimi จาก Moonshot AI) แยกการกรอกข้อมูลล่วงหน้าและถอดรหัส และเพิ่มพูล KV-cache แบบกระจายเพื่อลดการคำนวณซ้ำพร้อมท์ซ้ำซ้อนในขนาดต่างๆ
บริการเติมโค้ดให้สมบูรณ์มีพูลการกรอกล่วงหน้าขนาดเล็กสำหรับพรอมต์สั้น ๆ และพูลการถอดรหัสขนาดใหญ่ เนื่องจากต้นทุนส่วนใหญ่มาจากการสตรีมโทเค็นเอาต์พุตจำนวนมาก
รูปแบบการดำเนินงาน
การกรอกข้อมูลล่วงหน้าแบบแยกส่วนและการถอดรหัสการให้บริการในทางปฏิบัติ
ผู้ช่วยแชทจะกำหนดเส้นทางเอกสารขนาดยาวไปยังคลัสเตอร์ที่กรอกข้อมูลล่วงหน้าซึ่งมีการประมวลผลสูง จากนั้นสตรีมการตอบกลับจากคลัสเตอร์ถอดรหัสที่เพิ่มประสิทธิภาพหน่วยความจำเพื่อให้เวลาแฝงในการพิมพ์ราบรื่น
ผู้ช่วยแชทจะกำหนดเส้นทางเอกสารขนาดยาวไปยังคลัสเตอร์ที่กรอกข้อมูลล่วงหน้าซึ่งมีการประมวลผลสูง จากนั้นสตรีมการตอบกลับจากคลัสเตอร์ถอดรหัสที่ปรับให้เหมาะสมหน่วยความจำเพื่อให้เวลาแฝงในการพิมพ์ราบรื่น ทีมมักจะได้ผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพไว้ล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
การกรอกข้อมูลล่วงหน้าแบบแยกส่วนและการถอดรหัสการให้บริการในทางปฏิบัติ
NVIDIA Dynamo และ vLLM ช่วยให้ผู้ปฏิบัติงานปรับใช้กลุ่มผู้ปฏิบัติงานที่กรอกข้อมูลล่วงหน้าและถอดรหัสแยกกัน ดังนั้นการแจ้งเตือนที่ยาวต่อเนื่องจะไม่หยุดการทำงานรุ่นต่อเนื่อง
NVIDIA Dynamo และ vLLM ให้ผู้ปฏิบัติงานปรับใช้กลุ่มผู้ปฏิบัติงานที่กรอกข้อมูลล่วงหน้าและถอดรหัสแยกกัน ดังนั้นการแจ้งเตือนที่ยาวเหยียดจะไม่หยุดการทำงานรุ่นต่อเนื่อง โดยปกติแล้วทีมจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
การกรอกข้อมูลล่วงหน้าแบบแยกส่วนและการถอดรหัสการให้บริการในทางปฏิบัติ
Mooncake (ใช้โดย Kimi จาก Moonshot AI) แยกการกรอกข้อมูลล่วงหน้าและถอดรหัส และเพิ่มพูล KV-cache แบบกระจายเพื่อลดการคำนวณซ้ำพร้อมท์ซ้ำซ้อนในขนาดต่างๆ
Mooncake (ใช้โดย Kimi จาก Moonshot AI) แยกการกรอกข้อมูลล่วงหน้าและถอดรหัส และเพิ่มพูล KV-cache แบบกระจายเพื่อลดการคำนวณซ้ำซ้อนพร้อมท์ตามขนาด ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งการเพิ่มผลผลิตและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
การกรอกข้อมูลล่วงหน้าแบบแยกส่วนและการถอดรหัสการให้บริการในทางปฏิบัติ
บริการเติมโค้ดให้สมบูรณ์มีพูลการกรอกล่วงหน้าขนาดเล็กสำหรับพรอมต์สั้น ๆ และพูลการถอดรหัสขนาดใหญ่ เนื่องจากต้นทุนส่วนใหญ่มาจากการสตรีมโทเค็นเอาต์พุตจำนวนมาก
บริการเติมโค้ดให้สมบูรณ์มีพูลการกรอกล่วงหน้าขนาดเล็กสำหรับพรอมต์สั้น ๆ และพูลการถอดรหัสขนาดใหญ่ เนื่องจากต้นทุนส่วนใหญ่มาจากการสตรีมโทเค็นเอาท์พุตจำนวนมาก ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป
ความเสี่ยงและรั้ว
การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้
ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป
ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น
แผนงานการดำเนินงาน
กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน
กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น
เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง
เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น
การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้
การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้ ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น
เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด
เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น