Az LLM-ekkel kapcsolatos alapvető fogalmak
Néhány alapvető fogalmat fontos megérteni az LLM-ek hatékony használatához, nevezetesen a jogkivonatokat és a kéréseket.
- Kérdés: A parancssor az LLM utasítására szolgáló szöveges mondat. Attól függően, hogy miként fogalmaz a mondat, különböző eredményeket kap.
- Jogkivonat: A jogkivonat lehet egy karakter, egy szó töredéke vagy egy egész szó. Egyetlen jogkivonat használható a közös szavak megjelenítésére, míg a kevésbé gyakori szavak megjelenítéséhez több jogkivonatra van szükség.
Felszólítások
A szöveges üzenet egy mondat. Az LLM több különböző nyelvet is megért. A kéréseket a saját nyelvén is megírhatja anélkül, hogy meg kellene tanulnia egy adott nyelvet az LLM használatához. Tekintse meg a következő példákat a parancssorokra:
Hozzon létre egy képet egy rózsaszín papagáj egy kalóz kalap.
Hozzon létre egy webalkalmazást a Pythonban, amely kezeli az ügyfeleket.
Minél konkrétabb, hogy mit kér, annál jobb az eredmény.
Tokenek
A jogkivonat egy egyszerű egységszöveg vagy kód, amelyet az LLM képes megérteni és feldolgozni.
Az OpenAI természetes nyelvi modelljei nem szavakon vagy karaktereken működnek szöveges egységként, hanem valami közötte: jogkivonatokon.
Az OpenAI hasznos tokenizer webhelyet biztosít, amely segít megérteni, hogyan tokenizálja a kéréseket. További információ: OpenAI tokenizer.
Feljegyzés
Miután elkezd begépelni az OpenAI tokenizer parancssorába, megjelenik egy számláló, amely megszámolja a mezőben lévő tokenek teljes számát.
Ha aktívan gépel, a számláló frissítése eltarthat néhány másodpercig.
Hány token van a következő szavakban?
Próbáljuk meg meghatározni a következő szavak apple
jogkivonatainak számát, blueberries
és Skarsgård
.
Mivel a szó apple
egy gyakori szó, egy jogkivonatot kell ábrázolni. Másrészt a szónak blueberries
két jogkivonatot (blue
és berries
) kell ábrázolnia. Ha a szó nem gyakori, a megfelelő neveknek, például Skarsgård
több jogkivonatnak is meg kell jelenítenie őket.
Ez a jogkivonat-ábrázolás teszi lehetővé az AI-modellek számára, hogy olyan szavakat generáljanak, amelyeket egyetlen szótárban sem talál anélkül, hogy betűről betűre kellene szöveget létrehozniuk.
Feljegyzés
A betűről betűre történő szöveg generálása könnyen gibberish-t eredményezhet.
Hogyan működik a befejezés?
A természetes nyelvi modellek egy jogkivonatot hoznak létre egymás után, nem meghatározott módon.
A modell minden lépésnél kibocsátja a tokenek listáját és a hozzájuk tartozó súlyokat. Az API ezután egy tokent mintáz a listából a súlya alapján. Az erősen súlyozott jogkivonatok nagyobb valószínűséggel lesznek kiválasztva.
Az API hozzáadja a kiválasztott jogkivonatot a parancssorhoz, és addig ismétli a folyamatot, amíg el nem éri a befejezéshez szükséges jogkivonatok maximális hosszát, vagy amíg a modell létrehoz egy speciális, stop jogkivonatnak nevezett jogkivonatot, amely megakadályozza az új jogkivonatok létrehozását.
Ez a nemdeterminisztikus folyamat teszi a modellt új szavak létrehozására minden alkalommal, amikor befejezési kérelmet küldünk.
Feljegyzés
Minden LLM-nek korlátja van a létrehozható jogkivonatok számára. A befejezések során ez a korlát az eredeti kérésben szereplő összes jogkivonatra és az újonnan létrehozott tokenekre vonatkozik, amikor össze vannak adva. A jogkivonatok korlátaival kapcsolatos további információkért tekintse meg az Azure OpenAI szolgáltatásmodelljeit.
A nagyobb jogkivonat-korlátok hosszabb befejezéseket és sokkal nagyobb kéréseket biztosítanak.