LLM so revolucionarno spremenili način interakcije s tehnologijo, oblikovali našo digitalno pokrajino in preoblikovali način komuniciranja, učenja in inovacij. V ospredju te revolucije so obsežni programi LLM, kot so OpenA GPT-4, Google LaMDA in Anthropic. Te jezikovne modele je mogoče uporabljati programsko z uporabo njihovih vmesnikov API ali prek njihovih chat gui vmesnikov. Ti vmesniki se imenujejo OpenAI ChatGPT, Google Bard oziroma Anthropic Claude (in drugi).
Inženiring GPT vnosov (promptov) je postopek oblikovanja in izpopolnjevanja vhodnih GPT vnosov (promptov) za modele LLM za doseganje želenih rezultatov. Čeprav se sprva zdi trivialno ali povsem tehnično, gre v resnici za multidisciplinarno prizadevanje. Med drugim zahteva celovito razumevanje jezikoslovja, kognitivne znanosti, umetne inteligence, oblikovanja uporabniške izkušnje in etike.
Kako vplivajo GPT vnosi (prompti)na LLM
Obsežni LLM so oblika umetne inteligence, ki se osredotoča na razumevanje in ustvarjanje človeškega jezika. Za obdelavo in analizo ogromne količine besedilnih podatkov uporabljajo izpopolnjene algoritme strojnega učenja, predvsem nevronske mreže. Glavni cilj LLM je ustvariti skladne, kontekstualno ustrezne in človeku podobne odgovore na dane vhodne pozive. Za razumevanje delovanja mehanizmov vseživljenjskega učenja je bistvenega pomena, da obravnavamo njihovo osnovno arhitekturo in postopek usposabljanja. Z uporabo nekaterih analogij za razlago teh konceptov jih bo lažje razumeti.
Arhitektura
Mreže LLM, kot je GPT-4 podjetja OpenAI, so izdelane z uporabo posebne vrste nevronske mreže, imenovane transformator. Transformatorji imajo posebno strukturo, ki jim omogoča dobro delo z besedilom.
Ena od pomembnih stvari v Transformerjih je “samopozornost”. To pomeni, da se lahko model osredotoči na različne dele stavka in se odloči, katere besede so v določenem kontekstu pomembnejše. To je kot posvečanje pozornosti besedam, ki so najpomembnejše.
Druga stvar, ki jo uporabljajo Transformerji, je pozicijsko kodiranje. To modelu pomaga slediti, kje v stavku se nahaja posamezna beseda. To je, kot da bi vsaki besedi dali posebno oznako, da bi model vedel, kje je njeno mesto v zaporedju.
S temi funkcijami lahko modeli LLM dobro obdelajo in razumejo dolga besedila. Na podlagi konteksta, v katerem se pojavljajo, lahko ugotovijo pomen besed in si zapomnijo vrstni red besed v stavku.
Usposabljanje LLM (LLM training)
Postopek usposabljanja za program LLM je sestavljen iz dveh glavnih faz: predhodnega usposabljanja in natančnega prilagajanja. Učitelji vseživljenjskega učenja so kot izredno nadarjeni učenci tujih jezikov. Med usposabljanjem gredo skozi ti dve glavni fazi.
Pred-trening (Pre-training)
V tej prvi fazi je udeleženec programa LLM izpostavljen ogromnim količinam besedil iz knjig, člankov, spletnih strani in drugih virov. To je, kot da bi lahko prebral ogromno knjižnico, polno različnih informacij.
Ko program LLM pregleda vsa ta besedila, začne zaznavati vzorce v strukturiranosti jezika. Uči se na primer naslednjih stvari:
- Katere besede si ponavadi sledijo druga za drugo (verjetnost, da bo besedi „pes“ sledila beseda „laja“)
- Slovnico in stavčno strukturo različnih jezikov (kam gre glagol v stavku)
- Teme in pojmi, s katerimi se določene besede povezujejo (učenje, da sta „pes“ in „psička“ povezana z živalmi, hišnimi ljubljenčki itd.)
Za obdelavo vsega tega besedila ga program LLM razdeli na manjše prebavljive dele, nekako tako, kot bi jezik prežvečili na koščke. Ta postopek se imenuje drobljenje (chunking).
Program LLM razkosa stavke na manjše dele, imenovane žetoni (tokens). Žetoni so lahko posamezne besede, delne besede ali celo posebni znaki, kot so ločila.
Po razčlenitvi besedila program LLM vsak žeton vgradi ali kodira v številčni vektor, kar je podobno, kot da bi vsakemu žetonu dal matematično predstavitev – na primer psa prevede v nekaj takega kot [0,51, 0,72, 0,33,…], ki ga računalnik lahko obdela. Ta postopek se imenuje “embedding” – vgrajevanje.
To je, kot da bi stavek iz angleščine prevedli v številke. Namesto besed ima zdaj vsak znak ustrezen vektor številk, ki jih računalniki razumejo.
Ta postopek vgrajevanja zajema informacije o pomenu vsakega žetona na podlagi vzorcev, ki se jih je program LLM naučil pri obsežnem predhodnem usposabljanju. Žetoni s podobnim pomenom se v vektorskem prostoru vgradijo bližje drug drugemu.
Vsi ti numerični vektorji žetonov se shranijo v vektorsko podatkovno zbirko LLM, ki jo lahko kasneje uporabi za iskanje žetonov in analizo njihovih odnosov z drugimi žetoni. Ta baza vektorjev je kot indeks matematične knjižnice za program LLM.
V predpripravi torej mehanizem LLM oblikuje povezave med besedami in pojmi z analizo velikih količin besedila in shranjevanjem vzorcev v svojih zapletenih možganih nevronske mreže. Tako LLM shrani, da imata pes in kuža podobne vektorske predstavitve, saj imata sorodne pomene in kontekste.
Vendar pa sta si pes in kolo bolj oddaljena, saj sta pomensko različna. Vektorski prostor ureja besede glede na njihove podobnosti in razlike.
Fina prilagoditev
Po predhodnem učenju se mehanizem LLM premakne v fazo natančnega uglaševanja (fine tunning). Tu se dodatno usposobi na manjših naborih podatkov, ki so pomembni za določene naloge.
To je podobno, kot če bi se LLM po končanem splošnem izobraževanju osredotočil na posamezna področja študija, na primer na nadaljevalni pouk biologije, potem ko se je naučil osnov naravoslovja.
Pri natančnem učenju se program LLM uri v ustvarjanju rezultatov za določene naloge na podlagi označenih podatkov o primerih. Označeni podatki se nanašajo na podatke, ki so bili opremljeni z oznakami, ki kategorizirajo ali opisujejo vsebino. Te oznake pomagajo pri usposabljanju modelov, saj zagotavljajo primere pričakovanih izhodnih podatkov.
Ko programu LLM pozneje posredujete nov poziv, uporabi vzorce, pridobljene med predhodnim usposabljanjem in natančnim prilagajanjem, da analizira poziv in ustvari ustrezen odziv.
Program LLM ne razume jezika tako kot ljudje. Vendar lahko s prepoznavanjem vzorcev na podlagi množice primerov pri usposabljanju posnema človeške odzive in je zelo sposoben učenec jezika.
Poleg tega lahko te vektorske predstavitve uporabimo za različne naloge obdelave naravnega jezika, kot so analiza čustev, modeliranje tem in klasifikacija dokumentov. S primerjavo vektorjev besed ali besednih zvez lahko algoritmi določijo podobnost ali sorodnost konceptov, ki jih predstavljajo, kar je bistveno za številne napredne naloge razumevanja in tvorjenja jezika.
(Zaenkrat) Problematičeno kontekstno okno (context window)
Kritični dejavnik za vse modele je kontekstno okno (context window) – količina besedila, ki ga lahko model obravnava naenkrat , ki vpliva na skladnost in globino med interakcijami. Kontekstno okno je pomembno zlasti iz naslednjih razlogov:
- Skladnost in ustreznost: Večje kontekstno okno omogoča modelu, da ohrani nit pogovora ali dokumenta, kar vodi k bolj skladnim in kontekstualno ustreznim odzivom.
- Ustvarjanje besedila: Pri nalogah, kot je pisanje člankov, zgodb ali kode, večje kontekstno okno modelu omogoča ustvarjanje vsebine, ki je skladna s prejšnjimi deli
- Poglobljenost pogovora: V sistemih za dialog večje kontekstno okno umetni inteligenci omogoča, da si zapomni prejšnje dele pogovora in se nanje sklicuje, kar ustvarja bolj zanimivo in naravno interakcijo.
- Iskanje znanja: Pri nalogah, ki zahtevajo sklicevanje na obsežna besedila ali pridobivanje podatkov iz več delov dokumenta, večje kontekstno okno modelu omogoča učinkovitejše navzkrižno sklicevanje in sintetiziranje informacij.
Vendar obstajajo kompromisi, saj večja kontekstna okna zahtevajo več računske moči in pomnilnika za obdelavo. To lahko vpliva na odzivni čas in stroške. To je ključno področje razlikovanja med modeli LLM, saj lahko izboljšave kontekstnega okna bistveno povečajo uporabnost in prilagodljivost modela pri zapletenih nalogah.
Claude 2 ima kontekstno okno 100 000 tokenov (žetonov), medtem ko ima GPT-4-turbo kontekstno okno 128 000 žetonov. V angleščini je povprečno število besed na 1 000 žetonov približno 750. Raziskovalci v kratkem napovedujejo modele z več kot milijonom žetonov.
Potovanje od prompta do končnega odgovora
- Ko mehanizem LLM konča usposabljanje, je pripravljen, da začne ustvarjati odgovore na pozive (torej prompte), ki mu jih posredujejo uporabniki.
- Ko uporabnik vnese prompt (poziv), se ta vnese v možgane nevronskega omrežja LLM. Ta ima v svoji možganski arhitekturi posebne komponente, ki pomagajo analizirati poziv.
- En del je posebej pozoren na najpomembnejše besede v kontekstu, podobno kot se pri branju osredotočamo na ključne besede.
- Druga komponenta si zapomni vrstni red besed in mesto, kjer se nahajajo v pozivu, kar je pomembno za pravilno razumevanje konteksta.
- Z uporabo možganskih komponent sistem LLM ustvari seznam besed, ki bi lahko logično sledile v odgovoru. Vsaki možni naslednji besedi dodeli oceno verjetnosti.
- Nato z uporabo tehnike, imenovane dekodiranje, izbere najboljše možnosti besed in jih pretvori v končni odgovor.
- Tako lahko izbere najverjetnejšo naslednjo besedo, lahko pa naključno izbere nekaj najverjetnejših kandidatov, da se odgovor ne bi ponavljal in bi zvenel bolj človeško.
- Če povzamem, posebna arhitektura možganov LLM pomaga, da je pozoren na prave besede, si zapomni njihov vrstni red in dodeli verjetnost naslednjim besedam. Nato najboljše možnosti dekodira v odgovor, ki ustrezno ustreza pozivu.
- Ta postopek omogoča, da program LLM na podlagi začetnega GPT vnosa (prompta) uporabnika ustvari človeku zelo podobne odgovore, ki smiselno nadaljujejo pogovor.
- Ena od ključnih prednosti mehanizmov LLM je njihova zmožnost učenja z nekaj posnetki ali brez posnetkov. To pomeni, da lahko posplošijo svoje znanje iz faze pred učenjem in se hitro prilagodijo novim nalogam ali področjem z minimalnimi dodatnimi podatki za učenje. Pri učenju z nekaj udarci je modelu na voljo majhno število primerov, na katerih se uči, pri učenju z ničelnim udarcem pa se model pri oblikovanju odgovora zanaša le na svoje predhodno znanje in dani poziv.
- Pri nalogah razumevanja in ustvarjanja naravnega jezika so modeli LLM pokazali izjemen napredek, njihova uporaba pa zajema različna področja, kot so umetna inteligenca v pogovoru, ustvarjanje vsebin, prevajanje, sistemi za odgovarjanje na vprašanja in drugo. Vendar se je treba zavedati, da mehanizmi vseživljenjskega učenja niso brez omejitev. Včasih lahko pripravijo napačne ali nesmiselne odgovore, so občutljivi na majhne spremembe v vhodnih besednih zvezah ali kažejo pristranskost, ki je prisotna v podatkih za učenje. Zato ima pri zmanjševanju teh omejitev in zagotavljanju, da bodo mehanizmi vseživljenjskega učenja dali želene rezultate za določeno nalogo ali aplikacijo, ključno vlogo inženiring GPT vnosov (promptov).
Priporočeno branje ( v ang. jeziku ) :
Rick H.
https://www.linkedin.com/pulse/prompt-engineering-getting-what-you-want-from-chatgpt-rick-hightower/
