É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.

Tanítás (training) és futtatás (inference)

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.

A tanítás (Training) – „A felkészülés”

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.

Miért fontos ez a különbségtétel?

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 vezető nyelv: Python

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:

  1. Megkapja az adatot.
  2. Előre küldi a modellen (Inference).
  3. Kiszámolja a hibát (Loss Function).
  4. Végrehajtja a Backpropagation (hiba-visszaterjesztés) eljárást.
  5. 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 hardver: NVIDIA GPU

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.

Összefoglalva

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

Scroll to Top