211service.com
Mašininio mokymosi sėkmė priklauso nuo mastelio
Pateikė Ranka
Steve'as Roddy yra „Arm“ mašininio mokymosi grupės viceprezidentas.
Pokyčiai yra nuolatiniai, o dirbtinis intelektas (AI) ir mašininis mokymasis (ML) keičia viską iš naujo. Kūrėjams, bandantiems į rinką pateikti naujus produktus ir paslaugas, naudojančius AI ir ML, iššūkius apsunkina tai, kad technologijų aplinka vis dar vystosi.
Skirtingai nei tradiciniame įterptajame sektoriuje, kuriame yra tiesinis ryšys tarp didesnio apdorojimo našumo poreikio ir našumo naudojimo būdo, AI ir ML skiriasi nuo aparatinės įrangos platformų, kuriose jie veiks: ML nuolat keičiasi.
Apsilankykite turinio centre
Keičiamas mašininis mokymasis
Tolimas nuo nuoseklaus mąstymo
Tikėtina, kad ML bus naudojama visur, kaip ir šiandien naudojama tradicinė įterptoji programinė įranga. Tačiau skirtingai nuo tradicinio kodo, kuris rašomas eilutė po eilutės nuosekliu šablonu (net jei naudojamas automatinis generavimas), ML bus naudojamas kaip modeliai, sukurti besimokančių struktūrų. Tikra prasme modeliai gims. Ir, kaip ir bet kokios formos palikuonys, niekada negalite būti tikri, ką gausite, kol jie neateis.
Taigi kūrėjams nuspėjamas įterptosios programinės įrangos pobūdis išnyks arba labai pasikeis. Kuriami įrankiai, kurie padeda nuspėti, kaip modelis veiks, arba nustatys tam tikrus modelio formavimo, kad atitiktų platformą, apribojimus, tačiau tai yra tik atsirandanti ir jokiu būdu ne panacėja. Tikėtina, kad prisitaikymas prie sistemos suvaržymų praras tikslumą. ML prigimtis yra ta, kad ji užtikrina reikiamą aparatinės įrangos tikslumą. Taigi, jei aparatinė įranga gali prisitaikyti, galite išvengti tikslumo.

Nėra universalaus, tinkančio mašininiam mokymuisi. Inžinieriai turi sukurti sistemas, kurios siūlo keičiamo dydžio našumą ir gali koreguoti teikiamų apdorojimo išteklių tipą pagal atliekamą užduotį.
Taip pat pasikeis modelio veikimo fiksuotoje aparatūros platformoje būdas. Nuspėjamas įterptosios programinės įrangos pobūdis ilgą laiką buvo pagrindinis dizaino pagrindas; iš tikrųjų mintis, kad kodo charakteristikos pasikeis jį įdiegus, yra inžinierių košmarų dalykas. Įterptosios sistemos kuriamos atsižvelgiant į našumo parametrus, apimtį, pagrįstą galia, sąnaudomis, šilumos išsklaidymu, dydžiu, svoriu ir bet kokiu išmatuojamų elementų skaičiumi, kuriuos galima pakeisti viena su kita, kad būtų pasiekti nustatyti tikslai. Iš esmės taip visada buvo vykdoma įterptoji plėtra, tačiau tai nebus taip, kaip bus daroma ateityje.
Mastelio keitimas yra nauja norma
Vietoj to, inžinieriai turės sukurti sistemas, siūlančias keičiamo dydžio našumą, galinčias dinamiškai koreguoti teikiamų apdorojimo išteklių tipą, atsižvelgdami į atliekamą užduotį. Tai skiriasi nuo to, su kuo šiuo metu gali patikti įterptieji inžinieriai. Jau keletą metų įterptieji procesoriai turėjo galimybę keisti savo veikimo dažnį ir maitinimo įtampą, atsižvelgdami į darbo krūvį. Iš esmės procesoriaus branduolys gali veikti lėčiau, kai jis nėra užimtas; Pagrindinio laikrodžio dažnio sumažinimas tiesiogiai reiškia, kad per sekundę įjungiama ir išjungiama mažiau tranzistorių, o tai taupo energiją. Kai branduolys tikrai turi būti užimtas, laikrodžio dažnis padidinamas, todėl padidėja pralaidumas. Yra ryšys tarp maitinimo įtampos ir laikrodžio dažnio; sumažinus abu, išsaugomos galios kiekis padidinamas. Tokio mastelio keitimo nepakaks, kad būtų užtikrinta galia ir našumas, reikalingas įterptiesiems įrenginiams, dabar kuriamiems ML modeliams paleisti.
Taip yra todėl, kad pasikeis našumo vertinimo būdas. Šiuo metu procesoriai paprastai matuojami operacijomis per sekundę; dabar tai matuojame teraopais arba trilijonais operacijų per sekundę (TOPS). TOPS naudojimas procesoriaus, vykdančio išvadas, našumui išmatuoti nebus prasmingas, kaip tai daroma vykdant nuoseklų kodą, nes modelio veikimo būdas nėra tiesiogiai lyginamas su įprasta įterpta programine įranga. ML procesoriai bus matuojami pagal tikslumą, kurį jie pasiekia pateikdami tam tikrą skaičių išvadų per sekundę esant tam tikram energijos kiekiui. Kol kas neturime tam standartinės metrikos, bet galime pasakyti, kad tiesiog padidinti laikrodžio dažnį, kad būtų pasiektas išvadų / s tikslas, nėra garantuotas ir greičiausiai sumažės energijos biudžetas, nepagerindamas tikslumo.
Išvados kelias yra nusėtas kintamaisiais
Kodėl? Priežastis slypi ML modelių veikimo būdu. Esant daugybei tikimybės sluoksnių, yra tiek pat kintamųjų, kurie gali pakeisti kelią per tuos sluoksnius. Tikrasis pasaulis turės daug didesnį poveikį ML modelių vykdymui, nes jis bus daug labiau kintamas nei linijinis nuoseklus įterptasis kodas. Kaip pavyzdį paimkite natūralios kalbos apdorojimą ir kalbos atpažinimą: kalbėtojo balsas ir ritmas turės įtakos modelio veiksmingumui, tačiau šie parametrai taip pat gali sąveikauti, o tai lemia skirtingą patirtį įvairiomis sąlygomis. Paprasčiausiai padidinus procesoriaus greitį tokiu atveju gali nepavykti gauti norimo rezultato.
Be to, viena iš pagrindinių ML savybių yra jos gebėjimas mokytis. Net jei pačiame įrenginyje nėra taikomas sustiprinimo mokymasis, vis tiek gali būti, kad duomenys bus grąžinti į pagrindinį kompiuterį, kur modelis gali būti koreguojamas atsižvelgiant į pastebėtus rezultatus. Net ir be šių atsiliepimų tikėtina, kad modelis laikui bėgant bus tobulinamas vien dėl to, kaip ML vis dar vystosi. Dėl to būtų sukurtas ir įdiegtas naujas modelis (pavyzdžiui, naudojant naujinimus belaidžiu būdu), kuriam gali būti taikomi visiškai skirtingi apdorojimo reikalavimai ir jis veiktų skirtingai tomis pačiomis ar panašiomis sąlygomis.
Kintantis ML modelių pobūdis reiškia, kad nors dabartinės procesoriaus architektūros gali būti ir yra naudojamos ML, šiandieninės architektūros beveik neabejotinai negali užtikrinti optimaliausio būdo joms vykdyti. Taip, modeliai gali veikti su CPU, naudojant visas įprastas ALU funkcijas, kurios yra daugumoje procesorių. Jie taip pat gali turėti naudos iš labai lygiagrečių architektūrų, kuriose yra daug šių funkcijų, pvz., GPU, tačiau jau aišku, kad GPU nėra geriausias būdas vykdyti ML modelius. Tiesą sakant, mes jau turime neuroninių apdorojimo blokų pavyzdžių, o puslaidininkių pramonė sunkiai dirba kurdama visiškai naujas architektūras, skirtas efektyvesniam ML modelių vykdymui. Tam tikru momentu aparatinė arba programinė įranga sutvarkoma, kad kita galėtų judėti į priekį. Tinkamas būdas tai išspręsti – įsipareigoti kurti bendrą programinės įrangos sistemą, kuri gali būti naudojama suderinamose, bet keičiamo dydžio aparatinės įrangos platformose, kad abi jos vystytųsi kartu.
Lanksčios nevienalytės architektūros
Tai darant, DI ir ML palaikymui reikalingas mastelio keitimas gali būti išplėstas nuo tinklo šerdies iki paties krašto, neužrakinant architektūros iki fiksuotos platformos. „Project Trillium“ yra nevienalytė „Arm“ ML skaičiavimo platforma, sudaryta iš branduolių ir programinės įrangos. „Arm“ plečia projektą „Trillium“, kad spręstų ML kiekviename tinklo taške. Bendra programinės įrangos platforma čia yra Arm neuroninio tinklo programinės įrangos bibliotekos Arm NN, kurios gali veikti visose Arm procesorių platformose ir taip pat yra suderinamos su pirmaujančiomis trečiųjų šalių neuroninių tinklų sistemomis. Į techninę įrangą įeina esami Arm Cortex-A ir Arm Mali GPU procesoriai, kurie tobulinami AI ir ML, taip pat visiškai nauji procesoriai, skirti ML pagreitinti.
Kalbant apie mastelio keitimą, ML gali veikti ir veikia tokiuose procesoriuose, kurie yra tokie maži ir riboti Cortex-M klasėje, ir tiek daug funkcijų, kaip Malio GPU. Tačiau reikalingas tikras mastelio keitimas, kad būtų patenkinti visi ML poreikiai nuo branduolio iki krašto, o čia ateina kitas procesoriaus evoliucijos žingsnis. Neuroniniai apdorojimo įrenginiai arba NPU yra naujos kartos procesoriaus architektūra, palaikanti ML. daugiau programų.
Tik Arm siūlo tokį mastelio keitimo lygį visame ML kraštovaizdyje. Pasirinkus keičiamo dydžio architektūrą, kurią gali sudaryti MCU, CPU, GPU ir NPU, bus lengviau ateities aparatinės įrangos platformoms kovoti su naujomis programinės įrangos programomis, kurios dar net nebuvo sukurtos.
Yra daug nežinomų dalykų, susijusių su tuo, kokius ML modelius kursime ateityje, kiek skaičiavimo galios jiems reikės, kad būtų pasiektas norimas tikslumas, kaip greitai kompiuterių mokslininkai galės patobulinti modelius, kad jiems reikės mažiau energijos – visa tai. iš šių svarstymų turi tiesioginės įtakos pagrindinei aparatūrai. Vienintelis dalykas, kurį žinome, yra tai, kad norint patenkinti besikeičiančius galutinių vartotojų lūkesčius, reikia lanksčios ir keičiamo dydžio platformos.
