Refresh

This website www.unite.ai/ca/lora-qlora-and-qa-lora-efficient-adaptability-in-large-language-models-through-low-rank-matrix-factorization/ 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.

taló LoRa, QLoRA i QA-LoRA: adaptabilitat eficient en grans models de llenguatge mitjançant la factorització de matrius de baix rang - Unite.AI
Connecteu-vos amb nosaltres

Intel·ligència Artificial

LoRa, QLoRA i QA-LoRA: adaptabilitat eficient en grans models de llenguatge mitjançant la factorització de matrius de baix rang

mm

publicat

 on

LoRA : Adaptació de baix rang de grans models lingüístics

Els grans models de llenguatge (LLM) han tallat un nínxol únic, oferint capacitats inigualables per entendre i generar text semblant a l'ésser humà. El poder dels LLM es pot remuntar a la seva enorme mida, sovint amb milers de milions de paràmetres. Tot i que aquesta gran escala alimenta el seu rendiment, alhora genera reptes, especialment quan es tracta d'adaptar el model per a tasques o dominis específics. Les vies convencionals de gestió de LLM, com ara l'ajustament de tots els paràmetres, presenten un gran peatge computacional i financer, la qual cosa suposa una barrera important per a la seva adopció generalitzada en aplicacions del món real.

En una article anterior, vam aprofundir en l'ajustament dels grans models de llenguatge (LLM) per adaptar-los a requisits específics. Hem explorat diverses metodologies d'afinació, com ara l'afinació basada en instruccions, l'afinació d'una sola tasca i l'afinació eficient de paràmetres (PEFT), cadascuna amb el seu enfocament únic per optimitzar els LLM per a tasques diferents. El centre de la discussió va ser l'arquitectura del transformador, la columna vertebral dels LLM i els reptes plantejats per les demandes computacionals i de memòria de manejar un gran nombre de paràmetres durant l'ajustament.

Paràmetres en LLM

https://huggingface.co/blog/hf-bitsandbytes-integration

La imatge de dalt representa l'escala de diversos models de llenguatge grans, ordenats pel nombre de paràmetres. En particular: PALM, FLOR, etcètera...

A partir d'aquest any, hi ha hagut avenços que han portat a models encara més grans. Tanmateix, ajustar aquests models gegantins i de codi obert en sistemes estàndard és inviable sense tècniques d'optimització especialitzades.

Enter Low-Rank Adaptation (LoRA) va ser introduït per Microsoft en això paper, amb l'objectiu de mitigar aquests reptes i fer que els LLM siguin més accessibles i adaptables.

El quid de LoRA rau en el seu enfocament cap a l'adaptació del model sense aprofundir en les complexitats de la recapacitació de tot el model. A diferència de l'ajust tradicional, on cada paràmetre està subjecte a canvis, LoRA adopta una ruta més intel·ligent. Congela els pesos del model prèviament entrenats i introdueix matrius de descomposició de rang entrenables a cada capa de l'arquitectura del transformador. Aquest enfocament redueix dràsticament el nombre de paràmetres entrenables, assegurant un procés d'adaptació més eficient.

L'evolució de les estratègies de sintonització de LLM

Reflexionant sobre el viatge de la sintonització de LLM, es poden identificar diverses estratègies emprades pels professionals al llarg dels anys. Inicialment, el focus es va centrar en l'afinació dels models pre-entrenats, una estratègia que implica una alteració integral dels paràmetres del model per adaptar-se a la tasca específica que es tracta. Tanmateix, a mesura que els models van créixer en mida i complexitat, també ho van fer les demandes computacionals d'aquest enfocament.

La següent estratègia que va guanyar força va ser l'afinació del subconjunt, una versió més moderada del seu predecessor. Aquí, només s'ajusta un subconjunt dels paràmetres del model, reduint fins a cert punt la càrrega computacional. Malgrat els seus mèrits, l'ajustament del subconjunt encara no va poder seguir el ritme de creixement de la mida dels LLM.

A mesura que els professionals es van aventurar a explorar vies més eficients, l'ajustament complet va sorgir com un enfocament rigorós però gratificant.

Introducció a LoRA

El rang d'una matriu ens dóna una visió de les dimensions creades per les seves columnes, està determinada pel nombre de files o columnes úniques que té.

  • Matriu de rang complet: el seu rang coincideix amb el nombre menor entre les seves files o columnes.
  • Matriu de rang baix: amb un rang notablement més petit que el nombre de files i columnes, captura menys funcions.

Ara, els grans models comprenen una àmplia comprensió del seu domini, com el llenguatge en els models lingüístics. Però, per ajustar-los per a tasques específiques, sovint només cal destacar una petita part d'aquests coneixements. Aquí és on brilla LoRA. Suggereix que la matriu que mostra aquests ajustos de pes pot ser de baix rang, capturant així menys funcions.

LoRA limita intel·ligentment el rang d'aquesta matriu d'actualització dividint-la en dues matrius de rang més petites. Així, en lloc d'alterar tota la matriu de pes, només en canvia una part, fent que la tasca d'ajustament sigui més eficient.

Aplicació de LoRA als transformadors

LoRA ajuda a minimitzar la càrrega d'entrenament a les xarxes neuronals centrant-se en matrius de pes específiques. Sota l'arquitectura Transformer, certes matrius de pes estan vinculades amb el mecanisme d'autoatenció, és a dir, Wq, Wk, Wv i Wo, a més de dues més en el mòdul Multi-Layer Perceptron (MLP).

Transformadors-arquitectura

Arquitectura de transformadors

 

capçals d'atenció del transformador

Capçals d'atenció del transformador

Explicació matemàtica darrere de LoRA

Desglossem les matemàtiques darrere de LoRA:

  1. Matriu de pes prèviament entrenat :
    • Comença amb una matriu de pes prèviament entrenada de dimensions . Això vol dir que la matriu té files i columnes.
  2. Descomposició de rang baix:
    • En lloc d'actualitzar directament tota la matriu , que pot ser computacionalment costós, el mètode proposa un enfocament de descomposició de baix rang.
    • L'actualització a es pot representar com un producte de dues matrius: i .
      • té unes dimensions
      • té unes dimensions
    • El punt clau aquí és que el rang és molt més petit que tots dos i , que permet una representació computacionalment més eficient.
  3. Formació:
    • Durant el procés de formació, roman sense canvis. Això es coneix com "congelar" els pesos.
    • D'altra banda, i són els paràmetres entrenables. Això vol dir que, durant l'entrenament, es fan ajustos a les matrius i per millorar el rendiment del model.
  4. Multiplicació i suma:
    • Tots dos i l'actualització (que és el producte de i ) es multipliquen per la mateixa entrada (indicada com ).
    • Les sortides d'aquestes multiplicacions se sumen.
    • Aquest procés es resumeix en l'equació: Aquí, representa la sortida final després d'aplicar les actualitzacions a l'entrada .

En resum, aquest mètode permet una manera més eficient d'actualitzar una matriu de pes gran representant les actualitzacions mitjançant una descomposició de rang baix, que pot ser beneficiosa en termes d'eficiència computacional i ús de memòria.

LORA Animació

TEMPS

Inicialització i escala:

Quan s'entrenen els models, la manera com inicialitzem els paràmetres pot afectar significativament l'eficiència i l'eficàcia del procés d'aprenentatge. En el context de la nostra actualització de la matriu de pes utilitzant i :

  1. Inicialització de matrius i :
    • matriu : Aquesta matriu s'inicia amb valors gaussians aleatoris, també coneguts com a distribució normal. La raó de l'ús de la inicialització gaussiana és trencar la simetria: diferents neurones de la mateixa capa aprendran diferents característiques quan tinguin diferents pesos inicials.
    • matriu : Aquesta matriu s'inicialitza amb zeros. En fer això, l'actualització comença com a zero al començament de l'entrenament. Assegura que no hi hagi cap canvi brusc en el comportament del model al principi, permetent que el model s'adapti gradualment a mesura que aprèn els valors adequats durant la formació.
  2. Escala de la sortida de :
    • Després de calcular l'actualització , la seva sortida s'escala en un factor de where és una constant. Mitjançant l'escala, es controla la magnitud de les actualitzacions.
    • L'escala és especialment crucial quan el rang canvis. Per exemple, si decidiu augmentar el rang per obtenir més precisió (a costa del càlcul), l'escala garanteix que no cal que ajusteu molts altres hiperparàmetres en el procés. Proporciona un nivell d'estabilitat al model.

Impacte pràctic de LoRA

LoRA ha demostrat el seu potencial per adaptar els LLM a estils artístics específics de manera eficient per part de persones de la comunitat d'IA. Això es va mostrar notablement en l'adaptació d'un model per imitar l'estil artístic de Greg Rutkowski.

Com s'ha destacat al document amb GPT-3 175B com a exemple. Tenir exemples individuals de models ajustats amb paràmetres 175B cadascun és força costós. Però, amb LoRA, els paràmetres entrenables cauen 10,000 vegades i l'ús de la memòria de la GPU es redueix a un terç.

Impacte de LoRa en la sintonia GPT-3

Impacte de LoRa en l'afinació GPT-3

La metodologia LoRA no només representa un pas important per fer que els LLM siguin més accessibles, sinó que també subratlla el potencial per salvar la bretxa entre els avenços teòrics i les aplicacions pràctiques en el domini de la IA. Mitjançant l'alleujament dels obstacles computacionals i el foment d'un procés d'adaptació del model més eficient, LoRA està disposat a jugar un paper fonamental en l'adopció i el desplegament més amplis de LLM en escenaris del món real.

QLoRA (quantificat)

Tot i que LoRA és un canvi de joc a l'hora de reduir les necessitats d'emmagatzematge, encara requereix una GPU forta per carregar el model per a la formació. Aquí és on intervé QLoRA, o Quantized LoRA, combinant LoRA amb Quantization per a un enfocament més intel·ligent.

Quantització

Quantització

Normalment, els paràmetres de pes s'emmagatzemen en un format de 32 bits (FP32), és a dir, cada element de la matriu ocupa 32 bits d'espai. Imagineu-vos si poguéssim esprémer la mateixa informació en només 8 o fins i tot 4 bits. Aquesta és la idea central darrere de QLoRA. La quantificació es refereix al procés d'assignació de valors infinits continus a un conjunt més petit de valors finits discrets. En el context dels LLM, es refereix al procés de conversió dels pesos del model de tipus de dades de major precisió a de menor precisió.

Quantització en LLM

Quantització en LLM

Aquí teniu un desglossament més senzill de QLoRA:

  1. Quantització inicialEn primer lloc, el model de llenguatge gran (LLM) es quantifica fins a 4 bits, reduint significativament l'empremta de memòria.
  2. Formació LoRA: A continuació, es realitza l'entrenament LoRA, però amb la precisió estàndard de 32 bits (FP32).

Ara, potser us preguntareu, per què tornar a 32 bits per entrenar després de reduir-se a 4 bits? Bé, per entrenar eficaçment els adaptadors LoRA a FP32, els pesos del model també han de tornar a FP32. Aquest canvi d'anada i tornada es fa d'una manera intel·ligent i pas a pas per evitar aclaparar la memòria de la GPU.

LoRA troba la seva aplicació pràctica a Hugging Face Afinació eficient dels paràmetres (PEFT) biblioteca, simplificant-ne l'ús. Per a aquells que vulguin utilitzar QLoRA, s'hi pot accedir mitjançant una combinació de bits i bytes i biblioteques PEFT. A més, l'HuggingFace Biblioteca d'aprenentatge de reforç de transformadors (TRL). facilita l'afinació supervisada amb un suport integrat per a LoRA. En conjunt, aquestes tres biblioteques proporcionen el conjunt d'eines essencials per ajustar un model pre-entrenat seleccionat, permetent la generació de descripcions de productes persuasives i coherents quan se'ls sol·licita instruccions d'atributs específiques.

Després de l'ajustament de QLoRA, els pesos han de tornar a un format d'alta precisió, cosa que pot provocar una pèrdua de precisió i manca d'optimització per accelerar el procés.

Una solució proposada és agrupar la matriu de pes en segments més petits i aplicar la quantificació i l'adaptació de rang baix a cada grup individualment. Un nou mètode, anomenat QA-LoRA, intenta combinar els avantatges de la quantificació i l'adaptació de baix rang mantenint el procés eficient i el model efectiu per a les tasques desitjades.

Conclusió

En aquest article vam abordar els reptes que planteja la seva enorme mida de paràmetres. Hem aprofundit en les pràctiques tradicionals d'ajustament i les seves demandes computacionals i financeres associades. El quid de LoRA rau en la seva capacitat per modificar models pre-entrenats sense reciclar-los completament, reduint així els paràmetres entrenables i fent que el procés d'adaptació sigui més rendible.

També vam aprofundir breument en Quantized LoRA (QLoRA), una combinació de LoRA i Quantization que redueix la petjada de memòria del model alhora que conserva la precisió essencial per a l'entrenament. Amb aquestes tècniques avançades, els professionals ara estan equipats amb biblioteques robustes, facilitant l'adopció i el desplegament més fàcils de LLM en un espectre d'escenaris del món real.

matriu

matriu

Aquestes estratègies estan dissenyades per equilibrar entre fer que els LLM siguin adaptables a tasques específiques i garantir que els processos d'ajustament i desplegament no siguin massa exigents en termes de recursos de càlcul i emmagatzematge.

He passat els últims cinc anys submergint-me en el fascinant món de l'aprenentatge automàtic i l'aprenentatge profund. La meva passió i experiència m'han portat a contribuir a més de 50 projectes diversos d'enginyeria de programari, amb un enfocament particular en IA/ML. La meva curiositat contínua també m'ha atret cap al processament del llenguatge natural, un camp que tinc ganes d'explorar més.