Refresh

This website www.unite.ai/da/forst%C3%A5else-llm-finjustering-skr%C3%A6ddersy-store-sprogmodeller-til-dine-unikke-krav/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

stub Forstå LLM Fine-Tuning: Skræddersy store sprogmodeller til dine unikke krav - Unite.AI
Følg os

Hurtig teknik

Forstå LLM Fine-Tuning: Skræddersy store sprogmodeller til dine unikke krav

mm
Opdateret on
LLM Finjusterende repræsentation - Midjourney

Som vi står i september 2023, er landskabet af store sprogmodeller (LLM'er) stadig vidne til fremkomsten af ​​modeller, herunder Alpaca, Falcon, Lama 2, GPT-4 og mange andre.

Et vigtigt aspekt ved at udnytte potentialet i disse LLM'er ligger i finjusteringsprocessen, en strategi, der giver mulighed for tilpasning af fortrænede modeller til at imødekomme specifikke opgaver med præcision. Det er gennem denne finjustering, at disse modeller virkelig kan tilpasse sig de individuelle krav og tilbyde løsninger, der både er innovative og skræddersyet til unikke behov.

Det er dog vigtigt at bemærke, at ikke alle finjusteringsveje er skabt lige. For eksempel kommer adgang til finjusteringsmulighederne i GPT-4 til en præmie, hvilket kræver et betalt abonnement, der er relativt dyrere sammenlignet med andre muligheder på markedet. På den anden side er open source-domænet travlt med alternativer, der tilbyder en mere tilgængelig vej til at udnytte kraften i store sprogmodeller. Disse open source-muligheder demokratiserer adgangen til avanceret AI-teknologi og fremmer innovation og inklusivitet i det hurtigt udviklende AI-landskab.

Hvorfor er finjustering af LLM vigtig?

LLM finjustering er mere end en teknisk forbedring; det er et afgørende aspekt af LLM-modeludvikling, der giver mulighed for en mere specifik og raffineret anvendelse i forskellige opgaver. Finjustering justerer de fortrænede modeller, så de bedre passer til specifikke datasæt, forbedrer deres ydeevne i bestemte opgaver og sikrer en mere målrettet applikation. Det frembringer LLM'ers bemærkelsesværdige evne til at tilpasse sig nye data, hvilket viser fleksibilitet, der er afgørende for den stadigt voksende interesse for AI-applikationer.

Finjustering af store sprogmodeller åbner op for en masse muligheder, hvilket giver dem mulighed for at udmærke sig i specifikke opgaver lige fra sentimentanalyse til medicinske litteraturgennemgange. Ved at tune basismodellen til en specifik use case, låser vi op for nye muligheder, hvilket øger modellens effektivitet og nøjagtighed. Desuden letter det en mere økonomisk udnyttelse af systemressourcer, da finjustering kræver mindre regnekraft sammenlignet med at træne en model fra bunden.

Efterhånden som vi går dybere ind i denne guide, vil vi diskutere forviklingerne ved LLM-finjustering, hvilket giver dig et omfattende overblik, der er baseret på de seneste fremskridt og bedste praksis på området.

Instruktionsbaseret finjustering

Finjusteringsfasen i Generativ AI livscyklus, illustreret i figuren nedenfor, er karakteriseret ved integration af instruktions input og output, kombineret med eksempler på trin-for-trin-ræsonnement. Denne tilgang letter modellen med at generere svar, der ikke kun er relevante, men også præcist tilpasset de specifikke instruktioner, der er indført i den. Det er i denne fase, at de fortrænede modeller tilpasses til at løse forskellige opgaver og use cases, ved at bruge personaliserede datasæt til at forbedre deres funktionalitet.

Generativ AI-livscyklus - Finjustering, Prompt Engineering og RLHF

Generativ AI Lifecycle – Finjustering

Enkelt-opgave finjustering

Enkelt-opgave finjustering fokuserer på at finpudse modellens ekspertise i en specifik opgave, såsom opsummering. Denne tilgang er særlig fordelagtig til at optimere arbejdsgange, der involverer væsentlige dokumenter eller samtaletråde, herunder juridiske dokumenter og kundesupportbilletter. Bemærkelsesværdigt nok kan denne finjustering opnå betydelige præstationsforbedringer med et relativt lille sæt eksempler, der spænder fra 500 til 1000, en kontrast til de milliarder af tokens, der blev brugt i præ-træningsfasen.

Enkelt-opgave Finjustering Eksempel Illustration

Enkelt-opgave Finjustering Eksempel Illustration

 

Fundamenter for LLM Fine-Tuning LLM: Transformer Architecture and Beyond

Rejsen til at forstå LLM finjustering begynder med en forståelse af de grundlæggende elementer, der udgør LLM'er. Kernen i disse modeller ligger transformer arkitektur, et neuralt netværk, der udnytter selvopmærksomhedsmekanismer til at prioritere ordenes kontekst frem for deres nærhed i en sætning. Denne innovative tilgang letter en dybere forståelse af fjerne forhold mellem tokens i inputtet.

Når vi navigerer gennem transformatorernes forviklinger, støder vi på en flertrinsproces, der begynder med indkoderen. Denne indledende fase involverer tokenisering af inputtet og skabelse af indlejringsvektorer, der repræsenterer inputtet og dets position i sætningen. De efterfølgende trin involverer en række beregninger ved hjælp af matricer kendt som Query, Værdiog Nøgle, kulminerende i en selvopmærksomhedsscore, der dikterer fokus på forskellige dele af sætningen og forskellige tokens.

Transformer arkitektur

Transformer arkitektur

Finjustering står som en kritisk fase i udviklingen af ​​LLM'er, en proces, der indebærer at lave subtile justeringer for at opnå mere ønskværdige output. Selvom denne fase er væsentlig, byder den på en række udfordringer, herunder beregnings- og lagringskravene til at håndtere et stort antal parametre. Parameter Efficient Fine-Tuning (PEFT) tilbyder teknikker til at reducere antallet af parametre, der skal finjusteres, og derved forenkle træningsprocessen.

LLM Pre-Training: Etablering af en stærk base

I de indledende faser af LLM-udvikling er fortræning i centrum ved at bruge over-parameteriserede transformere som den grundlæggende arkitektur. Denne proces involverer modellering af naturligt sprog på forskellige måder, såsom tovejs, autoregressiv eller sekvens-til-sekvens på storskala uovervågede corpora. Målet her er at skabe en base, der senere kan finjusteres til specifikke downstream-opgaver gennem indførelse af opgavespecifikke mål.

Fortræning, finjustering

Fortræning, finjustering

En bemærkelsesværdig tendens på dette område er den uundgåelige stigning i omfanget af præ-trænede LLM'er, målt ved antallet af parametre. Empiriske data viser konsekvent, at større modeller kombineret med flere data næsten altid giver bedre ydeevne. For eksempel har GPT-3 med sine 175 milliarder parametre sat et benchmark i at generere naturligt sprog af høj kvalitet og udføre en bred vifte af nul-shot-opgaver dygtigt.

Finjustering: Vejen til modeltilpasning

Efter foruddannelsen gennemgår LLM en finjustering for at tilpasse sig specifikke opgaver. På trods af den lovende præstation, der er vist ved læring i kontekst i forudtrænede LLM'er som GPT-3, forbliver finjustering overlegen i opgavespecifikke indstillinger. Den fremherskende tilgang med finjustering af fulde parametre byder dog på udfordringer, herunder høje beregnings- og hukommelseskrav, især når man har at gøre med modeller i stor skala.

For store sprogmodeller med over en milliard parametre er effektiv styring af GPU RAM afgørende. En enkelt modelparameter med fuld 32-bit præcision kræver 4 bytes plads, hvilket svarer til et krav på 4 GB GPU RAM bare for at indlæse en 1 milliard parametermodel. Selve træningsprocessen kræver endnu mere hukommelse for at kunne rumme forskellige komponenter, herunder optimeringstilstande og gradienter, hvilket potentielt kræver op til 80 GB GPU RAM for en model af denne skala.

For at navigere i begrænsningerne af GPU RAM, bruges kvantisering, som er en teknik, der reducerer præcisionen af ​​modelparametre og derved mindsker hukommelseskravene. For eksempel kan ændring af præcisionen fra 32-bit til 16-bit halvere den nødvendige hukommelse til både indlæsning og træning af modellen. Senere i denne artikel. vi vil lære om Qlora, som bruger kvantiseringskonceptet til tuning.

LLM GPU Hukommelseskrav mht. antal parametre og præcision

LLM GPU Hukommelseskrav mht. antal parametre og præcision

 

Udforskning af kategorierne af PEFT-metoder

I processen med at finjustere store sprogmodeller er det vigtigt at have et beregningsopsætning, der effektivt kan håndtere ikke kun de betydelige modelvægte, som for de mest avancerede modeller nu når størrelser på hundredvis af gigabyte, men også administrere en række andre kritiske elementer. Disse omfatter allokering af hukommelse til optimeringstilstande, styring af gradienter, fremadgående aktiveringer og facilitering af midlertidig hukommelse under forskellige stadier af træningsproceduren.

Additiv metode

Denne type tuning kan forstærke den fortrænede model med yderligere parametre eller lag, med fokus på kun at træne de nyligt tilføjede parametre. På trods af at parameterantallet øges, forbedrer disse metoder træningstid og pladseffektivitet. Additivmetoden er yderligere opdelt i underkategorier:

  • Adaptere: Inkorporerer små fuldt forbundne netværk efter transformatorunderlag, med bemærkelsesværdige eksempler AdamMix, KronA, og Compactor.
  • Bløde prompter: Finjustering af et segment af modellens input-indlejringer gennem gradientnedstigning, med IPT, præfiks-tuning, og WARP er fremtrædende eksempler.
  • Andre additive tilgange: Inkluder teknikker som LeTS, AttentionFusion og Ladder-Side Tuning.

Selektiv metode

Selektive PEFT'er finjusterer et begrænset antal toplag baseret på lagtype og intern modelstruktur. Denne kategori omfatter metoder som f.eks BitFit , LN tuning, som fokuserer på tuning af specifikke elementer såsom modelbias eller bestemte rækker.

Reparametriseringsbaseret metode

Disse metoder anvender lavrangsrepræsentationer til at reducere antallet af parametre, der kan trænes, hvor den mest kendte er Low-Rank Adaptation eller LoRA. Denne metode udnytter en simpel matrixnedbrydning med lav rang til at parametrisere vægtopdateringen, hvilket demonstrerer effektiv finjustering i underrum med lav rang.

1) LoRA (Low-Rank Adaptation)

LoRA opstod som en banebrydende PEFT-teknik, introduceret i et papir af Edward J. Hu og andre i 2021. Den opererer inden for genparameteriseringskategorien, fryser de oprindelige vægte af LLM og integrerer nye trenerbare lavrangsmatricer i hvert lag af transformatorarkitekturen. Denne tilgang begrænser ikke kun antallet af parametre, der kan trænes, men mindsker også den nødvendige træningstid og de nødvendige beregningsressourcer, og præsenterer derved et mere effektivt alternativ til fuld finjustering.

For at forstå mekanikken i LoRA skal man gense transformatorarkitekturen, hvor inputprompten gennemgår tokenisering og konvertering til indlejringsvektorer. Disse vektorer krydser transformerens encoder- og/eller dekodersegmenter og støder på selvopmærksomhed og feed-forward-netværk, hvis vægte er fortrænede.

LoRA anvender begrebet Singular Value Decomposition (SVD). I det væsentlige dissekerer SVD en matrix i tre distinkte matricer, hvoraf den ene er en diagonal matrix, der rummer enkeltværdier. Disse entalsværdier er centrale, da de måler betydningen af ​​forskellige dimensioner i matricerne, hvor større værdier angiver højere betydning, og mindre angiver mindre betydning.

Singular Value Decomposition (SVD) af en m × n rektangulær matrix

Singular Value Decomposition (SVD) af m × n Matrix

Denne tilgang gør det muligt for LoRA at opretholde de væsentlige egenskaber ved dataene og samtidig reducere dimensionaliteten og dermed optimere finjusteringsprocessen.

LoRA griber ind i denne proces, fryser alle originale modelparametre og introducerer et par "rangnedbrydningsmatricer" sammen med de originale vægte. Disse mindre matricer, betegnet som A og B, gennemgår træning gennem superviseret læring.

Det centrale element i denne strategi er parameteren kaldet rank ('r'), som dikterer størrelsen af ​​de lav-rangerede matricer. Et omhyggeligt udvalg af 'r' kan give imponerende resultater, selv med en mindre værdi, og derved skabe en lav-rang matrix med færre parametre at træne. Denne strategi er blevet implementeret effektivt ved hjælp af open source-biblioteker såsom HuggingFace Transformers, hvilket letter LoRA-finjustering til forskellige opgaver med bemærkelsesværdig effektivitet.

2) QLoRA: At tage LoRA-effektiviteten højere

Med udgangspunkt i det grundlag, som LoRA har lagt, minimerer QLoRA yderligere hukommelseskravene. Introduceret af Tim Dettmers og andre i 2023, det kombinerer lav rangstilpasning med kvantisering, ved at anvende et 4-bit kvantiseringsformat kaldet NormalFloat or nf4. Kvantisering er i bund og grund en proces, der overfører data fra en højere informationsrepræsentation til en med mindre information. Denne tilgang bibeholder effektiviteten af ​​16-bit finjusteringsmetoder, og dekvantiserer 4-bit-vægtene til 16-bit, som det er nødvendigt under beregningsprocesser.

Sammenligning af finjusteringsmetoder: QLORA forbedrer LoRA med 4-bit præcisionskvantisering og paged optimizers til administration af hukommelsesspidser

Sammenligning af finjusteringsmetoder: QLORA forbedrer LoRA med 4-bit præcisionskvantisering og paged optimizers til administration af hukommelsesspidser

QLoRA udnytter NumericFloat4 (nf4) og målretter mod hvert lag i transformerarkitekturen og introducerer konceptet med dobbelt kvantisering for yderligere at formindske det hukommelsesfodaftryk, der kræves til finjustering. Dette opnås ved at udføre kvantisering på de allerede kvantificerede konstanter, en strategi, der afværger typiske gradient checkpointing hukommelsesspidser gennem brugen af ​​sideoptimere og unified memory management.

guanaco, som er et QLORA-tunet ensemble, sætter et benchmark i open source chatbot-løsninger. Dens ydeevne, valideret gennem systematiske menneskelige og automatiserede vurderinger, understreger dens dominans og effektivitet på området.

65B- og 33B-versionerne af Guanaco, finjusteret ved hjælp af en modificeret version af OASST1 datasæt, fremstår som formidable konkurrenter til kendte modeller som ChatGPT og endda GPT-4.

Finjustering ved hjælp af Reinforcement Learning from Human Feedback

Forstærkning Learning from Human Feedback (RLHF) kommer i spil, når man finjusterer fortrænede sprogmodeller, så de passer tættere på menneskelige værdier. Dette koncept blev introduceret af Open AI i 2017 og lagde grundlaget for forbedret dokumentopsummering og udvikling af Instruer GPT.

Kernen i RLHF er reinforcement learning paradigmet, en type maskinlæringsteknik, hvor en agent lærer at opføre sig i en miljø ved at optræde aktioner og modtagelse belønninger. Det er en kontinuerlig løkke af Action , tilbagemeldinger, hvor agenten tilskyndes til at træffe valg, der vil give den højeste belønning.

At oversætte dette til sprogmodellernes område, den agent er model selv, der opererer inden for miljø af et givet kontekstvindue og træffe beslutninger baseret på tilstand, som er defineret af de aktuelle tokens i kontekstvinduet. Det "handlingsrum” omfatter alle potentielle tokens, som modellen kan vælge imellem, med målet at vælge det token, der stemmer bedst overens med menneskelige præferencer.

RLHF-processen udnytter menneskelig feedback i vid udstrækning og bruger den til at træne en belønningsmodel. Denne model spiller en afgørende rolle i at vejlede den foruddannede model under finjusteringsprocessen og tilskynder den til at generere output, der er mere i overensstemmelse med menneskelige værdier. Det er en dynamisk og iterativ proces, hvor modellen lærer gennem en række "udrulninger", et udtryk, der bruges til at beskrive rækkefølgen af ​​tilstande og handlinger, der fører til en belønning i forbindelse med sproggenerering.

Et af de bemærkelsesværdige potentialer ved RLHF er dets evne til at fremme personalisering i AI-assistenter, skræddersy dem til at resonere med individuelle brugeres præferencer, hvad enten det er deres sans for humor eller daglige rutiner. Det åbner op for muligheder for at skabe AI-systemer, der ikke kun er teknisk dygtige, men også følelsesmæssigt intelligente, i stand til at forstå og reagere på nuancer i menneskelig kommunikation.

Det er dog vigtigt at bemærke, at RLHF ikke er en idiotsikker løsning. Modellerne er stadig modtagelige for at generere uønskede output, en afspejling af de enorme og ofte uregulerede og partiske data, de er trænet på.

Konklusion

Finjusteringsprocessen, et kritisk trin i at udnytte det fulde potentiale af LLM'er som Alpaca, Falcon og GPT-4, er blevet mere raffineret og fokuseret og tilbyder skræddersyede løsninger til en bred vifte af opgaver.

Vi har set enkelt-opgave finjustering, som er specialiseret i modeller i bestemte roller, og Parameter-Efficient Fine-Tuning (PEFT) metoder, herunder LoRA og QLoRA, som har til formål at gøre træningsprocessen mere effektiv og omkostningseffektiv. Disse udviklinger åbner døre til AI-funktioner på højt niveau for et bredere publikum.

Ydermere er introduktionen af ​​Reinforcement Learning from Human Feedback (RLHF) af Open AI et skridt i retning af at skabe AI-systemer, der forstår og tilpasser sig tættere til menneskelige værdier og præferencer, og sætter scenen for AI-assistenter, der ikke kun er smarte, men også følsomme overfor individuelle brugers behov. Både RLHF og PEFT arbejder i synergi for at forbedre funktionaliteten og effektiviteten af ​​store sprogmodeller.

Da virksomheder, virksomheder og enkeltpersoner søger at integrere disse finjusterede LLM'er i deres drift, byder de i det væsentlige velkommen til en fremtid, hvor AI er mere end et værktøj; det er en partner, der forstår og tilpasser sig menneskelige sammenhænge og tilbyder løsninger, der er innovative og personlige.

Jeg har brugt de sidste fem år på at fordybe mig i den fascinerende verden af ​​Machine Learning og Deep Learning. Min passion og ekspertise har ført mig til at bidrage til over 50 forskellige software engineering projekter, med særligt fokus på AI/ML. Min vedvarende nysgerrighed har også trukket mig hen imod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.