Aprendizagem pessoal com IA
e orientação prática

Treine seu próprio modelo de inferência do DeepSeek R1 com o Unsloth

Hoje, o Unsloth está animado para apresentar os recursos de raciocínio do Unsloth! O estudo R1 da DeepSeek revelou um "momento de epifania" em que o R1-Zero aprende de forma autônoma a alocar mais tempo de raciocínio sem feedback humano usando a Otimização de Política Relativa de Grupo (GRPO).

Unsloth aprimorou todo o processo GRPO para usar 80% menos VRAM do que Hugging Face + FA2, o que permite aos usuários recriar o "momento epifânico" do R1-Zero com apenas 7 GB de VRAM usando Qwen2.5 (1,5B).


Experimente o caderno GRPO gratuito do Unsloth:Llama 3.1 (8B) em Colab
Para obter notebooks GRPO para outros modelos, como o Phi-4, visite a documentação do Unsloth em

 

💡 Principais detalhes

  • Com 15 GB de VRAM, o Unsloth permite que os usuários convertam qualquer modelo com até 15 GB de parâmetros (por exemplo, Llama 3.1 (8 GB), Phi-4 (14 GB), Mistral (7 GB) ou Qwen2.5 (7 GB)) em um modelo inferencial
  • Requisitos mínimos: Treine seus próprios modelos de inferência localmente com apenas 7 GB de VRAM.
  • A brilhante equipe da Tiny-Zero provou que os usuários poderiam alcançar seus próprios momentos de epifania usando o Qwen2.5 (1,5B), mas isso exigia 2 GPUs A100 (160 GB de VRAM). Agora, com o Unsloth, os usuários podem obter o mesmo momento de epifania com apenas uma GPU de 7 GB de VRAM!
  • Anteriormente, o GRPO suportava apenas o ajuste fino completo, mas o Unsloth o disponibiliza para QLoRA e LoRA
  • Observe que isso não é um ajuste fino DeepSeek do modelo de destilação R1, nem é ajustado usando dados de destilação R1 (que já é suportado pelo Unsloth). Trata-se de uma conversão do modelo padrão em um modelo de inferência completo usando GRPO.
  • Os casos de uso do GRPO incluem: se um usuário quiser criar um modelo personalizado com incentivos (por exemplo, para direito, medicina, etc.), o GRPO pode ajudar.
    Se um usuário tiver dados de entrada e saída (por exemplo, perguntas e respostas), mas não tiver uma cadeia de pensamento ou um processo de raciocínio, o GRPO poderá criar magicamente o processo de raciocínio para o usuário! + Mais

 

🤔 GRPO + momentos de "epifania

Os pesquisadores do DeepSeek observaram um "momento de epifania" durante o treinamento do R1-Zero usando o aprendizado por reforço puro (RL). O modelo aprendeu a estender seu tempo de raciocínio reavaliando sua abordagem inicial sem nenhuma orientação humana ou instruções predefinidas.

Em um exemplo de teste, embora o Unsloth tenha treinado o Phi-4 em 100 etapas usando apenas o GRPO, os resultados já são óbvios. O modelo sem GRPO não pensou no token, enquanto o modelo treinado com GRPO pensou no token e também obteve a resposta correta.

Treinamento de seu próprio modelo de inferência R1 com o Unsloth-1
Essa mágica pode ser reproduzida com o GRPO, um algoritmo de RL que otimiza eficientemente as respostas sem a necessidade de uma função de valor, ao contrário da Otimização de Política Proximal (PPO), que depende de uma função de valor. Nos notebooks do Unsloth, o Unsloth usa o GRPO para treinar um modelo com o objetivo de permitir que ele desenvolva de forma autônoma seus próprios recursos de autovalidação e pesquisa - criando um mini-momento de epifania.

Como funciona:

  • O modelo gera grupos de resposta.
  • Cada resposta é pontuada com base na correção ou em alguma outra métrica criada por alguma função de recompensa, em vez de pelo modelo de recompensa do Big Language Model.
  • Calcule a pontuação média do grupo.
  • As pontuações de cada resposta foram comparadas com a média do grupo.
  • O modelo foi aprimorado para suportar respostas com pontuação mais alta.

 

Por exemplo, suponha que Unsloth queira que o modelo resolva:
O que é 1+1? >> Cadeia de pensamento/processo de cálculo >> A resposta é 2.
O que é 2+2? >> Cadeia de pensamento/processo de cálculo >> A resposta é 4.

Inicialmente, é preciso coletar muitos dados para preencher o processo computacional/cadeia de pensamento. Mas o GRPO (o algoritmo usado pelo DeepSeek) ou outros algoritmos de RL podem orientar o modelo para mostrar automaticamente o poder de raciocínio e criar trajetórias de raciocínio. Em vez disso, o Unsloth precisa criar boas funções de recompensa ou validadores. Por exemplo, se ele obtiver a resposta correta, dê a ele 1 ponto. Se algumas palavras estiverem escritas incorretamente, subtraia 0,1. E assim por diante! O Unsloth pode fornecer muitas funções para recompensar esse processo.

 

🦥 GRPO em Unsloth

Se estiver usando o GRPO com o Unsloth localmente, use também o "pip install diffusers", pois ele é uma dependência.

Espere pelo menos 300 etapas para que a recompensa realmente aumente, use a versão mais recente do vLLM. Lembre-se de que o exemplo do Unsloth no Colab foi treinado em apenas uma hora, portanto, os resultados não são bons. Para obter bons resultados, o usuário precisa treinar por pelo menos 12 horas (é assim que o GRPO funciona), mas lembre-se de que isso não é obrigatório, pois o usuário pode parar a qualquer momento.

Recomenda-se aplicar o GRPO a modelos com pelo menos 1,5B de parâmetros para gerar corretamente o Thinking Token, pois modelos menores podem não ser capazes de gerá-lo. Se o usuário estiver usando um modelo básico, certifique-se de que ele tenha o modelo de bate-papo. O rastreamento de perda de treinamento para o GRPO agora está incorporado diretamente no Unsloth, eliminando a necessidade de ferramentas externas como o wandb.

Treinamento de seu próprio modelo de inferência R1 com o Unsloth-1
Além de adicionar suporte a GRPO, o Unsloth passou a oferecer suporte a Online DPO, PPO e RLOO! Veja abaixo um gráfico que compara o consumo de VRAM do Online DPO do Unsloth com o padrão Hugging Face + FA2.

Treinamento de seu próprio modelo de inferência R1 com o Unsloth-1

Unsloth x vLLM

Taxa de transferência 20 vezes maior e economia de VRAM de 50%:

Os usuários agora podem usar o vLLM diretamente na pilha de ajuste fino, o que permite maior rendimento e permite que os usuários façam o ajuste fino e raciocinem sobre o modelo simultaneamente! Quantificação dinâmica de 4 bits usando o Llama 3.2 3B Instruct da Unsloth em 1 A100 40GB, estimativa de 4000 tokens / s ou mais. Em um Tesla T4 de 16 GB (com GPU Colab gratuita), os usuários obtêm 300 tokens / s.

O Unsloth também elimina magicamente o uso duplo de memória ao carregar o vLLM e o Unsloth ao mesmo tempo, economizando cerca de 5 GB para o Llama 3.1 8B e 3 GB para o Llama 3.2 3B (graças a Boris pela inspiração). Sem eliminar o uso de memória dupla, o Unsloth exigiria >= 80 GB de VRAM ao carregar o Unsloth e o vLLM.

Mas com o Unsloth, os usuários ainda podem fazer o ajuste fino e obter os benefícios da inferência rápida em VRAMs de até 48 GB! Para usar a inferência rápida, primeiro instale o vllm e instancie o Unsloth com fast_inference:

pip install unsloth vllm
do unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/Llama-3.2-3B-Instruct", fast_inference = True, fast_inference = True, FastLanguageModel.
fast_inference = True,
)
model.fast_generate(["Hello!"])

 

Descoberta do vLLM no Unsloth

  • O vLLM agora pode carregar a quantização dinâmica de 4 bits do Unsloth. Como o Dynamic R1 GGUF de 1,58 bits do Unsloth, o Unsloth demonstrou que a quantificação dinâmica de algumas camadas para 4 bits e de algumas camadas para 16 bits melhora significativamente a precisão e mantém o modelo pequeno.
  • O Unsloth seleciona automaticamente vários parâmetros para levar em conta a RAM, a eficiência da VRAM e a taxa de transferência máxima (por exemplo, tokens pré-preenchidos de bloco #, sequências máximas de # etc.). O Unsloth tem como padrão habilitar -O3 no vLLM e habilitar o cache de prefixo. O cache FP8 KV o torna 10% mais lento, mas dobra o potencial de rendimento.
  • O Unsloth permite que o LoRA seja carregado no vLLM analisando o dicionário de estado em vez de carregá-lo do disco - isso pode fazer com que o treinamento do GRPO seja executado 1,5 vezes mais rápido. Uma área ativa de pesquisa é como editar o adaptador LoRA diretamente no vLLM (o Unsloth ainda não sabe como fazê-lo). Isso poderia representar uma enorme aceleração, pois o Unsloth agora está movendo dados de GPU desnecessariamente.
  • O vLLM pode estranhamente apresentar picos aleatórios de VRAM, especialmente durante a geração de lotes. O unsloth adicionou uma função de geração de lotes para reduzir os picos de memória.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Treine seu próprio modelo de inferência do DeepSeek R1 com o Unsloth

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil