Af Charles Foster
Hos Finetune bygger vi AI-løsninger til at løse nogle af de mest udfordrende problemer inden for uddannelsesteknologi, herunder automatiseret indholdsgenerering og AI-drevet læringsressourceklassificering og anbefalinger. Fordi emnet vores værktøjer skal håndtere spænder fra K-12 til udvikling af arbejdsstyrke, investerer vi massivt i metoder, der giver os mulighed for at opskalere bredden og dybden af, hvad vores modeller dækker. Nøglekomponenter i denne tilgang er fleksible metoder til at træne specialiserede neurale netværk i domæner, hvor generelle modeller er utilstrækkelige. I dette blogindlæg vil jeg gerne dele lidt af vores rejse med at udforske disse metoder.
Finjustering
Typisk finjustering af neurale sprogmodeller involverer samtidig optimering af alle deres parametre, der kan trænes, hvilket kan løbe op i mange milliarder for netværk som GPT-J. På skalaer som disse er både finjusterings- og slutningsprocesserne ikke-trivielle, hvilket gør en udbredt udbredelse af disse vanskelig. I vores egne undersøgelser syntes nogle få nøglespørgsmål at være størst:
- Blot at køre disse transformermodeller presser allerede op mod grænserne for GPU-hukommelse (VRAM), og under finjustering er der en direkte sammenhæng mellem antallet af parametre, der optimeres, og mængden af ekstra hukommelse, der forbruges.
- Ved at ændre alle parametrene i netværket kan informationsflowet, der er lært under fortræning, blive forstyrret, hvilket resulterer i glemme og tab af få-skuds-kapaciteter.
- At betjene en skræddersyet multi-gigabyte-model for hver brugssag ville skabe uacceptabel ventetid og omkostningsbyrder.
Disse kombinerede bekymringer motiverede os til at udforske andre metoder fra den nyere litteratur til at tune vores neurale sprogmodeller. Heldigvis har forskningsområdet for behandling af naturligt sprog inden for det seneste år udviklet et væld af metoder til at skære ned på omkostningerne ved at tilpasse adfærden af forudtrænede sprogmodeller.
Hurtig indstilling
Den oprindelige tilgang, vi fulgte, hedder Prompt Tuning eller Soft Prompting (Lester et al. 2021). I denne metode holdes netværkets parametre fra fortræning frosset. I stedet for sætter vi et lille antal indlæselige indlejringsvektorer (typisk 10 til 20) foran inputpromptens tokens og tuner disse indlejringer med det sædvanlige sprogmodelleringsmål på et finjusterende datasæt. Disse indlejringer repræsenterer ikke tokens af sprog; vi kan i stedet tænke på dem som et tæt lager af kontekst, som netværket kan betinge af – via opmærksomhedsmekanismen – da det laver forudsigelser om tokens i sekvensen.
Hurtig tuning tilføjer kun en lille driftsomkostning til modellen, da de bløde prompter er i kilobyte-området og kan køres gennem netværket parallelt. Disse funktioner gør dem attraktive til at betjene mange samtidige brugere, som nyere implementeringer af teknikken i AI-historiefortælling har indikeret. Det er dog komplekst at integrere bløde prompter i populære rammer som HuggingFaces transformere , da grænsefladerne i vid udstrækning er designet til at fungere på sekvenser af token-indekser i stedet for tætte vektorer. Derudover, efterhånden som der tilføjes mere kontekst mellem den bløde prompt og generationen, begynder vi at se ubalancer mellem styrken af konditionering på den bløde prompt og på token-konteksten. Det var vigtigt for os at bevare muligheden for fleksibelt at tilføje hundredvis af tokens af kontekst under kørslen, da det giver yderligere finmaskede håndtag for kontrollerbarhed i vareforfattelsesprocessen. Hvis vi ønsker at guide modellen til at fokusere på indhold fra en bestemt side i en lærebog, eller til at forfatte et læseforståelseselement, eller at give eksempler på få skud, er kontekstualisering i lang form af betydning.
Low Rank Adaptere (LoRA)
Vi gik senere over til en metode kaldet LoRA eller Low Rank Adapters (Hu et al. 2021). Denne teknik er udviklet af forskere hos Microsoft, der arbejder på modeller i GPT-3-størrelse, og bygger på tidligere adaptertilgange. Hvis vi tænker på en transformer som en progressiv forfining af dens token-latente tilstande med hvert resterende lag, er konceptet med en adapter at tilføje et lille, input-afhængigt delta (initialiseret til en no-op) til disse latenter i et givet lag. Denne blide nudge er så i stand til at modulere sin adfærd nedstrøms ved for eksempel at fremhæve de dele af input, der er relevante for opgaven.
Adaptere med lav rang er en slags adapter, der retter sig mod et underrum med lav rang, som skærer ned på antallet af nye parametre, som vi skal træne (fra D 2 til 2 × D × r, hvor D er i tusindvis). Som med blød prompt holder vi netværkets oprindelige parametre frosset for at bevare den viden, de indeholder fra fortræning, og justerer kun disse nye adapterparametre. I vores interne test har vi set gode indikatorer fra LoRA. Ud over at gøre det muligt for os at tune store modeller på små hardwarebudgetter, bevarer modeller med adapterlag også meget af deres originale få-skudsevne, mens de stadig tilpasser sig måldomænet. Det er bemærkelsesværdigt, at det er ligetil at integrere adaptere med lav rang i andre rammer, da vi simpelthen kan udskifte eksisterende lineære lag med lineære + adapterlag efter behov.
Går fremad
For at give en smag for den slags forbedringer, vi har set i vores udforskninger, deler vi nedenfor et lille udvalg af generationer fra modeller, der er trænet med forskellige tuning-tilgange. Disse elementer blev alle genereret ved hjælp af de samme tre input-prompter vedrørende leveringen af sygepleje: den første fokuserede på at prioritere behovene hos flere klienter og den anden på at handle i en teamsammensætning.
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.
Vi kan observere, at mens de bedste elementer fra basismodellen stort set er flydende og logisk sammenhængende, har de en tendens til at være underbegrænsede (som i #1) eller kræver meget lidt viden om sygeplejedomænet (som i #3). I sammenligning med basiselementerne indeholder elementer fra prompt tuning og lav rang adapter modeller flere detaljer i deres stimuli, stilke og muligheder. Emnet er relevant for domænet og kræver specifik viden i ledelsen af sygeplejen i stedet for at stole på baggrundsviden alene. Desuden har genstandene fra adaptermodellen med lav rang en mere ensartet form. For eksempel refererer punkterne konsekvent til "klienten" i modsætning til "patienten", i overensstemmelse med det sprog, der sandsynligvis vil forekomme i vurderinger (sammenlign #5 med #1 og #3). Det sporer også med succes referencer til flere personer i et scenarie (sammenlign #6 med #4).
Forbedringer af domænedækning, stilistisk konsistens og logisk sammenhæng kan udmønte sig i betydelige forbedringer i brugen af neurale sprogmodeller. Dette er kun begyndelsen: Efterhånden som teknologien modnes, vil der blive opdaget endnu flere metoder til at skabe tilpassede, kontrollerbare naturlige sprogmodeller i skala. Og efterhånden som disse metoder bliver opdaget, vil vi fortsætte med at inkorporere det bedste fra den akademiske verden, industrien og uafhængig forskning i Finetune-produkter.
Oprigtig tak til Nick Koprowicz, Jesse Hamer, Saad Khan og Ogden Morse for at give venlig, nyttig feedback i udviklingen af dette blogindlæg.
Referencer
Hu, EJ, Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Lav-rang tilpasning af store sprogmodeller. arXiv fortryk arXiv:2106.09685.
Lester, B., Al-Rfou, R., & Constant, N. (2021). Skalaens kraft til parametereffektiv promptjustering. arXiv fortryk arXiv:2104.08691.