Az AI szerepe a mobilkommunikációban

Nem ébrednek öntudatra a telefonok, de a mesterséges intelligencia bizonyos formája már ott lehet a kezünkben tartott készülékben. Mi ez, hogyan működik, mi az értelme?

Fogalomtisztázás

Amikor a Huawei az előző generációs Kirin rendszerchipbe belerámolt egy NPU-t, amely a mesterséges intelligenciával kapcsolatos feladatok hatékonyabb megoldását segítette elő, akkor ezzel egy időben azt kezdték kommunikálni, hogy megérkezett az AI az okostelefonokba. Ez akkor nagy dolognak tűnt és azóta már nem csak a kínai gyártó igyekszik minél többféle megoldást mutatni arra, hogy ezt a technológiát miképp lehet kiaknázni, ám egy kicsit elszállt a szuperintelligens telefonokkal kapcsolatos marketing abba az irányba, ami azt sugallja, hogy magától tanul és old meg feladatokat a kezünkben levő termék.


[+]

Érdemes ezt az egész témát inkább azzal kezdeni, hogy megpróbálunk valamiféle rendet tenni a fogalmak között, mert az AI (artifficial intelligence) sokkal összetettebb tudományág, mintsem azt el lehetne intézni azzal, hogy van benne NPU, tehát akkor ez már egy AI-telefon. Egyrészt az AI nem egy friss kifejezés. Már sok-sok éve használjuk olyan esetekre, amikor egy szoftver egy ismert adatmennyiség alapján bizonyos algoritmusokat használva reagál egy-egy történésre. Erre a korabeli számítógépes játékok is jó példák: főleg stratégiai játékoknál volt mindig egyfajta minőségi mérce, hogy mennyire “okos” az AI, magyarán mennyire életszerűen reagált a gépi ellenfél a mi cselekedeteinkre, már egy sima sakkautomata is innen nézve AI volt. (És egyébként a sakk összetettsége sokáig óriási kihívás volt programozói oldalról és az adott technikai színvonalhoz képest irgalmatlan erőforrásokkal lehetett olyan szoftvert készíteni, amely méltó ellenfele volt az embernek.)

1997-ben Gary Kasparovot elverte az IBM Deep Blue szuperszámítógépe sakkban
1997-ben Gary Kasparovot elverte az IBM Deep Blue szuperszámítógépe sakkban (forrás: The Guardian) [+]

Szóval AI-nak nevezzük már azt is, amikor egy előre betáplált adathalmaz és eseményrendszer alapján a szoftver döntéseket tud hozni. A mostanában AI-ként marketingelt funkciók és megoldások viszont az AI-nak egy specifikus ágát jelentik, amit gépi tanulásnak hívunk (machine learning), ami abban más, hogy nem előre definiált események és adatokra ad egy fix választ a szoftver, hanem az általa ismert (megtanult) minták alapján kalkulál egy reakciót. Alapvetően ez is egy szoftveres megoldás, de valóban nem árt, ha van mögötte olyan hardver, amit specifikusan erre a fajta feladatra alkottak meg (ez lehet az NPU, amiről lesz részletesen is szó a következő oldalon), mert így tud gyorsan döntéseket hozni és reagálni például az okostelefonunk is. Tegyük azt is hozzá, hogy a gépi tanulás messze nem olyan szexi kifejezés, mint a mesterséges intelligencia, amely az átlagemberek zöménél automatikusan sci-fi asszociációkat indít el, az öntudatra ébredő és az emberiséget elpusztító gépekkel a legvégső esetben.


[+]

Erről nem csak hogy szó nincs, hanem a jelenlegi technológiai tudásunk fényévekkel el van ettől maradva, szóval nem kell rettegni attól, hogy elindult egy olyan folyamat, aminek belátható időn belül az a vége, hogy a telefonunk hirtelen átveszi az irányítást a mindennapjaink felett. A gépi tanulás viszont egy irgalmatlanul hasznos dolog tud lenni egy csomó esetben, ráadásul ezt pont a Huawei kezdte el még implementálni akkor, amikor nem is volt NPU a rendszerchip mellett, a Mate 10-ben például már bevezettek egy olyan, a háttérben futó megoldást, ami a felhasználó szokásait, alkalmazáshasználatát és tevékenységeit megfigyelve (és ezekről adatokat gyűjtve, analizálva) igyekezett abban, hogy úgy optimalizálja a rendszer erőforrásait, hogy a készülék akkor se lassuljon be az idő előrehaladtával, ha a júzer nem nullázza ki időnként a rendszert, hanem csak gyűlnek az alkalmazások és az adatok. És ez egyébként kifejezetten jól is működött, csak hát kicsit nehéz volt reklámkampányt építeni köré, ez ugyanis nem csak egy óriásplakáton jól mutató szám (mint a kamera felbontása), hanem némi magyarázatra is szorult.


[+]

Úgyhogy nyilván ilyen szempontok is közrejátszottak abban, hogy mindaz, amit most a készülékgyártók és a beszállítók (főleg rendszerchip oldalról) AI-nak hívnak, az igazából gépi tanulás. Nem nevezhető hibásnak az, hogy ehelyett az AI kifejezés van előtérbe tolva, mert az AI egy nagy gyűjtőterület, amelynek valóban az egyik ága a machine learning, és valóban jobban felfigyelnek erre a vásárlók, kicsit misztikus, kicsit jövőbelinek hat, pedig annyira nem durva, mint ahogyan azt a piaci szereplők sejtetik, egy hosszú evolúciós fázis egy olyan lépcsőfoka, amikor már ténylegesen lehet mutatni végfelhasználói szempontból is olyan megoldásokat, amelyeket ennek köszönhetünk.

Hirdetés

Az NPU

Az utóbbi időszak alapján világos, hogy a rendszerchipek egyik általános iránya az AI-ra dedikált hardver használata lesz. A Huawei HiSilicon lapkái mellett az Apple, a Samsung, a MediaTek, a Qualcomm, és még mások is elkezdtek ilyen, neuronháló gyorsító egységeket építeni a lapkákba, gondolva itt az ARM-ra és az Imaginationre. Felmerülhet a kérdés, hogy miért lényeges ez, elvégre minden SoC rendelkezik több, akár eltérő képességű processzormaggal, illetve grafikus vezérlővel. Kell még egy extra részegység ezekbe?


[+]

Választ erre nehéz adni, leginkább az igényektől függ. A gépi tanulásról tudni kell, hogy két nagy szakaszra osztható. Az egyik a tréning, amikor egy nagyobb teljesítményű szerver készít egy neuronhálót a meglévő adatok megfelelő megoldókulcs melletti feldolgozásával. Ezzel az ultramobil szinten nem kell foglalkozni, hiszen a felhasználókhoz kerülő eszközöknél az úgynevezett dedukció a lényeg, vagyis a már készre tréningelt, feltételezhetően jó hatásfokú neuronháló felhasználása, illetve a feladatok ez alapján történű kiértékelése. Bármelyik szakaszt is nézzük, a gépi tanulás nagyrészt, hozzávetőleg úgy 95%-ban mátrixszorzásból áll, vagyis olyan hardver jó ide, amelyik megfelelő feldolgozókkal rendelkezik a mátrixszorzás (GEMM) hatékony feldolgozásához.


[+]

A pontosság is lényeges tényező. A szerverek szintjén jellemző a 32 bites lebegőpontos operációkon keresztül történik a tréningelés, bár ez nem követelmény. A dedukció szakaszban már viszonylag kis pontosság is elég a megfelelő működéshez, ami viszont kellene az a számítási teljesítmény, illetve konkrétan a hatékonyság. Ergo a rendszerchipek ugyan képesek lennének a processzormagokon, illetve a grafikus vezérlőkön is végrehajtani az AI-ra vonatkozó kiértékelési feladatokat, hiszen ezek is jól mátrixszorzásban, főleg az utóbbi, de ha az egységnyi fogyasztás melletti teljesítményt nézzük, akkor már inkább a célhardver a hasznos. Főleg azért, mert ezeket a részegységeket lehet egy konkrét pontosságra tervezni, ami többnyire 4 vagy 8 bites fixpontos, illetve 16 bites lebegőpontos operációkat jelent. A processzormagokat, valamint a grafikus vezérlő multiprocesszorait nem igazán ezekre tervezik, még akkor sem, ha elméletben megoldható az előbbi operációs feldolgozása.

A rendszerchipeket fejlesztő cégek tehát jó okkal dedikálnak neuronháló gyorsítókat az AI feladatokra, ezek számára van is hely, hiszen 10, vagy jobb esetben 7 nm-es node-on készülnek az új lapkák, ami igen sok tranzisztor elhelyezését teszi lehetővé. A legnagyobb limit ma már a fogyasztási keret, tehát ha van egy olyan feladat, amit sűrűn használnak majd az alkalmazások, akkor ma nagyon megéri egy hatékonyságban kiemelkedő, de adott feladatra limitált részegységet beépíteni. Emiatt az AI-ra dedikált hardver egyre több lapkában jelennek majd meg.


[+]

Most, hogy az okot kitárgyaltuk, előkerül az igazán lényeges kérdés: melyik hardver a jó? Röviden mindegyik. A legtöbb, rendszerchipet tervező cég nem is készít saját neuronháló gyorsítót, hanem licencel egyet magának. Itt szóba jöhet a Cambricon, az ARM, az Imagination, de az egyes DSP-k (digitális jelfeldolgozó processzor) is kifejezetten hatékonyak itt, tehát akár a Cadence is lehet partner ebben. A kiválasztott vagy kifejlesztett hardver mellé persze mindenki tervez egy saját fejlesztőcsomagot, illetve konkrét alkalmazásokat. Utóbbi miatt nincs jelenleg nagy jelentősége annak, hogy milyen AI gyorsító van az adott lapkán belül, mert ezek között ugyan vannak különbségek, de a legtöbb alkalmazás amúgy is az adott lapkára, és ebből adódóan az adott ultramobil eszközre van szabva. Lényegesebb tehát manapság az okostelefon AI-ra vonatkozó képességeit nézni.


[+]

A jövőben azért ez változhat, hiszen a Google már szállítja a 8.1-es vagy újabb Android operációs rendszerekbe az NNAPI-t, ami tulajdonképpen izgalmasabbá teheti ezt a területet, hiszen egy szabványos alkalmazásprogramozói felületet kínál a rendszerchipekben található AI gyorsítókra, de ha ezek hiányoznának, akkor is lehet a programot futtatni a megfelelő eszközillesztőkkel ellátott grafikus vezérlőkön, DSP-ken, vagy legvégső esetben a processzormagokon. Ahogy terjednek majd a Google Play-en az NNAPI-t használó alkalmazások úgy kapnak majd tényleges értelmet a lapkákba épített új lehetőségek, és akkor már elkezdődhet ezek teljesítményének és képességeinek összemérése is, amire valószínűleg jönnek majd megfelelő tesztprogramok.

De mire is jó?

Az eszköz- és rendszerchip gyártók számára persze a nagy kérdés az, hogy milyen gyakorlati, a felhasználókat is lelkesítő megoldásokkal demonstrálják, hogy az AI nem csak, hogy hasznos, hanem kvázi jobb annál, mintha nem lenne a készülékben ilyen modul és szoftver. Nyilván a gépi tanulást amúgy ipari környezetben rengeteg dologra használják (főleg historikus adatokon alapuló becslések, jóslások kapcsán, de rengeteg hatékonyságnövelő, vagy éppen gazdaságossági szempontok alapján javaslatokat készítő algoritmus működik), ám eljött az az idő, amikor már ténylegesen tudnak olyan, gépi tanuláson alapuló okosságokat nyújtani a végfelhasználói ketyerék is, amelyek miatt a vásárlók is azt érzik, hogy mennyire jó nekik, hogy “AI-képes” telefon van a kezükben.


[+]

A jelenlegi megoldások zöme arra épül, hogy a képi (grafikus) információkat egy megfelelő neuronhálóval megtámogatott, NPU-val segített gépi tanulási algoritmus lényegesen gyorsabban dolgozza fel és analizálja, mintha ezt a CPU-ra, vagy a DSP-re bíznánk. És ez tökéletesen összecseng azzal a felhasználói igénnyel, amit manapság mindenféle kutatás alapján a fogyasztói oldal megfogalmaz: jobb kamerát szeretnék és jobb üzemidőt. Előbbire az AI kifejezetten látványos választ ad, de az utóbbi kapcsán is tud segíteni az energiafogyasztás és a töltés optimalizációja kapcsán. A Huawei komplett marketingstratégiát épített az AI kamerához, de láttunk más gyártókat is mindenféle gépi tanulási módszert villantani (az ASUS is egyre-másra talált ki ilyesmit, de azért az AI-csengőhang kifejezésnek volt már némi bullshit-szaga). A különböző asszisztens szolgáltatások és megoldások is elkezdtek gépi tanulás alapján javaslatokat tenni. Egy csomó új telefonnál egy-két hétnyi használat után például javasolja a szoftver, hogy automatikusan bekapcsolja a “ne zavarj” üzemmódot azon időpontok között, amikor általában alszunk. Ezt a kijelzőidőből, a telefonnyomkodásunkból, a töltőre tétel időpontjából és a giroszenzorok adataiból következteti ki többek között, ahogyan arra is rájön már adott esetben a készülék, hogy mikor vagyunk otthon, az milyen GPS-koordinátával feleltethető meg, olyankor milyen WiFi-hálózatokat lát a készülék és nyilván ennek megfelelően állíthat át bizonyos paramétereket, hogy kényelmesebbé tegye a júzer életét és takarékoskodjon az erőforrásokkal.


[+]

A leglátványosabb megoldások viszont a kamerás vonalon keresendők. Mivel az NPU segítségével gyorsan lehet képeket elemezni, ezért adta magát, hogy ezt kihasználva próbálják ne csak hardveres, hanem szoftveres oldalról is fokozni az elkészült képek minőségét. Persze túl lehet ezt is tolni, erre akadt is példa, főleg a szaturáció és a kontraszt masszív használata már-már irreálissá tudta tenni az eredményt, de láthatóan folyamatosan finomodik az algoritmus, egyre jobban ismeri fel a témákat és persze egyre több és több példán keresztül okosodik milliónyi fotó tanulásával.


[+]

Miután a mobilos fotózás eredményeinek túlnyomó többsége a közösségi oldalakra kerül ki és ott a legtöbben azt szeretik, ha a látványosság és a realitás mérlege ez előbbi felé dől el, ezért az átlagfelhasználók azt érzik, hogy remek fényképeket csinálnak, ugyanakkor az AI témafelismerés a legtöbb esetben kikapcsolható, egyáltalán nem kötelező használni. Abban viszont zömmel a fotózást magasabb szinten művelők is egyetértenek, hogy óriási segítséget jelent a mesterséges intelligencia az esti fotózás során, ahol az AI annyira ügyesen rakja össze a hosszú expozíciós idővel készült felvételek adatait egyetlen képpé, hogy ezt az eredményt semmiféle manuális trükkel nem lehet állvány nélkül reprodukálni. És van még egy terület, ami talán még az eddigieknél is komolyabb algoritmikus tudást igényel: a videózás közbeni stabilizáció, ami mostanság kerül egyre inkább előtérbe és a végső cél mindenképpen az, hogy kézben tartott telefonnal sétálva is olyan eredményt tudjon előállítani a mobil, amit korábban csak gimbal segítségével lehetett összehozni.


[+]

Mindezeken felül persze van egy csomó apróság, ami szintén a gépi tanulás számlájára írható, ilyen a háttér ügyesebb elmosása portré esetén (és egy csomó effekttel történő azonnali felturbózása), vagy éppen a galériában található portrék automatikus kategorizálása. Mivel az AI, illetve a gépi tanulás már nevéből eredően is az a terület, amely a használattal együtt fejlődik és lesz egyre ügyesebb, ezért biztosra vehető, hogy egyre jobb és jobb algoritmusok, egyre pontosabb gépi analizálás és egyre hasznosabb megoldások születnek a közeljövőben. Az AI-tól tehát nem hogy nem kell félni, hanem nagyon hamar eljutunk oda, hogy teljesen megszokott lesz, ha a CPU meleltt akad NPU is, nem csak a készülékgyártók és a beszállítók, hanem az alkalmazásfejlesztők is hozzáférnek az NPU erőforrásaihoz, hogy olyan appok szülessenek, amelyek ezt a technológiát ki tudják aknázni, ráadásul az okostelefonos platformok is felkészülnek erre. Úgyhogy bár a mobiltelefonos mesterséges intelligencia története egyelőre igencsak nyúlfarknyi, mégis egy olyan területről van szó, amelyben óriási potenciál bújik meg és egyáltalán nem véletlen, hogy a Huawei-féle Kirin rendszerchip után szinte az összes konkurens is implementálta a dolog hardveres vonatkozását, mert nagyon úgy fest, hogy a gépi tanulás nem csak még évtizedekig velünk lesz, hanem ugyanolyan alapvető összetevőnek számít majd, mint az, hogy a CPU-ban van modem.

Bog feat. Abu

Azóta történt

Előzmények

Hirdetés