Original Title: Systems for Machine Learning on Edge Devices
Source: people.eecs.berkeley.edu
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ប្រព័ន្ធសម្រាប់ម៉ាស៊ីនរៀនលើឧបករណ៍អេច (Edge Devices)

ចំណងជើងដើម៖ Systems for Machine Learning on Edge Devices

អ្នកនិពន្ធ៖ Shishir Girishkumar Patil (University of California, Berkeley)

ឆ្នាំបោះពុម្ព៖ Fall 2023

វិស័យសិក្សា៖ Computer Science / Machine Learning

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ការបណ្តុះបណ្តាល និងការធ្វើបច្ចុប្បន្នភាពម៉ូដែលម៉ាស៊ីនរៀន (Machine Learning) នៅលើឧបករណ៍អេច (Edge Devices) ជួបប្រទះនឹងបញ្ហាប្រឈមធំៗ ដោយសារកង្វះខាតទំហំអង្គចងចាំ ថាមពល និងកម្រិតបញ្ជូនទិន្នន័យ។

វិធីសាស្ត្រ (The Methodology)៖ និក្ខេបបទនេះបានស្នើឡើងនូវប្រព័ន្ធបំពេញបន្ថែមចំនួនពីរគឺ POET សម្រាប់ការបណ្តុះបណ្តាល និង Minerva សម្រាប់ការដាក់ពង្រាយម៉ូដែល។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
POET (Power Optimal Edge Training)
ប្រព័ន្ធ POET សម្រាប់ការបណ្តុះបណ្តាលម៉ូដែល
កាត់បន្ថយការប្រើប្រាស់ថាមពលអតិបរមា និងអាចបណ្តុះបណ្តាលម៉ូដែលធំៗ (ResNet, BERT) លើឧបករណ៍ដែលមានអង្គចងចាំត្រឹម 32KB។ ធានាបាននូវការបែងចែកពេលវេលា និងថាមពលបានយ៉ាងល្អឥតខ្ចោះ។ ត្រូវការការវិភាគកម្រិតខ្ពស់លើផ្នែករឹង (Hardware profiling) ជាមុន និងត្រូវប្រើប្រាស់កម្មវិធីដោះស្រាយ MILP ខាងក្រៅដើម្បីរៀបចំកាលវិភាគ។ ស៊ីថាមពលតិចជាងវិធីសាស្ត្រ DTR រហូតដល់ ៣៥% និងកាត់បន្ថយការប្រើប្រាស់អង្គចងចាំកំពូលបាន ៨.៣% បើធៀបនឹងវិធីសាស្ត្រ POFO។
Minerva Capsule Updates
ប្រព័ន្ធ Minerva សម្រាប់ការធ្វើបច្ចុប្បន្នភាពម៉ូដែល
អាចធ្វើបច្ចុប្បន្នភាពម៉ូដែលបានរហ័សដោយមិនបាច់ចាប់ផ្តើមប្រព័ន្ធឡើងវិញ (Reboot) សន្សំសំចៃទំហំផ្ទុក និងរក្សាទិន្នន័យ (State) របស់កម្មវិធីបានល្អ។ តម្រូវឱ្យមានការកែប្រែកូដមួយចំនួននៅលើកម្មវិធី (Application code) និងទាមទារការរៀបចំ Linker script ពិសេសដើម្បីបែងចែកអង្គចងចាំ។ មានល្បឿនលឿនជាងការធ្វើបច្ចុប្បន្នភាពកម្មវិធីបង្កប់ស្តង់ដារ (DFU) រហូតដល់ ៨៩ ដង និងត្រូវការទំហំទាញយកត្រឹមតែ ០.០៤ នៃទំហំ DFU សរុប។
Full DFU (Device Firmware Update)
ការធ្វើបច្ចុប្បន្នភាពកម្មវិធីបង្កប់ទាំងមូល
មានភាពងាយស្រួលក្នុងការអនុវត្ត និងជាស្តង់ដារប្រព័ន្ធដែលមានស្រាប់សម្រាប់ឧបករណ៍ IoT ភាគច្រើននៅពេលបច្ចុប្បន្ន។ មានទំហំឯកសារធំ ស៊ីសេវាបញ្ជូនទិន្នន័យច្រើន ចំណាយពេលយូរក្នុងការ Flash និងតម្រូវឱ្យចាប់ផ្តើមប្រព័ន្ធឡើងវិញដែលធ្វើឱ្យបាត់បង់ទិន្នន័យកម្មវិធី។ ចំណាយពេលរាប់ម៉ឺនមិល្លីវិនាទីសម្រាប់ការទាញយក និងដំឡើង ដែលយឺតជាង Minerva ឆ្ងាយ និងតម្រូវឱ្យមានអង្គចងចាំទ្វេដង (Two-bank model)។
Capuchin / POFO
វិធីសាស្ត្រគ្រប់គ្រងអង្គចងចាំ Capuchin និង POFO
ជួយកាត់បន្ថយការប្រើប្រាស់អង្គចងចាំតាមរយៈការប្រើប្រាស់បច្ចេកទេស Heuristics (Capuchin) និង Dynamic Programming (POFO)។ មិនបានផ្តោតសំខាន់លើការស៊ីថាមពលរួមបញ្ចូលគ្នាទេ ហើយ POFO គាំទ្រត្រឹមតែទម្រង់ម៉ូដែលលីនេអ៊ែរ (Linear models) ប៉ុណ្ណោះ។ ប្រើប្រាស់ថាមពលច្រើនជាងវិធីសាស្ត្រ POET ពី ៧៣% ទៅ ១៤១% (សម្រាប់ Capuchin) នៅពេលមានការរឹតត្បិតទំហំអង្គចងចាំតឹងរ៉ឹង។

ការចំណាយលើធនធាន (Resource Cost)៖ ការអនុវត្តប្រព័ន្ធទាំងនេះទាមទារឱ្យមានឧបករណ៍ Microcontroller ដែលមានថាមពលទាប គួបផ្សំនឹងកម្មវិធីគ្រប់គ្រងប្រព័ន្ធ (Embedded OS) ច្បាស់លាស់ និងបណ្តាញបញ្ជូនទិន្នន័យកម្រិតទាប។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះប្រើប្រាស់ទិន្នន័យពីឧបករណ៍ចាប់សញ្ញាជាក់ស្តែងដូចជា GesturePod (សម្រាប់ជនពិការភ្នែក) និង Farmbeats (កសិកម្ម) ដែលភាគច្រើនធ្វើឡើងនៅសហរដ្ឋអាមេរិក និងឥណ្ឌា។ សម្រាប់ប្រទេសកម្ពុជា ការប្រមូលទិន្នន័យក្នុងស្រុក (Local datasets) ដូចជាទិន្នន័យអាកាសធាតុ កសិកម្ម និងសកម្មភាពរស់នៅគឺមានភាពចាំបាច់ ដើម្បីធានាថាម៉ូដែលមិនមានភាពលម្អៀង និងអាចដំណើរការបានល្អក្នុងបរិបទភូមិសាស្ត្រ និងអាកាសធាតុរបស់យើង។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

វិធីសាស្ត្រទាំងពីរនេះមានសារៈសំខាន់ និងសក្តិសមបំផុតសម្រាប់ការអភិវឌ្ឍប្រព័ន្ធ IoT និងកសិកម្មឆ្លាតវៃនៅប្រទេសកម្ពុជា ដែលជួបប្រទះបញ្ហាកង្វះខាតថាមពល និងអ៊ីនធឺណិត។

ជាសរុប បច្ចេកវិទ្យានេះផ្តល់នូវលទ្ធភាពខ្ពស់ក្នុងការដាក់ពង្រាយប្រព័ន្ធ AI ដែលមានភាពវៃឆ្លាត និងដំណើរការដោយស្វ័យប្រវត្តិ នៅតាមតំបន់នានាក្នុងប្រទេសកម្ពុជា ប្រកបដោយប្រសិទ្ធភាពចំណាយខ្ពស់។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃ Embedded ML (TinyML): ចាប់ផ្តើមរៀនពីការប្រើប្រាស់ TensorFlow Lite Micro ដើម្បីយល់ពីរបៀបបង្កើតកូដ និងបំប្លែងម៉ូដែល AI តូចៗដែលអាចដំណើរការលើឧបករណ៍ Microcontrollers ដែលមានអង្គចងចាំតិច។
  2. អនុវត្តជាមួយឧបករណ៍ Hardware ជាក់ស្តែង: ជាវឧបករណ៍ ARM Cortex-M boards (e.g., Arduino Nano 33 BLE Sense ឬ nRF52840) ដើម្បីអនុវត្តការសរសេរកូដបញ្ចូលម៉ូដែលទៅក្នុងផ្នែករឹងដោយផ្ទាល់ និងវាស់ស្ទង់ការប្រើប្រាស់អង្គចងចាំ។
  3. ស្វែងយល់ពីប្រព័ន្ធប្រតិបត្តិការ Embedded OS: រៀនប្រើប្រាស់ និងសរសេរកម្មវិធីនៅលើ Zephyr OSTock OS ដើម្បីស្វែងយល់ពីរបៀបបែងចែកអង្គចងចាំ និងការគ្រប់គ្រងថាមពលរបស់ឧបករណ៍ (Power Management)។
  4. អនុវត្តការធ្វើបច្ចុប្បន្នភាពតាមអាកាស (OTA Updates): សាកល្បងបង្កើតប្រព័ន្ធបញ្ជូនទិន្នន័យពី Server ទៅកាន់ឧបករណ៍ Edge ដោយប្រើប្រាស់ពិធីការបណ្តាញដូចជា CoAPHTTP តាមរយៈប្រព័ន្ធបញ្ជូនសេវា LoRaLTE-M
  5. អភិវឌ្ឍគម្រោងស្រាវជ្រាវខ្នាតតូចពិតប្រាកដ (Pilot Project): ចាប់ផ្តើមគម្រោងជាក់ស្តែងមួយ ដូចជាការតាមដានសីតុណ្ហភាព ឬសំណើមដី ដោយប្រើបច្ចេកទេស Capsule-based updates ដូចទៅនឹងប្រព័ន្ធ Minerva ដើម្បីវាស់ស្ទង់ពីល្បឿន និងប្រសិទ្ធភាពនៃការស៊ីថាមពល។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Rematerialization ដំណើរការនៃការលុបចោលទិន្នន័យបណ្តោះអាសន្ន (Activations) ក្នុងពេលគណនាដើម្បីសន្សំទំហំអង្គចងចាំ ហើយធ្វើការគណនាវាឡើងវិញនៅពេលដែលត្រូវការប្រើប្រាស់ម្តងទៀត ជាជាងការបន្តរក្សាទុកវាក្នុងអង្គចងចាំ។ ដូចជាការបោះចោលក្រដាសព្រាងដើម្បីសន្សំកន្លែងលើតុ ហើយចាំគិតលេខនោះម្តងទៀតពេលត្រូវការប្រើ ជាជាងទុកក្រដាសព្រាងនោះញាត់ពេញតុធ្វើការ។
Paging បច្ចេកទេសផ្លាស់ទីទិន្នន័យពីអង្គចងចាំចម្បង (RAM) ទៅកាន់អង្គចងចាំបន្ទាប់បន្សំ (ដូចជា SD Card ឬ Flash) នៅពេលដែល RAM ជិតពេញ ហើយទាញយកមកវិញនៅពេលត្រូវការប្រើប្រាស់។ ដូចជាការយកសៀវភៅដែលមិនសូវអានចេញពីតុរៀនទៅទុកក្នុងទូសិន ដើម្បីមានកន្លែងទំនេរដាក់សៀវភៅថ្មី ហើយចាំយកវាពីទូមកវិញពេលត្រូវការអាន។
Microcontrollers បន្ទះឈីបកុំព្យូទ័រខ្នាតតូចបំផុតដែលមានថាមពលនិងអង្គចងចាំមានកម្រិតខ្លាំង (ត្រឹមគីឡូបៃ) ដែលត្រូវបានប្រើប្រាស់សម្រាប់បញ្ជាឧបករណ៍អេឡិចត្រូនិកជាក់លាក់ណាមួយ (ដូចជាសេនស័រ ម៉ាស៊ីនបោកគក់ ឬឧបករណ៍ IoT)។ ដូចជាខួរក្បាលតូចមួយដែលគេបំពាក់ក្នុងឧបករណ៍ប្រើប្រាស់ប្រចាំថ្ងៃ ដើម្បីប្រាប់ពួកវាឱ្យដឹងថាត្រូវធ្វើអ្វីខ្លះដោយស្វ័យប្រវត្តិ។
Device Firmware Update (DFU) ការធ្វើបច្ចុប្បន្នភាពកម្មវិធីប្រព័ន្ធទាំងមូលនៅលើឧបករណ៍ Hardware ដែលជាទូទៅទាមទារការទាញយកទិន្នន័យធំ ការលុបទិន្នន័យចាស់ចោល និងការចាប់ផ្តើមប្រព័ន្ធឡើងវិញ (Reboot)។ ដូចជាការឈូសទូរស័ព្ទដំឡើងប្រព័ន្ធប្រតិបត្តិការ (OS) ថ្មីទាំងស្រុង ដែលត្រូវចាយពេលយូរ និងត្រូវបិទបើកទូរស័ព្ទឡើងវិញ ជាជាងគ្រាន់តែអាប់ដេតកម្មវិធីតូចមួយ។
Mixed-Integer Linear Programming (MILP) វិធីសាស្ត្រគណិតវិទ្យាក្នុងការស្វែងរកជម្រើសដែលល្អបំផុត (Optimization) ដោយផ្អែកលើលក្ខខណ្ឌកំណត់នានា ដែលតម្រូវឱ្យអថេរខ្លះត្រូវតែជាចំនួនគត់។ ក្នុងនិក្ខេបបទនេះ វាជួយរកកាលវិភាគបែងចែកអង្គចងចាំដែលស៊ីថាមពលតិចបំផុត។ ដូចជាការរៀបចំកាលវិភាគធ្វើដំណើរដោយមានលក្ខខណ្ឌថវិកា និងពេលវេលាកំណត់ ដើម្បីរកផ្លូវដែលចំណាយតិចបំផុត និងទៅដល់លឿនបំផុត។
Capsules ក្នុងបរិបទនៃប្រព័ន្ធ Minerva វាគឺជាប្លុកអង្គចងចាំ (ROM segment) ដែលត្រូវបានកាត់ទុកដាច់ដោយឡែកសម្រាប់ផ្ទុកតែម៉ូដែល ML ដែលអនុញ្ញាតឱ្យមានការធ្វើបច្ចុប្បន្នភាពតែម៉ូដែលនោះដោយផ្ទាល់ ដោយមិនប៉ះពាល់ដល់កម្មវិធីប្រព័ន្ធទាំងមូលឡើយ។ ដូចជាប្រអប់កាសែតក្នុងម៉ាស៊ីនចាក់ចម្រៀង ដែលអ្នកអាចដកដូរខ្សែអាត់ចម្រៀងថ្មីបានយ៉ាងងាយ ដោយមិនបាច់ទិញម៉ាស៊ីនចាក់ចម្រៀងថ្មីទាំងមូលនោះទេ។
Discounted Cumulative Gain (DCG) រង្វាស់ស្ថិតិមួយដែលប្រើជាទូទៅសម្រាប់វាយតម្លៃគុណភាពនៃការទស្សន៍ទាយចំណាត់ថ្នាក់។ ប្រព័ន្ធ Minerva ប្រើវាដើម្បីធ្វើតេស្តថាតើម៉ូដែលថ្មីដំណើរការបានល្អជាងម៉ូដែលចាស់ឬទេ ដោយមិនចាំបាច់មានទិន្នន័យចម្លើយពិត (Ground-truth labels) នៅលើឧបករណ៍ផ្ទាល់។ ដូចជាការឱ្យពិន្ទុគ្រូទាយដោយប្រៀបធៀបថា តើទំនាយថ្មីរបស់គាត់ស្រដៀងនឹងទំនាយចាស់ដែលធ្លាប់ត្រូវកម្រិតណា ដើម្បីសម្រេចថាយើងគួរជឿទំនាយថ្មីនេះឬអត់។
Edge Devices ឧបករណ៍ផ្នែករឹងនៅចុងបញ្ចប់នៃបណ្តាញ (ដូចជា ទូរស័ព្ទដៃ កាមេរ៉ាសុវត្ថិភាព ឬឧបករណ៍ចាប់សញ្ញាក្នុងកសិដ្ឋាន) ដែលធ្វើការប្រមូល និងដំណើរការទិន្នន័យនៅនឹងកន្លែង ជាជាងបញ្ជូនវាទៅកាន់កុំព្យូទ័រមេ (Cloud)។ ដូចជាបុគ្គលិកជួរមុខដែលធ្វើការសម្រេចចិត្តភ្លាមៗនៅកន្លែងកើតហេតុ ដោយមិនចាំបាច់រង់ចាំការអនុញ្ញាតពីទីស្នាក់ការកណ្តាល។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖