Pular para o conteúdo principal

Devin fazendo o pós-treinamento de um LoRA do FLUX em uma GPU do Modal, implantando o melhor checkpoint e adicionando-o a um app de chat

O Devin é executado onde quer que o job precise rodar. Com o Devin Outposts, uma sessão pode ser executada na sua própria infraestrutura ou em uma plataforma parceira; aqui, ela roda em um sandbox com GPU do Modal, para que o mesmo Devin que escreve seu código possa treinar, avaliar e implantar um modelo de ponta a ponta. Neste tutorial, o Devin faz o ajuste fino de um LoRA do FLUX com 18 imagens de lontras para que “Devin, o engenheiro de software” seja gerado como uma lontra, implanta o modelo como um endpoint do Modal e o adiciona ao seletor de modelos do app de exemplo, otterchat.

Antes de começar

  • Crie um posto avançado no Modal: execute uvx modal-devin init e escolha uma GPU para o app do Modal gerado. Consulte Execute o Devin no Modal e o início rápido do Outposts.
  • Conecte seu repositório: o repositório de exemplo, otterchat, é um app de chat com um seletor de modelos de imagem. O posto avançado faz o checkout dele em um Modal Volume persistente.
  • Prepare seus dados de treinamento: adicione imagens com legendas ao repositório ou a um Modal Volume montado pelo posto avançado. O exemplo usa 18 imagens de lontras em estilo cartoon, com legendas como “Devin the software engineer in a data center”.
  • Adicione segredos: armazene sua chave do Weights & Biases em Configurações → Secrets. O sandbox do Modal já vem com as credenciais do Modal, então o Devin pode implantar endpoints sem nenhuma configuração adicional.
  • Defina regras para execuções longas: adicione regras da organização (ou inclua-as no prompt), como: publicar uma atualização de progresso a cada 15 minutos, renderizar imagens de validação a cada checkpoint e incluir o link de prévia em todos os PRs.
  • Conecte o Slack (opcional): as execuções de treinamento levam horas, então sincronize a sessão com uma conversa encadeada no Slack para acompanhar o andamento.

Etapa 1: Inicie uma sessão no posto avançado

Abra o Devin, selecione seu posto avançado Modal no menu Virtual environment abaixo da caixa de prompt e ative o controle do Slack no compositor. Verifique o hardware:
O Devin informa que há uma NVIDIA B200 com PyTorch e diffusers instalados, e que o projeto está em um Modal Volume persistente.

Etapa 2: Verifique os dados de treinamento

O Devin encontra o conjunto de dados no projeto e publica as 18 imagens, com suas legendas, na sessão e na conversa encadeada no Slack.

Etapa 3: Inicie a execução do treinamento

O Devin executa o job por conta própria, seguindo as regras acima:
  1. Treina o LoRA: cerca de 1.000 etapas, registradas no Weights & Biases, com renderizações de validação a cada 100 etapas.
  2. Envia relatórios ao Slack: progresso a cada 15 minutos com as renderizações mais recentes. As primeiras renderizações mostram humanos; a lontra surge à medida que o treinamento avança.
  3. Escolhe o melhor checkpoint: a etapa 700, já que as etapas 900 e 1.000 apresentaram sinais de overfitting.
  4. Implanta e entrega: executa a etapa 700 como um endpoint serverless no Modal, adiciona otterimage 1.0 ao seletor de modelos do app de chat, grava um teste de ponta a ponta e abre um PR com um link de prévia.
Grade de imagens de validação em cada checkpoint

Renderizações de validação da etapa 500 à etapa 1.000

Etapa 4: Experimente o modelo

Abra o link de prévia no PR e peça uma imagem:
O app de chat retornando uma lontra de desenho animado comendo espaguete
Com o mesmo prompt, um modelo de imagem de uso geral retorna um ser humano.

Etapa 5: Itere com sessões filhas

O pós-treinamento raramente se resume a uma única execução. Entregue um artigo ao Devin e deixe que ele teste as alternativas em paralelo:
O Devin adiciona os novos métodos ao script de treinamento em um PR e inicia três sessões filhas no posto avançado, uma para cada abordagem: LoHa, LoKr e ajuste fino nativo.
Sessão do Devin mostrando três sessões filhas para LoHa, LoKr e ajuste fino nativo

Próximas etapas

Executar o Devin no Modal

Crie um posto avançado baseado no Modal com GPUs, Volumes e Secrets

Devin Outposts

Execute sessões na sua própria infraestrutura ou em uma plataforma parceira

Integração com o Slack

Acompanhe sessões de longa duração por uma conversa encadeada no Slack

Devins gerenciados

Inicie e monitore sessões filhas para experimentos em paralelo