Autor Charles Foster
U Finetuneu gradimo AI rješenja za rješavanje nekih od najizazovnijih problema u obrazovnoj tehnologiji, uključujući automatizirano generiranje sadržaja i klasifikaciju i preporuke resursa za učenje pomoću AI-ja. Budući da se predmet koji naši alati moraju obraditi proteže od K-12 do razvoja radne snage, ulažemo velika sredstva u metode koje nam omogućuju povećanje širine i dubine onoga što naši modeli pokrivaju. Ključne komponente ovog pristupa su fleksibilne metode za treniranje specijaliziranih neuronskih mreža u domenama gdje modeli opće namjene nisu dovoljni. U ovom postu na blogu želio bih podijeliti dio našeg putovanja istraživanja ovih metoda.
Fino podešavanje
Tipično fino ugađanje neuronskih jezičnih modela uključuje istovremeno optimiziranje svih njihovih parametara koji se mogu uvježbati, što može iznositi mnogo milijardi za mreže kao što je GPT-J. Na ovakvim razmjerima, i procesi finog podešavanja i zaključivanja nisu trivijalni, što otežava njihovu široku primjenu. U našim vlastitim istragama, čini se da je nekoliko ključnih problema najvažnije:
- Jednostavno pokretanje ovih modela transformatora već pritišće granice GPU memorije (VRAM), a tijekom finog podešavanja postoji izravan odnos između broja parametara koji se optimiziraju i količine potrošene dodatne memorije.
- Modificiranjem svih parametara u mreži, protok informacija naučen tijekom predvježbavanja može biti poremećen, što će rezultirati zaboravljanjem i gubitkom mogućnosti nekoliko udaraca.
- Posluživanje prilagođenog modela od više gigabajta za svaki slučaj upotrebe stvorilo bi neprihvatljivo kašnjenje i troškovna opterećenja.
Ove kombinirane zabrinutosti motivirale su nas da istražimo druge metode iz novije literature za ugađanje naših neuronskih jezičnih modela. Srećom, tijekom prošle godine sfera istraživanja obrade prirodnog jezika razvila je niz metoda za smanjenje troškova prilagođavanja ponašanja unaprijed obučenih jezičnih modela.
Brzo podešavanje
Izvorni pristup koji smo slijedili zove se Prompt Tuning ili Soft Prompting (Lester et al. 2021). U ovoj metodi, parametri mreže iz predvježbe ostaju zamrznuti. Umjesto toga, dodajemo mali broj vektora za ugrađivanje koji se mogu naučiti (obično 10 do 20) ispred tokena upita za unos i prilagođavamo ta ugrađivanja s uobičajenim ciljem modeliranja jezika na finom skupu podataka. Ova ugrađivanja ne predstavljaju znakove jezika; umjesto toga možemo ih zamisliti kao gustu pohranu konteksta koju mreža može uvjetovati – putem mehanizma pozornosti – dok daje predviđanja o tokenima u nizu.
Brzo ugađanje dodaje samo mali trošak vremena izvođenja modelu, budući da su mekani odgovori u rasponu kilobajta i mogu se izvoditi kroz mrežu paralelno. Ove ih značajke čine privlačnima za opsluživanje velikog broja istodobnih korisnika, kao što je pokazala nedavna implementacija tehnike u pripovijedanju AI . Međutim, integracija mekih upita u popularne okvire kao što su transformatori HuggingFacea je složena jer su sučelja uglavnom dizajnirana za rad na sekvencama indeksa tokena, a ne na gustim vektorima. Osim toga, kako se dodaje više konteksta između mekog odziva i generiranja, počinjemo uočavati neravnoteže između snage uvjetovanja na mekom upitu i kontekstu tokena. Zadržavanje mogućnosti fleksibilnog dodavanja stotina tokena konteksta tijekom izvođenja bilo nam je važno jer pruža dodatne precizne poluge kontrole u procesu izrade stavke. Ako želimo usmjeriti model da se usredotoči na sadržaj s određene stranice udžbenika, ili da stvorimo stavku za razumijevanje čitanja, ili da pružimo nekoliko primjera, važna je kontekstualizacija dugog oblika.
Adapteri niskog ranga (LoRA)
Kasnije smo prešli na metodu nazvanu LoRA ili niskorangirani adapteri (Hu et al. 2021). Ovu su tehniku razvili istraživači u Microsoftu radeći na modelima veličine GPT-3, a temelji se na ranijim pristupima adaptera. Ako zamislimo transformator kao progresivno pročišćavanje svojih tokenskih latentnih stanja sa svakim rezidualnim slojem, koncept adaptera je dodavanje male delte ovisne o ulazu (inicijalizirane na no-op) tim latentima na danom sloju. Ovaj nježni poticaj tada može modulirati svoje ponašanje nizvodno, recimo, naglašavanjem dijelova unosa koji su relevantni za zadatak.
Adapteri niskog ranga su vrsta adaptera koji cilja potprostor niskog ranga, što smanjuje broj novih parametara koje trebamo trenirati (od D 2 do 2 × D × r, gdje je D u tisućama). Kao i kod soft promptinga, izvorne parametre mreže držimo zamrznutima kako bismo sačuvali svo znanje koje sadrže iz predosposobljavanja i prilagođavamo samo ove nove parametre adaptera. U našim internim testovima vidjeli smo dobre pokazatelje LoRA-e. Osim što nam omogućuju ugađanje velikih modela uz male hardverske proračune, modeli s isprepletenim slojevima adaptera također zadržavaju velik dio svoje izvorne sposobnosti nekoliko snimaka dok se i dalje prilagođavaju ciljnoj domeni. Naime, integracija adaptera niskog ranga u druge okvire je jednostavna, jer možemo jednostavno zamijeniti postojeće linearne slojeve s linearnim + adapterskim slojevima prema potrebi.
Kretanje naprijed
Kako bismo dali okus vrsti poboljšanja koja smo vidjeli u našim istraživanjima, u nastavku dijelimo mali izbor generacija modela obučenih s različitim pristupima ugađanja. Sve ove stavke generirane su pomoću ista tri ulazna upita koja se odnose na pružanje medicinske skrbi: prvi je bio usmjeren na određivanje prioriteta potrebama više klijenata, a drugi na poduzimanje radnji u timskom okruženju.
Item #1: A nurse is assessing a client who is scheduled for outpatient surgery. Which of the following patients would the nurse evaluate next? (A) A patient with type 1 diabetes (B) A patient with acute pancreatitis (C) A patient who requires intravenous antibiotic therapy (D) A patient with Crohn's disease Item #2: A client is admitted to the hospital with the diagnosis of congestive heart failure. The client's mother is refusing treatment. Which of the following actions should the nurse take? (A) Notify the provider of the situation. (B) Check the patient's medication list. (C) Check the client's medical chart. (D) Notify the client's doctor of the client's condition.
Item #3: A nurse is evaluating a patient on the pediatric unit. The client is scheduled for a diagnostic workup, including a chest radiograph. Which of the following patients should the nurse be planning to evaluate next? (A) A child who has pneumonia and is experiencing fever (B) A child who has a rash and is not responding to a medication (C) A child who has a fever and has a temperature >100.4 (D) A child who has a fever and a rash Item #4: A client with renal failure is in the hospital and is scheduled to undergo a renal transplant. The client has a strong belief that the transplant surgeon is incompetent. The client refuses to allow a doctor from another hospital to perform the transplant. Which of the following actions should the charge nurse take? (A) Take a statement from the client that the transplant surgeon is competent and give it to the transplant surgeon. (B) Ask the client for a signed statement to back up her assertion. (C) Contact the transplant surgeon and find out why the client refuses to allow the surgeon from another hospital to perform the transplant. (D) Inform the transplant surgeon that the client is refusing the transplant.
Item #5: A nurse is planning to assign clients to various bedside stations. Which of the following clients should the nurse assign to the bedside station closest to the nurses' station? (A) A client who has a suspected diagnosis of a pulmonary embolism and requires a computed tomography (CT) scan (B) A client who needs assistance with a bowel movement (C) A client who has an emergency indication for a chest X-ray (D) A client who requires a chest X-ray because she has a cough Item #6: An LPN is caring for a client with an indwelling urinary catheter and is asking the nurse to help her clean the catheter. Which of the following actions should the nurse take? (A) Explain to the client that she will need to provide the cleaning solution and will need to obtain the client's consent for the procedure. (B) Ask the LPN for assistance. (C) Offer to help the client clean the catheter. (D) Assure the LPN that the nurse will assist her.
Možemo uočiti da, dok su najbolje stavke iz osnovnog modela uglavnom tečne i logički koherentne, one imaju tendenciju premalo ograničenja (kao u #1) ili zahtijevaju vrlo malo znanja o domeni sestrinstva (kao u #3). U usporedbi s osnovnim stavkama, stavke iz modela brzog podešavanja i adaptera niskog ranga sadrže više detalja u svojim podražajima, temeljima i opcijama. Predmet je relevantan za područje, zahtijeva specifično znanje u upravljanju sestrinskom skrbi, a ne oslanjanje samo na osnovno znanje. Štoviše, predmeti iz adapterskog modela niskog ranga imaju konzistentniji oblik. Na primjer, stavke se dosljedno odnose na "klijenta" za razliku od "pacijenta", u skladu s jezikom koji bi se vjerojatno pojavio u procjenama (usporedi #5 s #1 i #3). Također uspješno prati reference na više pojedinaca unutar scenarija (usporedi #6 s #4).
Poboljšanja pokrivenosti domene, stilske dosljednosti i logičke koherencije mogu se prevesti u značajna poboljšanja u korisnosti neuronskih jezičnih modela. Ovo je samo početak: kako tehnologija bude sazrijevala, otkrit će se još više metoda za stvaranje prilagođenih modela prirodnog jezika koji se mogu kontrolirati na velikom broju. I kako te metode budu otkrivene, nastavit ćemo uključivati najbolje iz akademske zajednice, industrije i neovisnih istraživanja u proizvode Finetune.
Iskreno zahvaljujemo Nicku Koprowiczu, Jesseju Hameru, Saadu Khanu i Ogdenu Morseu na pružanju ljubaznih i korisnih povratnih informacija u razvoju ovog posta na blogu.
Reference
Hu, EJ, Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … i Chen, W. (2021). Lora: Prilagodba niskog ranga velikih jezičnih modela. arXiv pretisak arXiv:2106.09685.
Lester, B., Al-Rfou, R. i Constant, N. (2021). Snaga ljestvice za parametrirajuće učinkovito brzo podešavanje. arXiv pretisak arXiv:2104.08691.