
เมื่อ AI ฉลาดขึ้น ทำไมต้องลดความละเอียดข้อมูล? ไขปริศนา Quantization
Quantization คืออะไร? เบื้องหลังการทำงานของ AI ที่ต้องเจอ
เวลาที่ AI เรียนรู้และทำงาน โดยเฉพาะในโมเดล Deep Learning ขนาดใหญ่ ข้อมูลทั้งหมด ไม่ว่าจะเป็นน้ำหนัก (weights) ของเครือข่าย หรือค่าการกระตุ้น (activations) จะถูกจัดเก็บและประมวลผลด้วย ตัวเลข Floating-point (FP32)
ตัวเลขเหล่านี้มีความละเอียดสูงมาก ทำให้โมเดลมีความแม่นยำ แต่ก็แลกมาด้วยการใช้ หน่วยความจำ จำนวนมหาศาล และต้องใช้พลังประมวลผลที่สูงมากเช่นกัน
Quantization คือเทคนิคสุดฉลาด ที่เข้ามาช่วยแปลงความละเอียดของตัวเลขเหล่านี้ จาก FP32 ที่ปกติใช้ 32 บิต ให้กลายเป็น จำนวนเต็ม 8 บิต (INT8) หรือในบางกรณีอาจลดลงเหลือ 4 บิต
ลองนึกภาพเหมือนการบีบอัดไฟล์รูปภาพ จากไฟล์ต้นฉบับความละเอียดสูงมากๆ ให้กลายเป็นไฟล์ที่เล็กลง เพื่อให้โหลดเร็วขึ้น แชร์ง่ายขึ้น แม้รายละเอียดเล็กๆ น้อยๆ อาจหายไปบ้าง แต่ภาพรวมยังคงใช้งานได้ดีเยี่ยม
ประโยชน์ที่ได้จากการ Quantization: เล็ก เร็ว แรง ประหยัด
การทำ Quantization นำมาซึ่งข้อดีมากมายที่ตอบโจทย์การนำ โมเดล AI ไปใช้งานจริง โดยเฉพาะในโลกที่ทรัพยากรมีจำกัดและทุกอย่างต้องการความรวดเร็ว
ประการแรก คือการ ลดขนาดโมเดล ลงอย่างมหาศาล ทำให้โมเดลใช้พื้นที่เก็บข้อมูลน้อยลง โหลดเร็วขึ้น และใช้ หน่วยความจำ ในการรันน้อยลง
ประการที่สอง คือการเพิ่ม ความเร็ว ใน การอนุมาน (Inference) หรือการที่ AI เอาโมเดลไปใช้งานจริง การคำนวณด้วย จำนวนเต็ม ทำได้เร็วกว่าการคำนวณด้วย Floating-point อย่างเห็นได้ชัดบนฮาร์ดแวร์สมัยใหม่ที่ออกแบบมาเพื่อสิ่งนี้โดยเฉพาะ
ประการที่สาม ส่งผลให้ ลดการใช้พลังงาน ลงได้ เพราะการประมวลผลที่ใช้บิตน้อยกว่า ย่อมกินพลังงานน้อยกว่า เหมาะอย่างยิ่งสำหรับการนำ AI ไปใช้งานบน Edge devices เช่น สมาร์ทโฟน กล้องวงจรปิด หรืออุปกรณ์ IoT ที่มีข้อจำกัดเรื่องแบตเตอรี่และพลังประมวลผล
สิ่งที่ต้องแลก: ความแม่นยำที่อาจลดลง
แน่นอนว่า ของดีมักไม่มีของฟรี การลดความละเอียดของข้อมูลย่อมมี “ราคา” ที่ต้องจ่าย นั่นคือการที่ ความแม่นยำ ของ โมเดล AI อาจลดลงได้
นี่คือ Trade-off สำคัญที่นักพัฒนาต้องพิจารณา การลดบิตลงย่อมหมายถึงการสูญเสียข้อมูลบางส่วนไป ซึ่งอาจส่งผลต่อ ประสิทธิภาพ โดยรวมของโมเดล ทำให้ผลลัพธ์ที่ได้อาจคลาดเคลื่อนไปจากเดิมเล็กน้อย
คำถามสำคัญจึงอยู่ที่ “เสียความแม่นยำไปแค่ไหน” และ “การเสียไปนั้นคุ้มค่ากับประโยชน์ที่ได้มาหรือไม่” เพราะเป้าหมายคือการหาจุดสมดุลที่ดีที่สุด
ประเภทของ Quantization: เลือกให้เหมาะกับงาน
เพื่อให้การทำ Quantization มีประสิทธิภาพและลดผลกระทบต่อ ความแม่นยำ น้อยที่สุด จึงมีหลายวิธีให้เลือกใช้
วิธีแรกคือ Post-training Quantization (PTQ) เป็นการนำโมเดลที่ฝึกเสร็จสมบูรณ์แล้วมาทำการ Quantize วิธีนี้ทำง่าย สะดวก แต่ก็มีโอกาสที่ ความแม่นยำ จะลดลงค่อนข้างมาก หากโมเดลนั้นไวต่อการเปลี่ยนแปลงความละเอียดข้อมูล
อีกวิธีหนึ่งที่ซับซ้อนกว่า แต่ให้ผลลัพธ์ด้าน ความแม่นยำ ที่ดีกว่าคือ Quantization-aware Training (QAT) โดยวิธีนี้จะจำลองกระบวนการ Quantize เข้าไปในขั้นตอนการฝึกโมเดลตั้งแต่แรก ทำให้โมเดลเรียนรู้ที่จะปรับตัวกับการใช้ข้อมูลบิตต่ำตั้งแต่เริ่มต้น จึงรักษาระดับ ประสิทธิภาพ ได้ดีกว่า
การปรับสมดุลระหว่างขนาด ความเร็ว และ ความแม่นยำ คือหัวใจสำคัญในการนำ AI ไปใช้งานจริงอย่างประสบความสำเร็จบนแพลตฟอร์มต่างๆ การเข้าใจว่า Quantization ทำงานอย่างไร และมีผลกระทบอย่างไร จะช่วยให้ตัดสินใจเลือกวิธีการที่ดีที่สุดสำหรับแต่ละโปรเจกต์ได้ เพื่อให้ได้โมเดลที่ตอบโจทย์ทั้งด้านเทคนิคและประโยชน์ใช้สอย