Mesterséges intelligencia: Lehetőségek és felhasználási módok
A mesterséges intelligencia felhasználási területe rendkívül széles. A kézírás-felismeréstől, a képek és szövegek manipulálásától kezdve az önvezető autókon és a banki hitelekről való döntéshozatalon át egészen az űrnavigációig. Az alábbiakban áttekintünk néhány felhasználási módot, bár aligha találnánk olyan informatikai területet, amelyet a mesterséges intelligencia legalább valamelyest ne érintett volna.
Mesterséges intelligencia: Lehetőségek és felhasználási módok – TARTALOM
Hangfelismerés
A YouTube automatikus feliratozása vagy a mobiltelefonok asszisztensei (Google Assistant, Apple Siri) mind a hangfelismerés példái. Korábban ezt a technológiát kémrendszerekben alkalmazták, ahol lehetetlen volt órákon át hallgatni a lehallgatott telefonbeszélgetéseket, és kulcsszavak alapján kellett keresni. A mai nyílt forráskódú modellek, mint például az OpenAI Whisper modellje (amely a ChatGPT-vel ellentétben valóban „nyílt” – helyben is futtathatod), számos nyelven képesek beszédfelismerésre, és felhasználhatók megbeszélések összefoglalására, asszisztensekkel való kommunikációra, videók feliratozására vagy a beszélt szó magyarra fordítására.
Ha ki szeretnéd próbálni, használhatod a hivatalos implementációt, vagy még jobb, ha a processzorra optimalizált whisper.cpp verziót választod.
A cikket nem véletlenül kezdtem a hangfelismeréssel – ezen keresztül könnyen belátható, hogyan kapcsolhatunk össze különböző mesterséges intelligencia modelleket. Ha hangalapú asszisztenst szeretnénk létrehozni, először fel kell ismernünk, mit mond a felhasználó, majd ezt összeköthetjük egy nyelvi modellel, a válasz pedig ismét lehet hang, vagy akár egy generált program, ami végrehajt valamit (például felkapcsolja a lámpákat). A nyílt forráskódú modellek nagy előnye éppen az, hogy összekapcsolhatók, és egyedi alkalmazások hozhatók létre belőlük.
Képgenerálás
A szövegből történő képgenerálás terén rengeteg lehetőség áll rendelkezésünkre. Talán a legnépszerűbb a fizetős online szolgáltatás, a MidJourney. Eredetileg kizárólag a Discord csevegőalkalmazáson keresztül lehetett használni, mára azonban saját webes felületet is kapott, így Discord-fiók nélkül, a böngészőből is generálhatunk vele képeket:
Lehetőségünk van azonban arra is, hogy egy helyi stabil diffúziós modellt telepítsünk, amely a saját eszközünkön fut. A legjobban az Apple Silicon processzorral felszerelt Mac gépeken működik, de más eszközökön is elindíthatod. Én az InvokeAI-t használom, bár több lehetőség is létezik.
Az egyszerű képgeneráláson túl lehetőséget nyújt a kép kiterjesztésére (outpainting), meglévő képbe való berajzolásra, felbontásnövelésre, arcjavításra és számos egyéb funkcióra is.
A generatív képmodellek azonban már nem önálló eszközök kiváltsága – szó szerint mindenhol ott vannak. Ha a Canva online képszerkesztőt vagy az Adobe Photoshopot használod, lehetőséged van képeket generálni, sőt akár fotószerkesztés közben is alkalmazni őket.
Képmodellek tanítása
A nyílt képmodellek, mint például a Stable Diffusion, nagy előnye, hogy a saját igényeidre finomhangolhatod őket. Legyen szó „céges stílusról” (például a vállalati színek használatáról), konkrét felhasználásról (portrék, manga, esetleg a saját művészi stílusod) vagy bizonyos objektumok generálásának javításáról – az alapmodell kisebb finomhangolásával csodákat érhetsz el.
A CivitAI szolgáltatás lehetővé teszi a finomhangolt modellek megosztását, így ha konkrét igényed van, letöltheted a módosított súlyokat.
A modellek betanítása azonban más célt is szolgálhat – létrehozhatsz olyan modellt, amely például közvetlenül téged, a családodat vagy a kollégáidat képes renderelni. Szükséged van egy fotóra a Versailles-i palotában vagy a Nemzetközi Űrállomáson? Semmi akadálya. Vagy csak egy kicsit jobban akarsz kinézni, mint a valóságban...
Nyelvi modellek
A jelenlegi mesterséges intelligencia forradalom magját azonban a nyelvi modellek alkotják. Valószínűleg mindenki hallott már a ChatGPT-ről, ami egy olyan eszköz, amellyel beszélgetni lehet. Az újabb verziók bővítménymodulokkal rendelkeznek, és könnyen hozzáférnek a webhez, ahol aktuális információkat kereshetnek, amelyek nincsenek benne a tanítóadathalmazban.
Ha megnézzük az „AI startupok” többségét, nagyon gyakran csupán becsomagolt ChatGPT API-hívásokról van szó. Hasonlóan működik például a Microsoft mesterséges intelligenciája (Bing), illetve az olyan eszközökbe való integráció, mint a Notion és társai. Ahogy a Scooby Doo sorozat híres mémje mondja:
Számomra azonban az open-source nyelvi modellek az igazán érdekesek, amelyeket saját hardveren futtathatunk, taníthatunk és fejleszthetünk. És van belőlük bőven.
A futtatási lehetőségek nagymértékben függnek a hardveredtől és az operációs rendszeredtől. Egy nyelvi modell súlyokból, az architektúra leírásából (hogyan kapcsolódnak egymáshoz a neuronok) és a következtetést lehetővé tevő kódból áll.
A kód kiválasztása attól függ, mit szeretnél csinálni, és hogy van-e videokártyád. A legtöbb modellt először NVidia videokártyákra fejlesztik, a CUDA keretrendszer felhasználásával, leggyakrabban a PyTorch eszközzel. A programozók többsége azonban magasabb szintű könyvtárat használ, például a Hugging Face transformers könyvtárát, ahol néhány sorban elég hivatkozni a Hugging Face adatbázisában lévő modellre és elindítani az inferenciát – a transformers könyvtár gondoskodik a súlyok letöltéséről és az architektúra felépítéséről a PyTorch könyvtár hívásain keresztül.
Ha mélyebben meg szeretnéd érteni a modellek működését, ajánlom a tinygrad könyvtárat, amely igyekszik a lehető legegyszerűbb és legrövidebb lenni. Szerzője George Hotz (geohot). Róla is ejtünk majd néhány szót az önvezető autóknál.
Ha Apple M1 vagy újabb chipes eszközöd van, érdemes lehet megnézned a llama.cpp csomagot.
Ha inkább felhasználó vagy, mint programozó, rengeteg eszköz létezik, amelyek gondoskodnak a front-endről (és az esetleges API-ról). Az egyik legismertebb a gpt4all program:
A gpt4all eszköz ráadásul ugyanazt az API-t implementálja, mint a ChatGPT/OpenAI, így bármilyen szoftvert használhatsz, ami az OpenAI API-ját használja, csak éppen helyi modellel.
Hogyan válaszd ki a megfelelő modellt? Feltételezem, hogy mire ezeket a sorokat olvasod, bármilyen válasz már elavult, ezért a Hugging Face „modell-toplistájára” irányítalak. Az egyik nagyon érdekes leágazás a Meta által létrehozott Llama modell. Az első verzió licence kizárólag nem kereskedelmi, kutatási célú felhasználást engedett, a Llama 2-től kezdve azonban a licenc már kereskedelmi felhasználást is lehetővé tesz – kivételt csak a rendkívül nagy, 700 millió havi aktív felhasználó feletti szolgáltatások jelentenek, amelyeknek külön engedélyt kell kérniük a Metától. Miért éppen „leágazás”? Az alap nyelvi modell egyszerűen fogja a szöveget, és megpróbálja generálni a folytatását. Tehát egy tiszta nyelvi modellről van szó, amelyet nem hangoltak finomra utasításkövetésre vagy társalgásra. A finomhangolás elég jelentősen befolyásolja a modellt. Sokáig használtam például a vicuna-13B-uncensored modellt, amelyet társalgásra tanítottak be, de igyekszik valódi válaszokat adni a ChatGPT-ből ismert moralizáló közhelyek helyett. Ha bitcoinról kérdezed, válaszol neked, ahelyett hogy figyelmeztetne, milyen rettenetesen volatilisek és veszélyesek a kriptovaluták.
Időközben például megszületett a falcon modell, amely kereskedelmi célokra is használható, és különböző csapatok dolgoznak az átképzésén különféle feladatokra. A StabilityAI a StableLM modellek egész sorozatán dolgozik. A fejlődés valóban rendkívül gyors.
Önvezető autók
Az önvezető autókról már évek óta beszélnek. Egyelőre azonban nincs kereskedelmi forgalomban kapható olyan autó, amely képes lenne önállóan közlekedni bármilyen úton. Ez mégis a mesterséges intelligencia egy rendkívül fontos területe. Az emberi sofőrök hibáznak, lassú a reakcióidejük, elkalandozik a figyelmük stb. Az önvezető autókra való átállással rengeteg életet menthetnénk meg.
A modern autók hatalmas mennyiségű elektronikával vannak felszerelve. Még a leghétköznapibb járművek is rendelkeznek szenzorokkal és kamerákkal, amelyek segítenek a parkolásnál, adaptív tempomattal (lelassít, ha észleli, hogy az autó előtt lassabban haladnak más közlekedési résztvevők). Egyes autókban már sávtartó asszisztens is található, amely finoman kormányoz, hogy az autót (főként autópályán) a sávjában tartsa.
Az önvezetésnek több szintje van. A fent említett eszközök az első szintet képviselik – az autó segíti az emberi sofőrt bizonyos funkciókban. A második szint a részleges automatizálás, amikor az autó összekapcsolja a kormányzás és a sebességszabályozás automatizálását. Egy ilyen jármű bizonyos helyzetekben gyakorlatilag már maga vezet, de a sofőrnek figyelmesnek kell lennie, és bármikor képesnek kell lennie átvenni az irányítást. Emellett a vezetés egyes aspektusait is kezeli (sávváltási döntések stb.). A harmadik szint a feltételes automatizálás – a sofőrnek továbbra is képesnek kell lennie átvenni az irányítást, de az autó gyakorlatilag önmagát vezeti. A negyedik szinten az autó bizonyos körülmények között már teljesen önállóan képes közlekedni – erre példa a Waymo taxik Phoenix-ben, Arizonában. Az ötödik szint a teljes önvezetés, amelyet eddig egyetlen projekt sem ért el.
Valószínűleg a Tesla jár legelőrébb az önvezető járművek kereskedelmi hasznosításában és népszerűsítésében. Az önvezető autókhoz használt mesterséges intelligencia fejlesztőcsapatát a Teslánál Andrej Karpathy építette fel, aki azóta elhagyta a céget, de a mesterséges intelligenciáról, a nyelvi modellekről és sok minden másról ma is rengeteg tartalmat találhatsz tőle.
A Tesla a sávban tartja az autót, érzékeli az akadályokat, és a magasabb verziókban (felár ellenében) képes sávot váltani.
A Tesla azonban nem az egyetlen lehetőség, ha önvezető autót szeretnél. Nézzük meg, hol tart a nyílt forráskódú konkurencia. Igen, létezik ilyen – a comma.ai projekt és az openpilot a legtöbb olyan autóban, amely rendelkezik sávtartó asszisztenssel és adaptív tempomattal, képes megvalósítani az önvezetés második szintjét – nagyon hasonlóan a Basic Autopilothoz. Az autótól függően a comma képes a sávban tartani, akadályok előtt fékezni és sávot váltani. A projekt mottója: „tegyük a vezetést kényelmessé”.
A projekt megalkotója George Hotz, más néven geohot. Apple-eszközök (elsősorban iPhone-ok) feltöréséről vált híressé. 2007 augusztusában elsőként sikerült eltávolítania az iPhone szolgáltatói zárolását. Akkoriban tizenhét éves volt. 2009 októberében kiadott egy „blackra1n” nevű eszközt, amely kompatibilis volt az összes iOS 3.1.2-es rendszert futtató iPhone-nal és iPod Touch-csal, és lehetővé tette az úgynevezett jailbreakelést. Jelenleg (hasonlóan Andrej Karpathyhoz) rengeteg videót találhatsz tőle az interneten, amelyekben rendkívül gyakorlatiasan magyarázza el a mesterséges intelligencia technikáit (Andrej Karpathyval ellentétben közben többnyire eszik, és diák meg előre elkészített prezentáció helyett mindent első nekifutásra csinál, ami érdekes betekintést nyújt abba, hogyan gondolkodik és hogyan old meg problémákat egy rendkívül ügyes programozó).
Ha meglepett, hogy a nagy nyelvi vagy képfeldolgozó modelleknek viszonylag színvonalas nyílt forráskódú alternatívái is vannak, az önvezetés esetében szinte mindenki meglepődik – a legtöbben úgy gondolják, hogy ez olyan nehéz feladat, amelyet csak hatalmas csapatok képesek megoldani óriási számítási kapacitással. A teljes értékű, ötödik szintű önvezetésre a szabályozók miatt is várnunk kell még. A mesterséges intelligencia jövőbeli fejlődéséről és lehetséges felhasználásáról a sorozat következő – és egyben utolsó – részében fogunk beszélni.
Összegzés – a slusszpoén
Eredetileg itt akartam befejezni a szöveget, de a szerkesztő jogosan hívta fel a figyelmemet, hogy jó lenne valamilyen slusszpoénnal zárni, szóval mi következik mindebből? A meleg nyári napokban elfogyott az inspirációm, ezért segítségül hívtam a Vicunából származtatott Hermes modellt.
Sajnos a modell főleg angolul működik jól, ezért a befejezést le kellett fordítanom a DeepL modell segítségével.
És miért írom le mindezt ilyen részletesen? Mert szerintem a legérdekesebb, ami történni fog, az a modellek összekapcsolása. A nyelvi modellek, képmodellek és hasonlók ügyesek, de az összekapcsolásuk még jobb eredményeket fog hozni. A nyelvi modell nem tud egyenleteket megoldani, de a Wolfram Alpha igen. Az autóvezetés vizuális modellje képes az autót a sávban tartani, de a navigációs szoftver tudja, melyik sávban kell lennem aszerint, hogy hová akarok menni. A hangfelismerés tudja, mit mondasz, de csak a nyelvi modell tudja, mit akarsz ezzel mondani.
Mi tehát a slusszpoén?
Ahogy ezeknek a mesterséges intelligencia modelleknek a fejlesztése halad, egyre inkább összekapcsoljuk őket. Képzelj el egy olyan jövőt, amelyben az önvezető autók kommunikálnak egymással a balesetek elkerülése érdekében, a beszédfelismerő rendszerek folyékonyan fordítanak nyelveket valós időben (babelfish), és a képfelismerő algoritmusok együttműködnek az objektumok páratlan pontosságú azonosításában. A nyelvi modellek segítenek az Alza cikkíróinak a következtetések megírásában, a programozóknak a hatékonyabb kódírásban, a jogászoknak a szerződések megszövegezésében. A modellek ereje azonban az egymással és más alkalmazásokkal való összekapcsolásukban rejlik. A mesterséges intelligencia modelljeinek ez az összekapcsolása nemcsak forradalmasítja az életünket és a munkánkat, hanem egyúttal megteremti az alapot az ember és gép közötti együttműködés új korszakához.
A jövő tehát az általános modellek specifikusabb feladatokra való adaptálásában és a modellek egymással való összekapcsolásában rejlik. Ezáltal olyan világot teremtünk, amelyben a technológia olyan módon javítja az életünket, amiről korábban nem is gondoltuk volna, hogy lehetséges. És pontosan erről fog szólni a sorozat következő része is.

Juraj Bednár
Cypherpunker vagyok, szeretem a szabadságot, a magánéletet, a peer-to-peer technológiát és a terminálablakokat. Felfedezem a kaotikus világot, az illékonyságot és a bizonytalanságot, küzdök az entrópia ellen - cégeket és nonprofit szervezeteket alapítok, tanfolyamokat tartok és könyveket írok. Társalapítója vagyok a Parallel Polisnak, a Progressbar hackerspace-nek és a Hacktrophy nevű bug bounty platformnak. Mesterséges intelligencia szakon végeztem és rajongok mindenért, ami ezzel kapcsolatos. A tapasztalataim által ihletett blogomat itt olvashatod.