Մեքենայական ուսուցման մոդելներն այժմ ամենուր են: Օրվա ընթացքում դուք հավանաբար օգտագործում եք այս մոդելները շատ ավելին, քան պատկերացնում եք: Մեքենայական ուսուցման մոդելներն օգտագործվում են սովորական առաջադրանքների համար, ինչպիսիք են սոցիալական մեդիա դիտելը, լուսանկարելը և եղանակը ստուգելը:
Հնարավոր է, որ մեքենայական ուսուցման ալգորիթմը ձեզ խորհուրդ է տվել այս բլոգը: Մենք բոլորս էլ լսել ենք, թե որքան ժամանակատար է այս մոդելների վերապատրաստումը: Մենք բոլորս լսել ենք, որ այս մոդելների ուսուցումը ժամանակատար է:
Այնուամենայնիվ, այս մոդելների վերաբերյալ եզրակացություններ անելը հաճախ հաշվողական ծախսատար է:
Մեզ անհրաժեշտ են համակարգչային համակարգեր, որոնք բավականաչափ արագ են՝ կառավարելու այն արագությունը, որով մենք օգտագործում ենք մեքենայական ուսուցման ծառայությունները: Արդյունքում, այս մոդելների մեծամասնությունը գործարկվում է խոշոր տվյալների կենտրոններում՝ CPU և GPU կլաստերներով (նույնիսկ որոշ դեպքերում TPU-ներ):
Երբ նկարում ես, ուզում ես Machine Learning այն ակնթարթորեն բարելավելու համար: Դուք չեք ցանկանում սպասել, որ պատկերը փոխանցվի տվյալների կենտրոն, մշակվի և կվերադարձվի ձեզ: Այս դեպքում մեքենայական ուսուցման մոդելը պետք է իրականացվի տեղական մակարդակում:
Երբ ասում եք «Hey Siri» կամ «OK, Google», դուք ցանկանում եք, որ ձեր հարմարանքները անմիջապես արձագանքեն: Սպասում է, որ ձեր ձայնը փոխանցվի համակարգիչներին, որտեղ այն կգնահատվի և կստացվի տվյալները:
Սա ժամանակ է պահանջում և վնասակար ազդեցություն ունի օգտագործողի փորձի վրա: Այս դեպքում դուք ցանկանում եք, որ մեքենայական ուսուցման մոդելը նույնպես աշխատի տեղական մակարդակում: Այստեղ է մտնում TinyML-ը:
Այս գրառման մեջ մենք կանդրադառնանք TinyML-ին, ինչպես է այն աշխատում, դրա օգտագործումը, ինչպես սկսել դրա հետ և շատ ավելին:
Ինչ է TinyML?
TinyML-ը առաջադեմ դիսցիպլին է, որը կիրառում է մեքենայական ուսուցման հեղափոխական ներուժը փոքր սարքերի և ներկառուցված համակարգերի աշխատանքի և հզորության սահմաններում:
Այս ոլորտում հաջող տեղակայումը պահանջում է հավելվածների, ալգորիթմների, ապարատային և ծրագրային ապահովման մանրակրկիտ իմացություն: Դա մեքենայական ուսուցման ենթաժանր է, որն օգտագործում է խորը ուսուցման և մեքենայական ուսուցման մոդելներ ներկառուցված համակարգերում, որոնք օգտագործում են միկրոկոնտրոլերներ, թվային ազդանշանի պրոցեսորներ կամ այլ ծայրահեղ ցածր էներգիայի մասնագիտացված պրոցեսորներ:
TinyML-ով միացված ներկառուցված սարքերը նախատեսված են որոշակի աշխատանքի համար մեքենայական ուսուցման ալգորիթմ գործարկելու համար, սովորաբար որպես սարքի մաս: եզրային հաշվարկ.
Շաբաթներ, ամիսներ կամ նույնիսկ տարիներ առանց վերալիցքավորման կամ մարտկոցի փոխարինման աշխատելու համար այս ներկառուցված համակարգերը պետք է ունենան 1 մՎտ-ից պակաս էներգիայի սպառում:
Ինչպես է դա աշխատում?
Մեքենայական ուսուցման միակ շրջանակը, որը կարող է օգտագործվել միկրոկառավարիչների և համակարգիչների հետ, դա է TensorFlow Lite. Դա գործիքների մի շարք է, որը թույլ է տալիս ծրագրավորողներին գործարկել իրենց մոդելները շարժական, ներկառուցված և ծայրամասային սարքերի վրա, ինչը թույլ է տալիս արագորեն մեքենայական ուսուցում իրականացնել:
Միկրոկարգավորիչի միջերեսն օգտագործվում է սենսորներից (օրինակ՝ խոսափողներից, տեսախցիկներից կամ ներկառուցված սենսորներից) տվյալներ հավաքելու համար:
Մինչև միկրոկառավարիչ ուղարկելը, տվյալները ներառվում են ամպի վրա հիմնված մեքենայական ուսուցման մոդելի մեջ: Այս մոդելները մարզելու համար սովորաբար օգտագործվում է խմբաքանակային ուսուցում անցանց ռեժիմում: Սենսորային տվյալները, որոնք կօգտագործվեն ուսուցում և եզրակացություն արդեն որոշված է կոնկրետ դիմումի համար։
Եթե մոդելը, օրինակ, սովորում է արթնացող բառ հայտնաբերելու համար, այն արդեն կարգավորվել է խոսափողից շարունակական աուդիո հոսքը կարգավորելու համար:
Ամեն ինչ արդեն արված է Google Colab-ի նման ամպային հարթակի օգնությամբ TensorFlow Lite-ի դեպքում, ներառյալ տվյալների հավաքածուի ընտրությունը, նորմալացումը, մոդելի թերհարմարեցումը կամ գերազանցումը, կանոնավորացումը, տվյալների ավելացումը, ուսուցումը, վավերացումը և փորձարկումը:
Լիովին պատրաստված մոդելը ի վերջո փոխակերպվում և փոխանցվում է միկրոկառավարիչին, միկրոհամակարգչին կամ թվային ազդանշանի պրոցեսորին անցանց խմբաքանակի ուսուցումից հետո: Ներկառուցված սարք տեղափոխվելուց հետո մոդելը չունի լրացուցիչ ուսուցում: Փոխարենը, մոդելը կիրառելու համար այն օգտագործում է բացառապես իրական ժամանակի տվյալներ սենսորներից կամ մուտքային սարքերից:
Արդյունքում, TinyML մեքենայական ուսուցման մոդելը պետք է լինի բացառիկ դիմացկուն և ունակ լինի տարիներ անց վերապատրաստվել կամ երբեք չվերապատրաստվել: Մոդելի բոլոր պոտենցիալ անհամապատասխանությունը և վերազինումը պետք է ուսումնասիրվեն այնպես, որ մոդելը մնա համապատասխան երկար ժամանակ, իդեալական՝ անորոշ ժամանակով:
Բայց ինչու՞ օգտագործել TinyML:
TinyML-ը սկսվեց որպես ջանք վերացնելու կամ նվազեցնելու IoT-ի կախվածությունը ամպային ծառայությունների վրա հիմնական փոքր մասշտաբի համար: Machine Learning գործառնություններ. Սա անհրաժեշտություն առաջացրեց օգտագործել մեքենայական ուսուցման մոդելներ հենց եզրային սարքերում: Այն ապահովում է հետևյալ հիմնական առավելությունները.
- Ցածր հզորություն սպառումTinyML հավելվածը նախընտրելի է օգտագործել 1 միլիՎտ-ից պակաս հզորություն: Նման ցածր էներգիայի սպառման դեպքում սարքը կարող է շարունակել եզրակացություններ անել սենսորային տվյալներից ամիսներով կամ տարիներով, նույնիսկ եթե սնուցվում է մետաղադրամային մարտկոցով:
- Ավելի ցածր արժեքԱյն նախատեսված է էժան 32-բիթանոց միկրոկոնտրոլերների կամ DSP-ների վրա աշխատելու համար: Այս միկրոկոնտրոլերները սովորաբար յուրաքանչյուրը մի քանի ցենտ են, և դրանց հետ մշակված ընդհանուր ներկառուցված համակարգը $50-ից պակաս է: Սա շատ ծախսարդյունավետ տարբերակ է փոքր մեքենայական ուսուցման ծրագրերը մեծ մասշտաբով գործարկելու համար, և այն հատկապես շահավետ է IoT հավելվածներում, որտեղ մեքենայական ուսուցումը պետք է կիրառվի:
- Ավելի ցածր ուշացումԴրա հավելվածներն ունեն ցածր ուշացում, քանի որ ցանցի միջոցով տվյալների տեղափոխման կամ փոխանակման կարիք չունեն: Բոլոր սենսորային տվյալները գրանցվում են տեղում, և եզրակացություններ են արվում՝ օգտագործելով արդեն վերապատրաստված մոդելը: Եզրակացությունների արդյունքները կարող են ուղարկվել սերվեր կամ ամպ՝ գրանցման կամ լրացուցիչ մշակման համար, թեև դա էական չէ սարքի աշխատանքի համար: Սա նվազագույնի է հասցնում ցանցի հետաձգումը և վերացնում է ամպի կամ սերվերի վրա մեքենայական ուսուցման գործողությունների անհրաժեշտությունը:
- ԳաղտնիությանԴա մեծ մտահոգություն է ինտերնետում և իրերի ինտերնետում: TinyML հավելվածներում մեքենայական ուսուցման աշխատանքը կատարվում է տեղում՝ առանց սենսորի/օգտատիրոջ տվյալները սերվեր/ամպին պահելու կամ ուղարկելու: Արդյունքում, նույնիսկ ցանցին միացած լինելու դեպքում, այս հավելվածներն անվտանգ են օգտագործման համար և գաղտնիության վտանգ չեն ներկայացնում:
Ծրագրեր
- Գյուղատնտեսություն – Երբ ֆերմերները լուսանկարում են բույսը, TensorFlow Lite-ի հավելվածը հայտնաբերում է դրա մեջ հիվանդություններ: Այն աշխատում է ցանկացած սարքի վրա և չի պահանջում ինտերնետ կապ: Ընթացակարգը պաշտպանում է գյուղատնտեսական շահերը և խիստ անհրաժեշտություն է գյուղական ֆերմերների համար:
- Մեխանիկայի սպասարկում – TinyML-ը, երբ օգտագործվում է ցածր էներգիայի սարքերի վրա, կարող է շարունակաբար բացահայտել մեքենայի թերությունները: Այն ենթադրում է կանխատեսումների վրա հիմնված սպասարկում: Ավստրալական Ping Services ստարտափը ներկայացրել է IoT գաջեթ, որը վերահսկում է հողմային տուրբինները՝ միանալով տուրբինի արտաքին մասին: Այն ծանուցում է իշխանություններին, երբ հայտնաբերում է որևէ հնարավոր խնդիր կամ անսարքություն:
- Հիվանդանոցներ – The Solar Scare-ը նախագիծ է: Մոծակները օգտագործում են TinyML՝ դադարեցնելու այնպիսի հիվանդությունների տարածումը, ինչպիսիք են դենգե և մալարիան: Այն սնուցվում է արևային էներգիայով և հայտնաբերում է մոծակների բազմացման պայմանները՝ նախքան ջրին ազդանշան տալը, որ արգելակի մոծակների բազմացումը:
- Երթևեկության վերահսկողություն – Ըստ կիրառելով TinyML-ը սենսորների վրա, որոնք հավաքում են իրական ժամանակի երթևեկության տվյալներ, մենք կարող ենք դրանք օգտագործել երթևեկությունն ավելի լավ ուղղորդելու և շտապ օգնության մեքենաների արձագանքման ժամանակները կրճատելու համար: Swim.AI-ն, օրինակ, օգտագործում է այս տեխնոլոգիան հոսքային տվյալների վրա՝ բարձրացնելու ուղևորների անվտանգությունը՝ միաժամանակ նվազեցնելով գերբեռնվածությունն ու արտանետումները խելացի երթուղիների միջոցով:
- ՕրենքTinyML-ը կարող է օգտագործվել իրավապահ մարմիններում՝ հայտնաբերելու անօրինական գործողությունները, ինչպիսիք են անկարգությունները և գողությունը՝ օգտագործելով մեքենայական ուսուցումը և ժեստերի ճանաչումը: Նմանատիպ ծրագիր կարող է օգտագործվել նաև բանկային բանկոմատների ապահովման համար: Դիտելով օգտատիրոջ վարքագիծը՝ TinyML մոդելը կարող է կանխատեսել՝ արդյոք օգտատերը գործարքն ավարտող իրական սպառող է, թե՞ ներխուժող, որը փորձում է կոտրել կամ ոչնչացնել բանկոմատը:
Ինչպե՞ս սկսել TinyML-ով:
TensorFlow Lite-ում TinyML-ով սկսելու համար ձեզ անհրաժեշտ կլինի համատեղելի միկրոկառավարիչի տախտակ: TensorFlow Lite-ը միկրոկոնտրոլերների համար աջակցում է ստորև թվարկված միկրոկառավարիչներին:
- Wio տերմինալ՝ ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- STM32F746 Discovery հավաքածու
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM Ծրագրային ապահովման մշակման հարթակ
- Sony Express
- Arduino Nano 33 BLE զգայարան
- SparkFun Edge
- Adafruit TensorFlow Lite միկրոկոնտրոլերների հավաքածու
- Adafruit Circuit Playground Bluefruit
- Էսպրեսիվ ESP32-DevKitC
- Էսպրեսիվ ESP-EYE
Սրանք 32-բիթանոց միկրոկառավարիչներ են, որոնք ունեն բավարար ֆլեշ հիշողություն, RAM և ժամացույցի հաճախականություն՝ մեքենայական ուսուցման մոդելը գործարկելու համար: Տախտակները նաև ունեն մի շարք ներկառուցված սենսորներ, որոնք կարող են գործարկել ցանկացած ներկառուցված ծրագիր և կիրառել մեքենայական ուսուցման մոդելներ նպատակային հավելվածում: Դեպի կառուցել մեքենայական ուսուցման մոդել, բացի ապարատային հարթակից ձեզ անհրաժեշտ կլինի նոութբուք կամ համակարգիչ:
Յուրաքանչյուր ապարատային հարթակ ունի իր ծրագրավորման գործիքները մեքենայական ուսուցման մոդելներ կառուցելու, վարժեցնելու և տեղափոխելու համար, որոնք օգտագործում են TensorFlow Lite for Microcontrollers փաթեթը: TensorFlow Lite-ն անվճար է օգտագործելու և փոփոխելու համար, քանի որ այդպես է բաց աղբյուր.
TinyML-ի և TensorFlow Lite-ի հետ սկսելու համար ձեզ անհրաժեշտ է միայն վերը նշված ներկառուցված ապարատային հարթակներից մեկը, համակարգիչ/նոութբուք, USB մալուխ, USB-ից սերիական փոխարկիչ և ներկառուցված համակարգերով մեքենայական ուսուցում կիրառելու ցանկություն: .
Խնդիրները
Նույնիսկ եթե TinyML-ի առաջընթացը շատ դրական արդյունքներ է տվել, մեքենայական ուսուցման արդյունաբերությունը դեռևս բախվում է զգալի խոչընդոտների:
- Ծրագրային բազմազանություն – Ձեռքով կոդավորում, կոդի ստեղծումը և ML թարգմանիչները բոլոր տարբերակներն են TinyML սարքերում մոդելների տեղակայման համար, և յուրաքանչյուրը պահանջում է տարբեր ժամանակ և ջանք: Սրա արդյունքում կարող են առաջանալ տարբեր ներկայացումներ։
- Սարքավորումների բազմազանություն – Այնտեղ կան մի քանի ապարատային տարբերակներ: TinyML հարթակները կարող են լինել ամեն ինչ՝ ընդհանուր նշանակության միկրոկոնտրոլերներից մինչև նորագույն նյարդային պրոցեսորներ: Սա տարբեր ճարտարապետություններում մոդելի տեղակայման հետ կապված խնդիրներ է առաջացնում:
- Անսարքությունների վերացում/վրիպազերծում – Երբ ML մոդելը վատ է աշխատում ամպի վրա, պարզ է տվյալներին նայել և պարզել, թե ինչն է սխալ: Երբ մոդելը տարածվում է հազարավոր TinyML սարքերում, առանց տվյալների հոսքի, որը վերադառնում է ամպ, վրիպազերծումը դառնում է դժվար և կարող է պահանջել այլ մեթոդ:
- Հիշողության սահմանափակումներ – Ավանդական պլատֆորմներին, ինչպիսիք են սմարթֆոններն ու նոութբուքերը, պետք է գիգաբայթ օպերատիվ հիշողություն, մինչդեռ TinyML սարքերն օգտագործում են կիլոբայթեր կամ մեգաբայթեր: Արդյունքում, մոդելի չափը, որը կարող է տեղակայվել, սահմանափակ է:
- Մոդելային ուսուցում – Չնայած TinyML սարքերում ML մոդելների տեղակայումը մի քանի առավելություն ունի, ML մոդելների մեծ մասը դեռ վերապատրաստվում է ամպի վրա՝ կրկնելու և շարունակաբար բարելավելու մոդելի ճշգրտությունը:
Ապագա
TinyML-ն իր փոքր տարածությամբ, մարտկոցի ցածր սպառմամբ և ինտերնետ կապի բացակայությունից կամ սահմանափակ կախվածությունից, ապագայում հսկայական ներուժ ունի, քանի որ մեծ մասը նեղ Արհեստական բանականություն կիրականացվի եզրային սարքերի կամ անկախ ներկառուցված գաջեթների վրա:
Այն կդարձնի IoT հավելվածներն ավելի մասնավոր և անվտանգ՝ օգտագործելով դրանք: Չնայած TensorFlow Lite-ը ներկայումս միակ մեքենայական ուսուցման շրջանակն է միկրոկառավարիչների և միկրոհամակարգիչների համար, այլ համադրելի շրջանակներ, ինչպիսիք են սենսորը և ARM-ի CMSIS-NN-ը, մշակման փուլում են:
Թեև TensorFlow Lite-ը բաց կոդով նախագիծ է, որն ընթացքի մեջ է, որը հիանալի սկիզբ է դրել Google-ի թիմին, այն դեռևս կարիք ունի համայնքի աջակցության՝ հիմնական հոսքի մեջ մտնելու համար:
Եզրափակում
TinyML-ը նոր մոտեցում է, որը համատեղում է ներկառուցված համակարգերը մեքենայական ուսուցման հետ: Քանի որ նեղ AI-ի գագաթնակետը շատ ուղղահայաց և տիրույթներում է, տեխնոլոգիան կարող է առաջանալ որպես մեքենայական ուսուցման և արհեստական բանականության նշանավոր ենթադաշտ:
Այն լուծում է բազմաթիվ մարտահրավերների, որոնց այժմ բախվում են IoT ոլորտը և մեքենայական ուսուցումը կիրառող մասնագետները շատ տիրույթի հատուկ առարկաներում:
Մեքենայի ուսուցման օգտագործման հայեցակարգը եզրային սարքեր փոքր հաշվարկով ոտնահետքը և էներգիայի սպառումը կարող են զգալիորեն փոխակերպել ներդրված համակարգերի և ռոբոտաշինության կառուցումը:
Թողնել գրառում