Értsd meg az AI-t II.
Értsd meg az AI-t II.
A mesterséges intelligencia ma már a mindennapjaink része, működése azonban sokak számára még mindig rejtélyes „fekete doboz”. Ebben a bejegyzésben folytatjuk az első részt, félretesszük a marketinges szlogeneket, és bepillantunk a motorháztető alá: tisztázzuk, mi a különbség a gép tanulása és a válaszadás között, miért nem „okosodik” a ChatGPT csetelés közben, és miért elengedhetetlenek a működéséhez a speciális videókártyák.
Ez a két fázis alapvetően különbözteti meg az AI-t a hagyományos szoftverektől. Hogy megértsük a különbséget a tanítás és a futtatás között, használjunk egy emberi analógiát.
Gondolj az AI-ra úgy, mint egy diákra, aki vizsgára készül.
Ez a nehéz munka. Ez az a fázis, amiről az első posztban beszéltünk, a neurális háló súlyainak a beállítása. Mi történik itt? A „diák” (a modell) a könyvtárban ül, és ezerrel magol. Több milliárd példát néz át (pl. képeket, szövegeket).
A folyamat: Tippel -> Hibázik -> Visszaterjeszti a hibát (Backpropagation) -> Átállítja a súlyokat. Ezt ismétli meg milliárdszor.
Erőforrás-igény: Brutális. Ehhez kellenek a hatalmas adatközpontok tele NVIDIA kártyákkal (GPU-kkal). Ez a fázis hetekig vagy hónapokig tarthat, és rengeteg áramot fogyaszt.
Eredmény: A folyamat végén kapunk egy „kész modellt”. Ez valójában egy óriási fájl, tele fix számokkal (a véglegesre beállított súlyokkal). Ezt hívjuk pre-trained modellnek.
Fontos: Ebben a szakaszban a modell „agya” folyamatosan változik, fejlődik.
Futtatás vagy következtetés (Inference) – „A vizsga”
Amikor te otthon beírsz egy kérdést a ChatGPT-nek, vagy a telefonod felismeri az arcodat, az már nem tanítás, hanem inference.
Mi történik itt? A „diák” már nem tanul, hanem használja a tudását. Beérkezik egy új adat (amit sosem látott a tanítás során), és a modell a korábban megtanult (és most már rögzített) súlyok alapján ad egy választ.
A folyamat: Csak előrefelé halad az adat (Feed-forward). Bemegy a kérdés -> átfolyik a rögzített súlyokon -> kijön a válasz. Nincs hibajavítás, nincs súly-átállítás!
Erőforrás-igény: Sokkal kisebb. Ezért fut el az arcfelismerő a telefonodon is, nem kell hozzá szuperszámítógép. Gyorsnak és hatékonynak kell lennie.
Eredmény: Egy konkrét válasz, kép vagy döntés.
Tévhit eloszlatása: Amikor beszélgetsz a ChatGPT-vel, az AI abban a pillanatban nem tanul tőled (a szó technikai értelmében). A súlyai „le vannak fagyasztva”. Nem lesz okosabb attól, amit mondasz neki, csak felhasználja az ideiglenes memóriáját (kontextus), hogy válaszoljon, de amint bezárod az ablakot, a modell alap tudása változatlan marad.
A tudás lezárása (Knowledge Cutoff)
Mivel a tanítás hónapokig tart és drága, nem lehet minden nap újratanítani a modellt. Ezért van az, hogy egy AI modell sokszor azt mondja: „Az ismereteim 2023-ig terjednek”. Mert akkor hagyták abba a training fázist, és azóta csak inference módban működik.
Költségek
A cégeknek (mint a Google vagy OpenAI) a training egy hatalmas, egyszeri (vagy ritka) beruházás. Az inference viszont folyamatos költség, minden egyes kérdésed áramba és számítási kapacitásba kerül nekik.
Ha nem tanul tőlem, hogyan érvényesül a „helyes viselkedés”?
Amikor te beszélgetsz az AI-val, a modell súlyai (a tudása) már nem változnak. Nem íródik át a „merevlemez” a fejedben. Akkor hogyan lehet mégis udvarias, és miért nem felejti el a „jómodort”? Két mechanizmus biztosítja ezt:
A „Nevelőiskola” (A kiadás előtti Fine-Tuning)
Mielőtt a modellt odaadják neked (kiengedik a nyilvánosság elé), egy nagyon szigorú RLHF (Reinforcement Learning from Human Feedback) folyamaton esik át.
Képzeld el úgy, mint egy kutyát, akit már betanítottak. A kutya agyában (a modell súlyaiban) örökre rögzült, hogy „ha azt mondják, ül, akkor le kell ülni”.
Amikor te parancsot adsz neki, ő nem akkor tanulja meg a parancsot. Már tudja. Csak végrehajtja a korábban beégetett szabályt.
Tehát a „helyes viselkedés” (pl. ne legyél rasszista, ne adj bombareceptet) már a modell struktúrájának a része, mire hozzád kerül.
A Rejtett Utasítás (System Prompt)
Ez egy nagyon fontos trükk, amit a felhasználók nem látnak. Amikor megnyitsz egy chatablakot, az nem üres. A fejlesztők (pl. az OpenAI vagy a Google) minden beszélgetés legelejére, a háttérben beszúrnak egy hosszú, láthatatlan utasítást.
Valami ilyesmit: „Te egy segítőkész AI vagy. Ne használj trágár szavakat. Ha a felhasználó véleményt kér, maradj semleges.”
Az AI ezt olvassa el először. Mivel a „memóriája” (kontextus ablaka) a beszélgetés idejére megjegyzi az elhangzottakat, ez a rejtett utasítás végig vezérli a válaszait.
Összegezve a viselkedés részben a „génjeibe” van égetve (súlyok), részben pedig a „fülébe súgják” minden beszélgetés elején (system prompt).
Eddig átvettük a motort (matek, node-ok) és az üzemanyagot (adat, tanítás). De ahhoz, hogy teljes legyen a kép, van még néhány kritikus fontosságú terület, ami megkülönbözteti az elméletet a valóságtól.
Itt van az az 4 dolog, amit még feltétlenül tudnod kell ahhoz, hogy értsd az AI teljes ökoszisztémáját:
1. A „Fekete Doboz” probléma (Black Box)
Ez az egyik legijesztőbb dolog a mérnökök számára is. Bár tudjuk a matekot, és mi építettük a hálózatot, a neurális hálók működése bizonyos méret felett átláthatatlanná válik.
Mi a gond? Ha az AI hoz egy döntést (pl. elutasítja a hitelkérelmedet, vagy diagnosztizál egy betegséget), sokszor nem tudjuk megmondani, pontosan miért tette.
Miért? Mert a döntés több milliárd paraméter bonyolult összjátékából született. Nincs egyetlen kódsor, amire rámutathatnánk, hogy „itt a hiba”. Ezt hívják interpretálhatósági problémának.
2. A hallucináció (amikor a gép magabiztosan hazudik)
Mivel az AI (főleg a nyelvi modellek) valószínűséget számol és nem „tényeket keres”, előfordul, hogy kitalál dolgokat.
Hogyan működik? A modell célja, hogy olyan mondatot rakjon össze, ami jól hangzik és nyelvtanilag helyes. Ha nincs meg a tényleges tudása, kitölti a hézagokat olyannal, ami plauzibilisnek (hihetőnek) tűnik, de valójában hamis.
Veszély: Olyan meggyőzően tudja tálalni a badarságot is, hogy nehéz észrevenni.
3. Hogyan tud friss infókat, ha le van zárva a tudása? (RAG)
Említettem, hogy a modell tudása a tanítás végén lezárul (pl. 2023-ban). Mégis, ha megkérdezed a mai árfolyamot, a Bing vagy a Google AI tudja. Hogyan?
Erre való a RAG (Retrieval-Augmented Generation) technika. Ez egy trükk. Mielőtt az AI válaszolna neked, a rendszer gyorsan rákeres az interneten a kulcsszavaidra. A talált friss cikket „bemásolja” az AI ideiglenes memóriájába.
Az utasítás így módosul: „Itt van ez a friss cikk, amit most találtam. Ennek alapján válaszolj a felhasználó kérdésére!”
Így az AI a régi „nyelvtudását” és az új „információt” ötvözi.
4. ANI vs. AGI (Hol tartunk most?)
Sokan félnek, hogy az AI öntudatra ébred. Fontos különbséget tenni két fogalom között:
ANI (Artificial Narrow Intelligence – szűk AI)
Ez van most. Egy dologban zseniális (pl. sakkozni, fordítani, képet generálni), de nem tudja átvinni a tudását más területre, és nincs öntudata. A ChatGPT is ilyen: zseniális szöveggyáros, de nem érti a világot úgy, mint mi.
AGI (Artificial General Intelligence – általános AI)
Ez a „szent grál” (vagy a végítélet, nézőpont kérdése). Egy olyan gép, ami bármilyen intellektuális feladatot képes megoldani, amit egy ember, sőt, tanul új dolgokat magától. Itt még nem tartunk.
A mesterséges intelligencia fejlesztésének de facto szabványa a Python.
Miért a Python?
Egyszerűség és olvashatóság: A Python szintaxisa tiszta és gyorsan elsajátítható, ami megkönnyíti a komplex algoritmusok és prototípusok gyors felépítését.
Közösségi támogatás: Hatalmas a fejlesztői közössége, rengeteg a segédanyag és a már megírt kód (példák).
Integráció: Könnyen összekapcsolható más, alacsonyabb szintű (gyorsabb) nyelveken írt könyvtárakkal.
A kulcsfontosságú keretrendszerek és könyvtárak
A fejlesztők szinte soha nem a nulláról írják meg a neurális hálókat (azaz a mátrixszorzást és a backpropagation-t). Ehelyett specializált könyvtárakat használnak, amelyek a bonyolult, sebességet igénylő részeket már C++ nyelven írták meg, és a Python csak „meghívja” ezeket a gyors funkciókat.
A) A motorok (Deep Learning Frameworks)
Ezek a két legfontosabb eszköz, amelyek a neurális hálózatok építésére és futtatására szolgálnak:
PyTorch: Rendkívül rugalmas és dinamikus. A kutatói közösség körében nagyon népszerű, és az OpenAI is ezt használja a nagy nyelvi modellekhez (pl. ChatGPT).
TensorFlow: A Google által fejlesztett keretrendszer, amely kiváló a nagy léptékű, ipari termelésre szánt modellek (deployment) készítésére.
B) Adatkezelő könyvtárak
A nyers adatok feldolgozásához és formázásához használják:
NumPy: Matematikai könyvtár, amely lehetővé teszi a mátrixok és vektorok (amik a node-ok és súlyok) rendkívül gyors kezelését Pythonban. Gyakorlatilag ez a „tolmács” a Python és a C++ sebesség között.
Pandas: Adatmanipulációhoz és tisztításhoz. Mielőtt az adatok bemennének a modellbe, a Pandassal rendezik, szűrik őket.
Az eljárások és programozási paradigma
Az AI felépítése nem egyetlen programozási eljárás, hanem több lépésből álló folyamat:
1. A Modell Architektúrájának meghatározása:
Ez a mérnöki munka: eldönteni, hogy a neurális háló milyen elrendezésű legyen (Hány réteg? Milyen típusú neuronok? Milyen legyen a kimenet?).
2. Az Adatfeldolgozás (Data Pipeline)
Az adatok bemeneti csatornájának megírása. Meg kell mondani a programnak, hogyan olvassa be a képeket, szövegeket, hogyan normalizálja (egységesítse) őket, hogy a modellt ne tévesszék meg a túl nagy vagy túl kicsi számok.
3. A Tanítási Hurok (Training Loop)
Ez a kód magja. Lényegében egy végtelen ciklus (loop), amely:
Megkapja az adatot.
Előre küldi a modellen (Inference).
Kiszámolja a hibát (Loss Function).
Végrehajtja a Backpropagation (hiba-visszaterjesztés) eljárást.
Frissíti a súlyokat (Optimizer).
Ezt a ciklust a fejlesztő írja meg, de a 3-as és 4-es pontot a PyTorch vagy a TensorFlow motorja kezeli.
Az AI motorháztetője alatt tehát a Python nyelvet és specializált C++ motorokat (pl. PyTorch) találsz, amelyek együtt dolgoznak azon, hogy a backpropagation algoritmus villámgyorsan beállítsa a súlyokat a memóriában tárolt mátrixokban.
A válasz arra a kérdésre, hogy miért az NVIDIA a domináns szereplő, kettős: technológiai fölény és szoftveres ökoszisztéma.
A Technológiai Fölény: A Párhuzamos Számítás
A mesterséges intelligencia lényege a mátrixszorzás, és a mátrixszorzás lényege a párhuzamos számítás.
A GPU anatómiája: Több, de egyszerűbb mag
CPU (Central Processing Unit): Néhány nagyon erős, nagyon gyors maggal dolgozik (pl. 8 vagy 16 mag). Ideális az olyan feladatokhoz, amiket sorban kell elvégezni (pl. operációs rendszer futtatása).
GPU (Graphics Processing Unit): Több ezer, viszonylag egyszerű maggal dolgozik (NVIDIA kártyákon ezreket találunk). Ideális az olyan feladatokhoz, amiket egyszerre, párhuzamosan kell elvégezni.
Miért ideális az AI-nak?
Emlékszel, hogy a neurális hálózatban minden node minden másikkal össze van kötve? A tanítás (training) során több milliárd szorzást kell elvégezni:
A GPU képes ezer ilyen szorzást egyidejűleg elvégezni. Ezzel az AI modellek tanítása, ami a CPU-n évekig tartana, napokra vagy hetekre rövidül.
A szoftveres ökoszisztéma: A CUDA varázsa
A hardvernél is fontosabb az a szoftveres infrastruktúra, amit az NVIDIA évtizedekkel ezelőtt épített fel. Ez a CUDA platform.
Mi az a CUDA?
Ez az NVIDIA által létrehozott párhuzamos programozási platform és programozási felület (API). Ez teszi lehetővé, hogy a szoftverfejlesztők a PyTorch-ban vagy TensorFlow-ban írt kódjaikban közvetlenül hozzáférjenek a GPU ezreihez a nagy sebességű számításokhoz.
Miért kulcsfontosságú? Amikor a tudományos közösség rájött, hogy a GPU-k tökéletesek az AI-hoz (kb. 2010 körül), már a CUDA volt a legfejlettebb, leginkább támogatott platform. Gyakorlatilag az összes AI keretrendszer (PyTorch, TensorFlow) erre épül.
A zárt ökoszisztéma előnye: az, hogy a CUDA évtizedekkel megelőzte a konkurenciát, létrehozott egy „hálózati hatást”:
A fejlesztők PyTorch-ot és TensorFlow-t használnak.
Ezek CUDA-t használnak.
Ez csak az NVIDIA GPU-kon fut.
Ezért a fejlesztők csak NVIDIA GPU-kat vesznek.
Ez a körforgás szinte megtörhetetlen előnyt biztosít az NVIDIA-nak, még akkor is, ha más cégek (pl. AMD) hardverei ma már technikailag felzárkóztak.
A legújabb hardver: A Tensor Core-ok
Az NVIDIA tovább növeli előnyét azzal, hogy speciális egységeket épít be a chipekbe, amelyek kifejezetten az AI feladatokra vannak optimalizálva:
Tensor Core-ok: Ezek a speciális processzor egységek (amelyek a „tensor” szóból kapták a nevüket – a tensor az a matematikai fogalom, ami a mátrixot jelenti magasabb dimenzióban) egy lépésben képesek elvégezni a hatalmas AI-mátrixszorzásokat. Ez nagyságrendekkel gyorsabbá teszi a tanítást és a futtatást.
Az NVIDIA GPU-k dominanciája a sebességben rejlik: a rengeteg mag tökéletes a mátrixszorzás párhuzamosítására. Ezt a fizikai képességet szilárdította meg a CUDA szoftveres ökoszisztéma, amely standarddá vált a teljes AI iparágban.
A mesterséges intelligencia tehát egy matematikai gépezet, amely neurális hálózatok segítségével tanul hatalmas adatmennyiségekből. A tanulás során a rendszer súlyokat állít be a kapcsolatokban, amelyek lényegében a tudását tárolják. Amikor az AI-t használod, villámgyors mátrixszorzásokkal találja meg a legvalószínűbb kimenetet a bemeneti adataid alapján, és ezt a számítást a GPU-k végzik el az adatközpontokban, Python nyelven írt szoftverek vezérlésével.
Referenciák
Könyv: Ian Goodfellow: Deep Learning (Ez az AI „bibliája”, ingyen olvasható online: deeplearningbook.org).
Video kurzus: Andrej Karpathy (az OpenAI egyik alapítója) „Zero to Hero” sorozata a YouTube-on, ahol a nulláról épít fel egy ilyen hálózatot kódban
Akadémiai kulcsszavak: Ha beírod a keresőbe, hogy „Backpropagation algorithm steps” vagy „Neural network matrix representation”, pontosan ugyanezt az ábrát és logikát fogod látni minden szakmai oldalon.
A post-sorozat többi tagja
#mesterségesintelligencia #ai #mi #ml #machine learning #deep learning #techblog