Hvernig á að fínstilla stórt mállíkan [og hvenær er betra að nota RAG eða kvaðningu]

Í þessum leiðarvísi er útskýrt hvernig á að fínstilla stórt mállíkan (LLM) skref fyrir skref, full fínstilling borin saman við LoRA og QLoRA og sýnt hvenær kvaðning eða RAG er betri leið til að bæta úttak líkans.

Diagram comparing pre-training and fine-tuning: pre-training turns a vast general text corpus (trillions of tokens, large labs, huge compute) into a base model, while fine-tuning combines a base model with a small task-specific dataset (a few hundred to a few thousand examples, one GPU, hours) to produce a specialized model.

Að fínstilla stórt mállíkan (LLM) felst í því að þjálfa forþjálfað mállíkan frekar á litlu, verkefnasértæku gagnasafni svo að það skili niðurstöðum sem ekki fást með kvaðningum einum saman.

Fínstilling felst í því að safna dæmapörum af inntaki og úttaki sem sýna þá hegðun sem óskað er eftir, keyra þjálfunarumferðir sem færa vægi líkansins í átt að þeim og bera niðurstöðuna saman við úttak upprunalega líkansins. Færibreytuhagkvæmar aðferðir á borð við LoRA gera þetta nógu ódýrt til að hægt sé að keyra það á einu skjákorti (GPU).

Ef úttak mállíkansins stenst ekki væntingar skaltu fyrst bæta kvaðningarnar og gagnaheimtustudda textagerð (RAG). Fínstilling breytir hegðun mállíkansins. Þegar það þarf að nota nýjar upplýsingar eða upplýsingar í einkaeigu eru kvaðningar og RAG yfirleitt betri kostur.

Hér er farið skref fyrir skref yfir það hvernig mállíkan er fínstillt, helstu fínstillingaraðferðirnar (LoRA og QLoRA) og þær áskoranir og mistök sem geta sett ferlið út af sporinu.

Hvað er fínstilling mállíkana og hvernig er hún frábrugðin forþjálfun

Forþjálfun mállíkans byggir upp almenna málfærni þess frá grunni á gríðarstóru textasafni, en fínstilling aðlagar forþjálfað líkan að einu tilteknu verkefni með litlu gagnasafni.

Forþjálfun mállíkans er auðlindafrekur áfangi sem skilar grunnlíkani. Líkanið lærir af breiðu textasafni sem gefur því almenna þekkingu á málfræði, staðreyndum og rökhugsun en enga sérhæfingu í þínu verkefni.

Við fínstillingu mállíkans er þjálfun grunnlíkansins haldið áfram á litlu, vandlega völdu gagnasafni svo að það skili æskilegu úttaki fyrir tiltekið verkefni eða notkunartilvik. Dæmi um þetta eru samræmt snið, rödd eða tónn vörumerkis, mynstur sem eru sértæk fyrir tiltekið fagsvið og áreiðanleg verkfæra- og fallaköll.

Hvenær á að fínstilla mállíkön og hvenær er betra að nota kvaðningar eða RAG

Til að bæta frammistöðu mállíkans skaltu feta þig upp stigann: kvaðningar -> RAG -> fínstilling.

Bættu kvaðningarnar með ítarlegri fyrirmælum og notaðu RAG til að veita líkaninu nýjustu upplýsingar. Gríptu aðeins til fínstillingar þegar endurbætur á kvaðningum og gagnaheimt skila ekki árangri.

Nálgun

Hverju hún breytir

Notaðu hana þegar

Helsta takmörkun

Kvaðningahönnun

Beiðninni sem þú sendir

Hegðunin er nálægt markmiðinu og þú vilt hraða og geta auðveldlega snúið breytingum til baka

Takmarkast af núverandi getu grunnlíkansins

RAG

Því sem líkanið sér við ályktun

Staðreyndir breytast oft og mállíkanið þarf aðgang að nýjustu upplýsingum

Eykur töf vegna gagnaheimtar og kallar á aukna innviði; breytir ekki hegðun

Fínstilling mállíkana

Vægi líkansins (innri færibreytum þess)

Þú þarft samræmda hegðun, snið eða tón í stórum stíl, eða styttri kvaðningar í hverju kalli

Stofnkostnaður, þekking sem er greypt í vægið úreldist, hætta á að líkanið gleymi hegðun úr forþjálfun

Hvenær betri kvaðningar slá fínstillingu við og hvenær þær duga ekki

Kvaðningar eru fljótlegasta og ódýrasta leiðin. Í mörgum tilvikum nást æskilegar breytingar á hegðun með nákvæmari og ítarlegri kvaðningum.

En lengri kvaðningar hægja á vinnslunni og gera hana dýrari, og þær geta ekki yfirstigið takmarkanir sem fyrir eru í líkaninu.

Merki um að kvaðningar séu mögulega komnar að mörkum sínum:

  • Ný jaðartilvik spilla sífellt úttakinu: Líkanið skilar til dæmis samfelldum texta þegar þú þarft JSON eða víkur frá réttum tóni, og þú lappar upp á kvaðninguna fyrir hvert nýtt tilvik.
  • Kerfiskvaðningin lengist sífellt: Kvaðningin nær hundruðum eða þúsundum lína og er erfið í umsjón.
  • Þú greiðir fyrir hana í hverju kalli: Kvaðningin er send og unnin að nýju við hverja beiðni, svo að tókakostnaður og töf aukast.
  • Breytingar hætta að skipta máli: Ný fyrirmæli bæta ekki úttakið.

Jafnvel þá skaltu fyrst prófa ódýrari lagfæringar á kvaðningunum. Notaðu fá dæmi (few-shot) til að sýna líkaninu mynstrið (pör af inntaki og úttaki), kvaðningakeðjur til að skipta erfiðum verkefnum í smærri skref eða fallaköll til að útvista nákvæmum uppflettingum eða útreikningum.

Hvenær RAG er skynsamlegra en að fínstilla líkanið

RAG breytir því sem mállíkanið veit, en fínstilling breytir því hvernig það hegðar sér. Ef bilið snýst um þekkingu, einkum þekkingu sem breytist oft eða er að finna í þínum eigin skjölum, er RAG svarið. Ef bilið snýst um hegðun skaltu fínstilla.

Fínstilling breytir líka því sem líkan veit, en allar staðreyndir sem það tileinkar sér frjósa á þeim tíma sem þjálfunin fer fram og úreldast fljótt á sviðum sem breytast hratt. Auk þess eru upplýsingarnar greyptar í vægi líkansins, svo að uppruni þeirra er hvergi skráður.

Fljótlegra og ódýrara er að uppfæra upprunaskjölin sem gagnaheimtarlag notar, og það getur vísað nákvæmlega í heimildirnar sem það studdist við. Það gerir RAG að betri kosti þegar þú þarft nýjar upplýsingar sem hægt er að rökstyðja.

Gallinn við RAG? Það er viðbótarlag sem þarf að byggja upp og viðhalda, og það eykur töf.

Í reynd þarftu oft hvort tveggja. Kerfi í rekstri nota gjarnan fínstillt líkön samhliða RAG, annað fyrir samræmda hegðun og hitt fyrir nýjustu staðreyndir.

Algengar gildrur, áhættur og áskoranir við fínstillingu

Jafnvel þegar fínstilling er rétta verkfærið fylgja henni kostnaður og áhætta:

  • Kostnaður og tími: Það er dýrt að safna saman hreinum og dæmigerðum þjálfunargögnum, og reiknigetan fyrir þjálfunina er líka dýr.
  • Stórfelld gleymska: Líkan sem er þjálfað á þröngu gagnasafni getur tapað almennri færni og tileinkað sér nýjar villutegundir, sem leiðir til mistaka sem grunnlíkanið gerði ekki.
  • Ofaðlögun: Ef gögnin eru of lítil eða of einsleit leggur líkanið þjálfunardæmin á minnið í stað þess að læra mynstur, svo að það stendur sig vel á þjálfunarsýnunum en illa á raunverulegu inntaki.
  • Úrelt þekking: Þekking sem er greypt í vægið úreldist fljótt, svo að þú þarft að endurþjálfa líkanið á nýjum gögnum.
  • Úrelding: Þegar öflugra líkan kemur út stendur það sig oft betur en fínstillta líkanið þitt án nokkurrar aðlögunar, og þú þarft að vinna verkið upp á nýtt.
  • Áskoranir við mat og endurtekningu: Erfitt er að sanna að fínstillta líkanið standi sig betur en grunnlíkanið. Tvær þjálfunarkeyrslur á skjákortum með sömu stillingum geta líka skilað örlítið ólíkum líkönum.
  • Gagnastjórnun: Þjálfun á gögnum í einkaeigu eða viðkvæmum gögnum vekur spurningar um persónuvernd og leyfismál; líkan getur síðar dregið fram brot af því sem það var þjálfað á.

Helstu fínstillingaraðferðirnar

Helstu tegundir fínstillingar mállíkana eru ólíkar eftir því hve stórum hluta líkansins þær breyta: full fínstilling endurþjálfar allt líkanið, en færibreytuhagkvæmar fínstillingaraðferðir (PEFT) á borð við LoRA og QLoRA uppfæra aðeins hluta vægisins. PEFT-aðferðir þurfa aðeins brot af því minni sem full fínstilling krefst og geta, með réttum stillingum, skilað sambærilegum niðurstöðum.

Full fínstilling uppfærir allt vægi líkansins. Hún er dýrust og felur í sér mesta hættu á stórfelldri gleymsku. Notaðu hana aðeins fyrir miklar breytingar á hegðun þegar þú hefur gögnin og reiknigetuna sem til þarf.

Valkosturinn er færibreytuhagkvæm fínstilling, eða PEFT. Það er yfirheiti yfir aðferðir sem frysta stærstan hluta líkansins og þjálfa aðeins lítið mengi færibreytna. Þær krefjast mun minna minnis og eru síður líklegar til að valda gleymsku, þar sem grunnlíkanið helst óbreytt.

Við lágt rang (rank) lærir PEFT minna en full fínstilling, en með því að hækka rangið og stilla námshraðann má brúa mestallt bilið í verkefnum sem byggja á fyrirmælaþjálfun.

Meðal PEFT-aðferða eru:

  • LoRA (Low-Rank Adaptation): Hefðbundni upphafspunkturinn. Aðferðin frystir upprunalega vægið og þjálfar lítið mengi viðbættra aðlögunarfæribreytna, oft innan við 1% af heildinni, svo að hún keyrir á einu neytendaskjákorti.
  • QLoRA (Quantized Low-Rank Adaptation): Aðferðin þjappar grunnlíkaninu niður í 4 bita nákvæmni áður en LoRA er beitt, sem gerir kleift að fínstilla stórt líkan á einu skjákorti.

Aðferð

Hvað hún uppfærir

Vélbúnaðarþörf í reynd

Notaðu hana þegar

Full fínstilling

Allt vægi líkansins

Hnútur með mörgum skjákortum fyrir líkön í 7B-flokki, mun meira fyrir stærri líkön

Þú þarft djúpstæða breytingu á hegðun og hefur gögnin og reiknigetuna

LoRA (PEFT)

Lítið mengi viðbætts aðlögunarvægis

Eitt neytendaskjákort

Fyrsti kostur í flestum tilvikum

QLoRA (PEFT)

LoRA-aðlögunarlög á 4 bita þjöppuðum grunni

Mjög stór líkön á einu skjákorti

Þig skortir minni en vilt stórt grunnlíkan

Til viðbótar notum við aðferðir við fyrirmælaþjálfun og óskaþjálfun, allt frá RLHF (Reinforcement Learning from Human Feedback) til léttari valkosta á borð við Direct Preference Optimization (DPO) og Odds Ratio Preference Optimization (ORPO), til að móta hvernig líkan fylgir fyrirmælum og samræmist óskum fólks.

Svona fínstillirðu mállíkan skref fyrir skref

Þegar þú hefur ákveðið að fínstilling mállíkans sé rétta leiðin er verkflæðið svona.

Skref 1: Skilgreindu verkefnið og hvernig þú mælir árangur

Ákveddu hvaða hegðun þú vilt fá frá mállíkaninu og hvernig þú munt vita að hún hafi náðst.

Tilgreindu nákvæmlega hvaða verkefni fínstillta líkanið á að leysa, til dæmis að flokka þjónustubeiðnir, draga saman samninga á föstu sniði eða skrifa kóða í samræmi við kóðastíl fyrirtækisins.

Skilgreindu síðan árangur. Algengir kostir eru meðal annars:

  • Gilt úttak: Er niðurstaðan til dæmis gilt JSON eða fylgir hún þeirri Markdown-uppbyggingu sem þú þarft?
  • Sjálfvirkar einkunnir: Notaðu mælikvarða á borð við BLEU eða ROUGE, sem bera saman myndaðan texta við viðmiðunarsvör, eða nákvæmni í verkefninu á merktu gagnasafni.
  • Mat fólks: Matskvarði með einkunnum eða staðist/fallið fyrir eiginleika sem forskriftir eiga erfitt með að meta, svo sem tón eða hjálpsemi.
  • Áreiðanleiki á erfiðu inntaki: Ræður líkanið við óvenjulega inntakið sem grunnlíkanið hnaut um?

Skref 2: Undirbúðu gagnasafnið

Gæði gagnanna ráða úrslitum um árangur fínstillingarinnar, svo það borgar sig að leggja vinnu í að safna réttu gagnasafni fyrir hana.

Sníddu gögnin sem pör fyrirmæla og svara í JSONL, þar sem hver lína inniheldur inntakið (ásamt samhengi ef við á) og nákvæmlega það úttak sem þú vilt fá til baka.

Skoðaðu til dæmis opin gagnasöfn á borð við almenna fyrirmælasafnið Alpaca-cleaned eða Dolly frá Databricks, eða verkefnasértæka safnið banking77, sem inniheldur yfir 13.000 raunverulegar þjónustufyrirspurnir merktar eftir 77 ásetningsflokkum.

Fyrir afmarkað verkefni geta nokkur hundruð til nokkur þúsund hrein og fjölbreytt dæmi breytt hegðuninni, svo framarlega sem dæmin endurspegla raunverulegt inntak úr rekstri, þar með talin jaðartilvik, og eru sniðin á samræmdan hátt.

Engin pör af inntaki og úttaki enn? Byggðu safnið upp úr gögnum sem þú átt nú þegar, svo sem þjónustubeiðnum og bestu svörunum við þeim, eða skjölum og samantektum á þeim.

Ef þú hefur aðeins úttakið skaltu nota öflugra líkan til að búa til trúverðugt inntak fyrir hvert þeirra, eða handskrifa lítið upphafssafn og stækka það með stærra „kennaralíkani“ og halda síðan bestu pörunum eftir.

Að lokum skaltu skipta gögnunum í þjálfunar-, sannprófunar- og prófunarsöfn svo að þú getir mælt árangurinn á dæmum sem líkanið hefur ekki séð.

Skref 3: Veldu grunnlíkan og aðferð

Byrjaðu á litlu líkani með opnum kóða og 3 til 7 milljörðum færibreytna, ásamt færibreytuhagkvæmri fínstillingaraðferð á borð við LoRA eða QLoRA.

Opnar líkanafjölskyldur á borð við Llama, Mistral og Qwen veita sterkan grunn sem hægt er að hýsa á eigin vegum, og PEFT-aðferðirnar halda vélbúnaðarkröfunum lágum: QLoRA skammtar grunnlíkanið niður í 4 bita, svo að til að fínstilla 7B-líkan þarf aðeins 16–24 GB neytendaskjákort. Full fínstilling sama líkans krefst margfalt meira minnis.

Skref 4: Stilltu ofurfæribreytur þjálfunarinnar

Hér eru helstu færibreytur við fínstillingu mállíkana og ráðlögð upphafsbil:

  • Námshraði stýrir því hve stór hver uppfærsla vægisins er. Rannsókn Biderman o.fl. frá 2024 leiddi í ljós að besti námshraði LoRA var um það bil tífalt hærri en við fulla fínstillingu, yfirleitt 5e-5 til 5e-4 á móti 1e-5 til 5e-5. Í rannsókninni er mælt með því að prófa gildi á bilinu 1e-5 til 5e-4 og nota hæsta gildið sem skilar stöðugri þjálfun.
  • Lotustærð segir til um hversu mörg dæmi líkanið lærir af fyrir hverja uppfærslu vigta. Á einu skjákorti (GPU) skaltu nota litla lotu, 1 til 8 dæmi á hvert tæki, og stigulsöfnun til að ná virkri lotustærð upp á um það bil 16 til 64.
  • Fjöldi umferða (epochs) segir til um hversu oft líkanið fer í gegnum allt gagnasafnið. Þegar líkanið er þjálfað til að sinna tilteknum verkefnum eru 1–3 umferðir góð þumalputtaregla, en LoRA-keyrslur þurfa oft fleiri.
  • LoRA-rang (r) ákvarðar getu aðlögunareiningarinnar, þ.e. hversu mikið hún getur lært. Byrjaðu á 8 til 32 fyrir einfaldari verkefni og hækkaðu það fyrir erfiðari: Í LoRA-rannsókn Biderman o.fl., sem vitnað er í hér að ofan, þurfti rang 256 til að jafnast á við fulla fínstillingu þegar 7B líkan var fínstillt með fyrirmælum á kóða, en rang 64 komst nálægt því í stærðfræði.
  • Hámarkslengd runu er lengsta inntak sem keyrslan vinnur úr. Stilltu hana þannig að hún nái yfir lengstu dæmin þín, upp að samhengisglugga líkansins, því allt sem er lengra er skorið af.
  • Upphitun og námshraðaáætlun stjórna því hvernig námshraðinn eykst í upphafi og breytist yfir keyrsluna. Stutt upphitun og kósínuslækkun eru venjulegar sjálfgefnar stillingar. Hins vegar komst rannsókn Pareja o.fl. á litlum líkönum að því að það skaðaði ekki lokaniðurstöður að sleppa upphituninni.

Líttu á þessi gildi sem upphafspunkta fyrir færibreytuleit, ekki fastar stillingar.

Skref 5: Þjálfaðu líkanið og fylgstu með tapinu

Á meðan þjálfunin stendur yfir skaltu fylgjast með tapferlum þjálfunar og staðfestingar til að sjá hvort hún skilar árangri.

Tap mælir hversu langt úttak líkansins er frá dæmunum þínum og það ætti að lækka jafnt og þétt eftir því sem keyrslunni miðar. Þjálfunartap nær yfir gögnin sem líkanið lærir af. Staðfestingartap er mælt á dæmunum sem haldið var til hliðar.

Ef þjálfunartap og staðfestingartap lækka samhliða er líkanið að læra að alhæfa. Ef þjálfunartapið heldur áfram að lækka en staðfestingartapið stendur í stað eða hækkar er líkanið að leggja þjálfunarsafnið á minnið í stað þess að læra mynstrið (ofaðlögun).

Skref 6: Mettu líkanið og taktu það síðan í notkun

Lágt þjálfunartap tryggir ekki rétt úttak, svo leggðu mat á fínstillta líkanið út frá viðmiðunum sem þú settir í skrefi 1.

Þegar líkanið stenst matið hefurðu tvær leiðir til að taka það í notkun:

  • Hýstu aðlögunareininguna ofan á grunnlíkaninu og hladdu báðum inn við keyrslu; þannig er áfram hægt að skipta aðlögunareiningunni út.
  • Sameinaðu aðlögunareininguna við grunnvigtirnar til að fá eitt sjálfstætt líkan sem er einfaldara að hýsa.

Notaðu Perplexity til að veita mállíkaninu þínu aðgang að nýjustu upplýsingum

Fínstilling er rétta leiðin þegar þú vilt laga hegðun líkansins að þínum þörfum.

Ef líkanið þitt þarf nýjustu upplýsingar, sérstaklega upplýsingar sem breytast hratt, þarftu RAG-kerfi eða áreiðanlegt leitartól frá þriðja aðila.

Sérsniðið heimtukerfi hentar best fyrir gagnasöfn í einkaeigu, eins og innri wiki-vefinn þinn, sögu þjónustubeiðna viðskiptavina, samninga eða vöruskjölun.

Þegar þekkingin sem þú vilt nota er opinber er engin þörf á að smíða sérsniðið heimtulag. Perplexity er svarvél sem skilar svörum með smellanlegum tilvísunum í textanum úr vefskrá sem er uppfærð í rauntíma. Agent API frá Perplexity skilar slíkum vefstuddum svörum með tilvísunum í einu kalli, svo forritið þitt getur nýtt sér nýjustu heimildir.

Algengar spurningar um fínstillingu mállíkana

Er hægt að fínstilla mállíkan ókeypis?

Já, þú getur fínstillt lítið opið mállíkan ókeypis. Til dæmis veitir ókeypis útgáfa Google Colab nægilega GPU-getu til að keyra QLoRA á 3B til 8B líkani, sem dugar vel fyrir afmarkað verkefni. Þú byrjar að borga þegar þú þarft meira minni, lengri keyrslur eða stærra grunnlíkan en ókeypis útgáfan ræður við.

Þarftu eigið skjákort eða er hægt að fínstilla í skýinu?

Þú þarft ekki að eiga skjákort til að fínstilla mállíkön. Hýstar þjónustur og skýjaþjónustur fyrir skjákort leigja vélbúnaðinn út á tímagjaldi, svo eitt leigt skjákort dugar fyrir QLoRA-keyrslu á litlu líkani. Það borgar sig aðeins að kaupa skjákort ef þú fínstillir oft eða þarft að geyma öll gögnin þín á eigin vélum.

Hversu langan tíma tekur að fínstilla mállíkön?

Fyrir lítið mállíkan getur keyrsla tekið frá nokkrum mínútum upp í nokkrar klukkustundir, eftir stærð gagnasafnsins og vélbúnaði. Oumi fínstillti til dæmis 0,8B líkan að fullu á rétt rúmri klukkustund á hýstu kerfi sínu.

Stærri líkön eða tugir þúsunda dæma geta lengt tímann í sólarhring eða meira: LoRA-keyrslur Emburse á 7B líkani tóku 8 klukkustundir fyrir 5.000 dæmi og um 30 klukkustundir fyrir 50.000 á einu 40 GB skjákorti.

Er hægt að halda áfram að uppfæra fínstillt líkan þegar gögnin breytast?

Þú getur fínstillt líkanið aftur á nýjum gögnum, en hvert skipti kostar reikniafl og hætta er á hamfaragleymsku (catastrophic forgetting). Fyrir þekkingu sem breytist oft er RAG yfirleitt betri lausn, þar sem þú uppfærir upprunaskjölin í stað þess að endurþjálfa líkanið.