การถอดรหัสเก็งกำไร
การถอดรหัสแบบเก็งกำไรทำให้โมเดลภาษาขนาดใหญ่สร้างข้อความได้เร็วขึ้นโดยใช้โมเดล 'ร่าง' ขนาดเล็กที่รวดเร็วเพื่อคาดเดาโทเค็นหลายอันข้างหน้า จากนั้นให้โมเดลขนาดใหญ่ตรวจสอบทั้งหมดพร้อมกัน
ภาพรวม
It speeds up inference 2-3x with identical output quality.
เจาะลึก
โดยปกติ LLM จะสร้างข้อความโทเค็นครั้งละหนึ่งโทเค็น: แต่ละโทเค็นต้องมีการส่งต่อแบบเต็มผ่านโมเดลขนาดยักษ์ และคุณไม่สามารถเริ่มต้นถัดไปได้จนกว่าโทเค็นปัจจุบันจะเสร็จสิ้น สิ่งนี้ช้าเพราะมันผูกกับหน่วยความจำ ไม่ถูกผูกมัดกับการคำนวณ — GPU ใช้เวลาส่วนใหญ่ในการโหลดน้ำหนัก ไม่ใช่คำนวณ การถอดรหัสแบบเก็งกำไรช่วยขจัดปัญหาคอขวด แบบจำลองร่างขนาดเล็กราคาถูกเสนอโทเค็นผู้สมัครจำนวนห้ารายการ จากนั้นโมเดล 'เป้าหมาย' ขนาดใหญ่จะประมวลผลทั้งห้าในการส่งต่อแบบขนานเดียวและตรวจสอบพวกมัน โทเค็นที่ตรงกับสิ่งที่จะผลิตนั้นได้รับการยอมรับ เมื่อไม่เห็นด้วยครั้งแรก มันจะแก้ไขและละทิ้งส่วนที่เหลือ เนื่องจากการตรวจสอบโทเค็นจำนวนมากมีค่าใช้จ่ายพอๆ กับการสร้างโทเค็น การเดาที่ยอมรับจึงเกือบจะฟรี
ข้อมูลเชิงลึกทางเทคนิค
ส่วนที่ชาญฉลาดคือกฎการสุ่มตัวอย่างการปฏิเสธที่รับประกันว่าการกระจายเอาต์พุตจะเหมือนกันทางคณิตศาสตร์กับการรันโมเดลเป้าหมายเพียงอย่างเดียว ดังนั้นคุณภาพจึงไม่ได้ประมาณ แต่เป็นค่าที่แน่นอน อัตราการยอมรับจะช่วยเร่งความเร็ว: ยิ่งโมเดลขนาดเล็กคาดการณ์โมเดลใหญ่ได้ดีกว่า โทเค็นก็จะยิ่งติดมากขึ้นตามขั้นตอนการยืนยัน ตัวแปรต่างๆ เช่น Medusa จะเพิ่มส่วนหัวการคาดการณ์เพิ่มเติมให้กับโมเดลเป้าหมาย และแบบร่าง EAGLE ในพื้นที่ฟีเจอร์ ทำให้ไม่จำเป็นต้องใช้โมเดลแบบร่างแยกต่างหาก
ผลกระทบเชิงกลยุทธ์
ต้นทุนและงบประมาณ
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี
การตัดสินใจที่ชัดเจนยิ่งขึ้น
การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด
การควบคุมคุณภาพ
ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต
อนาคตของการถอดรหัสเก็งกำไร
การถอดรหัสแบบเก็งกำไรกลายเป็นค่าเริ่มต้นในการให้บริการสแต็ก เช่น vLLM และ TensorRT-LLM คาดว่าวิธีการร่างด้วยตนเอง (Medusa, EAGLE, Lookahead) จะมีอิทธิพลเหนือเนื่องจากหลีกเลี่ยงการบำรุงรักษาแบบจำลองที่สอง บวกกับการเก็งกำไรแบบต้นไม้ที่ตรวจสอบสาขาผู้สมัครหลายสาขาต่อขั้นตอน เมื่อโมเดลเติบโตขึ้น ปัญหาคอขวดที่เกี่ยวข้องกับหน่วยความจำก็แย่ลง ทำให้การเก็งกำไรมีคุณค่ามากยิ่งขึ้น และผู้ร่างที่คำนึงถึงฮาร์ดแวร์จะผลักดันการเร่งความเร็วในโลกแห่งความเป็นจริงให้สูงขึ้น
การใช้งานจริงในโลกแห่งความเป็นจริง
โมเดลร่าง 7B เสนอโทเค็นสำหรับโมเดลการแชท 70B เพื่อลดเวลาแฝงในการตอบกลับในผู้ช่วยฝ่ายผลิต
หัว Medusa ยึดติดกับ LLM ดังนั้นจึงคาดการณ์โทเค็นในอนาคตหลายรายการพร้อมกันโดยไม่ต้องมีแบบจำลองร่างแยกต่างหาก
vLLM ช่วยให้สามารถถอดรหัสแบบเก็งกำไรเพื่อเพิ่มปริมาณงานโทเค็นต่อวินาทีบนคลัสเตอร์ที่ให้บริการ
EAGLE การร่างในพื้นที่คุณลักษณะที่ซ่อนอยู่ของโมเดลเพื่อเพิ่มอัตราการยอมรับและความเร็วโดยรวม
ความเสี่ยงและรั้ว
การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้
ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป
ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น
แผนงานการดำเนินงาน
กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน
เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง
การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้
เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด
สำรวจต่อไป
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Speculative Decoding quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
คำแนะนำต่อไป
การถอดรหัสเก็งกำไรด้วย EAGLE
คำถามที่พบบ่อย
What is Speculative Decoding?
การถอดรหัสแบบเก็งกำไรทำให้โมเดลภาษาขนาดใหญ่สร้างข้อความได้เร็วขึ้นโดยใช้โมเดล 'ร่าง' ขนาดเล็กที่รวดเร็วเพื่อคาดเดาโทเค็นหลายอันข้างหน้า จากนั้นให้โมเดลขนาดใหญ่ตรวจสอบทั้งหมดพร้อมกัน โดยจะเร่งความเร็วในการอนุมาน 2-3 เท่าด้วยคุณภาพเอาต์พุตที่เหมือนกัน
แนวคิดหลักของการถอดรหัสแบบเก็งกำไรคืออะไร?
โมเดลแบบร่างด่วนเสนอโทเค็นหลายรายการ และโมเดลเป้าหมายขนาดใหญ่จะตรวจสอบทั้งหมดในการส่งผ่านคู่ขนานเพียงครั้งเดียว
เหตุใดการสร้าง LLM แบบโทเค็นต่อครั้งปกติจึงช้า
แต่ละขั้นตอนจะโหลดเมทริกซ์น้ำหนักมหาศาลจากหน่วยความจำเป็นหลัก แทนที่จะทำการคำนวณหนัก ดังนั้น GPU จึงถูกใช้งานน้อยเกินไป
จะเกิดอะไรขึ้นที่โทเค็นแรกที่แบบร่างและโมเดลเป้าหมายไม่ตรงกัน
ยอมรับโทเค็นที่ไม่เห็นด้วย ตั้งแต่ความไม่ตรงกันเป็นต้นไป พวกเขาจะถูกปฏิเสธและโทเค็นที่ถูกต้องของโมเดลเป้าหมายจะถูกเก็บไว้
การถอดรหัสแบบเก็งกำไรส่งผลต่อคุณภาพเอาต์พุตอย่างไร
กฎการสุ่มตัวอย่างการปฏิเสธรับประกันว่าการแจกแจงขั้นสุดท้ายจะตรงกับโมเดลเป้าหมายทุกประการ ดังนั้นคุณภาพจึงไม่เปลี่ยนแปลง
อะไรเป็นตัวกำหนดการเร่งความเร็วจากการถอดรหัสเก็งกำไรโดยตรงที่สุด?
ยิ่งโทเค็นที่ร่างไว้มากเท่าไรที่โมเดลเป้าหมายยอมรับต่อขั้นตอนการยืนยันก็ยิ่งเร่งความเร็วได้มากขึ้นเท่านั้น