Avtor: Charles Foster

Pri Finetune gradimo rešitve AI za reševanje nekaterih najzahtevnejših problemov v izobraževalni tehnologiji, vključno z avtomatiziranim ustvarjanjem vsebine in klasifikacijo in priporočili učnih virov, ki jih poganja AI. Ker se vsebina, ki jo morajo obravnavati naša orodja, razteza od K-12 do razvoja delovne sile, veliko vlagamo v metode, ki nam omogočajo razširitev širine in globine tega, kar pokrivajo naši modeli. Ključne komponente tega pristopa so prilagodljive metode za usposabljanje specializiranih nevronskih mrež na področjih, kjer splošni modeli ne zadoščajo. V tej objavi v spletnem dnevniku bi rad delil delček našega potovanja raziskovanja teh metod.

Natančna nastavitev

Običajna fina nastavitev nevronskih jezikovnih modelov vključuje hkratno optimizacijo vseh njihovih učljivih parametrov, ki lahko za omrežja, kot je GPT-J, znašajo več milijard. V obsegu, kot je ta, sta tako postopek natančnega prilagajanja kot sklepanje netrivialna, kar otežuje njihovo široko uporabo. V naših lastnih preiskavah se je zdelo, da je nekaj ključnih vprašanj največjih:

  • Preprosto izvajanje teh transformatorskih modelov že pritiska na omejitve pomnilnika GPU (VRAM), med finim nastavljanjem pa obstaja neposredna povezava med številom parametrov, ki se optimizirajo, in količino porabljenega dodatnega pomnilnika.
  • S spreminjanjem vseh parametrov v omrežju se lahko prekine pretok informacij, naučen med predhodnim usposabljanjem, kar povzroči pozabljanje in izgubo zmožnosti nekaj posnetkov.
  • Storitev prilagojenega modela z več gigabajti za vsak primer uporabe bi povzročila nesprejemljivo zakasnitev in stroškovno breme.

Ti skupni pomisleki so nas motivirali, da smo raziskali druge metode iz nedavne literature za uravnavanje naših nevronskih jezikovnih modelov. Na srečo je v preteklem letu raziskovalna sfera obdelave naravnega jezika razvila množico metod za znižanje stroškov prilagajanja vedenja vnaprej usposobljenih jezikovnih modelov.

Hitra nastavitev

Prvotni pristop, ki smo mu sledili, se imenuje Prompt Tuning ali Soft Prompting (Lester et al. 2021). Pri tej metodi so parametri omrežja iz predusposabljanja zamrznjeni. Namesto tega dodamo majhno število vdelanih vektorjev, ki jih je mogoče naučiti (običajno od 10 do 20), pred žetone vhodnega poziva in prilagodimo te vdelave z običajnim ciljem jezikovnega modeliranja na naboru podatkov za natančno uravnavanje. Te vdelave ne predstavljajo žetonov jezika; namesto tega si jih lahko predstavljamo kot na gosto shrambo konteksta, ki ga lahko omrežje pogojuje – prek mehanizma pozornosti – ko napoveduje žetone v zaporedju.


Hitra nastavitev modelu doda le majhen strošek izvajanja, saj so mehki pozivi v obsegu kilobajtov in jih je mogoče izvajati vzporedno prek omrežja. Zaradi teh funkcij so privlačni za oskrbo s številnimi sočasnimi uporabniki, kot so pokazale nedavne uvedbe tehnike pri pripovedovanju zgodb z umetno inteligenco . Vendar pa je vključevanje mehkih pozivov v priljubljena ogrodja, kot so transformatorji HuggingFace, zapleteno, saj so vmesniki v veliki meri zasnovani tako, da delujejo na zaporedjih žetonskih indeksov in ne na gostih vektorjih. Poleg tega, ko je med mehkim pozivom in generiranjem dodanega več konteksta, začnemo opažati neravnovesja med močjo pogojevanja mehkega poziva in konteksta žetona. Ohranjanje zmožnosti prožnega dodajanja na stotine žetonov konteksta med izvajanjem je bilo za nas pomembno, saj zagotavlja dodatne natančne vzvode nadzora v procesu ustvarjanja elementov. Če želimo usmerjati model, da se osredotoči na vsebino iz določene strani učbenika ali da ustvari postavko za bralno razumevanje ali da zagotovi nekaj primerov, je kontekstualizacija v dolgi obliki pomembna.

Adapterji nizkega ranga (LoRA)

Kasneje smo prešli na metodo, imenovano LoRA ali Low Rank Adapters (Hu et al. 2021). To tehniko so razvili Microsoftovi raziskovalci, ki delajo na modelih velikosti GPT-3, in temelji na prejšnjih pristopih adapterjev. Če si zamislimo transformator, ki postopoma izboljšuje svoja latentna stanja žetona z vsako preostalo plastjo, je koncept adapterja ta, da tem latentom na dani plasti doda majhno, od vhoda odvisno delto (inicializirano na brez operacije). Ta nežen dregljaj lahko nato prilagodi svoje vedenje navzdol tako, da recimo poudari dele vnosa, ki so pomembni za nalogo.


Adapterji nizkega ranga so nekakšni adapterji, ki ciljajo na podprostor nizkega ranga, kar zmanjša število novih parametrov, ki jih moramo učiti (od D 2 do 2 × D × r, kjer je D v tisočih). Tako kot pri mehkem pozivanju ohranimo prvotne parametre omrežja zamrznjene, da ohranimo kakršno koli znanje, ki ga vsebujejo iz predusposabljanja, in prilagodimo le te nove parametre adapterja. V naših internih testih smo opazili dobre kazalnike LoRA. Poleg tega, da nam omogočajo prilagajanje velikih modelov z majhnimi proračuni strojne opreme, modeli z vmesnimi plastmi adapterjev ohranjajo tudi veliko svoje prvotne zmožnosti nekaj posnetkov, medtem ko se še vedno prilagajajo ciljni domeni. Predvsem je integracija adapterjev nizkega ranga v druga ogrodja enostavna, saj lahko po potrebi preprosto zamenjamo obstoječe linearne plasti z linearnimi + adapterskimi plastmi.

Naprej

Da bi dali okus vrstam izboljšav, ki smo jih videli v naših raziskovanjih, spodaj delimo majhen izbor generacij modelov, ki so bili usposobljeni za različne pristope prilagajanja. Vsi ti elementi so bili ustvarjeni z uporabo istih treh vhodnih pozivov, ki se nanašajo na zagotavljanje zdravstvene nege: prvi je bil osredotočen na določanje prednostnih potreb več strank, drugi pa na ukrepanje v timskem okolju.

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.

Opazimo lahko, da čeprav so najboljše postavke iz osnovnega modela večinoma tekoče in logično koherentne, so ponavadi premalo omejene (kot v #1) ali zahtevajo zelo malo znanja o področju zdravstvene nege (kot v #3). V primerjavi z osnovnimi postavkami vsebujejo postavke iz modelov takojšnjega prilagajanja in adapterjev nizkega ranga več podrobnosti v svojih dražljajih, steblih in možnostih. Predmet je relevanten za področje in zahteva specifično znanje pri vodenju zdravstvene nege, namesto da bi se zanašal samo na osnovno znanje. Poleg tega imajo predmeti iz modela adapterja nizkega ranga bolj dosledno obliko. Postavke se na primer dosledno nanašajo na »stranko« v nasprotju s »pacientom«, v skladu z jezikom, ki bi se verjetno pojavil v ocenah (primerjajte št. 5 s št. 1 in št. 3). Prav tako uspešno sledi sklicevanjem na več posameznikov znotraj scenarija (primerjajte št. 6 s št. 4).

Izboljšave pokritosti domene, slogovne doslednosti in logične koherence se lahko prevedejo v znatne izboljšave uporabnosti nevronskih jezikovnih modelov. To je šele začetek: z dozorevanjem tehnologije bo odkritih še več metod za ustvarjanje prilagojenih, nadzorovanih modelov naravnega jezika v velikem obsegu. In ko bodo te metode odkrite, bomo še naprej vključevali najboljše iz akademskih krogov, industrije in neodvisnih raziskav v izdelke Finetune.

Iskrena hvala Nicku Koprowiczu, Jesseju Hamerju, Saadu Khanu in Ogdenu Morsu za posredovanje prijaznih in koristnih povratnih informacij pri razvoju te objave v spletnem dnevniku.

Reference

Hu, EJ, Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Nizka prilagoditev velikih jezikovnih modelov. arXiv prednatis arXiv:2106.09685.

Lester, B., Al-Rfou, R. in Constant, N. (2021). Moč lestvice za hitro nastavitev parametrov. arXiv prednatis arXiv:2104.08691.