SmoothQuant และปริมาณการเปิดใช้งาน
SmoothQuant เป็นเทคนิคที่ทำให้สามารถบีบอัดโมเดลภาษาขนาดใหญ่ให้เป็นจำนวนเต็ม 8 บิตสำหรับทั้งน้ำหนักและการเปิดใช้งานโดยไม่ต้องฝึกอบรมซ้ำ
ภาพรวม
มันสําคัญเพราะการเปิดใช้งานในโมเดลขนาดใหญ่มีค่าผิดปกติสุดขั้วที่ทําลายคณิตศาสตร์ความแม่นยําต่ํา และ SmoothQuant ก็จัดการกับค่าเหล่านั้นได้
เจาะลึก
เมื่อคุณย่อขนาดโมเดลจากจำนวนเต็มลอย 16 บิตเป็นจำนวนเต็ม 8 บิต น้ำหนักจะบีบอัดได้ง่าย แต่การเปิดใช้งานมีปัญหา: บางช่องมีค่ามากกว่าที่เหลือ 10 ถึง 100 เท่า และการบังคับให้เป็นตารางจำนวนเต็มหยาบจะทำลายความแม่นยำ SmoothQuant เปิดตัวโดย Xiao และคณะ ในปี 2022 สังเกตว่าตุ้มน้ำหนักมีความราบรื่นและวัดปริมาณได้ง่ายในขณะที่การเปิดใช้งานมีหนามแหลม ดังนั้นจึงย้ายความยากลำบากทางคณิตศาสตร์ โดยแบ่งช่องการเปิดใช้งานตามมาตราส่วนต่อช่อง และคูณน้ำหนักที่สอดคล้องกันด้วยมาตราส่วนเดียวกัน การดำเนินการทั้งสองถูกยกเลิก ปล่อยให้โมเดลเอาท์พุตไม่เปลี่ยนแปลง แต่ตอนนี้เทนเซอร์ทั้งสองอยู่ในช่วงที่เป็นมิตร ผลลัพธ์ที่ได้คือการอนุมาน W8A8 (น้ำหนัก 8 บิตและการเปิดใช้งาน) โดยมีการสูญเสียความแม่นยำเกือบเป็นศูนย์ และการเร่งความเร็วและประหยัดหน่วยความจำประมาณ 2 เท่า
ข้อมูลเชิงลึกทางเทคนิค
เคล็ดลับหลักคือปัจจัยการปรับให้เรียบต่อช่องสัญญาณซึ่งคำนวณเป็น s = max(|X|)^alpha / max(|W|)^(1-alpha) การเปิดใช้งานจะถูกปรับขนาดเป็น 1/วินาที และน้ำหนักเป็น s ดังนั้นผลิตภัณฑ์เมทริกซ์ XW จึงยังคงอยู่ เนื่องจากการปรับขนาดถูกดูดซับแบบออฟไลน์เข้าไปในน้ำหนักของเลเยอร์ก่อนหน้าหรือการดำเนินการแบบหลอมรวม จึงเพิ่มต้นทุนรันไทม์เป็นศูนย์ ไฮเปอร์พารามิเตอร์อัลฟา (มักจะ 0.5) ควบคุมว่าภาระผิดปกติจะเปลี่ยนจากการเปิดใช้งานไปสู่น้ำหนักมากน้อยเพียงใด
ผลกระทบเชิงกลยุทธ์
ต้นทุนและงบประมาณ
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี
การตัดสินใจที่ชัดเจนยิ่งขึ้น
การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด
การควบคุมคุณภาพ
ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต
อนาคตของ SmoothQuant และ Activation Quantization
SmoothQuant กำหนดว่าค่าผิดปกติในการเปิดใช้งานสามารถโยกย้ายได้แทนที่จะหลีกเลี่ยงไม่ได้ และแนวคิดดังกล่าวเป็นรากฐานของการให้บริการ INT8 และ FP8 ที่ใช้งานจริง คาดว่าการปรับให้เรียบจะรวมกับแผนการที่มีรายละเอียดมากขึ้น เช่น การหาปริมาณต่อกลุ่ม การปรับขนาดที่เรียนรู้ และการวิจัยการเปิดใช้งาน 4 บิต (เช่น วิธีการรับรู้ค่าผิดปกติ) เมื่อฮาร์ดแวร์ FP8 (Hopper, Blackwell) เติบโตเต็มที่ การปรับสมดุลแบบเรียบจะถูกรวมเข้ากับไปป์ไลน์ของคอมไพเลอร์และกลไกการอนุมาน ดังนั้นการหาปริมาณจึงแทบจะไม่มีอิสระ
การใช้งานจริงในโลกแห่งความเป็นจริง
ให้บริการ LLM พารามิเตอร์ 70B ที่ W8A8 บน GPU น้อยลงโดยลดต้นทุนทั้งหน่วยความจำและเมทริกซ์คูณครึ่งหนึ่ง
เปิดใช้งานการอนุมาน INT8 บนแกนเทนเซอร์ NVIDIA Hopper/Blackwell ที่เร่งความเร็วทางคณิตศาสตร์จำนวนเต็ม 8 บิตโดยกำเนิด
การปรับใช้โมเดลการแชทบนจุดสิ้นสุดบนคลาวด์ที่มีต้นทุนจำกัด ซึ่งปริมาณงานที่เพิ่มขึ้นเป็นสองเท่าจะช่วยลดค่าใช้จ่ายต่อโทเค็นโดยตรง
การบีบอัดตัวเข้ารหัสหม้อแปลงสำหรับคำพูดหรือการแปลบนอุปกรณ์โดยที่เคอร์เนล 8 บิตทำงานเร็วขึ้นและเย็นลง
ความเสี่ยงและรั้ว
การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้
ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป
ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น
แผนงานการดำเนินงาน
กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน
เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง
การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้
เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด
สำรวจต่อไป
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 SmoothQuant and Activation Quantization 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
คำแนะนำต่อไป
วิศวกรรมการเปิดใช้งานและการเป็นตัวแทน
คำถามที่พบบ่อย
SmoothQuant และ Activation Quantization คืออะไร?
SmoothQuant เป็นเทคนิคที่ทำให้สามารถบีบอัดโมเดลภาษาขนาดใหญ่ให้เป็นจำนวนเต็ม 8 บิตสำหรับทั้งน้ำหนักและการเปิดใช้งานโดยไม่ต้องฝึกอบรมซ้ำ เป็นเรื่องสำคัญเนื่องจากการเปิดใช้งานในโมเดลขนาดใหญ่มีค่าผิดปกติอย่างมาก ซึ่งโดยปกติแล้วจะทำลายคณิตศาสตร์ที่มีความแม่นยำต่ำ และ SmoothQuant ก็ควบคุมมันได้
SmoothQuant จัดการปัญหาใดเป็นพิเศษในการอนุมานที่มีความแม่นยำต่ำ
SmoothQuant กำหนดเป้าหมายค่าผิดปกติขนาดใหญ่ที่ปรากฏในช่องทางการเปิดใช้งานบางช่อง ซึ่งจะทำลายความแม่นยำเมื่อการเปิดใช้งานมีจำนวน 8 บิต
SmoothQuant ช่วยให้การเปิดใช้งานง่ายขึ้นในการนับจำนวนได้อย่างไร
โดยแบ่งช่องการเปิดใช้งานตามมาตราส่วนต่อช่องสัญญาณ และคูณน้ำหนักที่ตรงกันด้วยมาตราส่วนนั้น ดังนั้นผลิตภัณฑ์จึงไม่เปลี่ยนแปลง แต่เทนเซอร์ทั้งสองจะระบุปริมาณได้ง่ายขึ้น
สัญกรณ์ W8A8 หมายถึงอะไร?
W8A8 หมายถึงการหาปริมาณ 8 บิตสำหรับทั้งน้ำหนัก (W) และการเปิดใช้งาน (A) ระบบ SmoothQuant ช่วยให้สูญเสียความแม่นยำน้อยที่สุด
เหตุใดการปรับขนาดของ SmoothQuant จึงเพิ่มไม่มีค่าใช้จ่ายรันไทม์เป็นหลัก
สเกลการปรับให้เรียบจะถูกพับเก็บลงในตุ้มน้ำหนักของเลเยอร์ก่อนหน้าหรือ op ที่หลอมรวมไว้ล่วงหน้า ดังนั้นจึงไม่มีการคำนวณเพิ่มเติมเกิดขึ้นในการอนุมาน
ไฮเปอร์พารามิเตอร์อัลฟามีบทบาทอย่างไรใน SmoothQuant
อัลฟ่า (โดยทั่วไปคือ 0.5) จะปรับสมดุลปัจจัยการปรับให้เรียบ โดยตัดสินใจว่าความยากในการวัดปริมาณจะถูกย้ายออกจากการเปิดใช้งานและไปยังตุ้มน้ำหนักมากน้อยเพียงใด