ข้ามไปยังเนื้อหา
EN
บทความความรู้

Model Optimization

Quantization ลด precision ของน้ำหนักหรือ activation ส่วน pruning ตัดส่วนคำนวณที่เห็นว่าสำคัญน้อย ทั้งสองอาจเปลี่ยนความแม่นยำและไม่จำเป็นต้องทำให้ runtime เร็วขึ้นหากฮาร์ดแวร์ไม่รองรับรูปแบบที่ได้

Model Optimization

แผนภาพอธิบายหลักการ ไม่ใช่หน้าจอผลิตภัณฑ์หรือผลทดสอบจริง

ระดับเนื้อหา: Overview / Implementation considerations

หลักการและการเลือกใช้

Quantization ลด precision ของน้ำหนักหรือ activation ส่วน pruning ตัดส่วนคำนวณที่เห็นว่าสำคัญน้อย ทั้งสองอาจเปลี่ยนความแม่นยำและไม่จำเป็นต้องทำให้ runtime เร็วขึ้นหากฮาร์ดแวร์ไม่รองรับรูปแบบที่ได้

การปรับโมเดลให้เล็กหรือคำนวณน้อยลงเป็นการแลกเปลี่ยน ไม่ใช่ผลดีที่ไม่มีต้นทุน Quantization เปลี่ยนวิธีแทนตัวเลขให้ละเอียดน้อยลง ส่วน activation คือค่าระหว่างชั้น Pruning ลดบางส่วนตามเกณฑ์ที่เลือก แต่ไฟล์เล็กลงไม่ได้หมายความว่าเส้นทางใช้งานเร็วขึ้นเสมอ ต้องดูว่าตัวประมวลผลใช้รูปแบบนั้นได้จริงและคำตอบเฉพาะงานเปลี่ยนอย่างไร

วิศวกรกำหนดฐานเปรียบเทียบพร้อมข้อมูลนำเข้า runtime และฮาร์ดแวร์เดิม Calibration data ในบริบท quantization ใช้ประมาณช่วงตัวเลข ไม่ใช่การสอบเทียบเกจ ต้องเลือกให้แทนข้อมูลฝึกในขอบเขต ไม่ใช้ test มาตั้งช่วง ตรวจน้ำหนักและค่า activation ที่ผิดช่วง รวมทั้งขั้นแปลงพิกัดหลังโมเดล เพื่อให้ความต่างที่วัดเป็นผลของการปรับจริง ไม่ใช่การเปลี่ยนระบบหลายส่วนพร้อมกัน

เลื่อนแผนภาพซ้าย–ขวาเพื่อดูรายละเอียดครบทุกส่วน

Model Optimization
Model Optimizationแผนภาพอธิบายหลักการ ไม่ใช่หน้าจอผลิตภัณฑ์หรือผลทดสอบจริง

ตัวอย่างในบริบทอุตสาหกรรม

ตัวอย่างเชิงออกแบบ: ทดลอง INT8 กับตัวตรวจเกจ โดยใช้ calibration data ที่ครอบคลุมแสงจริง แล้วตรวจว่าเกจเล็กหรือเข็มบางไม่ได้หายหลังเปลี่ยน precision

INT8 เป็นการแทนตัวเลขจำนวนเต็มความกว้างแปดบิตตามการแปลงที่กำหนด ในสถานการณ์สมมติ โมเดลยังพบหน้าปัดใหญ่แต่พลาดเกจเล็กหลังเปลี่ยนรูปแบบ ค่าเฉลี่ยทั้งชุดอาจต่างน้อยเพราะมีเกจใหญ่มากกว่า ต้องตรวจกลุ่มที่ผู้ใช้ต้องอ่านจริง และพิจารณาว่าภาพที่พลาดจะมีเส้นทางตรวจซ้ำหรือไม่ ไม่ยอมรับเพียงเพราะไฟล์ลดขนาดลง

วิศวกรรันภาพเดียวกันผ่านรุ่นเดิมและรุ่นปรับ แล้วตรวจทั้งผลดิบ กรอบหลังกรอง และค่าปลายทาง หากกรอบหายเพราะคะแนนข้ามเกณฑ์เล็กน้อย ต้องทบทวนเกณฑ์ด้วย validation โดยไม่เลือกจาก test ตรวจ runtime ว่าใช้รูปแบบที่ตั้งใจหรือย้อนคำนวณแบบเดิมบางส่วน แล้ววัดผลบนเครื่องเป้าหมายพร้อมการเตรียมข้อมูล เพื่อแยกประโยชน์จริงจากชื่อวิธีปรับ

ขั้นตอนศึกษาและทดลอง

ขั้นตอนศึกษาและทดลอง
  1. 1 ทำ baseline ด้วย weights และ runtime ที่ตรึงไว้
  2. 2 ปรับทีละปัจจัยและใช้ข้อมูล calibration จาก train ไม่ใช้ test
  3. 3 เปรียบเทียบ artifact หลัง optimize บน holdout และเครื่องจริง

วิธีประเมินและนิยามผล

บันทึกก่อน/หลังของ task metric, p95 latency, peak memory และกำลังไฟภายใต้ input เดียวกัน พร้อมดูผลรายกลุ่ม ไม่เสนอผลตัวเลขหากยังไม่มีการทดลอง

Task metric ต้องตรงกับหน้าที่โมเดลและผลปลายทาง เช่น กรอบที่อ่านต่อได้หรือความผิดมุม ควรระบุเกณฑ์ยอมรับผลที่ลดลงไว้ก่อน พร้อมจำนวนภาพและกลุ่มที่ตรวจ การเปรียบกำลังไฟต้องระบุขอบเขตอุปกรณ์และภาระงาน ไม่ใช้ขนาดไฟล์หรือจำนวนการคำนวณแทนพลังงานที่วัด และไม่กล่าวอ้างผลประหยัดที่ยังไม่ได้ทดลองจริง

วิศวกรวัดงานต่อเนื่องด้วยข้อมูลและขั้นรับส่งเดียวกัน ตรวจความต่างรายช่วงแสงและขนาดเป้าหมาย รวมกรณีอ่านไม่ได้ หากปรับหลายวิธีต้องทดลองแยกก่อนรวมเพื่อรู้ส่วนที่กระทบผล เก็บ artifact หรือไฟล์พร้อมใช้งานทั้งรุ่นก่อนและหลังพร้อม hash และการตั้งค่า เพื่อให้ตรวจซ้ำและย้อนกลับได้ ไม่ใช้ผลจากรุ่นทดลองหนึ่งแทนไฟล์ที่ติดตั้งคนละเวอร์ชัน

ข้อจำกัดและกรณีผิดพลาด

unstructured sparsity อาจไม่ลดเวลาใน runtime ทั่วไป Quantization error อาจกระทบ output บางช่วงมากกว่าค่าเฉลี่ย

Unstructured sparsity คือการมีค่าว่างหรือศูนย์กระจัดกระจายซึ่งไม่ได้ลดขั้นคำนวณตามโครงสร้างที่อุปกรณ์ใช้เสมอ การตัดส่วนแบบมีโครงสร้างก็อาจเปลี่ยนความสามารถเฉพาะงาน ต้องตรวจทั้งความเข้ากันและผลจริง ไม่ถือว่าค่าที่เป็นศูนย์มากทำให้เร็วขึ้นโดยอัตโนมัติ ส่วนความผิดจากการแทนตัวเลขอาจมีผลมากเมื่อคะแนนอยู่ใกล้เกณฑ์หรือเป้าหมายมีรายละเอียดน้อย

การปรับเพื่อทรัพยากรต้องมีรุ่นเดิมให้ย้อนกลับและการตรวจหลังส่งออก หากผลบางกลุ่มเสียควรจำกัดขอบเขตหรือเลือกวิธีอื่น ไม่ปัดเป็นความต่างเล็กโดยไม่ดูผลกระทบ เอกสาร runtime ช่วยเลือกการทดลอง ไม่ยืนยันว่าฮาร์ดแวร์ทุกชนิดรองรับ หรือว่าผลิตภัณฑ์ใช้ INT8 หรือ pruning แล้ว การรับผลต้องอิงไฟล์จริงและการทดสอบที่มีที่มา ไม่ใช้ชื่อเทคนิคเป็นคำรับรอง

รายการตรวจสอบก่อนนำไปใช้

  • เครื่องรองรับ precision ที่เลือกหรือไม่
  • มีเกณฑ์ยอมรับ accuracy drop หรือไม่
  • เก็บโมเดลเดิมสำหรับ rollback หรือไม่

เอกสารอ้างอิงและอ่านต่อ

เชื่อมแนวคิด

หัวข้อความรู้ที่เกี่ยวข้อง

เนื้อหาที่เกี่ยวข้อง

ศึกษาในบริบทงาน

หัวข้อและแนวทางประยุกต์ที่เกี่ยวข้อง

แยกสิ่งที่เรียนรู้จากสิ่งที่ต้องตรวจรับ

หากต้องการประเมินงานจริง ควรระบุภาพตัวอย่าง ข้อจำกัดหน้างาน และเกณฑ์ยอมรับ แล้วสอบถามขอบเขตที่ยืนยันได้

อ่านบทความเทคโนโลยีและแนวทางใช้งาน AI

เรียนรู้หลักการ ข้อจำกัด และวิธีประเมินระบบจากบทความที่เผยแพร่บนเว็บไซต์

ข่าวสาร