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

LoRA, ou Low-Rank Adaptation, é uma técnica de afinação eficiente em termos de parâmetros, particularmente útil no domínio dos grandes modelos linguísticos e, por extensão, noutros grandes modelos de IA, incluindo os utilizados na visão computacional. Essencialmente, a LoRA permite a adaptação eficiente de modelos pré-treinados a tarefas ou conjuntos de dados específicos, sem necessidade de treinar novamente todo o modelo, o que pode ser computacionalmente dispendioso e demorado.

O que é o LoRA?

O LoRA centra-se na ideia de que as alterações necessárias para adaptar um modelo pré-treinado a uma nova tarefa se encontram frequentemente num subespaço de dimensão inferior. Em vez de atualizar todos os parâmetros de um modelo grande, o LoRA congela os pesos do modelo pré-treinado e injecta um número mais pequeno de novos parâmetros, conhecidos como matrizes de "baixo nível", em cada camada da arquitetura Transformer. Durante o ajuste fino, apenas estas novas matrizes de baixa classificação são treinadas, reduzindo significativamente o número de parâmetros treináveis. Esta abordagem reduz drasticamente os custos computacionais e os requisitos de memória, ao mesmo tempo que obtém um desempenho comparável ao ajuste fino completo.

Este método é especialmente vantajoso quando se trabalha com modelos como os modelos de linguagem de grande dimensão (LLM) ou mesmo modelos de visão de grande dimensão, como os modelos Ultralytics YOLO , em que o ajuste fino completo pode ser impraticável devido à dimensão dos modelos. Ao utilizar o LoRA, os investigadores e os profissionais podem personalizar eficazmente estes modelos poderosos para aplicações específicas com recursos limitados.

Relevância e aplicações da LoRA

A principal relevância do LoRA reside na sua eficiência. Permite o ajuste fino de modelos maciços pré-treinados em GPUs de consumo ou mesmo em dispositivos de ponta, tornando a IA avançada mais acessível. Isto tem amplas implicações em várias aplicações:

  • Modelos personalizados: LoRA permite a criação de modelos personalizados de IA adaptados às preferências individuais dos utilizadores ou a necessidades específicas. Por exemplo, em sistemas de recomendação personalizados ou geração de conteúdo personalizado, o LoRA pode adaptar um modelo geral aos dados individuais do utilizador de forma eficiente. Isto pode ser particularmente útil em aplicações como a melhoria das experiências do utilizador com assistentes virtuais orientados para a IA ou a criação de conteúdos personalizados em áreas criativas.

  • Adaptação eficiente ao domínio: Em cenários em que um modelo pré-treinado precisa de ser adaptado a um domínio muito específico, como a análise de imagens médicas ou aplicações industriais especializadas, o LoRA pode ser utilizado para afinar eficazmente o modelo sem necessidade de um novo treino extensivo. Por exemplo, a adaptação de um modelo dedeteção de objectos Ultralytics YOLO para uma tarefa muito específica de deteção de defeitos de fabrico pode ser acelerada utilizando LoRA. Esta eficiência é crucial para uma rápida implementação e iteração em domínios especializados.

  • Implementação na periferia: O tamanho reduzido dos modelos LoRA-adaptados em comparação com os modelos totalmente ajustados torna-os mais adequados para implantação em dispositivos de computação de ponta com recursos computacionais limitados, como smartphones ou sistemas incorporados. Isto facilita a inferência em tempo real e o processamento de IA no dispositivo, abrindo possibilidades para aplicações como a deteção de objectos em tempo real em hardware com recursos limitados ou aplicações móveis eficientes.

LoRA vs. Afinação total

O ajuste fino tradicional envolve a atualização de todos os parâmetros de um modelo pré-treinado. Embora isso possa produzir excelentes resultados, é computacionalmente caro e requer um espaço de armazenamento significativo para cada modelo ajustado. O LoRA oferece uma alternativa atraente ao:

  • Reduz o custo computacional: Ao treinar apenas as matrizes de baixo grau, o número de cálculos é significativamente reduzido. Isto torna o ajuste fino mais rápido e menos intensivo em recursos.
  • Ocupa menos memória: O LoRA cria modelos ajustados muito mais pequenos, uma vez que apenas as matrizes de baixa classificação são adicionadas e treinadas, e não todo o modelo original. Isso é benéfico para o armazenamento e a implantação, especialmente em ambientes com restrições de memória.
  • Experimentação mais rápida: A eficiência do LoRA permite uma experimentação mais rápida com diferentes tarefas e conjuntos de dados, acelerando o ciclo de desenvolvimento e implementação de aplicações de IA.

Embora o ajuste fino completo ainda possa ser preferido para alcançar a maior precisão possível em alguns casos, o LoRA fornece uma abordagem poderosa e prática para uma adaptação eficiente, alcançando um equilíbrio entre desempenho e utilização de recursos e tornando as técnicas avançadas de IA mais amplamente acessíveis. Ferramentas como o Ultralytics HUB podem simplificar ainda mais o processo de gestão e implementação de modelos adaptados a LoRA, fornecendo uma plataforma de fácil utilização para tirar partido desta técnica de afinação eficiente.

Lê tudo