LifestyleTehnologijaVijesti

Poboljšavanje Točnosti Velikih Jezikovnih Modela Koristeći Sve…

Veliki jezikovni modeli (LLM) su u zadnjih nekoliko godina napravili izuzetne napredke i postigli mnoge zapažene prekore. Međutim, često se suočavaju s problemima s točnošću, često se pouzdano izjavljuju da su netočni.

Veliki jezikovni modeli (LLM) su u zadnjih nekoliko godina napravili izuzetne napredke i postigli mnoge zapažene prekore. Međutim, često se suočavaju s problemima s točnošću, često se pouzdano izjavljuju da su netočni. Ovaj problem, poznat kao “halucinacija”, nastaje iz nekoliko razloga, uključujući nekompletne, netočne ili sesirane podatke za učenje, “overfitting” ili “underfitting”, nedostatak iskustva iz stvarnog svijeta ili nejasna pitanja. Svi ovi faktori ometaju pouzdanost i povjerljivost LLM-a u praktičnim primjenama.

U suprotnosti s tim, “točnost” je sposobnost LLM-a da generira sadržaj koji je u skladu s stvarnim svjetskim znanjem. Jedan od najčešćih načina za poboljšanje točnosti je korištenje vanjskih podataka (npr. generiranje s dodatkom pretraživanja). Međutim, ovo zahtijeva složeniji sustav za identifikaciju i dohvaćanje relevantnih podataka, a čak i onda LLM-i mogu i dalje halucinirati.

Potencijalni cilj za smanjenje halucinacija je proces dekodiranja, koji je zadnji korak u generiranju teksta LLM-a. To je kada model pretvara interne predstave svojih predviđanja u čitljiv tekst za ljude. Postoji mnogo poznatih poboljšanja dekodiranja, kao što je speculativno dekodiranje, koje poboljšava brzinu generiranja teksta LLM-om. Slično tome, moglo bi se primijeniti analogna metoda “dekodiranja točnosti” koja bi u konačnim fazama generiranja uhvatila i ispravila halucinacije.

U “Self Logits Evolution Decoding” (SLED), predstavljenom na NeurIPS 2024, predstavili smo novu metodu dekodiranja koja poravnava izlaze LLM-a s faktičnim znanjem. SLED mijenja način na koji LLM generira tekst, koristeći sve slojeve LLM-a, a ne samo zadnji sloj, kako bi bolje poravnao izlaz modela s stvarnim činjenicama. Važno je napomenuti da SLED ne zahtijeva vanjski znanstveni bazen ili finu podešavanje podataka. Provodili smo široke eksperimente na raznim LLM-ovima s različitim konfiguracijama i veličinama. Rezultati su pokazali da SLED konzistentno poboljšava faktičku točnost na raznim zadacima i benchmarkima, uključujući zadatke s višestrukim izborom, otvorenom generacijom i razmišljanjem u lancu misli. Također smo pokazali da se SLED može fleksibilno integrirati s drugim metodama dekodiranja točnosti kako bi se daljnje smanjile halucinacije modela. Sada možete pristupiti kodu za pokretanje SLED na našem GitHub repozitoriju.

Kako radi SLED?

LLM-ovi razlažu rečenice na manje jedinice zvane “tokensi”, koji mogu biti pojedinačne riječi, dijelovi riječi ili čak interpunkcijske znakove. Kada LLM generira tekst, radi to jedan token po jedan. Na svakom koraku, LLM ne bira samo najvjerojatniji token. Umjesto toga, izračunava vjerojatnost svakog mogućeg sljedećeg tokena. Ovaj skup vjerojatnosti poznat je kao “distribucija”. LLM-ovi obrađuju tekst kroz više slojeva, generirajući “logite” (predviđanja) na svakom sloju, s logitima zadnjeg sloja koji obično određuju izlaz. “Early exit” logiti iz međuslojeva nude dodatne informacije, ali standardni LLM-ovi često se oslanjaju samo na zadnji sloj, što može dovesti do netočnih, ali “popularnih” odgovora zbog propuštenih kontekstualnih signala. SLED poboljšava ovo koristeći informacije iz svih slojeva LLM-a, a ne samo iz zadnjeg. Radi to ponovo koristeći matricu konačne projekcije u arhitekturi Transformera na early exit logite kako bi stvorio distribucije vjerojatnosti nad istim skupom mogućih tokena koje koristi zadnji sloj. To znači da SLED dobiva više procjena o tome koji bi sljedeći token trebao biti, jednu od svakog sloja. Uzimajući težinsku sredinu distribucija iz svih slojeva, dajući veći značaj nekim slojevima nego drugima. Na taj način, SLED rafinira predviđanja LLM-a uključenjem informacija iz različitih faza njegovog procesiranja. Na primjer, na slici ispod, LLM-u se postavlja pitanje “Koji je glavni grad Britanske Kolumbije?” SLED dodjeljuje veću vjerojatnost točnom odgovoru “Victoria” i manju vjerojatnost popularnom odgovoru “Vancouver”.

Ilustrativni primjer

Kako bi ilustrirali kako SLED poboljšava izlazne logite i ispravlja greške, razmotrimo matematički zadatak s riječima (ispod) koji zahtijeva više koraka da bi se stiglo do točnog rješenja. Zadatak je da LLM pročita matematički zadatak s riječima i napiše rješenje.

“John ima 10 jabuka. On daje 3 prijatelju. Koliko jabuka ima John sada?”

Točan odgovor je “John ima 7 jabuka sada.” Standardni LLM bi vjerojatno odgovorio “John ima 3 jabuke sada.” jer je to “popularniji” odgovor. Međutim, SLED bi vjerojatno odgovorio točno “John ima 7 jabuka sada.” jer koristi informacije iz svih slojeva LLM-a.

Zaključak

SLED predstavlja revolucionaran pristup poboljšanju točnosti LLM-ova. Ne zahtijeva vanjske podatke ili finu podešavanje, a pokazalo se da konzistentno poboljšava točnost na raznim zadacima. SLED je fleksibilan i može se integrirati s drugim metodama dekodiranja točnosti. Ako ste istraživač ili inženjer koji radi na LLM-ovima, SLED je vjerojatno vrijedan istraživanja.

Česta pitanja

1. Može li SLED biti primijenjen na sve LLM-ove?

Da, SLED je dizajniran tako da se može primijeniti na širok spektar LLM-ova, neovisno o njihovoj veličini ili arhitekturi. Međutim, rezultati mogu varirati ovisno o specifičnim karakteristikama modela.

2. Koliko dugo traje da se SLED integrira u postojeći LLM?

Integracija SLED-a u postojeći LLM može varirati ovisno o implementaciji i resursima. Međutim, naš tim je pružio efikasni kod na GitHub-u koji bi trebao olakšati integraciju.

3. Može li SLED poboljšati točnost LLM-a u svim zadacima?

SLED je pokazao da poboljšava točnost na raznim zadacima, uključujući višestruki izbor, otvorenu generaciju i razmišljanje u lancu misli. Međutim, točnost može varirati ovisno o specifičnim karakteristikama zadatka.

4. Koje su prednosti i nedostaci SLED-a?

Prednosti SLED-a uključuju poboljšanu točnost, fleksibilnost i nezahtjevnost vanjskih podataka ili finog podešavanja. Nedostaci uključuju potencijalno veće računske resurse i složenost implementacije.

5. Gdje mogu pronaći više informacija o SLED-u?

Možete pronaći više informacija o SLED-u na našem GitHub repozitoriju i u našoj objavljenoj radnjoj. Također smo pružili audiozapis koji objasnjava SLED na našoj web stranici.

Povezano

1 of 260

Odgovori

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena sa * (obavezno)