Original Title: Coding for Privacy in Distributed Computing
Source: simula-uib.com
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការសរសេរកូដសម្រាប់ភាពឯកជនក្នុងប្រព័ន្ធកុំព្យូទ័រចែកចាយ

ចំណងជើងដើម៖ Coding for Privacy in Distributed Computing

អ្នកនិពន្ធ៖ Reent Schlegel (University of Bergen, Norway)

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

វិស័យសិក្សា៖ Computer Science

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

បញ្ហា (The Problem)៖ និក្ខេបបទនេះដោះស្រាយបញ្ហាប្រឈមធំៗចំនួនបីនៅក្នុងប្រព័ន្ធកុំព្យូទ័រចែកចាយ (Edge Computing និឹង Federated Learning) គឺ៖ បញ្ហាយឺតយ៉ាវដោយសារឧបករណ៍ខ្សោយ (Straggler Effect) ការស្ទះទំនាក់ទំនងបណ្តាញ និងក្តីបារម្ភផ្នែកឯកជនភាពនៃទិន្នន័យរវាងអ្នកប្រើប្រាស់និងម៉ាស៊ីនមេ។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រើប្រាស់ទ្រឹស្តីកូដ (Coding Theory) ដើម្បីបង្កើតយន្តការថ្មីៗដែលធានាបាននូវឯកជនភាពកម្រិតខ្ពស់ និងបង្កើនប្រសិទ្ធភាពក្នុងការគណនាដោយមិនបន្ថយល្បឿនបណ្តាញ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
CodedPaddedFL (Proposed)
យន្តការរៀនសូត្ររួមគ្នាដែលបានបំប្លែងកូដ (ពឹងផ្អែកលើ One-Time Padding)
មានសមត្ថភាពខ្ពស់ក្នុងការទប់ទល់នឹងឧបករណ៍ដែលដំណើរការយឺត (Stragglers) ដោយមិនធ្វើឱ្យបាត់បង់ឯកជនភាពទិន្នន័យកម្រិតស្តង់ដារ។ ទាមទារឱ្យមានការចែករំលែកទិន្នន័យ (Padded Data) រវាងឧបករណ៍នៅដំណាក់កាលដំបូង ដែលបង្កើនការប្រើប្រាស់អ៊ីនធឺណិត។ បង្កើនល្បឿននៃការបណ្តុះបណ្តាលបាន ១៨ ដង លឿនជាង Conventional FL សម្រាប់សំណុំទិន្នន័យ MNIST ដើម្បីសម្រេចភាពត្រឹមត្រូវ ៩៥%។
Conventional Federated Learning
យន្តការរៀនសូត្ររួមគ្នាបែបប្រពៃណី
មិនត្រូវការការចែករំលែកទិន្នន័យមុនពេលចាប់ផ្តើមបណ្តុះបណ្តាល ងាយស្រួលក្នុងការរៀបចំនិងអនុវត្ត។ យឺតយ៉ាវខ្លាំងនៅពេលមានឧបករណ៍ណាមួយដំណើរការខុសប្រក្រតី ឬដាច់អុីនធឺណិត (Stragglers/Dropouts) និងងាយរងការប៉ះពាល់ដោយ Client Drift។ មានភាពយឺតយ៉ាវ និងត្រូវចំណាយពេលយូរជាង CodedPaddedFL ដល់ទៅ ១៨ ដង ដើម្បីទទួលបានលទ្ធផលប្រហាក់ប្រហែល។
CodedSecAgg (Proposed)
យន្តការប្រមូលផ្តុំទិន្នន័យប្រកបដោយសុវត្ថិភាពតាមរយៈលេខកូដ (ពឹងផ្អែកលើ Shamir’s Secret Sharing)
ការពារម៉ាស៊ីនមេ (Central Server) ពីការលួចទាញយកទិន្នន័យដើមតាមរយៈ Model Inversion Attacks ព្រមទាំងជួយកាត់បន្ថយភាពយឺតយ៉ាវ។ ត្រូវការការគណនាស្មុគស្មាញលើកូដ SSS និងមានបន្ទុកទំនាក់ទំនងទិន្នន័យខ្ពស់ជាង CodedPaddedFL បន្តិច។ ដំណើរការលឿនជាងយន្តការ LightSecAgg ពី ៦.៦ ដង ដល់ ១៨.៧ ដង ក្នុងការឈានដល់ភាពត្រឹមត្រូវ ៩៥%។
LightSecAgg (Baseline)
យន្តការសុវត្ថិភាព LightSecAgg
ជាយន្តការស្តង់ដារឈានមុខគេក្នុងការការពារឯកជនភាព និងមានរចនាសម្ព័ន្ធស្រាលសម្រាប់ការគណនា។ មិនមានលទ្ធភាពទប់ទល់ប្រកបដោយប្រសិទ្ធភាពខ្ពស់នៅពេលមានចំនួនឧបករណ៍យឺតយ៉ាវច្រើន (Lack of straggler mitigation)។ ត្រូវចំណាយពេលវេលាយូរជាង CodedSecAgg យ៉ាងហោចណាស់ ៦.៦ ដង សម្រាប់ម៉ូដែលទំហំដូចគ្នា។
Privacy-Preserving Coded Edge Computing (Proposed Scheme 1,2,3)
យន្តការកុំព្យូទ័រជាយបណ្តាញការពារឯកជនភាព
ធានាបាននូវការសម្ងាត់ទិន្នន័យពីម៉ាស៊ីនមេ (Edge Servers) ដែលអាចតាមដាន និងប្រើប្រាស់ Priority Queue ដើម្បីកាត់បន្ថយភាពយឺតយ៉ាវ។ ត្រូវការប្រើប្រាស់កម្លាំងគណនាបន្ថែមនៅត្រង់ម៉ាស៊ីនមេដើម្បីដោះស្រាយកូដប្រៀបធៀបនឹងការមិនសរសេរកូដ។ កាត់បន្ថយភាពយឺតយ៉ាវបាន ៨% បើប្រៀបធៀបទៅនឹងយន្តការមុនៗដែលមិនមានប្រព័ន្ធការពារឯកជនភាព។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះពឹងផ្អែកលើការក្លែងធ្វើ (Simulation) នូវបរិស្ថានបណ្តាញឧបករណ៍ IoT ដែលមានសមត្ថភាពទាប និងមានល្បឿនបណ្តាញមានកម្រិត។

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

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

ការសិក្សានេះប្រើប្រាស់ទិន្នន័យរូបភាពស្តង់ដារសកល (MNIST/Fashion-MNIST) និងក្លែងធ្វើបរិស្ថានបណ្តាញដោយកុំព្យូទ័រ ដែលមិនឆ្លុះបញ្ចាំងទាំងស្រុងពីភាពស្មុគស្មាញនៃបណ្តាញទូរគមនាគមន៍ជាក់ស្តែងនោះទេ។ ទោះយ៉ាងណា វាមូលដ្ឋានដ៏ល្អសម្រាប់ប្រទេសកម្ពុជា ព្រោះការសិក្សានេះបានគិតគូរយ៉ាងច្បាស់អំពីឧបករណ៍ដែលខ្សោយ ឬអុីនធឺណិតមិនសូវដើរ ដែលជារឿយៗតែងតែកើតមាននៅតាមតំបន់ជនបទកម្ពុជា។

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

យន្តការកុំព្យូទ័រចែកចាយដែលមានសុវត្ថិភាពនេះពិតជាមានសក្តានុពលខ្ពស់សម្រាប់ការអភិវឌ្ឍប្រព័ន្ធបច្ចេកវិទ្យានៅកម្ពុជា ជាពិសេសក្នុងបរិបទដែលបណ្តាញមានកម្រិត។

ការបំពាក់នូវយន្តការនេះនឹងជួយឱ្យកម្ពុជាអាចទាញយកប្រយោជន៍ពី AI និង Big Data បានយ៉ាងទូលំទូលាយ ដោយមានទំនុកចិត្តខ្ពស់លើសុវត្ថិភាពទិន្នន័យ និងមិនទាមទារហេដ្ឋារចនាសម្ព័ន្ធដ៏ទំនើបពេកនោះទេ។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃ Coding Theory និងការសម្ងាត់: ចាប់ផ្តើមដោយការស្វែងយល់អំពី Shamir's Secret Sharing (SSS), Reed-Solomon Codes និង Gradient Codes តាមរយៈការសរសេរកូដសាកល្បងដោយប្រើបណ្ណាល័យ NumPy នៅក្នុង Python
  2. រៀបចំប្រព័ន្ធ Federated Learning ជាមូលដ្ឋាន: បង្កើតគំរូ Federated Learning សាមញ្ញមួយដោយប្រើប្រាស់ក្របខណ្ឌ PyTorchTensorFlow Federated ដើម្បីយល់ពីដំណើរការនៃការ Update Model ពីឧបករណ៍ជាច្រើន (Clients) ទៅកាន់ម៉ាស៊ីនមេ (Server)។
  3. អនុវត្តការគណនាលើ Fixed-Point Arithmetic: ដោយសារតែ SSS មិនដំណើរការលើចំនួនពិត (Real numbers) និស្សិតត្រូវចេះសរសេរកូដបំប្លែងទិន្នន័យទៅជា Fixed-Point Numbers និងសាកល្បងធ្វើប្រតិបត្តិការបូកគុណ ដែលបានរៀបរាប់ក្នុងឯកសារ។
  4. ក្លែងធ្វើបរិស្ថានដែលមានឧបសគ្គ (Stragglers Simulation): ទាញយកសំណុំទិន្នន័យ MNIST ប្រើប្រាស់ scikit-learn ដើម្បីធ្វើ Kernel embedding បន្ទាប់មកបង្កើតបរិស្ថានសាកល្បងដែលកំណត់ល្បឿនឧបករណ៍ខុសៗគ្នា (បញ្ជូលបញ្ហា Dropouts/Stragglers) ហើយវាស់ស្ទង់ប្រសិទ្ធភាពធៀបនឹង Conventional FL

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Straggler Effect គឺជាបាតុភូតនៅក្នុងប្រព័ន្ធកុំព្យូទ័រចែកចាយ ដែលម៉ាស៊ីនមួយ ឬមួយចំនួនតូចដំណើរការយឺតជាងគេ ដោយសារបញ្ហាផ្នែករឹង ឬបណ្តាញ ដែលធ្វើឱ្យប្រព័ន្ធទាំងមូលត្រូវរង់ចាំពួកវា និងបង្កការយឺតយ៉ាវដល់លទ្ធផលចុងក្រោយ។ ដូចជាការធ្វើការងារក្រុម ដែលសមាជិកទាំងអស់ត្រូវរង់ចាំសមាជិកម្នាក់ដែលធ្វើការយឺតជាងគេបំផុត ទើបអាចបញ្ចប់ការងារសរុបបាន។
Federated Learning ជាវិធីសាស្ត្របណ្តុះបណ្តាលម៉ូដែលបញ្ញាសិប្បនិម្មិត (AI) ដែលអនុញ្ញាតឱ្យឧបករណ៍ជាច្រើនរៀនពីទិន្នន័យរៀងៗខ្លួន ហើយបញ្ជូនតែចំណេះដឹងដែលរៀនបាន (Model Updates) ទៅកាន់ម៉ាស៊ីនមេកណ្តាល ដោយមិនចាំបាច់បញ្ជូនទិន្នន័យផ្ទាល់ខ្លួនឡើយ។ ដូចជាសិស្សជាច្រើននាក់រៀនមេរៀនរៀងៗខ្លួននៅផ្ទះ ហើយយកតែសេចក្តីសង្ខេបមេរៀនមកប្រាប់គ្រូ ដោយមិនបាច់យកសៀវភៅកំណត់ត្រាផ្ទាល់ខ្លួនមកសាលា។
Secret Sharing ជាបច្ចេកទេសគ្រីប (Cryptography) ក្នុងការបំបែកទិន្នន័យសម្ងាត់ជាចំណែកតូចៗ ហើយចែកវាទៅកាន់អ្នកចូលរួមផ្សេងៗគ្នា ដោយតម្រូវឱ្យមានការប្រមូលផ្តុំចំណែកទាំងនោះក្នុងចំនួនកំណត់ណាមួយទើបអាចផ្គុំចេញជាទិន្នន័យដើមវិញបាន។ ដូចជាការកាត់ផែនទីកំណប់ជាច្រើនបំណែក ហើយចែកឱ្យមនុស្សម្នាក់មួយបំណែក លុះត្រាតែអ្នកទាំងអស់គ្នាយកបំណែកមកផ្គុំគ្នា ទើបអាចដឹងទីតាំងកំណប់។
Gradient Codes គឺជាក្បួនកូដគណិតវិទ្យាដែលប្រើក្នុងការបណ្តុះបណ្តាលម៉ូដែល AI ចែកចាយ ដើម្បីបង្កើតភាពត្រួតគ្នា (Redundancy) នៃទិន្នន័យ ជួយឱ្យប្រព័ន្ធអាចទាញយកលទ្ធផលសរុបបាន ទោះបីជាមានម៉ាស៊ីនខ្លះគណនាយឺត ឬគាំងក៏ដោយ។ ដូចជាការថតចម្លងឯកសារទុកនៅកន្លែងច្រើនផ្សេងគ្នា បើកន្លែងមួយរអាក់រអួល អ្នកនៅតែអាចយកឯកសារពីកន្លែងផ្សេងមកប្រើបន្តបាន។
Edge Computing ជាប្រព័ន្ធបច្ចេកវិទ្យាដែលផ្លាស់ទីប្រតិបត្តិការគណនានិងការផ្ទុកទិន្នន័យឱ្យនៅកៀកនឹងប្រភពផ្ទាល់ (ឧ. បង្គោលអង់តែន ឬឧបករណ៍នានា) ដើម្បីកាត់បន្ថយភាពយឺតយ៉ាវក្នុងការបញ្ជូនទិន្នន័យទៅកាន់ Cloud នៅឆ្ងាយ។ ដូចជាការបើកសាខាធនាគារនៅតាមភូមិ ដើម្បីឱ្យអ្នកភូមិអាចដកប្រាក់បានលឿន ដោយមិនបាច់ចំណាយពេលធ្វើដំណើរទៅទីស្នាក់ការកណ្តាលនៅទីក្រុង។
Model Inversion Attack ជាការវាយប្រហារតាមប្រព័ន្ធសន្តិសុខសាយប័រ ដែលហេគឃ័រ (Hacker) ឬម៉ាស៊ីនមេ ប្រើប្រាស់រចនាសម្ព័ន្ធម៉ូដែល AI ដែលទទួលបាន យកមកបកបញ្ច្រាសដើម្បីទាញយក ឬប៉ាន់ស្មានដឹងពីទិន្នន័យឯកជនដើមរបស់អ្នកប្រើប្រាស់វិញ។ ដូចជាការភ្លក់រសជាតិម្ហូបឆ្អិន ហើយអាចទាយដឹងច្បាស់ថាតើចុងភៅបានដាក់គ្រឿងផ្សំសម្ងាត់អ្វីខ្លះចូលទៅក្នុងនោះ។
Secure Aggregation ជាយន្តការសុវត្ថិភាពដែលអនុញ្ញាតឱ្យម៉ាស៊ីនមេអាចគណនាផលបូកសរុបនៃទិន្នន័យដែលទទួលបានពីឧបករណ៍ជាច្រើនរាប់ពាន់ ដោយមិនអាចមើលដឹងពីទិន្នន័យលម្អិតរបស់ឧបករណ៍ណាមួយឡើយ។ ដូចជាការប្រមូលលុយវិភាគទានក្នុងប្រអប់បិទជិតមួយ ដែលអ្នករាប់ដឹងត្រឹមតែចំនួនលុយសរុប តែមិនដឹងថានរណាម្នាក់ៗដាក់លុយប៉ុន្មាននោះទេ។
Fixed-Point Arithmetic គឺជាវិធីសាស្ត្រកុំព្យូទ័រក្នុងការតំណាងឱ្យចំនួនទសភាគដោយប្រើចំនួនគត់សាមញ្ញ ដែលវាចាំបាច់បំផុតសម្រាប់ការគណនាកូដសម្ងាត់ (Cryptography) ដោយសារក្បួនទាំងនោះមិនអាចធ្វើប្រតិបត្តិការលើចំនួនពិតបាន។ ដូចជាការប្តូរការរាប់លុយពី "១.៥០ ដុល្លារ" ទៅជា "១៥០ សេន" ដើម្បីកុំឱ្យមានសញ្ញាក្បៀស និងងាយស្រួលក្នុងការគណនាដោយមិនមានកំហុស។

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

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

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