მანქანათმცოდნეობის მოდელები ახლა ყველგან არის. დღის განმავლობაში, თქვენ ალბათ უფრო მეტად იყენებთ ამ მოდელებს, ვიდრე წარმოგიდგენიათ. მანქანათმცოდნეობის მოდელები გამოიყენება საერთო ამოცანებში, როგორიცაა სოციალური მედიის დათვალიერება, ფოტო გადაღება და ამინდის შემოწმება.
მანქანური სწავლების ალგორითმმა შეიძლება გირჩიათ ეს ბლოგი. ჩვენ ყველას გვსმენია იმის შესახებ, თუ რამდენად შრომატევადია ამ მოდელების მომზადება. ჩვენ ყველას გვსმენია, რომ ამ მოდელების სწავლება დიდ დროს მოითხოვს.
თუმცა, ამ მოდელებზე დასკვნების გაკეთება ხშირად გამოთვლითი ძვირია.
ჩვენ გვჭირდება კომპიუტერული სისტემები, რომლებიც საკმარისად სწრაფია იმისათვის, რომ გაუმკლავდეს იმ სიჩქარეს, რომლითაც ჩვენ ვიყენებთ მანქანათმცოდნეობის სერვისებს. შედეგად, ამ მოდელების უმეტესობა მუშაობს მასიურ მონაცემთა ცენტრებზე CPU და GPU კლასტერებით (ზოგიერთ შემთხვევაში TPU-ებიც კი).
როცა სურათს იღებ, გინდა მანქანა სწავლის მყისიერად გასაუმჯობესებლად. თქვენ არ გსურთ დაელოდოთ სურათის მონაცემთა ცენტრში გადატანას, დამუშავებას და დაბრუნებას. ამ შემთხვევაში, მანქანათმცოდნეობის მოდელი უნდა შესრულდეს ადგილობრივად.
როდესაც ამბობთ „Hey Siri“ ან „OK, Google“, გსურთ, რომ გაჯეტებმა დაუყოვნებლივ უპასუხონ. ელოდება თქვენი ხმის გადაცემას კომპიუტერებზე, სადაც მოხდება მისი შეფასება და მონაცემების მიღება.
ამას დრო სჭირდება და საზიანო გავლენას ახდენს მომხმარებლის გამოცდილებაზე. ამ შემთხვევაში, გსურთ, რომ მანქანათმცოდნეობის მოდელი ადგილობრივად მუშაობდეს. სწორედ აქ შემოდის TinyML.
ამ პოსტში ჩვენ განვიხილავთ TinyML-ს, როგორ მუშაობს ის, მისი გამოყენება, როგორ დავიწყოთ მისი გამოყენება და მრავალი სხვა.
რა არის TinyML?
TinyML არის უახლესი დისციპლინა, რომელიც იყენებს მანქანური სწავლის რევოლუციურ პოტენციალს მცირე მოწყობილობებისა და ჩაშენებული სისტემების მუშაობისა და სიმძლავრის ლიმიტებზე.
ამ ინდუსტრიაში წარმატებული განლაგება მოითხოვს აპლიკაციების, ალგორითმების, აპარატურის და პროგრამული უზრუნველყოფის საფუძვლიან ცოდნას. ეს არის მანქანათმცოდნეობის ქვეჟანრი, რომელიც იყენებს ღრმა სწავლისა და მანქანათმცოდნეობის მოდელებს ჩაშენებულ სისტემებში, რომლებიც იყენებენ მიკროკონტროლერებს, ციფრული სიგნალის პროცესორებს ან სხვა ულტრა დაბალი სიმძლავრის სპეციალიზებულ პროცესორებს.
TinyML ჩართული ჩაშენებული მოწყობილობები განკუთვნილია მანქანური სწავლის ალგორითმის გასაშვებად კონკრეტული სამუშაოსთვის, როგორც წესი, როგორც მოწყობილობის ნაწილი ზღვარზე გამოთვლითი.
იმისათვის, რომ იმუშაონ კვირების, თვეების ან თუნდაც წლების განმავლობაში გადატენვის ან ბატარეის გამოცვლის გარეშე, ამ ჩაშენებულ სისტემებს უნდა ჰქონდეთ 1 მვტ-ზე ნაკლები ენერგიის მოხმარება.
როგორ მუშაობს?
ერთადერთი მანქანათმცოდნეობის ჩარჩო, რომლის გამოყენებაც შესაძლებელია მიკროკონტროლერებთან და კომპიუტერებთან არის TensorFlow Lite. ეს არის ინსტრუმენტების ნაკრები, რომელიც დეველოპერებს საშუალებას აძლევს აწარმოონ თავიანთი მოდელები მობილურ, ჩაშენებულ და ზღვრულ მოწყობილობებზე, რაც საშუალებას აძლევს მანქანურ სწავლებას ფრენაში.
მიკროკონტროლერის ინტერფეისი გამოიყენება სენსორებისგან მონაცემების შესაგროვებლად (როგორიცაა მიკროფონები, კამერები ან ჩაშენებული სენსორები).
მიკროკონტროლერთან გაგზავნამდე, მონაცემები ჩართულია ღრუბელზე დაფუძნებულ მანქანათმცოდნეობის მოდელში. ამ მოდელების მოსამზადებლად ჩვეულებრივ გამოიყენება ჯგუფური სწავლება ოფლაინ რეჟიმში. სენსორის მონაცემები, რომლებიც გამოყენებული იქნება სწავლა და დასკვნა უკვე განსაზღვრულია კონკრეტული განაცხადისთვის.
მაგალითად, თუ მოდელი გაწვრთნილია გაღვიძებული სიტყვის აღმოსაჩენად, ის უკვე დაყენებულია მიკროფონიდან უწყვეტი აუდიო ნაკადის დასამუშავებლად.
ყველაფერი უკვე კეთდება ღრუბლოვანი პლატფორმის დახმარებით, როგორიცაა Google Colab TensorFlow Lite-ის შემთხვევაში, მონაცემთა შერჩევის, ნორმალიზაციის, მოდელის არასრულფასოვანი ან გადაჭარბებული მორგების, რეგულარიზაციის, მონაცემთა გაზრდის, ტრენინგის, ვალიდაციის და ტესტირების ჩათვლით.
სრულად გაწვრთნილი მოდელი საბოლოოდ გარდაიქმნება და გადაეცემა მიკროკონტროლერს, მიკროკომპიუტერს ან ციფრულ სიგნალის პროცესორს ოფლაინ სერიული ტრენინგის შემდეგ. მოდელს არ აქვს დამატებითი ტრენინგი ჩაშენებულ მოწყობილობაში გადატანის შემდეგ. ამის ნაცვლად, მოდელის გამოსაყენებლად ის მხოლოდ რეალურ დროში იყენებს სენსორების ან შეყვანის მოწყობილობების მონაცემებს.
შედეგად, TinyML მანქანათმცოდნეობის მოდელი უნდა იყოს განსაკუთრებულად გამძლე და შეეძლოს გადამზადება წლების შემდეგ ან არასოდეს გადაიხედოს. ყველა პოტენციური მოდელის შეუსაბამობა და ზედმეტად მორგება უნდა იყოს გამოკვლეული ისე, რომ მოდელი დარჩეს შესაბამისი დროის გახანგრძლივებულად, იდეალურ შემთხვევაში განუსაზღვრელი ვადით.
მაგრამ რატომ გამოვიყენოთ TinyML?
TinyML დაიწყო, როგორც მცდელობა აღმოფხვრა ან შეამციროს IoT-ის დამოკიდებულება ღრუბლოვან სერვისებზე ძირითადი მცირე მასშტაბისთვის. მანქანა სწავლის ოპერაციები. ამან განაპირობა მანქანური სწავლების მოდელების გამოყენება თავად კიდეზე მოწყობილობებზე. ის უზრუნველყოფს შემდეგ ძირითად სარგებელს:
- დაბალი ენერგია მოხმარების: TinyML აპლიკაცია სასურველია გამოიყენოს 1 მილივატზე ნაკლები სიმძლავრე. ასეთი დაბალი ენერგიის მოხმარებით, მოწყობილობამ შეიძლება გააგრძელოს დასკვნების გამოტანა სენსორის მონაცემებიდან თვეების ან წლების განმავლობაში, თუნდაც მონეტის ბატარეით იკვებებოდეს.
- Უფრო იაფი: შექმნილია იაფფასიან 32-ბიტიან მიკროკონტროლერებზე ან DSP-ებზე მუშაობისთვის. ეს მიკროკონტროლერები, როგორც წესი, თითო რამდენიმე ცენტია და მათთან შემუშავებული მთლიანი ჩაშენებული სისტემა 50 დოლარზე ნაკლებია. ეს არის ძალიან ეკონომიური ვარიანტი პატარა მანქანათმცოდნეობის პროგრამების დიდი მასშტაბის გასაშვებად და განსაკუთრებით მომგებიანია IoT აპლიკაციებში, სადაც მანქანური სწავლება უნდა იყოს გამოყენებული.
- ქვედა შეყოვნება: მის აპლიკაციებს აქვთ დაბალი შეყოვნება, რადგან მათ არ სჭირდებათ მონაცემთა ტრანსპორტირება ან გაცვლა ქსელში. სენსორის ყველა მონაცემი ჩაწერილია ადგილობრივად და დასკვნები კეთდება უკვე გაწვრთნილი მოდელის გამოყენებით. დასკვნების შედეგები შეიძლება გაიგზავნოს სერვერზე ან ღრუბელზე, ჟურნალის ან დამატებითი დამუშავებისთვის, თუმცა ეს არ არის აუცილებელი მოწყობილობის მუშაობისთვის. ეს ამცირებს ქსელის შეყოვნებას და გამორიცხავს მანქანური სწავლების ოპერაციების საჭიროებას ღრუბელზე ან სერვერზე.
- Privacy: ეს არის მთავარი საზრუნავი ინტერნეტში და ნივთების ინტერნეტში. მანქანური სწავლების მუშაობა TinyML აპებში ხორციელდება ადგილობრივად, სენსორის/მომხმარებლის მონაცემების სერვერზე/ღრუბელზე შენახვის ან გაგზავნის გარეშე. შედეგად, მაშინაც კი, როდესაც ქსელთან არის დაკავშირებული, ეს აპლიკაციები უსაფრთხოა გამოსაყენებლად და არ წარმოადგენს კონფიდენციალურობის რისკებს.
პროგრამები
- სოფლის მეურნეობა – როდის ფერმერები მცენარეს უღებენ ფოტოს, TensorFlow Lite-ის აპლიკაცია მასში დაავადებებს აღმოაჩენს. ის მუშაობს ნებისმიერ მოწყობილობაზე და არ საჭიროებს ინტერნეტ კავშირს. პროცედურა იცავს სასოფლო-სამეურნეო ინტერესებს და სოფლის ფერმერებისთვის კრიტიკულ აუცილებლობას წარმოადგენს.
- მექანიკის მოვლა – TinyML, დაბალი სიმძლავრის მოწყობილობებზე გამოყენებისას, შეუძლია მუდმივად ამოიცნოს მანქანაში არსებული ხარვეზები. ის გულისხმობს პროგნოზზე დაფუძნებულ შენარჩუნებას. ავსტრალიურმა სტარტაპმა Ping Services-მა წარმოადგინა IoT გაჯეტი, რომელიც აკონტროლებს ქარის ტურბინებს ტურბინის გარედან მიმაგრებით. ის აცნობებს ხელისუფლებას, როდესაც აღმოაჩენს რაიმე შესაძლო პრობლემას ან გაუმართაობას.
- საავადმყოფოები – The Solar Scare არის პროექტი. კოღო იყენებს TinyML-ს ისეთი დაავადებების გავრცელების შესაჩერებლად, როგორიცაა დენგე და მალარია. იგი იკვებება მზის ენერგიით და აღმოაჩენს კოღოების გამრავლების პირობებს, სანამ წყალს მიანიშნებს კოღოების გამრავლების შეფერხების შესახებ.
- საგზაო მეთვალყურეობა – By TinyML-ის გამოყენებით სენსორებზე, რომლებიც აგროვებენ რეალურ დროში ტრაფიკის მონაცემებს, ჩვენ შეგვიძლია მათი გამოყენება ტრაფიკის უკეთ წარმართვისთვის და სასწრაფო დახმარების მანქანებისთვის რეაგირების დროის შესამცირებლად. მაგალითად, Swim.AI იყენებს ამ ტექნოლოგიას მონაცემების სტრიმინგზე, რათა გაზარდოს მგზავრების უსაფრთხოება და ასევე შეამციროს გადატვირთულობა და ემისიები ჭკვიანი მარშრუტის მეშვეობით.
- კანონი: TinyML შეიძლება გამოყენებულ იქნას სამართალდამცავ ორგანოებში უკანონო ქმედებების იდენტიფიცირებისთვის, როგორიცაა ბუნტი და ქურდობა მანქანური სწავლისა და ჟესტების ამოცნობის გამოყენებით. ანალოგიური პროგრამა ასევე შეიძლება გამოყენებულ იქნას საბანკო ბანკომატების დასაცავად. მომხმარებლის ქცევის ყურებით, TinyML მოდელმა შეიძლება იწინასწარმეტყველოს, არის თუ არა მომხმარებელი რეალური მომხმარებელი, რომელიც ასრულებს ტრანზაქციას, თუ თავდამსხმელი, რომელიც ცდილობს ბანკომატის გატეხვას ან განადგურებას.
როგორ დავიწყოთ TinyML-ით?
TensorFlow Lite-ში TinyML-ის დასაწყებად, დაგჭირდებათ თავსებადი მიკროკონტროლერის დაფა. TensorFlow Lite მიკროკონტროლერებისთვის მხარს უჭერს ქვემოთ ჩამოთვლილ მიკროკონტროლერებს.
- Wio ტერმინალი: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI განვითარების საბჭო
- STM32F746 აღმოჩენის ნაკრები
- 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-ბიტიანი მიკროკონტროლერები, რომლებსაც აქვთ საკმარისი ფლეშ მეხსიერება, ოპერატიული მეხსიერება და საათის სიხშირე მანქანური სწავლის მოდელის შესასრულებლად. დაფებს ასევე აქვთ რამდენიმე საბორტო სენსორი, რომელსაც შეუძლია გაუშვას ნებისმიერი ჩაშენებული პროგრამა და გამოიყენოს მანქანური სწავლის მოდელები მიზნობრივ აპლიკაციაში. რომ შექმენით მანქანათმცოდნეობის მოდელი, ტექნიკის პლატფორმის გარდა დაგჭირდებათ ლეპტოპი ან კომპიუტერი.
თითოეულ აპარატურულ პლატფორმას აქვს საკუთარი პროგრამირების ხელსაწყოები მანქანური სწავლების მოდელების შესაქმნელად, ტრენინგისა და პორტირებისთვის, რომლებიც იყენებენ TensorFlow Lite მიკროკონტროლერებისთვის პაკეტს. TensorFlow Lite უფასოა გამოსაყენებლად და შესაცვლელად, რადგან ასეა ღია წყაროებიდან.
TinyML და TensorFlow Lite-ის დასაწყებად, ყველაფერი რაც თქვენ გჭირდებათ არის ერთ-ერთი ზემოაღნიშნული ჩაშენებული აპარატურის პლატფორმა, კომპიუტერი/ლეპტოპი, USB კაბელი, USB-to-Serial გადამყვანი – და სურვილი, ივარჯიშოთ მანქანური სწავლებით ჩაშენებული სისტემებით. .
გამოწვევები
მიუხედავად იმისა, რომ TinyML-ის პროგრესმა ბევრი დადებითი შედეგი გამოიღო, მანქანათმცოდნეობის ინდუსტრია მაინც აწყდება მნიშვნელოვან დაბრკოლებებს.
- პროგრამული უზრუნველყოფის მრავალფეროვნება - ხელით კოდირება, კოდის გენერირება და ML თარჯიმნები არის ყველა ვარიანტი TinyML მოწყობილობებზე მოდელების განსათავსებლად და თითოეულს განსხვავებული დრო და ძალისხმევა სჭირდება. ამის შედეგად შეიძლება წარმოიშვას სხვადასხვა წარმოდგენები.
- ტექნიკის მრავალფეროვნება - არსებობს ხელმისაწვდომია ტექნიკის რამდენიმე ვარიანტი. TinyML პლატფორმები შეიძლება იყოს ნებისმიერი, ზოგადი დანიშნულების მიკროკონტროლერებიდან დაწყებული უახლესი ნერვული პროცესორებით დამთავრებული. ეს იწვევს სხვადასხვა არქიტექტურაში მოდელის განლაგების პრობლემებს.
- პრობლემების მოგვარება/გამართვა – როდის ML მოდელი ღრუბელზე ცუდად მუშაობს, მარტივია მონაცემების დათვალიერება და იმის გარკვევა, თუ რა ხდება არასწორი. როდესაც მოდელი ვრცელდება ათასობით TinyML მოწყობილობაზე, ღრუბელში მონაცემთა ნაკადის გარეშე დაბრუნების გარეშე, გამართვა რთული ხდება და შესაძლოა საჭირო გახდეს სხვა მეთოდის გამოყენება.
- მეხსიერების შეზღუდვები - ტრადიციული პლატფორმებს, როგორიცაა სმარტფონები და ლეპტოპები, სჭირდებათ გიგაბაიტი ოპერატიული მეხსიერება, ხოლო TinyML მოწყობილობები იყენებენ კილობაიტებს ან მეგაბაიტებს. შედეგად, მოდელის ზომა, რომელიც შეიძლება განლაგდეს, შეზღუდულია.
- სამოდელო ტრენინგი – თუმცა რამდენიმე უპირატესობა აქვს ML მოდელების TinyML მოწყობილობებზე განლაგებას, ML მოდელების უმეტესი ნაწილი ჯერ კიდევ ივარჯიშება ღრუბელზე, რათა გაიმეოროს და მუდმივად გააუმჯობესოს მოდელის სიზუსტე.
მომავალი
TinyML-ს თავისი მცირე კვალით, ბატარეის დაბალი მოხმარებით და ინტერნეტთან კავშირის ნაკლებობით ან შეზღუდული ნდობით, აქვს უზარმაზარი პოტენციალი მომავალში, რადგან ვიწრო ხელოვნური ინტელექტი განხორციელდება edge მოწყობილობებზე ან დამოუკიდებელ ჩაშენებულ გაჯეტებზე.
ეს გახდის IoT აპლიკაციებს უფრო კერძო და უსაფრთხო მათი გამოყენებით. თუმცა TensorFlow Lite ამჟამად არის ერთადერთი მანქანათმცოდნეობის ჩარჩო მიკროკონტროლერებისა და მიკროკომპიუტერებისთვის, სხვა შესადარებელი ჩარჩოები, როგორიცაა სენსორი და ARM-ის CMSIS-NN მუშაობს.
მიუხედავად იმისა, რომ TensorFlow Lite არის ღია კოდის პროექტი, რომელიც მიმდინარეობს, რომელიც მშვენივრად დაიწყო Google-ის გუნდთან ერთად, მას მაინც სჭირდება საზოგადოების მხარდაჭერა მეინსტრიმში შესასვლელად.
დასკვნა
TinyML არის ახალი მიდგომა, რომელიც აერთიანებს ჩაშენებულ სისტემებს მანქანურ სწავლასთან. ვინაიდან ვიწრო AI მწვერვალს აღწევს ბევრ ვერტიკალსა და დომენში, ტექნოლოგია შეიძლება გამოჩნდეს, როგორც გამორჩეული ქვეველი მანქანური სწავლისა და ხელოვნური ინტელექტის სფეროში.
ის გადაწყვეტს უამრავ გამოწვევას, რომელთა წინაშეც ახლა დგას IoT სექტორი და პროფესიონალები, რომლებიც იყენებენ მანქანურ სწავლებას დომენის სპეციფიკურ დისციპლინებში.
მანქანური სწავლების გამოყენების კონცეფცია ზღვარზე მოწყობილობები მცირე გამოთვლით ნაკვალევი და ენერგომოხმარება აქვს პოტენციალი მნიშვნელოვნად გარდაქმნას ჩაშენებული სისტემებისა და რობოტიკის კონსტრუირება.
დატოვე პასუხი