Os modelos de linguagem de grande porte (LLMs, na sigla em inglês) são tecnologias fundamentais no campo do aprendizado de máquina. Eles são cruciais para empresas que precisam gerenciar as demandas de milhares de clientes de forma eficiente e personalizada. No entanto, o gerenciamento desses modelos, como LLAMA e Falcon, pode ser desafiador em ambientes onde o uso massivo de GPUs não é prático ou economicamente viável. Isso gerou a necessidade de soluções inovadoras que otimizem a utilização de recursos e reduzam os custos operacionais. Nesse contexto, técnicas como QLoRA e LoRA surgem como opções viáveis. Essas estratégias permitem que os modelos sejam adaptados às necessidades específicas de cada cliente sem sobrecarregar os sistemas ou incorrer em custos elevados (Xu et al., 2023).
Estratégias de Ajuste Eficientes: QLoRA e LoRA
Um LLM pode ser definido como uma função f(x,W)=yf(x, W) = yf(x,W)=y, onde xxx é a sequência de entrada, ey a sequência de saída, e WWW Este é o conjunto de pesos que são ajustados durante o treinamento do modelo. A eficiência de um modelo depende em grande parte de como esses pesos são gerenciados. Embora as atualizações de peso tradicionais possam ser custosas e lentas, o QLoRA e o LoRA introduziram abordagens que armazenam e atualizam as alterações. ΔW\Delta WΔW de forma mais eficiente (Xu et al., 2023). Esses métodos permitem ajustes de modelo mais leves e econômicos, o que é essencial em ambientes com recursos limitados, como aqueles que não podem implantar grandes infraestruturas de hardware.
A técnica LoRA: Reduzindo a pegada de memória
LoRA, como explicam Zhang et al. (2023), utiliza a decomposição em valores singulares (SVD) para decompor mudanças. ΔW\Delta WΔW em duas matrizes WaW_aWa y WbW_bWb. Isso permite uma redução significativa na pegada de memória do modelo. Multiplicando Wa×WbW_a × W_bWa×Wb fornece uma aproximação precisa de ΔW\Delta WΔW, Isso facilita atualizações rápidas durante a inferência. Além disso, o intervalo de decomposição, definido como 3, otimiza o processo de ajuste, garantindo que apenas linhas e colunas linearmente independentes sejam usadas, reduzindo assim a complexidade computacional.


