2 pontos por GN⁺ 2023-12-03 | Ainda não há comentários. | Compartilhar no WhatsApp

Maior eficiência no ajuste de modelos QLoRA

  • Os modelos QLoRA/LoRA alcançam velocidade 80% maior e 50% menos uso de memória por meio de etapas de retropropagação induzidas manualmente.
  • Todos os kernels escritos na linguagem Triton da OpenAI foram otimizados sem perda de precisão.
  • Pode ser usado em GPUs NVIDIA (modelos a partir de 2018, com suporte a CUDA 7.5+) sem alterações de hardware.
  • O treinamento eficiente de modelos é possível com suporte a Flash Attention e fine-tuning LoRA em 4 bits e 16 bits.
  • É possível treinar o modelo Slim Orca em ambiente local, reduzindo drasticamente o tempo de 1301 horas para 260 horas.
  • A versão open source oferece treinamento 5x mais rápido, enquanto os caminhos de código Unsloth Pro e Max oferecem treinamento até 30x mais rápido.

Instruções de instalação

  • O Unsloth é compatível apenas com distribuições Linux e Pytorch 2.1 ou superior.
  • Pode ser instalado via Conda e Pip, escolhendo o pacote adequado de acordo com a versão do CUDA.

Exemplo com o modelo Alpaca

  • Use FastLlamaModel para carregar o modelo Llama e reduzir o uso de memória com quantização de 4 bits.
  • Melhore o desempenho com patching do modelo e adição de pesos LoRA rápidos.
  • É possível treinar o modelo usando o Trainer da Huggingface e carregamento de datasets.

Objetivos futuros e limitações

  • Está previsto suporte a checkpointing de gradiente sqrt, que pode reduzir o uso de memória em mais 25%.
  • Atualmente, apenas o modelo Llama é compatível, mas há planos de oferecer suporte a outros modelos no futuro.

Comparação de desempenho

  • Ao usar uma GPU Tesla T4, o Unsloth apresenta tempos de época muito mais rápidos e menor uso de memória em comparação com o Huggingface.
  • Tanto em sistemas com GPU única quanto com múltiplas GPUs, as versões Pro e Max do Unsloth oferecem desempenho superior.

Solução de problemas

  • São fornecidas soluções quando bitsandbytes ou xformers não são vinculados corretamente.
  • No momento, o Windows não é compatível, e o Unsloth passará a oferecer suporte quando Xformers e Triton tiverem suporte oficial ao Windows.
  • Se houver problemas na instalação, atualizar o pip pode ser a solução.

Opinião do GN⁺

O ponto mais importante deste artigo é que o ajuste de modelos QLoRA/LoRA é muito mais rápido e mais eficiente em memória do que os métodos existentes. Como essa otimização reduz drasticamente o tempo e o custo de treinamento de modelos de inteligência artificial, ela pode se tornar uma solução atraente até mesmo para engenheiros de software iniciantes. Além disso, o artigo oferece um caso interessante sobre o avanço das tecnologias open source e como elas aumentam a acessibilidade da tecnologia.

Ainda não há comentários.

Ainda não há comentários.