stamatios
← Voltar ao feed
Robô em esteira ligado a loop de cabos de carga, metáfora do pós-treino contínuo de agentes no Miles
IA & Modelos · Open Source

Miles v0.1: sistema aberto de pós-treino de agentes com RL

resumo de ~3 min

Arquitetura do loop de RL

Miles v0.1 é um sistema de pós-treinamento de código aberto desenvolvido pela LMSYS Org, sucessor da primeira versão do Miles e construído sobre o design do framework slime. O sistema organiza o treinamento por aprendizado por reforço em três etapas: rollout (geração de trajetórias com SGLang), treinamento (cálculo da perda e atualização da política com Megatron-LM ou FSDP) e sincronização de pesos. O princípio central é ser verificado, limpo e customizável em todas as etapas.

Rollout assíncrono e ambientes agênticos

O rollout usa SGLang com roteamento que mantém sessões multi-turno no mesmo motor para reutilizar cache de prefixo. O modo totalmente assíncrono elimina bloqueio mútuo entre rollout e treinamento: as engines de rollout geram continuamente enquanto o treinador consome grupos completados. Três modos de avaliação estão disponíveis: compartilhando engines de rollout, com frota dedicada ou com avaliador externo.

Para RL agêntico, cada episódio roda em sandbox isolado com verificador próprio que produz o reward. Miles oferece integrações com Harbor, HUD, NeMo Gym, OpenEnv e Prime Intellect Verifiers, e sandboxes via AgentENV, Daytona, E2B e Modal.

O componente TITO (Token-In-Token-Out) preserva os IDs exatos de tokens gerados pelo modelo durante o rollout, evitando que re-tokenização ou re-serialização alterem o contexto visto pelo treinador. Sobre o TITO, o sistema desenvolve uma receita para harnesses de agentes em caixa-preta como Claude Code e Codex.

Treinamento e precisão

Miles suporta rollouts em NVFP4, MXFP4, MXFP8 e FP8, além de treinamento com INT4 QAT. As receitas nativas para Blackwell mantêm contrato de precisão entre rollout e treinamento para evitar divergência de política. Otimizações de memória permitem treinar um modelo de 744B parâmetros de forma assíncrona em 16 nós, com offload de estados do otimizador para NVMe.

Dois backends de treinamento são suportados: NVIDIA Megatron-LM (padrão, com paralelismo tensor, pipeline, contexto e expert) e PyTorch FSDP2 (paralelismo de dados apenas, carregando diretamente do diretório HuggingFace).

Sincronização de pesos

A transferência P2P por RDMA reduz o tempo de atualização de pesos de 53,3 para 7,2 segundos no Kimi-K2 1T. Para frotas sem conectividade direta, atualizações delta em disco transferem apenas os parâmetros alterados (tipicamente 2% em BF16), reduzindo o payload de 62,4 GB para menos de 1 GB.

Receitas adicionais

Miles suporta LoRA RL (treinando apenas adaptadores, que ocupam 0,014% dos pesos base no GLM-5.2), destilação on-policy (OPD) com KL reverso como reward, e alinhamento Zero-KL que elimina diferenças numéricas entre rollout e treinamento. O suporte a modelos de difusão via Miles-Diffusion cobre SD3.5, Qwen-Image, Wan2.2, LTX-2.3, Cosmos3 e Minimax-H3.

Suporte a modelos e hardware

Miles oferece suporte no dia zero para modelos como Kimi-K3, DeepSeek-V4, Inkling, Qwen3.8 e NVIDIA Nemotron 3 Ultra. O sistema roda em GPUs NVIDIA (A100 a GB300) e AMD (MI300X a MI355X). Como exemplo de referência, o GLM-5.2 744B foi treinado em tarefas de terminal com 64 GPUs GB300, completando 100 passos com passos de treinamento de aproximadamente 4,5 minutos.