De Charles Foster
La Finetune, construim soluții AI pentru a aborda unele dintre cele mai provocatoare probleme din tehnologia educației, inclusiv generarea automată de conținut și clasificarea și recomandările resurselor de învățare bazate pe inteligență artificială. Deoarece subiectul pe care instrumentele noastre trebuie să se ocupe, de la K-12 până la dezvoltarea forței de muncă, investim masiv în metode care ne permit să extindem amploarea și profunzimea a ceea ce acoperă modelele noastre. Componentele cheie ale acestei abordări sunt metode flexibile de antrenare a rețelelor neuronale specializate în domenii în care modelele de uz general sunt insuficiente. În această postare pe blog, aș dori să împărtășesc o parte din călătoria noastră prin explorarea acestor metode.
Reglaj fin
Reglarea fină tipică a modelelor de limbaj neuronal implică optimizarea simultană a tuturor parametrilor antrenabili ai acestora, care pot ajunge la multe miliarde pentru rețele precum GPT-J. La scări ca acestea, atât procesele de reglare fină, cât și procesele de inferență nu sunt banale, ceea ce face dificilă implementarea pe scară largă a acestora. În propriile noastre investigații, câteva aspecte cheie păreau să fie cele mai importante:
- Pur și simplu rularea acestor modele de transformatoare presează deja limitele memoriei GPU (VRAM), iar în timpul reglajului fin există o relație directă între numărul de parametri optimizați și cantitatea de memorie suplimentară consumată.
- Prin modificarea tuturor parametrilor din rețea, fluxul de informații învățat în timpul antrenamentului prealabil poate fi întrerupt, ducând la uitarea și pierderea capacităților de câteva lovituri.
- Servirea unui model personalizat de mai mulți gigaocteți pentru fiecare caz de utilizare ar crea o latență și costuri inacceptabile.
Aceste preocupări combinate ne-au motivat să explorăm alte metode din literatura recentă pentru a ne ajusta modelele de limbaj neuronal. Din fericire, în ultimul an, sfera de cercetare a procesării limbajului natural a dezvoltat o mulțime de metode pentru a reduce costurile personalizării comportamentului modelelor de limbaj pre-antrenate.
Acordare promptă
Abordarea originală pe care am urmărit-o se numește Prompt Tuning sau Soft Prompting (Lester et al. 2021). În această metodă, parametrii rețelei de la pre-antrenament sunt păstrați înghețați. În schimb, punem înainte un număr mic de vectori de încorporare care pot fi învățați (de obicei, 10 până la 20) în fața indicatoarelor prompte de intrare și reglam aceste înglobări cu obiectivul obișnuit de modelare a limbajului pe un set de date de reglare fină. Aceste înglobări nu reprezintă semne de limbaj; ne putem gândi la ele, în schimb, ca pe un depozit dens de context pe care rețeaua îl poate condiționa – prin intermediul mecanismului de atenție – deoarece face predicții despre token-urile din secvență.
Reglarea promptă adaugă doar un cost mic de rulare modelului, deoarece solicitările soft sunt în intervalul kilobyte și pot fi rulate prin rețea în paralel. Aceste caracteristici le fac atractive pentru a servi mulți utilizatori concurenți, așa cum au indicat implementările recente ale tehnicii în povestirea AI . Cu toate acestea, integrarea prompturilor soft în cadre populare, cum ar fi transformatoarele HuggingFace, este complexă, deoarece interfețele sunt în mare măsură proiectate să funcționeze pe secvențe de indici de simboluri, mai degrabă decât pe vectori denși. În plus, pe măsură ce se adaugă mai mult context între promptul soft și generație, începem să vedem dezechilibre între puterea condiționării pe promptul soft și contextul token. Păstrarea capacității de a adăuga în mod flexibil sute de simboluri de context în timpul execuției a fost importantă pentru noi, deoarece oferă pârghii suplimentare de control fin în procesul de creare a articolelor. Dacă dorim să ghidăm modelul să se concentreze asupra conținutului dintr-o anumită pagină a unui manual sau să creeze un articol de înțelegere a lecturii sau să furnizeze câteva exemple, contextualizarea pe termen lung contează.
Adaptoare de rang scăzut (LoRA)
Ulterior, am trecut la o metodă numită LoRA sau Low Rank Adapters (Hu et al. 2021). Această tehnică a fost dezvoltată de cercetătorii de la Microsoft care lucrează la modele de dimensiunea GPT-3 și se bazează pe abordări anterioare ale adaptoarelor. Dacă ne gândim că un transformator își rafinează progresiv stările latente simbol cu fiecare strat rezidual, conceptul unui adaptor este să adauge o deltă mică, dependentă de intrare (inițializată la un no-op) acelor latente la un anumit strat. Acest ghiont blând este apoi capabil să-și moduleze comportamentul în aval, de exemplu, subliniind părțile de intrare care sunt relevante pentru sarcină.
Adaptoarele de rang scăzut sunt un fel de adaptor care vizează un subspațiu de rang scăzut, care reduce numărul de parametri noi pe care trebuie să-i antrenăm (de la D 2 la 2 × D × r, unde D este în mii). La fel ca și în cazul solicitărilor ușoare, menținem parametrii inițiali ai rețelei înghețați pentru a păstra orice cunoștințe pe care le conțin de la antrenamentul prealabil și pentru a ajusta doar acești parametri noi ai adaptorului. În testele noastre interne, am văzut indicatori buni de la LoRA. Dincolo de a ne permite să reglam modele mari cu bugete hardware mici, modelele cu straturi de adaptoare intercalate își păstrează, de asemenea, o mare parte din capacitatea lor originală de câteva fotografii, adaptându-se în continuare la domeniul țintă. În special, integrarea adaptoarelor de rang scăzut în alte cadre este simplă, deoarece putem schimba pur și simplu straturile liniare existente cu straturi liniare + adaptoare, după cum este necesar.
Mergând înainte
Pentru a oferi o aromă pentru tipul de îmbunătățiri pe care le-am văzut în explorările noastre, mai jos vă împărtășim o mică selecție de generații din modele instruite cu diferite abordări de reglare. Aceste elemente au fost toate generate folosind aceleași trei solicitări de intrare referitoare la furnizarea de îngrijiri medicale: primul s-a concentrat pe prioritizarea nevoilor mai multor clienți și al doilea pe acțiunea într-un cadru de echipă.
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.
Putem observa că, în timp ce cele mai bune elemente din modelul de bază sunt în mare măsură fluenți și coerente din punct de vedere logic, ei tind să fie subconstrânși (ca în #1) sau necesită foarte puține cunoștințe despre domeniul nursing (ca în #3). În comparație cu elementele de bază, articolele din modelele de adaptare prompte și de rang scăzut conțin mai multe detalii în stimuli, tulpini și opțiuni. Subiectul este relevant pentru domeniu, necesitând cunoștințe specifice în managementul îngrijirii medicale, mai degrabă decât să se bazeze doar pe cunoștințele de bază. Mai mult, articolele din modelul de adaptor de rang inferior au o formă mai consistentă. De exemplu, itemii se referă în mod constant la „client” spre deosebire de „pacient”, în conformitate cu limbajul care ar apărea probabil în evaluări (comparați #5 cu #1 și #3). De asemenea, urmărește cu succes referințele la mai multe persoane dintr-un scenariu (comparați #6 cu #4).
Îmbunătățirile aduse acoperirii domeniului, consistența stilistică și coerența logică se pot traduce în îmbunătățiri semnificative ale utilității modelelor de limbaj neuronal. Acesta este doar începutul: pe măsură ce tehnologia se maturizează, vor fi descoperite și mai multe metode pentru a crea modele de limbaj natural personalizate, controlabile la scară. Și pe măsură ce aceste metode sunt descoperite, vom continua să încorporăm cele mai bune din mediul academic, din industrie și din cercetarea independentă în produsele Finetune.
Mulțumiri sincere lui Nick Koprowicz, Jesse Hamer, Saad Khan și Ogden Morse pentru feedback amabil și util în dezvoltarea acestei postări pe blog.
Referințe
Hu, EJ, Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … și Chen, W. (2021). Lora: Adaptare de rang scăzut a modelelor de limbaj mari. arXiv preprint arXiv:2106.09685.
Lester, B., Al-Rfou, R., & Constant, N. (2021). Puterea scalei pentru reglarea promptă eficientă a parametrilor. arXiv preprint arXiv:2104.08691.