Glossário

LoRA (Low-Rank Adaptation)

Descobre como o LoRA afina grandes modelos de IA, como YOLO , de forma eficiente, reduzindo os custos e permitindo a implementação de edge com recursos mínimos.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A LoRA (Low-Rank Adaptation) é uma técnica eficiente utilizada para adaptar grandes modelos de aprendizagem automática (ML) pré-treinados, como os utilizados no processamento de linguagem natural (NLP) ou na visão computacional (CV), a tarefas ou conjuntos de dados específicos sem voltar a treinar todo o modelo. Reduz significativamente o custo computacional e os requisitos de memória associados ao ajuste fino de modelos maciços, tornando a IA avançada mais acessível. O LoRA insere-se no âmbito dos métodos de afinação eficiente de parâmetros (PEFT), que se centram na adaptação de modelos com alterações mínimas dos seus parâmetros.

Como funciona o LoRA

O ajuste fino tradicional envolve a atualização de todos os parâmetros (ou pesos do modelo) de um modelo pré-treinado utilizando novos dados. Para modelos com milhares de milhões de parâmetros, como muitos LLMs modernos ou grandes modelos de visão, este processo exige recursos computacionais substanciais, particularmente GPU memória e tempo. O LoRA funciona com base no princípio, apoiado pela investigação, de que as alterações necessárias para adaptar um modelo residem frequentemente num espaço de dimensão inferior, o que significa que não requerem a alteração de todos os pesos.

Em vez de modificar todos os pesos originais, o LoRA congela-os e injecta matrizes mais pequenas e treináveis de "baixo nível" em camadas específicas da arquitetura do modelo, muitas vezes dentro de blocos Transformer (um componente comum em muitos modelos grandes, explicado mais detalhadamente no artigo Attention Is All You Need). Apenas estas matrizes recém-adicionadas (frequentemente designadas por adaptadores) são actualizadas durante o processo de afinação. Isto reduz drasticamente o número de parâmetros treináveis, muitas vezes por ordens de grandeza (por exemplo, milhões em vez de milhares de milhões), ao mesmo tempo que consegue um desempenho comparável ao ajuste fino completo em muitos casos. O artigo de investigação original do LoRA fornece mais pormenores técnicos sobre a metodologia e a sua eficácia. Esta abordagem torna o processo de ajuste fino significativamente mais rápido e menos intensivo em termos de memória.

Relevância e benefícios

A principal vantagem do LoRA é a sua eficiência, que conduz a várias vantagens importantes:

  • Custo computacional reduzido: Requer significativamente menos memóriaGPU e potência de computação em comparação com o ajuste fino completo, tornando viável a adaptação de modelos grandes em hardware menos potente.
  • Menor espaço de armazenamento: Como os pesos originais do modelo estão congelados, apenas os pequenos adaptadores LoRA precisam de ser guardados para cada tarefa específica. Isso é muito mais eficiente do que armazenar uma cópia completa do modelo ajustado para cada tarefa.
  • Troca de tarefas mais rápida: Carregar diferentes adaptadores LoRA permite uma troca rápida entre tarefas sem carregar modelos grandes totalmente novos.
  • Desempenho comparável: Apesar de treinar muito menos parâmetros, o LoRA atinge frequentemente níveis de precisão semelhantes aos obtidos através de um ajuste fino completo em tarefas específicas a jusante.
  • Possibilita a implantação na periferia: Os requisitos reduzidos de recursos facilitam a adaptação de modelos para cenários de computação periférica em que a potência computacional e a memória são limitadas, trazendo poderosas capacidades de IA para dispositivos como smartphones ou sistemas incorporados(Edge AI explicado pela Intel).
  • Democratização: Reduz a barreira de entrada para pesquisadores e desenvolvedores que desejam personalizar modelos de última geração como o GPT-4 ou o Ultralytics YOLO do Ultralytics.

Aplicações do LoRA

A eficiência do LoRA torna-o valioso em vários domínios:

  1. Adaptação de grandes modelos linguísticos (LLM): Esta é uma das utilizações mais comuns. Os programadores podem pegar num grande LLM pré-treinado (como os disponíveis através do Hugging Face) e utilizar o LoRA para o especializar para aplicações específicas, tais como chatbots personalizados, sistemas de resposta a perguntas específicas de um domínio ou melhorar o resumo de texto para determinados tipos de documentos. Bibliotecas como a biblioteca PEFT daHugging Face fornecem implementações fáceis de LoRA.
  2. Personaliza modelos de visão computacional: LoRA pode ser aplicado a grandes modelos de visão computacional para tarefas como deteção de objetos, segmentação de imagens ou estimativa de pose. Por exemplo, um modelo Ultralytics YOLO pré-treinado em um grande conjunto de dados como COCO poderia ser eficientemente ajustado usando LoRA para detetar tipos específicos de objetos em um domínio de nicho, como espécies ameaçadas de extinção para conservação da vida selvagem ou defeitos específicos no controle de qualidade de fabricação. Plataformas como o Ultralytics HUB podem simplificar o treino e a implementação desses modelos adaptados.

LoRA vs. Conceitos relacionados

É útil distinguir o LoRA de outras técnicas de adaptação de modelos:

  • Ajuste fino completo: Este método actualiza todos os pesos de um modelo pré-treinado num novo conjunto de dados. Embora muitas vezes eficaz, requer recursos computacionais e armazenamento significativos para cada modelo adaptado. O LoRA, por outro lado, congela os pesos originais e treina apenas as matrizes adaptadoras pequenas e injetadas. Encontra mais detalhes na nossa entrada do glossário de ajuste fino e na visão geral do ajuste fino daNVIDIA.
  • Ajuste de prompts: Esta técnica mantém os pesos do modelo completamente congelados e, em vez disso, aprende "soft prompts" contínuos (vectores adicionados aos embeddings de entrada) para orientar o comportamento do modelo para tarefas específicas. Ao contrário do LoRA, não modifica os pesos do modelo, mas concentra-se apenas na adaptação da representação da entrada. Lê mais sobre a afinação de avisos e a engenharia de avisos.
  • Outros métodos PEFT: LoRA é apenas uma técnica dentro do campo mais amplo do Parameter-Efficient Fine-Tuning (PEFT). Outros métodos incluem Adapter Tuning (semelhante, mas com estruturas de adaptador ligeiramente diferentes), Prefix Tuning e IA³, cada um oferecendo diferentes compensações em eficiência de parâmetros e desempenho.

Em resumo, o LoRA fornece uma forma poderosa e eficiente em termos de recursos para personalizar grandes modelos de base pré-treinados para uma vasta gama de tarefas específicas, tanto em PNL como em visão computacional, tornando a IA avançada mais prática e acessível.

Lê tudo