จากชื่อก็พอจะเดาได้ว่า Tiny คือ เล็กๆ และ ML ก็มาจาก Machine Learning รวมกันก็คือ machine learning ขนาดเล็ก แล้วเล็กแค่ไหนถึงเรียกว่า TinyML ล่ะ ก็เล็กขนาดที่ทำงานอยู่บน microcontroller ได้นั่นแหละ ถึงแม้ว่าจะเรียก machine learning แต่ก็มักจะไม่มีการเรียนรู้บน microcontroller (แม้ว่าจะทำได้ก็ตาม) มักมีเพียงการตัดสินใจ (inference) เท่านั้น การเรียนรู้ (trainging) จะเกิดบน desktop หรือ server แล้วนำสิ่งที่เรียนรู้ได้นั้น มาใช้บน microcontroller นั่นเป็นเพราะว่าขั้นตอนการเรียนรู้นั้นต้องการการคำนวนที่มาก และต้องใช้เวลานาน ทำให้ไม่สะดวกที่จะเรียนรู้บน microcontroller อีกเหตุผลหนึ่งก็คือ ในหลายกรณีไม่มีความจำเป็น หรือไม่ควรเรียนรู้บน microcontroller เนื่องจาก การเรียนรู้ (training) มักต้องการนักวิทยาศาสตร์ หรือผู้เชี่ยวชาญคอยดูแลขั้นตอนการเรียนรู้ เพื่อให้การเรียนรู้เป็นไปอย่างเหมาะสม ดังนั้นบน microcontroller จึงมักมีเพียงแค่ส่วนของการทำงานที่เป็นการตัดสินใจ (inference) เท่านั้น
ทำไมต้อง TinyML
จากข้อจำกัดเรื่องการเรียนรู้ (training) แล้วทำไมต้องใช้ TinyML ด้วยล่ะ ทำไมไม่เอา ML ที่ทำงานบน server หรือ desktop ไปใช้หน้างานเลยล่ะ หรือทำไมไม่ใช้ microcontroller เป็นตัวเก็บข้อมูลหน้างาน แล้วส่งให้ ML บน server หรือ desktop ตัดสินใจ แล้วค่อยส่งผลการตัดสินใจกลับมาให้ microcontroller ที่หน้างานล่ะ นั่นเป็นเพราะ ถึงแม้ว่า TinyML จะทำได้แค่ตัดสินใจ แต่ก็มีข้อได้เปรียบเหนือ ML ที่ทำงานอยู่บน server หรือ desktop หลายอย่าง เช่น
- ความปลอดภัยของข้อมูล เนื่องจาก microcontroller สามารถตัดสินใจได้โดยไม่มีการส่งข้อมูลไปให้ server ทำให้มีความปลอดภัยของข้อมูลมากขึ้น โดยเฉพาะเรื่องความเป็นส่วนตัวของข้อมูล (data privacy)
- ต้องการ Bandwidth ต่ำ เนื่องจากการตัดสินใจ สามารถทำได้บน microcontroller จึงไม่จำเป็นต้องสื่อสารกับ server ด้วยข้อมูลปริมาณมาก ทำให้ไม่จำเป็นที่ต้องใช้การสื่อสารที่มี bandwidth สูง ซึ่งช่วยประหยัดต้นทุนได้
- ประหยัดพลังงาน เนื่องจาก microcontroller ใช้พลังงานน้อยกว่า desktop หรือ server หรือแม้แต่ single board computer อย่าง Raspberry Pi มาก ทำให้สามารถใช้กับ battery ก้อนเล็ก ๆ ได้
- ขนาดเล็ก เนื่องจาก microcontroller มีขนาดเล็กทำให้สะดวกที่จะติดตั้งลงบนอุปกรณ์ที่ขนาดไม่ใหญ่มาก เช่น drone หรืออุปกรณ์พกพาอื่น ๆ ได้ง่าย
-
Raspberry Pi Pico W฿375.00 – ฿425.00
-
Arduino Nano RP2040 Connect฿1,400.00 – ฿1,450.00
-
Raspberry Pi Pico฿210.00 – ฿250.00