Modelos e plataformas de IA
LoRA, QLoRA e QA-LoRA: Adaptabilidade Eficiente em Modelos de Linguagem Grande por meio da FatoraçÃĢo de Matrizes de Baixa Ordem
Os Modelos de Linguagem Grande (LLMs) criaram um nicho Único, oferecendo capacidades sem precedentes em compreender e gerar textos semelhantes aos humanos. O poder dos LLMs pode ser atribuÃdo ao seu tamanho enorme, que frequentemente alcança bilhÃĩes de parÃĒmetros. Embora essa escala seja fundamental para o seu desempenho, tambÃĐm gera desafios, especialmente quando se trata de adaptaçÃĢo de modelos para tarefas ou domÃnios especÃficos. As abordagens convencionais de gerenciamento de LLMs, como o ajuste fino de todos os parÃĒmetros, apresentam um Ãīnus computacional e financeiro significativo, o que representa uma barreira significativa para a sua adoçÃĢo generalizada em aplicaçÃĩes do mundo real.
Em um artigo anterior, exploramos o ajuste fino de Modelos de Linguagem Grande (LLMs) para atender a requisitos especÃficos. Analisamos vÃĄrias metodologias de ajuste fino, como Ajuste Fino Baseado em InstruçÃĩes, Ajuste Fino de Tarefa Ãnica e Ajuste Fino Eficiente de ParÃĒmetros (PEFT), cada uma com sua abordagem Única para otimizar LLMs para tarefas distintas. Central à discussÃĢo estava a arquitetura do transformador, a espinha dorsal dos LLMs, e os desafios impostos pelas demandas computacionais e de memÃģria de lidar com um vasto nÚmero de parÃĒmetros durante o ajuste fino.
A imagem acima representa a escala de vÃĄrios modelos de linguagem grande, ordenados pelo nÚmero de parÃĒmetros. Notavelmente: PaLM, BLOOM, etc.
AtÃĐ este ano, houve avanços que levaram a modelos ainda maiores. No entanto, ajustar esses modelos gigantescos e de cÃģdigo aberto em sistemas padrÃĢo ÃĐ inviÃĄvel sem tÃĐcnicas de otimizaçÃĢo especializadas.
EntÃĢo, entra a AdaptaçÃĢo de Baixa Ordem (LoRA), introduzida pela Microsoft (MSFT ) neste artigo, visando mitigar esses desafios e tornar os LLMs mais acessÃveis e adaptÃĄveis.
A essÊncia da LoRA reside em sua abordagem para adaptaçÃĢo de modelos sem mergulhar nas complexidades de re-treinar o modelo inteiro. Ao contrÃĄrio do ajuste fino tradicional, onde todos os parÃĒmetros sÃĢo sujeitos a alteraçÃĩes, a LoRA adota uma rota mais inteligente. Ela congela os pesos do modelo prÃĐ-treinado e introduz matrizes de decomposiçÃĢo de rank treinÃĄveis em cada camada da arquitetura do Transformador. Essa abordagem reduz drasticamente o nÚmero de parÃĒmetros treinÃĄveis, garantindo um processo de adaptaçÃĢo mais eficiente.
A EvoluçÃĢo das EstratÃĐgias de Ajuste de LLM
Refletindo sobre a jornada do ajuste de LLM, ÃĐ possÃvel identificar vÃĄrias estratÃĐgias empregadas por praticantes ao longo dos anos. Inicialmente, o foco estava no ajuste fino dos modelos prÃĐ-treinados, uma estratÃĐgia que envolve uma alteraçÃĢo abrangente dos parÃĒmetros do modelo para atender à s necessidades especÃficas. No entanto, à medida que os modelos cresceram em tamanho e complexidade, tambÃĐm aumentaram as demandas computacionais dessa abordagem.
A prÃģxima estratÃĐgia que ganhou destaque foi o ajuste fino de subconjunto, uma versÃĢo mais restrita de sua predecessor. Aqui, apenas um subconjunto dos parÃĒmetros do modelo ÃĐ ajustado, reduzindo a carga computacional em certa medida. Apesar de seus mÃĐritos, o ajuste fino de subconjunto ainda nÃĢo conseguiu acompanhar a taxa de crescimento do tamanho dos LLMs.
à medida que os praticantes aventuraram-se a explorar avenidas mais eficientes, o ajuste fino completo emergiu como uma abordagem rigorosa, mas gratificante.
IntroduçÃĢo à LoRA
A ordem de uma matriz nos dÃĄ uma visÃĢo das dimensÃĩes criadas por suas colunas, determinada pelo nÚmero de linhas ou colunas Únicas que ela tem.
- Matriz de Ordem Completa: Sua ordem corresponde ao menor nÚmero entre suas linhas ou colunas.
- Matriz de Baixa Ordem: Com uma ordem notavelmente menor que tanto o nÚmero de linhas quanto o de colunas, ela captura menos recursos.
Agora, os grandes modelos tÊm uma compreensÃĢo ampla de seu domÃnio, como a linguagem nos modelos de linguagem. No entanto, ajustÃĄ-los para tarefas especÃficas frequentemente requer apenas destacar uma pequena parte dessas compreensÃĩes. à aqui que a LoRA brilha. Ela sugere que a matriz que mostra essas ajustes de pesos pode ser uma matriz de baixa ordem, capturando assim menos recursos.
A LoRA limita inteligentemente a ordem da matriz de atualizaçÃĢo, dividindo-a em duas matrizes menores de baixa ordem. Portanto, em vez de alterar a matriz de pesos inteira, ela muda apenas uma parte dela, tornando o processo de ajuste fino mais eficiente.
Aplicando a LoRA aos Transformadores
A LoRA ajuda a minimizar a carga de treinamento em redes neurais, focando em matrizes de pesos especÃficas. Na arquitetura do Transformador, certas matrizes de pesos estÃĢo ligadas ao mecanismo de auto-atendimento, nomeadamente Wq, Wk, Wv e Wo, alÃĐm de duas mais no mÃģdulo do Perceptron Multicamada (MLP).
Â
ExplicaçÃĢo MatemÃĄtica por trÃĄs da LoRA
Vamos desmembrar a matemÃĄtica por trÃĄs da LoRA:
- Matriz de Pesos PrÃĐ-Treinada :
- Elle começa com uma matriz de pesos prÃĐ-treinada de dimensÃĩes . Isso significa que a matriz tem linhas e colunas.
- DecomposiçÃĢo de Baixa Ordem:
- Em vez de atualizar diretamente a matriz inteira , o que pode ser computacionalmente caro, o mÃĐtodo propÃĩe uma abordagem de decomposiçÃĢo de baixa ordem.
- A atualizaçÃĢo para pode ser representada como o produto de duas matrizes: e .
- tem dimensÃĩes
- tem dimensÃĩes
- A chave aqui ÃĐ que a ordem ÃĐ muito menor que tanto quanto , o que permite uma representaçÃĢo computacionalmente mais eficiente.
- Treinamento:
- Durante o processo de treinamento, permanece inalterada. Isso ÃĐ referido como âcongelarâ os pesos.
- Por outro lado, e sÃĢo os parÃĒmetros treinÃĄveis. Isso significa que, durante o treinamento, ajustes sÃĢo feitos nas matrizes e para melhorar o desempenho do modelo.
- MultiplicaçÃĢo e AdiçÃĢo:
- Tanto quanto a atualizaçÃĢo (que ÃĐ o produto de e ) sÃĢo multiplicados pelo mesmo input (denotado como ).
- Os resultados dessas multiplicaçÃĩes sÃĢo entÃĢo adicionados.
- Esse processo ÃĐ resumido na equaçÃĢo: Aqui, representa a saÃda final apÃģs aplicar as atualizaçÃĩes ao input .
Em resumo, esse mÃĐtodo permite uma forma mais eficiente de atualizar uma grande matriz de pesos, representando as atualizaçÃĩes por meio de uma decomposiçÃĢo de baixa ordem, o que pode ser benÃĐfico em termos de eficiÊncia computacional e uso de memÃģria.
InicializaçÃĢo e Escala:
Quando se treina modelos, a forma como os parÃĒmetros sÃĢo inicializados pode afetar significativamente a eficiÊncia e a eficÃĄcia do processo de aprendizado. No contexto da nossa atualizaçÃĢo da matriz de pesos usando e :
- InicializaçÃĢo das Matrizes e :
- Matriz : Essa matriz ÃĐ inicializada com valores Gaussianos aleatÃģrios, tambÃĐm conhecida como distribuiçÃĢo normal. A razÃĢo por trÃĄs do uso da inicializaçÃĢo Gaussiana ÃĐ quebrar a simetria: diferentes neurÃīnios na mesma camada aprenderÃĢo recursos diferentes quando tiverem pesos iniciais diferentes.
- Matriz : Essa matriz ÃĐ inicializada com zeros. Ao fazer isso, a atualizaçÃĢo começa como zero no inÃcio do treinamento. Isso garante que nÃĢo haja uma mudança abrupta no comportamento do modelo no inÃcio, permitindo que o modelo se adapte gradualmente à medida que aprende valores apropriados durante o treinamento.
- Escala da SaÃda de :
- ApÃģs computar a atualizaçÃĢo , sua saÃda ÃĐ escalada por um fator de onde ÃĐ uma constante. Ao escalonar, a magnitude das atualizaçÃĩes ÃĐ controlada.
- A escala ÃĐ especialmente crucial quando a ordem muda. Por exemplo, se vocÊ decidir aumentar a ordem para obter mais precisÃĢo (com o custo de computaçÃĢo), a escala garante que vocÊ nÃĢo precise ajustar muitos outros hiperparÃĒmetros no processo. Isso fornece um nÃvel de estabilidade ao modelo.
Impacto PrÃĄtico da LoRA
A LoRA demonstrou seu potencial para ajustar LLMs a estilos artÃsticos especÃficos de forma eficiente por pessoas da comunidade de IA. Isso foi notadamente demonstrado na adaptaçÃĢo de um modelo para imitar o estilo artÃstico de Greg Rutkowski.
Como destacado no artigo com o GPT-3 175B como exemplo. Ter instÃĒncias individuais de modelos ajustados com 175B de parÃĒmetros cada ÃĐ bastante caro. Mas, com a LoRA, os parÃĒmetros treinÃĄveis diminuem 10.000 vezes, e o uso de memÃģria da GPU ÃĐ reduzido para um terço.
A metodologia da LoRA nÃĢo apenas representa um passo significativo para tornar os LLMs mais acessÃveis, mas tambÃĐm destaca o potencial para reduzir a lacuna entre avanços teÃģricos e aplicaçÃĩes prÃĄticas no domÃnio da IA. Ao aliviar os obstÃĄculos computacionais e promover um processo de adaptaçÃĢo de modelo mais eficiente, a LoRA estÃĄ bem posicionada para desempenhar um papel fundamental na adoçÃĢo e implantaçÃĢo mais ampla de LLMs em cenÃĄrios do mundo real.
QLoRA (Quantizada)
Embora a LoRA seja um divisor de ÃĄguas na reduçÃĢo das necessidades de armazenamento, ela ainda exige uma GPU robusta para carregar o modelo para treinamento. à aqui que entra a QLoRA, ou LoRA Quantizada, que combina a LoRA com a QuantizaçÃĢo para uma abordagem mais inteligente.
Normalmente, os parÃĒmetros de peso sÃĢo armazenados em um formato de 32 bits (FP32), significando que cada elemento da matriz ocupa 32 bits de espaço. Imagine se pudÃĐssemos comprimir a mesma informaçÃĢo em apenas 8 ou atÃĐ 4 bits. Essa ÃĐ a ideia central por trÃĄs da QLoRA. A quantizaçÃĢo refere-se ao processo de mapear valores contÃnuos e infinitos para um conjunto menor de valores finitos e discretos. No contexto dos LLMs, refere-se ao processo de converter os pesos do modelo de tipos de dados de alta precisÃĢo para tipos de dados de baixa precisÃĢo.
Aqui estÃĄ uma explicaçÃĢo mais simples da QLoRA:
- QuantizaçÃĢo Inicial: Primeiro, o Modelo de Linguagem Grande (LLM) ÃĐ quantizado para 4 bits, reduzindo significativamente a pegada de memÃģria.
- Treinamento da LoRA: Em seguida, o treinamento da LoRA ÃĐ realizado, mas na precisÃĢo padrÃĢo de 32 bits (FP32).
Agora, vocÊ pode se perguntar, por que voltar aos 32 bits para treinamento apÃģs reduzir para 4 bits? Bem, para treinar adaptadores da LoRA de forma eficaz em FP32, os pesos do modelo precisam reverter para FP32 tambÃĐm. Essa troca de volta e forth ÃĐ feita de forma inteligente e passo a passo para evitar sobrecarregar a memÃģria da GPU.
A LoRA encontra sua aplicaçÃĢo prÃĄtica na biblioteca de Ajuste Fino Eficiente de ParÃĒmetros (PEFT) da Hugging Face, simplificando sua utilizaçÃĢo. Para aqueles que desejam usar a QLoRA, ela estÃĄ acessÃvel por meio de uma combinaçÃĢo das bibliotecas bitsandbytes e PEFT. AlÃĐm disso, a biblioteca de Aprendizado de Reforço de Transformadores (TRL) da HuggingFace facilita o ajuste fino supervisionado com suporte integrado para a LoRA. Juntas, essas trÊs bibliotecas fornecem a ferramenta essencial para ajustar um modelo prÃĐ-treinado selecionado, permitindo a geraçÃĢo de descriçÃĩes de produtos persuasivas e coerentes quando solicitadas com instruçÃĩes de atributos especÃficas.
ApÃģs o ajuste fino da QLoRA, os pesos precisam reverter para um formato de alta precisÃĢo, o que pode levar a perda de precisÃĢo e falta de otimizaçÃĢo para acelerar o processo.
Uma soluçÃĢo proposta ÃĐ agrupar a matriz de pesos em segmentos menores e aplicar quantizaçÃĢo e adaptaçÃĢo de baixa ordem a cada grupo individualmente. Um novo mÃĐtodo, nomeado QA-LoRA, tenta combinar os benefÃcios da quantizaçÃĢo e da adaptaçÃĢo de baixa ordem, mantendo o processo eficiente e o modelo eficaz para as tarefas desejadas.
ConclusÃĢo
Neste artigo, tocamos nos desafios impostos pelo tamanho enorme dos parÃĒmetros. Discutimos prÃĄticas de ajuste fino tradicionais e suas demandas computacionais e financeiras associadas. A essÊncia da LoRA reside em sua capacidade de modificar modelos prÃĐ-treinados sem re-treinar o modelo inteiro, reduzindo assim os parÃĒmetros treinÃĄveis e tornando o processo de adaptaçÃĢo mais rentÃĄvel.
TambÃĐm exploramos brevemente a QLoRA (Quantizada), uma combinaçÃĢo da LoRA com a QuantizaçÃĢo, que reduz a pegada de memÃģria do modelo enquanto mantÃĐm a precisÃĢo essencial para o treinamento. Com essas tÃĐcnicas avançadas, os praticantes agora estÃĢo equipados com bibliotecas robustas, facilitando a adoçÃĢo e a implantaçÃĢo de LLMs em uma ampla gama de cenÃĄrios do mundo real.
Essas estratÃĐgias sÃĢo projetadas para equilibrar a capacidade de tornar os LLMs adaptÃĄveis para tarefas especÃficas e garantir que os processos de ajuste fino e implantaçÃĢo nÃĢo sejam excessivamente exigentes em termos de computaçÃĢo e recursos de armazenamento.




















