AI Engineer · Lecke 02

A foundation modellek mint építőkockák

Az AI Engineer a modellt API mögött, adottként kapja. Ahhoz, hogy jól tervezz rá, néhány alapfogalmat pontosan kell értened. Mi az a token, mekkora a kontextusablak, hogyan alakul a költség és a késleltetés, és mennyire kiszámítható a kimenet. Ez a lecke ezeket az építőkockákat rakja a helyükre.

Vissza a tananyaghoz


A modell mint API mögötti szolgáltatás

A gyakorlatban a foundation modellt egy webes API-n keresztül éred el. Küldesz egy kérést, amely tartalmazza a rendszerutasítást (system prompt), az eddigi üzeneteket és néhány paramétert, a modell pedig visszaad egy választ. Az OpenAI és az Anthropic dokumentációja ugyanezt a mintát írja le, üzenetek listája megy be, és a modell folytatja a beszélgetést. Mérnöki szempontból ez azt jelenti, hogy a modell egy állapot nélküli függvény. Nem emlékszik a korábbi hívásokra magától. Ha azt akarod, hogy tudjon az előzményekről, neked kell minden hívásba visszaküldeni a releváns korábbi tartalmat. Ez a részlet később, a beszélgetős és ügynöki rendszereknél kulcsfontosságú lesz, mert a teljes állapotot mindig te viszed be a kérésbe.


Token, a modell alapegysége

A modell nem karakterekben vagy szavakban gondolkodik, hanem tokenekben. A token egy szórészlet, amely lehet egy egész rövid szó, egy szótöredék vagy akár egy írásjel. A tokenizáló egy fix szótár szerint bontja darabokra a szöveget, mielőtt a modell feldolgozná. Két gyakorlati következménye van ennek. Az első, hogy a szöveg hossza tokenben mérve nem egyezik meg sem a karakterszámmal, sem a szószámmal, és nyelvenként is eltér, a magyar szöveg tipikusan több tokenre esik szét, mint az azonos jelentésű angol. A második, hogy a modell mindent tokenben számol, a bemenetet és a kimenetet is. Amikor a rendszered viselkedését tervezed, valójában token folyamot tervezel.


Nyers szöveg az AI mérnök tokeneket lát Tokenekre bontva az AI mér nök token eket lát Egy szó több tokenre is eshet. A modell ezeket a darabokat dolgozza fel.
A tokenizáló a szöveget szórészletekre bontja. A modell ezeket látja, és a költséget is ezek száma határozza meg, nem a szavak vagy a karakterek száma.

A kontextusablak mint véges keret

A kontextusablak (context window) az a legnagyobb tokenmennyiség, amelyet a modell egyszerre figyelembe tud venni. Ebbe a keretbe minden belefér, amit a modellnek egy híváskor átadsz, a rendszerutasítás, a visszakeresett dokumentumok, a beszélgetés eddigi menete és a modell által generált válasz is. Ez a keret véges, tehát folyamatosan gazdálkodnod kell vele. Ha túl sok mindent zsúfolsz be, elfogy a hely a válasz elől, vagy a fontos rész a kevésbé figyelt középső tartományba kerül. A gyakorlatban a kontextusablakot úgy kezeld, mint egy szűkös költségvetést, amelynek minden sorára rá kell kérdezned, tényleg szükség van-e rá a modellnek a jó válaszhoz.


Rendszerutasításfix keret
Visszakeresett dokumentumokRAG kontextus
Beszélgetés előzményenövekszik
Válasz helyeami marad

Költség és késleltetés

A modellhasználat ára tokenalapú, és a bemeneti meg a kimeneti token tipikusan nem azonos súlyú. Ennek mérnöki jelentősége van. A bemeneti oldalon a hosszú rendszerutasítás és a sok visszakeresett dokumentum drágít, ezért éri meg tömören és célzottan kontextust adni. A kimeneti oldalon minden legenerált token nemcsak pénzbe kerül, hanem időbe is, mert a modell a választ tokenről tokenre állítja elő. Ezért a késleltetés első rendű közelítésben a kimenet hosszával arányos, és sokszor a leggyorsabb gyorsítás egyszerűen az, ha rövidebb választ kérsz. A bemenet hossza inkább a költséget és az első token megjelenéséig eltelő időt befolyásolja. Ezt a két hatást érdemes külön kezelni a tervezéskor.


2

Két gomb, amit külön állítasz. A bemenet hossza főleg a költséget és az első token idejét mozgatja, a kimenet hossza pedig a teljes választ és annak késleltetését. A hosszú prompt drága, de nem feltétlenül lassú. A hosszú válasz drága és lassú is. Érdemes tudni, melyik gombot tekered.


Mennyire kiszámítható a kimenet

A modell a következő tokent egy valószínűségi eloszlásból választja, és a mintavételt paraméterek szabályozzák. A hőmérséklet (temperature) növelése változatosabb, kreatívabb, de kevésbé kiszámítható kimenetet ad, a csökkentése összeszedettebb, ismételhetőbb választ. Ebből következik, hogy ugyanarra a bemenetre a modell nem feltétlenül ad kétszer szó szerint azonos választ. Egy éles rendszernél ez tervezési kérdés. Ahol determinizmusra van szükség, ott alacsony hőmérsékletet, szűk feladatot és a következő leckékben tárgyalt strukturált kimenetet és ellenőrzést használunk. Ahol a változatosság érték, ott hagyunk teret a modellnek. A lényeg, hogy a kiszámíthatóság nem adott, hanem a te döntéseid állítják be.


  1. Kérés összeállításaRendszerutasítás, üzenetek és paraméterek egy kérésbe, a teljes állapottal együtt.
  2. Bemenet feldolgozásaA modell beolvassa a teljes kontextust, ez adja az első token idejét.
  3. Válasz generálásaA kimenet tokenről tokenre készül, ez adja a teljes késleltetést.
  4. Válasz feldolgozásaA rendszered ellenőrzi, feldolgozza vagy továbbadja a modell kimenetét.

← Előző lecke Következő lecke →

Workshop

AI Transformation Day

Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.

Érdekel a program →