การควอนไทเซชัน
quantization · INT8 · INT4
กล่าวโดยย่อ
การควอนไทซ์ทำให้ความแม่นยำของตัวเลขในน Gew ของโมเดลลดลง — เช่น จาก 16 บิตแบบจุดทศนิยมเป็นจำนวนเต็ม 8 บิตหรือ 4 บิต — ทำให้โมเดลใช้หน่วยความจำและทำงานเร็วขึ้น ความเสียหายของคุณภาพจะน้อยที่ 8 บิตและเริ่มชัดเจนที่ 4 บิต แม้ว่าจะมักจะยอมรับได้ก็ตาม
โมเดลล์มีพารามิเตอร์ (weights) ที่เก็บเป็นตัวเลข การฝึกอบรมมักใช้จำนวนจุดทศนิยม 16 บิต ปริมาณทศนิยม (quantisation) จะเข้ารหัสใหม่ให้เป็นความแม่นยำต่ำกว่า เช่น จำนวนเต็ม 8 บิตหรือ 4 บิต ซึ่งมีตัวคูณขนาด (scaling factors) ที่ทำให้ช่วงที่ลดลงกลับมาหาเดิมอีกครั้ง
สองประโยชน์ที่ตามมา และประโยชน์ที่สองมีความสำคัญกว่า ความจำจะลดลงโดยประมาณตามสัดส่วน ดังนั้นโมเดลที่เคยต้องใช้หลายอุปกรณ์อาจพอดีกับอุปกรณ์เดียว และเนื่องจากการถอดรหัส (inference) ถูกจำกัดด้วยความเร็วของหน่วยความจำมากกว่าการคำนวณ การส่งข้อมูลน้อยลงต่อโทเคนทำให้ความเร็วในการสร้างข้อความเพิ่มขึ้น
วิธีการต่าง ๆ แตกต่างกันที่จุดที่ทำงาน เก็บค่าที่ฝึกเสร็จแล้วและแปลงเป็นรูปแบบความแม่นยำต่ำโดยอาจใช้ชุดข้อมูลการปรับเทียบเล็ก ๆ เพื่อเลือกค่าตัวคูณขนาด การฝึกที่รองรับการปริมาณทศนิยม (quantisation‑aware training) จะจำลองความแม่นยำที่ลดลงในระหว่างฝึกเพื่อให้โมเดลปรับตัวกับมัน ทำให้ผลลัพธ์ดีขึ้นเมื่อใช้ความแม่นยำต่ำมาก แม้ต้องใช้ความพยายามมากกว่า
ข้อควรระวังเชิงปฏิบัติคือ คำกล่าวอ้างเกี่ยวกับคุณภาพที่เผยแพร่เป็นค่าเฉลี่ยจากชุดทดสอบมาตรฐานทั่วไป การเสื่อมของคุณภาพไม่ได้กระจายอย่างเท่าเทียม: งานที่มีบริบทยาวและเหตุผลหลายขั้นตอนมักเสียคุณภาพก่อนเป็นอันดับแรก หากการปริมาณทศนิยมเป็นส่วนหนึ่งของแผนลดต้นทุน ควรวัดผลบนชุดทดสอบของคุณเองก่อนตัดสินใจ
คำถามที่พบบ่อย
- คุณภาพที่เสียไปเท่าไหร่?
- ที่ 8 บิต มักจะน้อยจนตรวจจับได้ยากในงานประจำวัน แต่ที่ 4 บิต ความเสื่อมของคุณภาพสามารถวัดได้และเริ่มแสดงผลก่อนในงานที่ต้องการการคิดวิเคราะห์ลึกและมีบริบทยาวนานเสียก่อน ให้ประเมินงานของคุณเองเสมอ แทนที่จะพึ่งพาการอ้างอิงทั่วไป
- ทำไมการควอนไทเซชันถึงทำให้การทำนายเร็วขึ้น?
- การสร้างโทเคนถูกจำกัดด้วยความเร็วของหน่วยความจำมากกว่าการคำนวณ การลดขนาดน้ำหนักทำให้ย้ายข้อมูลน้อยลงต่อโทเคน จึงทำให้โมเดลสร้างผลลัพธ์เร็วขึ้น แม้ว่าจำนวนการดำเนินการจะไม่เปลี่ยนแปลง