Prilagajanje AI modelov za generiranje predmetov

Published on november 19,2021

Tuning AI Models for Assessment Content Generation

Av Charles Foster

V podjetju Finetune razvijamo rešitve umetne inteligence za reševanje nekaterih najbolj zahtevnih težav v tehnologiji izobraževanja, vključno z avtomatizirano generacijo vsebine ter klasifikacijo in priporočili učnih virov, podprtimi z umetno inteligenco. Ker se predmetna področja, s katerimi se morajo naši pripomočki ukvarjati, razteza od osnovne šole do razvoja delovne sile, močno vlagamo v metode, ki nam omogočajo širitev obsega in globine pokritosti naših modelov. Ključni elementi tega pristopa so fleksibilne metode za usposabljanje specializiranih nevronskih mrež na področjih, kjer splošni modeli niso dovolj. V tem blogu bi rad delil del naše poti pri raziskovanju teh metod.

Fino prilagajanje

Tipično fino prilagajanje nevronskih jezikovnih modelov vključuje hkratno optimizacijo vseh njihovih parametrov, kar lahko pomeni več milijard za mreže, kot je GPT-J. Pri takšnih obsegih sta tako fino prilagajanje kot proces sklepanja zahtevna, kar otežuje široko uvedbo teh modelov. V naših raziskavah so se pojavile nekatere ključne težave:

  • Preprosto izvajanje teh transformatornih modelov se že sooča z omejitvami pomnilnika GPU (VRAM), med fino prilagajanjem pa obstaja neposredna povezava med številom optimiziranih parametrov in količino dodatnega porabljenega pomnilnika.
  • Z spremembo vseh parametrov v mreži se lahko moti pretok informacij, ki je bil naučen med predhodnim usposabljanjem, kar vodi do pozabljanja in izgube sposobnosti hitrega učenja.
  • Servisiranje prilagojenega večgigabajtnega modela za vsak primer uporabe bi ustvarilo nesprejemljivo latenco in stroške. 

Te zaskrbljujoče težave so nas spodbudile k raziskovanju drugih metod iz nedavne literature za prilagajanje naših nevronskih jezikovnih modelov. Na srečo je v zadnjem letu področje raziskav obdelave naravnega jezika razvilo vrsto metod za zmanjšanje stroškov prilagajanja vedenja predhodno usposobljenih jezikovnih modelov.

Prilagajanje pozivov

Originalni pristop, ki smo ga zasledovali, se imenuje Prilagajanje pozivov ali Mehko pozivanje (Lester et al. 2021). V tej metodi so parametri mreže iz predhodnega usposabljanja zamrznjeni. Namesto tega pred inputni pozivni token dodamo majhno število učljivih vektorskih vnosov (običajno 10 do 20) in prilagodimo te vnosne vektorje z običajnim jezikovnim modeliranjem na podatkovnem naboru za fino prilagajanje. Ti vektorski vnosi ne predstavljajo jezikovnih tokenov; lahko jih obravnavamo kot gosto shrambo konteksta, na katero se mreža lahko pogojno opira—prek mehanizma pozornosti—medtem ko napoveduje tokene v zaporedju.


Prilagajanje pozivov dodaja le majhne stroške pri izvajanju modela, saj so mehki pozivi v razponu kilobajtov in jih je mogoče izvajati v mreži vzporedno. Te funkcije jih naredijo privlačne za servisiranje številnih hkratnih uporabnikov, kot so pokazali nedavni uvedbi tehnike v AI pripovedovanju zgodb. Vendar pa je integracija mehkih pozivov v priljubljene okvire, kot je HuggingFace’s transformatorji, zapletena, saj so vmesniki večinoma zasnovani za delovanje na zaporedjih indeksov tokenov namesto gostih vektorjev. Poleg tega, ko dodajamo več konteksta med mehkim pozivom in generacijo, začnemo opažati neravnovesja med močjo pogojevanja na mehkem pozivu in kontekstu tokenov. Ohranitev sposobnosti prilagodljivega dodajanja stotin tokenov konteksta med izvajanjem je bila pomembna za nas, saj zagotavlja dodatne natančne vzvode nadzora v procesu avtorstva predmetov. Če želimo usmeriti model, da se osredotoči na vsebino iz določenega strani učbenika, ali da avtorira predmet za razumevanje branja, ali da zagotovi primere hitrega učenja, je dolga kontekstualizacija pomembna.

Nizko rangirani adapterji (LoRA)

Kasneje smo prešli na metodo, imenovano LoRA ali Nizko rangirani adapterji (Hu et al. 2021). To tehniko so razvili raziskovalci pri Microsoftu, ki so delali na modelih velikosti GPT-3, in temelji na prejšnjih pristopih adapterjev. Če razmišljamo o transformatorju kot o postopnem izpopolnjevanju njegovih latentnih stanj tokenov z vsakim preostalim slojem, je koncept adapterja dodati majhen, vhodno odvisen delta (inicializiran na no-op) tem latentom na določenem sloju. Ta rahel pospešek lahko nato modulira njegovo vedenje navzdol, tako da poudari dele vnosa, ki so pomembni za nalogo.


Nizko rangirani adapterji so vrsta adapterja, ki cilja na nizko rangirano podprostor, kar zmanjša število novih parametrov, ki jih moramo usposobiti (od D2 do 2 × D × r, kjer je D v tisočih). Tako kot pri mehkem pozivanju, tudi tukaj zadržujemo prvotne parametre mreže zamrznjene, da ohranimo vsa znanja, ki jih vsebujejo iz predhodnega usposabljanja, in prilagajamo le te nove parametre adapterjev. V naših notranjih testih smo opazili dobre kazalnike z LoRA. Poleg tega, da nam omogoča prilagajanje velikih modelov na majhnih proračunih strojne opreme, modeli z vmesnimi adapter sloji tudi ohranjajo veliko svoje prvotne sposobnosti hitrega učenja, medtem ko se še vedno prilagajajo ciljnemu področju. Omeniti velja, da je integracija nizko rangiranih adapterjev v druge okvire enostavna, saj lahko preprosto zamenjamo obstoječe linearne sloje s linearno + adapter sloji po potrebi.

Naprej

Da bi prikazali vrsto izboljšav, ki smo jih opazili v naših raziskavah, spodaj delimo majhen izbor generacij iz modelov, usposobljenih z različnimi pristopi prilagajanja. Ti predmeti so bili vsi generirani z istimi tremi vhodnimi pozivi, ki se nanašajo na zagotavljanje zdravstvene nege: prvi se je osredotočil na prioritizacijo potreb več strank, drugi pa na ukrepanje v timskem okolju.

Predmet #1: Medicinska sestra ocenjuje stranko, ki ima načrtovano ambulantno operacijo. Katero od naslednjih pacientov bo medicinska sestra ocenila naslednje? (A) Pacient s sladkorno boleznijo tipa 1 (B) Pacient z akutnim pankreatitisom (C) Pacient, ki potrebuje intravensko antibiotično terapijo (D) Pacient s Crohnovo boleznijo Predmet #2: Stranka je sprejeta v bolnišnico z diagnozo srčnega popuščanja. Mati stranke zavrača zdravljenje. Katere od naslednjih dejanj naj medicinska sestra izvede? (A) Obvesti zdravnika o situaciji. (B) Preveri seznam zdravil pacienta. (C) Preveri zdravstveni karton stranke. (D) Obvesti zdravnika stranke o stanju stranke.

Predmet #3: Medicinska sestra ocenjuje pacienta na pediatrični enoti. Stranka je načrtovana za diagnostično preiskavo, vključno z rentgenskim slikanjem prsnega koša. Katero od naslednjih pacientov naj medicinska sestra načrtuje, da bo ocenila naslednje? (A) Otrok, ki ima pljučnico in ima vročino (B) Otrok, ki ima izpuščaj in se ne odziva na zdravilo (C) Otrok, ki ima vročino in ima temperaturo >100.4 (D) Otrok, ki ima vročino in izpuščaj Predmet #4: Stranka z odpovedjo ledvic je v bolnišnici in je načrtovana za presaditev ledvic. Stranka ima močno prepričanje, da je kirurg za presaditev nesposoben. Stranka zavrača dovoljenje zdravniku iz druge bolnišnice, da izvede presaditev. Katere od naslednjih dejanj naj prevzemna medicinska sestra izvede? (A) Prevzeti izjava od stranke, da je kirurg za presaditev usposobljen, in jo dati kirurgu za presaditev. (B) Prosi stranko za podpisano izjavo, da podpre njeno trditev. (C) Kontaktirati kirurga za presaditev in izvedeti, zakaj stranka zavrača dovoljenje kirurgu iz druge bolnišnice, da izvede presaditev. (D) Obvestiti kirurga za presaditev, da stranka zavrača presaditev.

Predmet #5: Medicinska sestra načrtuje dodelitev strank različnim postajam ob postelji. Katero od naslednjih strank naj medicinska sestra dodeli postaji ob postelji, ki je najbližja postaji medicinskih sester? (A) Stranka, za katero je sum diagnoze pljučne embolije in potrebuje CT skeniranje (B) Stranka, ki potrebuje pomoč pri odvajanju blata (C) Stranka, ki ima nujno indikacijo za rentgensko slikanje prsnega koša (D) Stranka, ki potrebuje rentgensko slikanje prsnega koša, ker ima kašelj Predmet #6: LPN skrbi za stranko z indwelling urinskim katetrom in prosi medicinsko sestro, da ji pomaga očistiti kateter. Katere od naslednjih dejanj naj medicinska sestra izvede? (A) Pojasnite stranki, da bo morala zagotoviti čistilo in pridobiti strankino soglasje za postopek. (B) Prosite LPN za pomoč. (C) Ponudite, da pomagate stranki očistiti kateter. (D) Zagotovite LPN, da ji bo medicinska sestra pomagala.

Opazimo lahko, da so, medtem ko so najboljši predmeti iz osnovnega modela večinoma tekoči in logično koherentni, pogosto podprti (kot v #1) ali pa zahtevajo zelo malo znanja o področju zdravstvene nege (kot v #3). V primerjavi z osnovnimi predmeti vsebujejo predmeti iz modelov za prilagajanje pozivov in nizko rangirane adapterje več podrobnosti v njihovih stimulih, temeljih in možnostih. Predmetna področja so povezana z domeno, kar zahteva specifično znanje pri upravljanju zdravstvene nege, namesto da bi se zanašali samo na splošno znanje. Poleg tega imajo predmeti iz modela nizko rangiranih adapterjev bolj dosledno obliko. Na primer, predmeti dosledno omenjajo "stranko" namesto "pacienta", v skladu z jezikom, ki bi se verjetno pojavil v ocenah (primerjajte #5 z #1 in #3). Prav tako uspešno sledijo referencam na več posameznikov znotraj scenarija (primerjajte #6 z #4).

Izboljšave v pokritosti domen, stilistični doslednosti in logični koherenci lahko privedejo do pomembnih izboljšav v uporabnosti nevronskih jezikovnih modelov. To je šele začetek: ko tehnologija napreduje, bodo odkrite še druge metode za ustvarjanje prilagojenih, nadzorovanih modelov naravnega jezika na široki ravni. In ko bodo te metode odkrite, bomo še naprej vključovali najboljše iz akademskega sveta, industrije in neodvisnih raziskav v izdelke Finetune.

 

Iskrena hvala Nicku Koprowiczu, Jesseju Hamerju, Saadu Khanu in Ogdnu Morseau za prijazne in koristne povratne informacije pri razvoju tega bloga.

 

Reference

Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Nizko rangirana prilagoditev velikih jezikovnih modelov. arXiv preprint arXiv:2106.09685.

Lester, B., Al-Rfou, R., & Constant, N. (2021). Moč obsega za prilagodljivo prilagajanje pozivov. arXiv preprint arXiv:2104.08691.