Skip to content
Aprendizado por Reforço com NVIDIA NeMo-RL: Megatron-Core Aumenta o Throughput de Treinamento para Modelos Grandes
Source: developer.nvidia.com

Aprendizado por Reforço com NVIDIA NeMo-RL: Megatron-Core Aumenta o Throughput de Treinamento para Modelos Grandes

Sources: https://developer.nvidia.com/blog/reinforcement-learning-with-nvidia-nemo-rl-megatron-core-support-for-optimized-training-throughput, developer.nvidia.com

TL;DR

  • NeMo-RL v0.3 adiciona backend Megatron-Core para otimizar o throughput de treinamento em modelos grandes.
  • Megatron-Core oferece kernels de GPU otimizados, paralelismo 6D e suporte a modelos densos e MoE (Mixture of Experts).
  • A configuração é simplificada via YAML com policy.megatron_cfg e enabled: true; todos os parâmetros vão para o Megatron durante o treinamento.
  • Treinamento com Megatron também permite contexto longo, com paralelismo de contexto, quando usado com DTensor.
  • Resultados iniciais indicam throughput superior com Megatron-Core em comparação ao DTensor, com exemplos em Llama 3.3-70B com 16K de contexto.

Contexto e antecedentes

A primeira versão do NeMo-RL da NVIDIA oferecia suporte a treinamento via PyTorch DTensor (também conhecido como FSDP2), permitindo integração nativa com o ecossistema HuggingFace e escalonamento com paralelismos nativos do PyTorch (FSDP2, paralelismo de tensor, paralelismo de sequência e paralelismo de contexto) para fluxos de RL. No entanto, conforme modelos atingem centenas de bilhões de parâmetros, o caminho DTensor mostra limitações: memória de ativação de modelos grandes gera recomputação significativa e tempos de passo impraticavelmente lentos; além disso, o DTensor carece de kernels CUDA otimizados e de outras melhorias de desempenho necessárias para o throughput ideal. Essas dificuldades destacam a necessidade de uma solução mais eficiente, exatamente o que a biblioteca Megatron-Core busca fornecer. O lançamento da NeMo-RL v0.3 apresenta documentação detalhada, scripts de exemplo e arquivos de configuração para treinar grandes modelos post-treinados com suporte ao Megatron-Core. Construído com técnicas otimizadas para GPU e melhorias de desempenho de alto throughput, o Megatron-Core permite treinamentos contínuos de modelos massivos com uma estratégia de paralelismo 6D, além de suportar uma variedade de arquiteturas de modelo. O NeMo-RL adicionou suporte ao Megatron-Core, permitindo que desenvolvedores usem essas otimizações durante o pós-treinamento. O Megatron-Core oferece várias opções de configuração de baixo nível, mas o NeMo-RL torna esse processo mais simples ao automatizar grande parte do ajuste complexo e apresentar opções de configuração mais intuitivas. A habilitação do treinamento baseado em Megatron é simples: adicione a seção policy.megatron_cfg ao seu YAML. Depois de definir enabled: true, você pode treinar o modelo. O início do treinamento ocorre da mesma forma que com o DTensor, conforme descrito no README ou no guia de reprodução do DeepScaleR. O treinamento com Megatron também suporta tanto modelos densos quanto MoE. O artigo destaca exemplos de desempenho, incluindo um detalhamento de tempo por etapa paraGRPO (Group Relative Policy Optimization) em vários modelos e a demonstração de desempenho para o Llama 3.3-70B em 16K de comprimento de contexto. Além do backend Megatron, o NeMo-RL v0.3 traz recursos adicionais para democratizar o treinamento eficiente em uma ampla gama de modelos, incluindo suporte contínuo a contexto longo e otimizações de alto nível para throughput. A leitura completa está disponível no post oficial da NVIDIA, que descreve o desempenho relativo e as cenários de uso.

O que há de novo

A integração Megatron-Core no NeMo-RL v0.3 traz várias capacidades novas:

  • Backend Megatron-Core para treinamento de alto throughput em modelos grandes.
  • Estratégia de paralelismo 6D para otimizar comunicação e padrões de computação entre diferentes partes do modelo.
  • Suporte a várias arquiteturas, incluindo modelos densos e MoEs.
  • Suporte a treinamento com contexto longo por meio do paralelismo de contexto, quando usado com Megatron-Core e DTensor.
  • Experiência de configuração simplificada: insira policy.megatron_cfg no YAML e ative enabled: true; todos os argumentos são encaminhados ao Megatron durante o treinamento.
  • Início do treinamento da mesma maneira que com DTensor; usuários podem manter fluxos de trabalho e ferramentas familiares, mas com ganhos de throughput do Megatron-Core.
  • Cobertura de exemplos para GRPO e um foco de desempenho em Llama 3.3-70B com 16K de contexto.
  • Megatron-Core suporta modelos densos e MoE, introduzindo otimizadores como packing de sequência e importance sampling para melhorar throughput e convergência. Para os practitioners, a v0.3 também enfatiza um caminho de adoção mais suave, com o NeMo-RL lidando com grande parte das otimizações de baixo nível por trás das cenas, apresentando opções de configuração claras para usuários avançados que desejam ajustar desempenho e trade-offs de convergência.

Por que isso importa (impacto para desenvolvedores/empresas)

A combinação de NeMo-RL com Megatron-Core resolve um gargalo crítico no treinamento de modelos de RL muito grandes. Ao substituir ou complementar o caminho DTensor pelo Megatron-Core, desenvolvedores ganham:

  • Throughput significativamente maior para treinamento de modelos grandes, sem sacrificar propriedades de convergência, conforme demonstrado em comparativos com o caminho DTensor.
  • Capacidade de treinar modelos com dezenas ou centenas de bilhões de parâmetros com maior eficiência, possibilitando ciclos de experimentação mais rápidos.
  • Suporte para treinamento com contexto longo, essencial para tarefas que requerem janelas de dependência extensas, como diálogos longos ou processos de decisão com contexto prolongado.
  • Um conjunto mais amplo de arquiteturas de modelo, incluindo MoEs, oferecendo benefícios de eficiência e capacidade para RL.
  • Uma experiência de configuração mais simples, reduzindo a complexidade necessária para acessar as otimizações de alto desempenho do Megatron-Core. Para empresas, isso se traduz em ciclos de iteração mais rápidos em políticas RL, a capacidade de explorar modelos maiores e mais capazes, e potencial redução de custo por modelo treinado devido ao aumento do throughput e das propriedades de convergência. A integração também reforça o foco da NVIDIA em apoiar fluxos de trabalho compatíveis com HuggingFace, além de otimizações dedicadas do Megatron-Core, promovendo interoperabilidade dentro de pipelines de ML existentes.

Detalhes técnicos ou Implementação

A integração Megatron-Core no NeMo-RL v0.3 oferece um caminho prático para aproveitar as otimizações do Megatron-Core com mínimo atrito na rotina de uso:

  • As melhorias de throughput vêm de kernels otimizados para GPU e de uma estratégia de paralelismo 6D que otimiza computação e comunicação no modelo.
  • O suporte abrange modelos densos e MoEs, expandindo o conjunto de cenários de RL aplicáveis.
  • O treinamento de contexto longo é suportado, com a capacidade de trabalhar com comprimentos de sequência muito grandes através do paralelismo de contexto, quando apropriado, em conjunto com Megatron-Core e DTensor.
  • A transição de DTensor para Megatron-Core foi pensada para ser direta: inclua policy.megatron_cfg no YAML, defina enabled: true, e o treinamento prossegue de forma semelhante ao DTensor, mantendo fluxos de trabalho familiares.
  • Todos os argumentos dentro da configuração Megatron são encaminhados para o Megatron durante o treinamento.
  • O Megatron-Core traz recursos como sequence packing e importance sampling para melhorar throughput e a dinâmica de treinamento.
  • A documentação, scripts de exemplo e arquivos de configuração da NeMo-RL v0.3 ajudam os usuários a adotar as otimizações Megatron-Core para pós-treinamento de grandes modelos. Do ponto de vista prático, espera-se que os usuários obtenham uma experiência de ajuste mais automatizada, com o NeMo-RL gerenciando grande parte das otimizações pesadas, enquanto apresenta opções de configuração claras para usuários avançados que desejam ajustar desempenho e trade-offs de convergência.

Pontos-chave (takeaways)

  • Backend Megatron-Core no NeMo-RL v0.3 oferece throughput superior para treinamento RL de modelos grandes em comparação com o caminho DTensor.
  • Paralelismo 6D e kernels otimizados para GPU são centrais para os ganhos de desempenho, com suporte a arquiteturas densas e MoEs.
  • Treinamento com contexto longo é compatível, permitindo janelas de dependência extensas.
  • Configuração simplificada via policy.megatron_cfg no YAML; a iniciação do treinamento permanece semelhante aos fluxos DTensor.
  • O uso prático é ilustrado com modelos grandes como Llama 3.3-70B em 16K de contexto, demonstrando aplicabilidade real.

FAQ

  • O que é Megatron-Core no NeMo-RL?

    É um backend integrado que oferece treinamento de alto throughput para modelos grandes com Megatron-Core, complementando ou substituindo o caminho DTensor para determinados workloads.

  • Como habilito o treinamento Megatron-Core no NeMo-RL?

    dicione a seção policy.megatron_cfg no YAML e defina enabled: true. Todos os parâmetros do config são encaminhados ao Megatron durante o treinamento; o início do treinamento segue o mesmo fluxo do DTensor.

  • ue tipos de modelo são suportados com Megatron-Core no NeMo-RL?

    Suporta modelos densos e MoE, com paralelismo 6D e outras otimizações para throughput.

  • É possível treinar com contexto longo usando Megatron-Core?

    Sim. O treinamento com contexto longo é suportado, com paralelismo de contexto usado em conjunto com Megatron-Core e DTensor quando apropriado.

  • Onde encontro mais informações e exemplos?

    NVIDIA oferece documentação, scripts de exemplo e arquivos de configuração na release v0.3 do NeMo-RL para facilitar a adoção de otimizações Megatron-Core. Consulte o post oficial para detalhes.

Referências

More news