Podešavanje AI modela za generiranje stavki

Published on studenoga 19,2021

Tuning AI Models for Assessment Content Generation

Autor: Charles Foster

U Finetune-u razvijamo AI rješenja koja se bave nekim od najizazovnijih problema u tehnologiji obrazovanja, uključujući automatiziranu generaciju sadržaja i klasifikaciju te preporuke obrazovnih resursa potpomognutih AI-jem. Budući da se tema s kojom se naši alati moraju suočiti proteže od K-12 do razvoja radne snage, snažno ulažemo u metode koje nam omogućuju da povećamo opseg i dubinu onoga što naši modeli pokrivaju. Ključne komponente ovog pristupa su fleksibilne metode za obuku specijaliziranih neuronskih mreža u domenama gdje modeli opće namjene nisu dovoljni. U ovom blog postu želim podijeliti dio našeg putovanja u istraživanju ovih metoda.

Fino podešavanje

Tipično fino podešavanje neuronskih jezičnih modela uključuje simultano optimiziranje svih njihovih parametara koji se mogu trenirati, što može iznositi milijarde za mreže poput GPT-J. Na takvim razmjerima, procesi fino podešavanja i inferencije nisu trivijalni, što otežava široku primjenu ovih modela. U našim vlastitim istraživanjima, nekoliko ključnih problema činilo se najvažnijima:

  • Pokretanje ovih transformerskih modela već pritisne granice GPU memorije (VRAM), a tijekom fino podešavanja postoji izravna povezanost između broja parametara koji se optimiziraju i količine dodatne memorije koja se troši.
  • Modificiranjem svih parametara u mreži, protok informacija naučen tijekom predobuke može biti poremećen, što rezultira zaboravom i gubitkom sposobnosti brzog učenja.
  • Serviranje prilagođenog multi-gigabajtnog modela za svaki slučaj primjene stvorilo bi neprihvatljive latencije i troškove.

Ove kombinirane brige motivirale su nas da istražimo druge metode iz recentne literature kako bismo prilagodili naše neuronske jezične modele. Srećom, tijekom proteklih godinu dana, područje istraživanja obrade prirodnog jezika razvilo je mnoštvo metoda za smanjenje troškova prilagodbe ponašanja unaprijed obučenih jezičnih modela.

Podešavanje prompta

Izvorni pristup koji smo slijedili naziva se Podešavanje prompta ili Soft prompting (Lester et al. 2021). U ovoj metodi, parametri mreže iz predobuke ostaju zamrznuti. Umjesto toga, dodajemo mali broj učenja vektora ugrađivanja (obično 10 do 20) ispred ulaznih tokena prompta, te prilagođavamo te ugrađene vektore s uobičajenim ciljem modeliranja jezika na skupu podataka za fino podešavanje. Ovi vektori ne predstavljaju tokene jezika; umjesto toga, možemo ih smatrati gustim spremnikom konteksta na kojem se mreža može uvjetovati — putem mehanizma pažnje — dok predviđa tokene u sekvenci.


Podešavanje prompta dodaje samo mali trošak tijekom izvođenja modela, budući da su soft prompti u rasponu kilobajta i mogu se izvršavati kroz mrežu paralelno. Ove značajke čine ih privlačnima za posluživanje mnogih istovremenih korisnika, kao što su nedavne primjene tehnike u AI pripovijedanju pokazale. Međutim, integracija soft prompta u popularne okvire poput HuggingFace-ovih transformera je složena, budući da su sučelja uglavnom dizajnirana za rad s nizovima indeksiranih tokene umjesto gustih vektora. Osim toga, kako se dodaje više konteksta između soft prompta i generacije, počinjemo primjećivati nerazmjere između snage uvjetovanja na soft prompt i na kontekst tokena. Održavanje sposobnosti fleksibilnog dodavanja stotina tokena konteksta tijekom izvođenja bilo je važno za nas, jer pruža dodatne precizne poluge kontrole u procesu autoriranja stavki. Ako želimo usmjeriti model da se fokusira na sadržaj s određenih stranica udžbenika, ili da autorira stavku za razumijevanje pročitanog, ili da pruži primjere brzog učenja, dugotrajna kontekstualizacija je važna.

Low Rank Adapters (LoRA)

Kasnije smo prešli na metodu nazvanu LoRA ili Low Rank Adapters (Hu et al. 2021). Ova tehnika razvijena je od strane istraživača u Microsoftu koji rade na modelima veličine GPT-3, i temelji se na ranijim pristupima adapterima. Ako razmišljamo o transformatoru kao o postupnom usavršavanju svojih latentnih stanja tokena s svakim rezidualnim slojem, koncept adaptera je dodati mali, ulazno ovisni delta (inicijaliziran na no-op) tim latentnim stanjima na danom sloju. Ova blaga potpora tada može modulirati svoje ponašanje nizvodno, na primjer, naglašavajući dijelove ulaza koji su relevantni za zadatak.


Low rank adapters su vrsta adaptera koja cilja na nisku rang subprostor, što smanjuje broj novih parametara koje trebamo trenirati (s D2 na 2 × D × r, gdje je D u tisućama). Kao i kod soft promptinga, originalni parametri mreže ostaju zamrznuti kako bi se očuvalo znanje koje sadrže iz predobuke, i samo prilagođavamo ove nove parametre adaptera. U našim internim testovima, vidjeli smo dobre pokazatelje iz LoRA-e. Osim što nam omogućava da prilagodimo velike modele na malim hardverskim budžetima, modeli s adapter slojevima također zadržavaju mnogo svoje izvorne sposobnosti brzog učenja dok se i dalje prilagođavaju ciljnim domenama. Značajno je da je integracija low-rank adaptera u druge okvire jednostavna, jer možemo jednostavno zamijeniti postojeće linearne slojeve s linearnim + adapter slojevima prema potrebi.

Nastavljajući naprijed

Kako bismo dali uvid u vrstu poboljšanja koja smo primijetili u našim istraživanjima, u nastavku dijelimo mali odabir generacija iz modela treniranih s različitim pristupima podešavanju. Ove stavke su sve generirane koristeći iste tri ulazne upite koji se odnose na pružanje njege pacijentima: prvi se fokusira na prioritizaciju potreba više klijenata, a drugi na poduzimanje akcije u timskom okruženju.

Stavka #1: Medicinska sestra procjenjuje klijenta koji je zakazan za vanbolničku operaciju. Koje od sljedećih pacijenata bi medicinska sestra procijenila sljedeće? (A) Pacijent s tipom 1 dijabetesa (B) Pacijent s akutnim pankreatitisom (C) Pacijent koji zahtijeva intravensku antibiotsku terapiju (D) Pacijent s Crohnovom bolešću Stavka #2: Klijent je primljen u bolnicu s dijagnozom kongestivnog zatajenja srca. Majka klijenta odbija liječenje. Koje od sljedećih akcija bi medicinska sestra trebala poduzeti? (A) Obavijestiti pružatelja usluga o situaciji. (B) Provjeriti popis lijekova pacijenta. (C) Provjeriti medicinsku dokumentaciju klijenta. (D) Obavijestiti liječnika klijenta o stanju klijenta.

Stavka #3: Medicinska sestra procjenjuje pacijenta na pedijatrijskoj jedinici. Klijent je zakazan za dijagnostičku obradu, uključujući radiografiju prsnog koša. Koje od sljedećih pacijenata bi medicinska sestra trebala planirati procijeniti sljedeće? (A) Dijete koje ima upalu pluća i doživljava groznicu (B) Dijete koje ima osip i ne reagira na lijek (C) Dijete koje ima groznicu i ima temperaturu >100.4 (D) Dijete koje ima groznicu i osip Stavka #4: Klijent s bubrežnom insuficijencijom je u bolnici i zakazan je za transplantaciju bubrega. Klijent čvrsto vjeruje da je transplantacijski kirurg nesposoban. Klijent odbija dopustiti liječniku iz druge bolnice da izvrši transplantaciju. Koje od sljedećih akcija bi glavna medicinska sestra trebala poduzeti? (A) Uzeti izjavu od klijenta da je transplantacijski kirurg kompetentan i dati je transplantacijskom kirurgu. (B) Zamoliti klijenta za potpisanu izjavu koja bi podržala njezinu tvrdnju. (C) Kontaktirati transplantacijskog kirurga i saznati zašto klijent odbija dopustiti kirurgu iz druge bolnice da izvrši transplantaciju. (D) Obavijestiti transplantacijskog kirurga da klijent odbija transplantaciju.

Stavka #5: Medicinska sestra planira dodijeliti klijente različitim stanicama pored kreveta. Koje od sljedećih klijenata bi medicinska sestra trebala dodijeliti stanicama pored kreveta najbližim medicinskoj sestri? (A) Klijent za kojeg se sumnja da ima dijagnozu plućne embolije i koji zahtijeva kompjutoriziranu tomografiju (CT) (B) Klijent kojem je potrebna pomoć pri pražnjenju crijeva (C) Klijent koji ima hitnu indikaciju za radiografiju prsnog koša (D) Klijent kojem je potrebna radiografija prsnog koša zbog kašlja Stavka #6: LPN se brine za klijenta s indwelling urinarni kateter i traži od medicinske sestre da joj pomogne očistiti kateter. Koje od sljedećih akcija bi medicinska sestra trebala poduzeti? (A) Objasniti klijentu da će trebati osigurati sredstvo za čišćenje i da će trebati dobiti suglasnost klijenta za postupak. (B) Zamoliti LPN za pomoć. (C) Ponuditi pomoć klijentu u čišćenju katetera. (D) Obećati LPN-u da će joj medicinska sestra pomoći.

Možemo primijetiti da, iako su najbolje stavke iz osnovnog modela većinom tečne i logički koherentne, one su sklone nedovoljnom ograničenju (kao u #1) ili zahtijevaju vrlo malo znanja o području sestrinske njege (kao u #3). U usporedbi s osnovnim stavkama, stavke iz modela podešavanja prompta i modela s low-rank adapterima sadrže veće detalje u svojim stimulansima, osnovama i opcijama. Tema je relevantna za domenu, tražeći specifično znanje u upravljanju njegom pacijenata umjesto oslanjanja isključivo na pozadinsko znanje. Štoviše, stavke iz modela s low-rank adapterima imaju konzistentniji oblik. Na primjer, stavke dosljedno nazivaju "klijent" umjesto "pacijent", u skladu s jezikom koji bi se vjerojatno pojavio u procjenama (usporedite #5 s #1 i #3). Također uspješno prati reference na više pojedinaca unutar scenarija (usporedite #6 s #4).

Poboljšanja u pokrivenosti domene, stilskoj dosljednosti i logičkoj koherentnosti mogu se pretvoriti u značajna poboljšanja u korisnosti neuronskih jezičnih modela. Ovo je samo početak: kako tehnologija sazrijeva, otkrit će se još više metoda za stvaranje prilagođenih, kontrolabilnih modela prirodnog jezika na velikoj skali. A kako se te metode otkrivaju, nastavit ćemo uključivati najbolje iz akademske zajednice, industrije i neovisnog istraživanja u Finetune proizvode.

 

Iskrene zahvalnosti Nicku Koprowiczu, Jesseu Hameru, Saadu Khanu i Ogdenu Morseu za pružanje ljubaznih i korisnih povratnih informacija u razvoju ovog blog posta.

 

Reference

Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685.

Lester, B., Al-Rfou, R., & Constant, N. (2021). The power of scale for parameter-efficient prompt tuning. arXiv preprint arXiv:2104.08691.