Top-p uzorkovanje, poznato i kao uzorkovanje jezgre (), jeste stohastička strategija dekodiranja za generiranje sekvenci iz autoregresivnih vjerovatnosnih modela. Prvobitno su ga 2019. predložili Ari Holtzman, Yejin Choi i saradnici za generiranje prirodnog jezika, radi ublažavanja ponavljajućeg i besmislenog teksta koji mogu proizvoditi druge uobičajene metode dekodiranja, kao što je pretraga snopom. Tehnika je kasnije primijenjena i u drugim naučnim oblastima, kao što su proteinsko inženjerstvo i geofizika.
Kod top-p uzorkovanja zadaje se prag vjerovatnoće p, a naredna stavka u sekvenci uzorkuje se samo iz najmanjeg mogućeg skupa kandidata s visokom vjerovatnoćom čija kumulativna vjerovatnoća prelazi p. Ovaj metod prilagođava veličinu skupa kandidata prema sigurnosti modela, zbog čega je fleksibilniji od top-k uzorkovanja, koje uzorkuje iz fiksnog broja kandidata. Zbog djelotvornosti se široko koristi u mnogim primjenama velikih jezičkih modela.
Tehnika
U svakom koraku procesa generiranja teksta jezički model računa raspodjelu vjerovatnoće nad cijelim rječnikom za naredni token. Iako je moguće jednostavno izabrati token s najvećom vjerovatnoćom (pohlepna pretraga) ili ograničen skup sekvenci visoke vjerovatnoće (pretraga snopom), ovi deterministički metodi često proizvode tekst koji je jednoličan, ponavljajući ili besmislen. Top-p uzorkovanje uvodi slučajnost kako bi se izbjegli takvi problemi, ali uz zadržavanje kvaliteta.
Osnovna ideja jeste da se u svakom koraku uzorkuje iz manjeg i vjerodostojnijeg skupa tokena, koji se naziva jezgra. Jezgra sadrži najvjerovatnije naredne tokene čija zbirna, odnosno kumulativna vjerovatnoća, tek prelazi prag p. Uzorkovanjem samo iz ove dinamički određene grupe model se može prilagoditi različitim situacijama. Kada je model siguran u naredni token, naprimjer ako jedan token ima vrlo visoku vjerovatnoću, jezgra će biti mala. Kada je nesiguran, odnosno kada su vjerovatnoće ravnomjernije raspoređene, jezgra će biti veća i dopustit će više raznolikosti.
Postupak u svakom koraku izgleda ovako: Model računa vjerovatnoće za sve moguće naredne tokene. Tokeni se poredaju po vjerovatnoći silaznim redoslijedom. Jezgra se formira biranjem tokena od vrha liste dok njihova kumulativna vjerovatnoća ne pređe unaprijed zadani prag p. Vjerovatnoće tokena unutar jezgre zatim se ponovno skaliraju tako da njihov zbir bude 1. Svi tokeni izvan jezgre odbacuju se, odnosno dodjeljuje im se vjerovatnoća 0. Konačni naredni token nasumično se uzorkuje iz nove, manje raspodjele.
Formalno, jezgra definira se kao najmanji skup tokena koji zadovoljava:
U ovoj formuli predstavlja vjerovatnoću tokena s obzirom na prethodne tokene .
Primjer
Zamislimo da u određenom koraku jezički model ima rječnik od pet riječi: [kuća, pas, mačka, jede, spava] i proizvodi sljedeće vjerovatnoće:
kuća: 0,5 pas: 0,2 mačka: 0,1 jede: 0,1 spava: 0,1
Ako postavimo :
Tokeni se poredaju po vjerovatnoći: [kuća, pas, mačka, jede, spava]. Izračunava se kumulativna vjerovatnoća: kuća: 0,5 kuća + pas: 0,5 + 0,2 = 0,7 kuća + pas + mačka: 0,7 + 0,1 = 0,8 Jezgra je najmanji skup s kumulativnom vjerovatnoćom ≥ 0,8, što je . Vjerovatnoće za ovaj skup ponovno se skaliraju tako da im zbir bude 1: P(kuća) = 0,5 / 0,8 = 0,625 P(pas) = 0,2 / 0,8 = 0,25 P(mačka) = 0,1 / 0,8 = 0,125 Naredni token zatim se uzorkuje iz ove nove raspodjele, što znači da jede i spava imaju 0% vjerovatnoće da budu izabrani.
Top-k uzorkovanje
Top-k uzorkovanje slična je tehnika u kojoj se skup kandidatskih tokena ograničava na najvjerovatnijih tokena. Glavna prednost top-p uzorkovanja jeste njegova prilagodljivost. Kada je model vrlo siguran u naredni token, odnosno kada je raspodjela izrazito vršna, jezgra može biti vrlo mala. Kada je model nesiguran, odnosno kada je raspodjela ravna, ona može biti znatno veća i omogućiti više raznolikosti. Nasuprot tome, top-k uvijek uzorkuje iz fiksnog broja tokena, što u zavisnosti od konteksta može biti previše ograničavajuće ili preširoko.
Primjene
Iako je top-p uzorkovanje najpoznatije kao strategija dekodiranja za velike jezičke modele, tehnika je prilagođena i drugim naučnim oblastima koje uključuju generiranje ili analizu sekvencijalnih podataka iz vjerovatnosnih modela.
Generiranje prirodnog jezika
U izvornoj oblasti generiranja prirodnog jezika top-p uzorkovanje cijeni se zbog mogućnosti proizvodnje raznovrsnijeg i koherentnijeg teksta u poređenju s determinističkim metodima. Pokazalo se korisnim u zadacima kao što je automatsko generiranje pitanja, gdje je raznolikost uzoraka važna za stvaranje djelotvornih podataka za treniranje modela za odgovaranje na pitanja.
Dizajn lijekova i proteina
Top-p uzorkovanje koristi se u računarskoj biologiji za generiranje novih molekulskih i proteinskih sekvenci pomoću specijaliziranih jezičkih modela. U de novo dizajnu lijekova hemijski jezički modeli trenirani na molekulskim strukturama koriste uzorkovanje jezgre za generiranje usmjerenih biblioteka novih i valjanih kandidata za lijekove. Kombiniranjem takvog generiranja s prediktivnim modelom za bioaktivnost istraživači su identificirali nove i potentne inhibitore kinaza. Slično tome, u proteinskom inženjerstvu ova tehnika koristi se za uzorkovanje proteinskih jezičkih modela radi istraživanja ogromnog prostora mogućih sekvenci aminokiselina i pronalaženja novih funkcionalnih kandidata za upotrebu u terapeuticima ili novim materijalima.
Geofizika
Tehnika je primijenjena i u geofizici za uklanjanje šuma iz audio magnetoteluričkih (AMT) podataka. U jednoj metodi uzorkovanje jezgre uključeno je u mehanizam pažnje kako bi se pomoglo u prepoznavanju i uklanjanju složenog antropogenog šuma iz geofizičkih signala. Time se poboljšava tačnost AMT-a pri tumačenju strukture otpornosti Zemljine podzemne građe, što je važno za primjene kao što je istraživanje minerala.
Ograničenja i alternative
Iako top-p i top-k uzorkovanje rješavaju mnoge probleme determinističkih metoda kao što je pretraga snopom, imaju i nedostatke. Istraživanja su pokazala da ovi stohastički metodi mogu proizvesti tekst s nepoželjnim ponavljanjima i da ne moraju u potpunosti obuhvatiti statistička svojstva ljudskog jezika.
Predložen je niz alternativnih strategija uzorkovanja za rješavanje ovih ograničenja.
Činjenično uzorkovanje jezgre predloženo je radi suzbijanja sklonosti da "uniformna slučajnost" primijenjena na jezgru naruši činjeničnost generiranog teksta. Ono dinamički prilagođava nivo slučajnosti kako bi poboljšalo činjeničnu tačnost uz održavanje kvaliteta teksta. Lokalno tipično uzorkovanje posmatra generiranje teksta iz ugla teorije informacija. Umjesto da bira samo tokene s najvećom vjerovatnoćom, uzorkuje iz skupa tokena koji su "lokalno tipični" u informacijsko-teorijskom smislu, što prema istraživanjima smanjuje ponavljanje i poboljšava kvalitet. Prioritetno uzorkovanje deterministička je alternativa oblikovana za rješavanje problema ponovljenih ili nekoherentnih uzoraka. Ono proizvodi skup jedinstvenih uzoraka poredanih prema sigurnosti modela i u nekim zadacima optimizacije kompajlera pokazalo se boljim od uzorkovanja jezgre.
Također pogledajte
Beam search
Dalje čitanje
Reference
Kategorija:Generiranje prirodnog jezika Kategorija:Mašinsko učenje Kategorija:Veliki jezički modeli Kategorija:Vještačka inteligencija