បញ្ហា (The Problem)៖ ការបណ្តុះបណ្តាលម៉ូដែលរៀនដោយម៉ាស៊ីន (Machine Learning) នៅលើឧបករណ៍ផ្ទាល់ (Edge devices) ដែលមានធនធានផ្ទុកនិងកម្លាំងគណនាមានកម្រិត ជួបប្រទះនូវបញ្ហាទំហំអង្គចងចាំនិងភាពយឺតយ៉ាវ ដែលធ្វើឱ្យក្បួនដោះស្រាយស្តង់ដារដូចជា SGD មិនអាចដំណើរការបាន។
វិធីសាស្ត្រ (The Methodology)៖ អ្នកស្រាវជ្រាវបានបង្កើតក្បួនដោះស្រាយថ្មីមួយឈ្មោះថា Lightweight SGD (L-SGD) ដោយធ្វើបច្ចុប្បន្នភាពលើប្រព័ន្ធគណនា (Chain-rule) ដើម្បីកាត់បន្ថយការប្រើប្រាស់អង្គចងចាំ និងបានបែងចែកវាជាពីរប្រភេទសម្រាប់ធ្វើការវាយតម្លៃ។
លទ្ធផលសំខាន់ៗ (The Verdict)៖
| វិធីសាស្ត្រ (Method) | គុណសម្បត្តិ (Pros) | គុណវិបត្តិ (Cons) | លទ្ធផលគន្លឹះ (Key Result) |
|---|---|---|---|
| Standard SGD (Float-32) ក្បួនដោះស្រាយ SGD ស្តង់ដារ (Float-32) |
ជាវិធីសាស្រ្តមូលដ្ឋានដែលមានស្ថេរភាពក្នុងការបង្ហាត់ម៉ូដែល និងធានាបាននូវភាពសុក្រឹតខ្ពស់។ វាងាយស្រួលក្នុងការអនុវត្តលើប្រព័ន្ធកុំព្យូទ័រធំៗដែលមានថាមពលគណនាខ្លាំង។ | ប្រើប្រាស់អង្គចងចាំ (Memory footprint) ច្រើនទ្វេដងនៃទំហំម៉ូដែល និងមានភាពយឺតយ៉ាវ ដែលមិនស័ក្តិសមទាល់តែសោះសម្រាប់ឧបករណ៍ខ្នាតតូច (Edge devices)។ | ទាមទារអង្គចងចាំ ១35,៦៣២ Bytes និងប្រើពេល ៧៥,០៩ មីលីវិនាទី/គំរូ (លើទិន្នន័យ MNIST)។ |
| L-SGD (Float-32) ក្បួនដោះស្រាយ L-SGD ប្រភេទ Float-32 |
កាត់បន្ថយការប្រើប្រាស់អង្គចងចាំបានយ៉ាងច្រើន និងបង្កើនល្បឿនក្នុងការបង្ហាត់បានលឿនជាងមុន ដោយរក្សាបាននូវកម្រិតភាពសុក្រឹតប្រហាក់ប្រហែលនឹង SGD ស្តង់ដារ។ | នៅតែត្រូវការប្រព័ន្ធ Floating-Point Unit (FPU) នៅលើបន្ទះឈីបដើម្បីទទួលបានល្បឿនលឿនបំផុត។ | លឿនជាង SGD ស្តង់ដារ ៤,២០ ដង និងប្រើប្រាស់អង្គចងចាំត្រឹមតែ ២,៨០% ប៉ុណ្ណោះ (៣,៧៨៤ Bytes)។ |
| L-SGD (Int-8) ក្បួនដោះស្រាយ L-SGD ប្រភេទ Quantized (Int-8) |
សន្សំសំចៃទំហំអង្គចងចាំបានកម្រិតអតិបរមា និងមានដំណើរការលឿនបំផុត ដែលស័ក្តិសមបំផុតសម្រាប់ការកែសម្រួលម៉ូដែល (Model tweaking) ក្នុងប្រព័ន្ធ Federated Learning។ | មិនអាចប្រើសម្រាប់បង្ហាត់ម៉ូដែលពីចំណុចដំបូង (Training from scratch) បានទេ ដោយសារបញ្ហា Saturation នៃទិន្នន័យនៅពេលតម្លៃ Loss មានទំហំធំ។ | សន្សំសំចៃអង្គចងចាំបាន ៧២,៨២% បន្ថែមទៀត និងលឿនជាង L-SGD (Float-32) ចំនួន ២,៤៨ ដង។ |
ការចំណាយលើធនធាន (Resource Cost)៖ ការអនុវត្តក្បួនដោះស្រាយនេះតម្រូវឱ្យមានឧបករណ៍ផ្នែករឹងខ្នាតតូចដែលមានតម្លៃសមរម្យ ប៉ុន្តែទាមទារចំណេះដឹងផ្នែកកម្មវិធីកម្រិតទាប (Low-level programming) ស៊ីជម្រៅ។
ការសិក្សានេះប្រើប្រាស់ទិន្នន័យស្តង់ដារអន្តរជាតិ (MNIST និង CogDist) ដើម្បីធ្វើតេស្តល្បឿន និងអង្គចងចាំលើផ្នែករឹង STM32L4R5ZIT6។ ទោះបីជាមិនបានផ្តោតលើទិន្នន័យប្រជាសាស្ត្រកម្ពុជាផ្ទាល់ក៏ដោយ ការរកឃើញនេះមានតម្លៃខ្លាំងណាស់ ព្រោះវាបង្ហាញថាការបង្ហាត់ម៉ូដែល ML អាចធ្វើទៅបានលើឧបករណ៍តម្លៃថោក ដែលអនុញ្ញាតឱ្យប្រទេសកំពុងអភិវឌ្ឍន៍ប្រើប្រាស់បច្ចេកវិទ្យា AI ដោយមិនពឹងផ្អែកលើអ៊ីនធឺណិតល្បឿនលឿន ឬកុំព្យូទ័រខ្នាតធំ។
វិធីសាស្រ្តនេះមានសក្តានុពលខ្ពស់ណាស់សម្រាប់ប្រទេសកម្ពុជា ពិសេសក្នុងការបង្កើតប្រព័ន្ធ IoT ឆ្លាតវៃដែលមានតម្លៃថោក ឯករាជ្យពីអ៊ីនធឺណិត និងរក្សាភាពឯកជនបានល្អ។
ជារួម ការរៀនតាមបែបវិមជ្ឈការ (Federated Learning) លើឧបករណ៍ Deep Edge អាចជួយកម្ពុជាអភិវឌ្ឍប្រព័ន្ធ AI ខ្នាតតូចប្រកបដោយសុវត្ថិភាព សន្សំសំចៃ និងអាចពង្រីកវិសាលភាពបានយ៉ាងទូលំទូលាយ។
ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖
| ពាក្យបច្ចេកទេស | ការពន្យល់ជាខេមរភាសា (Khmer Explanation) | និយមន័យសាមញ្ញ (Simple Definition) |
|---|---|---|
| Federated Learning | ជាវិធីសាស្ត្រនៃការបណ្តុះបណ្តាលម៉ូដែលបញ្ញាសិប្បនិម្មិត (AI) ដោយមិនចាំបាច់បញ្ជូនទិន្នន័យឆៅទៅកាន់ម៉ាស៊ីនមេ (Cloud Server) នោះទេ ពោលគឺឧបករណ៍នីមួយៗរៀនពីទិន្នន័យរបស់ខ្លួនផ្ទាល់ ហើយបញ្ជូនតែចំណេះដឹង (Parameters) ដែលរៀនរួចទៅកាន់ម៉ាស៊ីនមេដើម្បីចងក្រងជាម៉ូដែលរួមមួយ។ | ប្រៀបដូចជាសិស្សរៀនមេរៀនរៀងៗខ្លួននៅផ្ទះ ហើយយកតែចំណេះដឹងដែលយល់ច្បាស់មកប្រាប់គ្រូ ដើម្បីសង្ខេបចែករំលែកទៅសិស្សដទៃ ដោយមិនចាំបាច់យកសៀវភៅកំណត់ហេតុផ្ទាល់ខ្លួនមកបង្ហាញឡើយ។ |
| Stochastic Gradient Descent (SGD) | ជាក្បួនដោះស្រាយគណិតវិទ្យាដែលប្រើសម្រាប់ស្វែងរកតម្លៃល្អបំផុត (កាត់បន្ថយកំហុសឱ្យនៅទាបបំផុត) ក្នុងការបណ្តុះបណ្តាលបណ្តាញសរសៃប្រសាទសិប្បនិម្មិត ដោយធ្វើការកែតម្រូវទម្ងន់ (Weights) នៃម៉ូដែលបន្តិចម្តងៗតាមទិសដៅនៃកំហុសដែលបានគណនា។ | ប្រៀបដូចជាមនុស្សដែលត្រូវបិទភ្នែកដើរចុះពីកំពូលភ្នំ ដោយប្រើជើងស្ទាបរកទិសដៅដែលចំណោតចុះក្រោមខ្លាំងបំផុត ដើម្បីឆាប់ទៅដល់ជើងភ្នំ។ |
| Quantization | គឺជាដំណើរការបំប្លែងទិន្នន័យពីទម្រង់ចំនួនទសភាគ (Floating-point) ដែលស៊ីទំហំអង្គចងចាំធំ ទៅជាទម្រង់ចំនួនគត់ (Integer) តូចៗដូចជា 8-bit ដើម្បីកាត់បន្ថយទំហំផ្ទុក និងបង្កើនល្បឿនគណនាដោយមិនសូវធ្វើឱ្យបាត់បង់ភាពសុក្រឹតរបស់ម៉ូដែលឡើយ។ | ដូចជាការបង្រួមរូបថតដែលមានទំហំធំ (ច្បាស់ខ្លាំងពេកដែលមិនចាំបាច់) ឱ្យមកតូចល្មម ដើម្បីងាយស្រួលផ្ញើ ឬរក្សាទុកក្នុងទូរស័ព្ទដៃ ប៉ុន្តែយើងនៅតែអាចមើលស្គាល់ថារូបនោះជារូបអ្វី។ |
| Deep Edge | សំដៅលើឧបករណ៍អេឡិចត្រូនិកខ្នាតតូចបំផុត (ដូចជាសេនស័រ មីក្រូកុងត្រូល័រ ឧបករណ៍ពាក់លើខ្លួន) ដែលស្ថិតនៅជិតប្រភពទិន្នន័យបំផុត និងមានសមត្ថភាពគណនាផ្ទាល់ខ្លួនតិចតួចបំផុត ដោយមិនពឹងផ្អែកទាំងស្រុងលើប្រព័ន្ធ Cloud ឡើយ។ | ដូចជាមេភូមិដែលប្រចាំការនៅមូលដ្ឋានផ្ទាល់ ហើយអាចសម្រេចចិត្តលើបញ្ហាតូចតាចបានភ្លាមៗ ដោយមិនបាច់រង់ចាំសួរយោបល់ពីថ្នាក់ខេត្ត។ |
| Memory footprint | ជាទំហំសរុបនៃអង្គចងចាំ (RAM ឬ Storage) ដែលកម្មវិធី ឬក្បួនដោះស្រាយមួយត្រូវការប្រើប្រាស់ ដើម្បីដំណើរការប្រតិបត្តិការរបស់ខ្លួនឱ្យបានជោគជ័យ។ | ដូចជាទំហំផ្ទៃតុដែលអ្នកត្រូវការសម្រាប់ដាក់សៀវភៅ និងឧបករណ៍សិក្សានៅពេលកំពុងធ្វើលំហាត់ ប្រសិនបើកិច្ចការកាន់តែស្មុគស្មាញ អ្នកត្រូវការទំហំតុរឹតតែធំ។ |
| Microcontroller Unit (MCU) | ជាកុំព្យូទ័រខ្នាតតូចបំផុតដែលរួមបញ្ចូលប្រព័ន្ធដំណើរការ (CPU) អង្គចងចាំ (Memory) និងរន្ធតភ្ជាប់ (I/O) នៅលើបន្ទះឈីបតែមួយ ដែលភាគច្រើនប្រើសម្រាប់បញ្ជាឧបករណ៍អេឡិចត្រូនិកជាក់លាក់ណាមួយ (Embedded systems)។ | ដូចជាខួរក្បាលតូចមួយដែលមានមុខងារចងចាំនិងបញ្ជា ដែលគេបង្កប់នៅក្នុងម៉ាស៊ីនបោកគក់ ឬទូរទឹកកកឆ្លាតវៃ ដើម្បីឱ្យវាដំណើរការដោយស្វ័យប្រវត្តិ។ |
| Node Delta | នៅក្នុងក្បួនដោះស្រាយ L-SGD ថ្មីនេះ វាគឺជាប៉ារ៉ាម៉ែត្ររួមបញ្ចូលគ្នាតែមួយដែលតំណាងឱ្យការសាយភាយកំហុស (Error propagation) សម្រាប់ណឺរ៉ូននីមួយៗ ដែលជួយកាត់បន្ថយការគណនាស្ទួន និងសន្សំសំចៃការប្រើប្រាស់អង្គចងចាំបានយ៉ាងច្រើន។ | ដូចជាការសរសេរសរុបវិក្កយបត្រថ្លៃម្ហូបតែមួយសន្លឹកសម្រាប់តុមួយ ជំនួសឱ្យការកត់វិក្កយបត្រដាច់ដោយឡែកៗសម្រាប់មនុស្សម្នាក់ៗក្នុងតុនោះ ដែលជួយសន្សំសំចៃក្រដាសនិងពេលវេលា។ |
| Backpropagation | ជាយន្តការមួយនៅក្នុងការបង្ហាត់ម៉ូដែល AI ដែលបញ្ជូនទិន្នន័យកំហុស (Error) ពីលទ្ធផលចុងក្រោយ ត្រឡប់ថយក្រោយទៅគ្រប់ស្រទាប់នៃបណ្តាញសរសៃប្រសាទវិញ ដើម្បីកែតម្រូវទម្ងន់ (Weights) នៃណឺរ៉ូននីមួយៗឱ្យកាន់តែសុក្រឹតនៅពេលក្រោយ។ | ដូចជាការផ្ដល់មតិកែលម្អ (Feedback) ពីអ្នកគ្រប់គ្រងទៅកាន់បុគ្គលិកគ្រប់ផ្នែក បន្ទាប់ពីគម្រោងមួយមានការខ្វះខាត ដើម្បីឱ្យបុគ្គលិកកែប្រែចំណុចខ្សោយរបស់ខ្លួនសម្រាប់គម្រោងបន្ទាប់។ |
អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖
ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖