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