3 คะแนน โดย GN⁺ 2024-01-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

TinyML คืออะไร

  • TinyML หมายถึง การใช้งานแมชชีนเลิร์นนิงบนไมโครคอนโทรลเลอร์
  • แตกต่างจากระบบที่ใช้ใน ML แบบดั้งเดิม โดยถูกใช้กับระบบที่มี CPU และ RAM น้อยมาก และใช้พลังงานในระดับมิลลิวัตต์หรือไมโครวัตต์
  • ทำการย่อขนาดโมเดลขนาดใหญ่เพื่อให้สามารถใช้งานบนอุปกรณ์และไมโครคอนโทรลเลอร์ที่มีทรัพยากรจำกัดมากได้
  • เว็บไซต์ทางการของมูลนิธิ TinyML คือ https://www.tinyml.org/
  • มีชุดคอร์สเรียนฟรี 3 คอร์สจากมหาวิทยาลัยฮาร์วาร์ด:
    1. พื้นฐานของ TinyML (จะสร้างอะไร ทำไมต้องสร้าง และมีปัญหาอะไรบ้าง)
    2. การประยุกต์ใช้ TinyML (การขับเคลื่อนด้วยข้อมูล อคติ ฯลฯ)
    3. การปรับใช้ TinyML (จะนำโมเดลไปวางไว้ที่ใด ความปลอดภัย และความเป็นส่วนตัว)

หลักการพื้นฐานของ TinyML

  • ระบบฝังตัวที่ใช้ไมโครคอนโทรลเลอร์มีหน่วยความจำได้สูงสุด 256kB จึงไม่สามารถรันโมเดลขนาดใหญ่ได้
  • ตัวอย่างระบบปฏิบัติการบางส่วนที่ใช้ร่วมกับไมโครคอนโทรลเลอร์ได้:
    • FreeRTOS
    • Mbed OS
  • แมชชีนเลิร์นนิงประกอบด้วยอัลกอริทึมที่ใช้ค้นหารูปแบบจากข้อมูล
  • ใน TinyML จะบีบอัดอัลกอริทึมเหล่านี้เพื่อให้สามารถค้นหารูปแบบจากข้อมูลได้อย่างมีประสิทธิภาพ
  • ข้อมูลที่สร้างขึ้นใน IoT ต่อวันมีปริมาณ 5 ควินทิลเลียนไบต์ และมีการวิเคราะห์น้อยกว่า 1% เท่านั้น

เทคนิคการบีบอัดอัลกอริทึม

  • การตัดแต่งโมเดล (Pruning)

    • การตัดแต่งซินแนปส์: ลบการเชื่อมต่อในเครือข่ายออกจากโมเดล ซึ่งบางครั้งอาจทำให้ความแม่นยำลดลง
    • การตัดแต่งนิวรอน: ลบนิวรอนทั้งก้อนออกจากโมเดลเพื่อลดความต้องการในการคำนวณของเครือข่าย
  • การควอนไทซ์ (Quantization)

    • ทำให้ค่าต่าง ๆ กลายเป็นค่าดิสครีตในช่วงที่เล็กลง ตัวอย่างเช่น หากทำให้ค่าทศนิยมแบบ floating point เป็นดิสครีตในช่วง -128 ถึง 127 ก็จะต้องพิจารณาเพียง 256 ค่าเท่านั้น
    • หากเปลี่ยนค่าทศนิยมแบบ floating point ที่เก็บใน 4 ไบต์ ให้เป็นค่าจำนวนเต็มที่เก็บใน 1 ไบต์ ขนาดจะลดลง 4 เท่า
    • การควอนไทซ์มีความสำคัญมากใน TinyML เนื่องจากข้อจำกัดด้านทรัพยากร
  • การกลั่นความรู้ (Knowledge distillation)

    • ใช้ความรู้และความชำนาญเพื่อทำให้โมเดลมีขนาดเล็กลง

เครื่องมือ

  • ใช้ TensorFlow Lite
  • TensorFlow มุ่งเน้นไปที่นักวิจัย ML ขณะที่ TensorFlow Lite มีไว้สำหรับนักพัฒนาแอปพลิเคชัน

การใช้งาน TinyML

  • สามารถดูกรณีการใช้งาน TinyML ที่เหมาะกับโลกของ DIY เมกเกอร์ และแฮ็กเกอร์ ได้ที่เว็บไซต์นี้

การใช้ TinyML ในอุตสาหกรรม

  • ในภาคอุตสาหกรรม มีการใช้เพื่อการบำรุงรักษา โดยช่วยเตือนล่วงหน้าว่าอาจเกิดความขัดข้องเมื่อเกิดการสั่นสะเทือน ส่งผลให้เพิ่มประสิทธิภาพและลดต้นทุน
  • อาจเกิดการแจ้งเตือนผิดพลาดได้จากปัญหาด้านความแม่นยำ และความรับผิดชอบต่อการแจ้งเตือนผิดพลาดนั้นอยู่ที่ผู้ปฏิบัติงานหรือระบบ

TinyML กับสิ่งแวดล้อม

  • แทนที่จะเก็บข้อมูลแล้วค่อยประมวลผล การใช้ TinyML ทำให้สามารถรับคำตอบแบบเรียลไทม์ต่อการเปลี่ยนแปลงของสิ่งแวดล้อมได้ ตัวอย่างเช่น สามารถรับรู้การเปลี่ยนแปลงในชีวิตของสัตว์ป่าได้แบบเรียลไทม์

TinyML เพื่อมนุษย์

  • ช่วยให้ผู้มีความพิการสามารถทำงานได้มากขึ้นโดยไม่ต้องใช้มือ
  • ปรับปรุง UI และ UX ของแอปพลิเคชันให้ใช้งานได้ง่ายขึ้น
  • เทคโนโลยีถูกสร้างขึ้นเพื่อยกระดับประสบการณ์ของมนุษย์ เทคโนโลยีควรช่วยเหลือผู้คน

ความเสี่ยงและข้อเสีย

  • จะทำงานได้ดีสำหรับทุกกลุ่มประชากรหรือไม่?
  • รับประกันความเป็นส่วนตัวของข้อมูลได้หรือไม่?
  • สามารถปกป้องข้อมูลนี้ได้หรือไม่?
  • ควรสร้างเทคโนโลยีบนพื้นฐานของ AI ที่ยึดมนุษย์เป็นศูนย์กลาง และต้องคำนึงถึงสิ่งนี้ในกระบวนการออกแบบ พัฒนา และปรับใช้

ความเห็นของ GN⁺

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

1 ความคิดเห็น

 
GN⁺ 2024-01-17
ความคิดเห็นจาก Hacker News
  • การพัฒนาคอมไพเลอร์ TinyML ด้วย Rust

    • มีการพัฒนาคอมไพเลอร์ TinyML ที่สร้างบน Rust เป็นโปรเจ็กต์วิทยานิพนธ์ระดับปริญญาโท
    • ใช้ Rust procedural macro เพื่อประเมินโมเดลในช่วงคอมไพล์ และสร้างฟังก์ชัน predict() สำหรับทำ inference กับโมเดลที่กำหนด
    • ทำให้ได้ขนาดไบนารีที่เล็กกว่า TensorFlow Lite for Microcontrollers และเอนจินอื่น ๆ อย่างมาก
    • สามารถรันตัวรู้จำคำสั่งเสียง (TinyConv) บน 8-bit ATmega328 (Arduino Uno) ได้สำเร็จ
  • เสน่ห์ของวงการ TinyML

    • TinyML เป็นสาขาที่น่าสนใจมาก เพราะสามารถทำสิ่งต่าง ๆ ได้มากมายแม้บนฮาร์ดแวร์ขนาดเล็กมาก
    • ตัวอย่างเช่น สามารถใช้ esp32-s3 เพื่อสร้างระบบ computer vision แบบเรียลไทม์ได้ (ราคาประมาณ 2 ดอลลาร์)
    • เข้าสู่วงการ TinyML ได้ไม่ยากผ่านโซลูชันอย่าง AutoML
    • บริษัทฮาร์ดแวร์เริ่มนำเสนอ MCU ที่มี NPU ติดตั้งมาเพื่อลดการใช้พลังงานให้ต่ำที่สุด
    • TinyML มีแนวโน้มสูงที่จะได้รับความสนใจมากขึ้นในอนาคต
  • ไวรัสที่โจมตีโครงสร้างพื้นฐานโดยใช้ LLM

    • มีการจินตนาการถึงไวรัสที่มุ่งเป้าไปยังโครงสร้างพื้นฐานโดยใช้ LLM (Large Language Models)
    • อุปกรณ์ขนาดเล็กอาจถูกซ่อนไว้ในโครงข่ายไฟฟ้าเพื่อรวบรวมทราฟฟิกเครือข่ายและพยายามทำลายระบบ
    • อุปกรณ์เหล่านี้อาจถูกซ่อนไว้ในอุปกรณ์เครือข่ายและตรวจจับได้ยาก เพราะไม่ต้องพึ่งทราฟฟิกจากภายนอก
  • คำอธิบาย TinyML / Edge ML ของ Edge Impulse

    • Edge Impulse สร้างแพลตฟอร์มสำหรับสร้างโมเดล ML และนำไป deploy บนอุปกรณ์ edge
    • ผู้ใช้สามารถสร้างบัญชี สร้างโมเดล keyword spotting แล้วรันได้โดยตรงบน WASM
    • การมาถึงของ embedded accelerator ASICs/NPUs กำลังเป็นแรงขับเคลื่อนการนำ Edge ML ไปใช้งาน
  • ตัวอย่างการใช้ ESP32, Tensor Flow Lite และ Edge Impulse ของ Hacker Box

    • เมื่อไม่นานมานี้ Hacker Box ได้เผยแพร่ตัวอย่างแบบละเอียดที่ใช้ ESP32, Tensor Flow Lite และ Edge Impulse
  • ปัจจุบันและอนาคตของ TinyML

    • TinyML หมายถึงการรัน machine learning บนอุปกรณ์ embedded ที่ใช้พลังงานต่ำ
    • โทรศัพท์ทุกเครื่องมีชิป DSP พลังงานต่ำสำหรับตรวจจับคีย์เวิร์ดอย่าง "Hey Google" หรือ "Hey Siri"
    • TinyML เป็นส่วนย่อยของ edge AI ซึ่งครอบคลุมอุปกรณ์ทุกประเภทที่อยู่ปลายทางของเครือข่าย
    • วงการนี้น่าตื่นเต้นมาก เป็นเทคโนโลยีที่แก้ปัญหาได้หลากหลาย และสามารถนำไปใช้ได้แทบทุกพื้นที่
  • มุมมองที่หลากหลายต่อ TinyML

    • มีความเห็นว่าสาขา TinyML จะสร้างผลกระทบสำคัญได้จากการพัฒนาโซลูชันภายใต้ข้อจำกัด
    • TinyML ถูกมองว่าเป็นเทคโนโลยีสำคัญของอนาคตคล้ายกับ IoT แต่ในความเป็นจริงยังพัฒนาอย่างช้า ๆ
    • สำหรับผู้ที่กำลังมองหาเนื้อหาเพิ่มเติมเกี่ยวกับ TinyML มีการแนะนำวิดีโอจากงานประชุม Asia 2023