Quantization คืออะไร Post-Training Quantization มีประโยชน์อย่างไร กับ Deep Neural Network บนอุปกรณ์ Embedded Device, IoT, Edge, มือถือ Mobile – tflite ep.2

ถ้าข้างนอกมีฝนตกอยู่ เราอาจจะไม่ได้ต้องการทราบว่าฝนกำลังตกกี่เม็ดต่อวินาที เราต้องการทราบแค่เพียงว่า ฝนตกหนัก ฝนตกปานกลาง หรือฝนตกเล็กน้อย เช่นเดียวกับการพยากรณ์ของ Neural Network บ่อยครั้งที่เราไม่ได้ต้องการความแม่นยำขนาด ตัวเลยทศนิยม Floating Point 32 Bit หรือแม้กระทั่ง 16 Bit และในหลาย ๆ งานใช้แค่จำนวนเต็ม Integer 8 Bit ก็เพียงพอแล้ว

Batch Size คืออะไร ปรับอย่างไรให้พอดี กับ GPU Memory และ ได้ Accuracy สูงสุด ในการเทรน Deep Neural Network – Hyperparameter Tuning ep.2

ในปัจจุบันการเทรน Deep Neural Network ใช้พื้นฐานอัลกอริทึมมาจาก Mini-Batch Stochastic Gradient Optimization เป็นส่วนใหญ่ และจำนวนตัวอย่างข้อมูลที่เราป้อนให้โมเดลในหนึ่งครั้ง หรือ 1 Mini-Batch คือ Hyperparameter สำคัญตัวหนึ่งที่เราต้องปรับจูน ซึ่งใน Library ต่าง ๆ จะใช้ชื่อว่า Batch Size

สอนใช้ nvidia-smi เครื่องมือดู GPU Utilization และ Memory Usage สำหรับ GPU ยี่ห้อ Nvidia – Hardware ep.1

ในการเทรนโมเดล Deep Learning ที่มีจำนวนหลาย ๆ Layer จำเป็นต้องใช้ GPU เร็ว ๆ แต่เราไม่ควรพิจารณาแค่ความเร็ว ความใหม่ของ GPU เพียงอย่างเดียว ขนาด Memory ของ GPU ก็มีความสำคัญอย่างมาก GPU ควรมี Memory ขนาดใหญ่เพียงพอกับขนาดโมเดล และขนาดของข้อมูล เพื่อที่จะลดเวลาในการเทรน ที่จะต้องเสียเวลา ก็อปปี้ข้อมูลเข้าออก ระหว่าง Disk, CPU Memory และ GPU Memory ทำให้ CUDA Core ของ GPU ที่มีความเร็วสูง กลับว่างงาน เพราะต้องรอข้อมูล