Monarch

Obter treinamentos distribuídos para funcionar em clusters enormes é difícil! Isso é especialmente verdadeiro quando você começa a olhar para configurações mais complexas, como aprendizado de reforço distribuído. Depurar esses tipos de trabalhos é frustrante, e o tempo de resposta para alterações tende a ser muito lento. Monarch é uma estrutura de programação distribuída para PyTorch que torna o cluster programável por meio de uma API Python simples. Ela expõe o supercomputador como um sistema coeso e controlável diretamente, trazendo a experiência de desenvolvimento local para o treinamento em larga escala, como se seu laptop tivesse milhares de GPUs anexados. Um sistema de treinamento completo pode ser definido em um único programa Python. Primitivas básicas são explícitas e mínimas, permitindo que capacidades de nível superior – tolerância a falhas, orquestração, integração de ferramentas – sejam construídas como bibliotecas reutilizáveis.

Monarch é otimizado para uso agente, fornecendo abstrações de infraestrutura consistentes e expondo telemetria por meio de APIs baseadas em SQL padrão que os agentes já são hábeis em usar. Os agentes podem realizar muitas tarefas de desenvolvimento apenas executando na máquina de desenvolvimento, e Monarch é muito bom em transformar a máquina de desenvolvimento em um supercomputador, elevando os agentes. O projeto foi lançado na conferência PyTorch em outubro de 2025; você pode ler sobre isso aqui: Apresentando PyTorch Monarch. Este blog cobre como Monarch evoluiu para se tornar uma estrutura eficaz para o desenvolvimento de treinamento dirigido por agentes. Ele também cobrirá as principais melhorias do Monarch desde outubro, incluindo suporte nativo ao Kubernetes, melhorias no RDMA, telemetria distribuída e muito mais.

Ao representar o cluster de supercomputação por meio de um modelo coeso de hosts, processos e atores, e combiná-lo com “baterias inclusas” de infraestrutura, Monarch dá superpoderes ao agente! Ele pode gerenciar e depurar código em execução diretamente, sincronizar rapidamente dependências e dados, executar novo código e provisionar hosts, processos e atores adicionais de forma eficiente e consistente, independentemente de onde for implantado. Vamos revisar rapidamente algumas das principais características que Monarch usa para empoderar o desenvolvimento agente: Monarch agora tem suporte de primeira classe ao Kubernetes. Monarch continuou investindo no RDMA, adicionando suporte a novos backends e fornecendo uma API de nível superior para tornar mais fácil o uso e o suporte a eles. Monarch se inclinou fortemente para a observabilidade e telemetria, adicionando mecanismos programáticos para empoderar o desenvolvimento agente. Há também novos painéis nativos, interface de usuário de terminal (TUIs) e suporte a padrões OSS comuns usados por equipes DevOps. Monarch agora é significativamente mais compacto e muito mais rápido para iniciar, tornando-o mais fácil de usar do que nunca.

Monarch é a API para o seu supercomputador; torna o desenvolvimento de IA distribuído parecido com a construção de um aplicativo local. O futuro do treinamento de IA exige velocidade e simplicidade – Monarch fornece ambas para humanos e agentes. Encorajamos você a explorar os recursos mais recentes, ingressar em nossa comunidade de desenvolvimento OSS em primeira linha em crescimento e ajudar a dar forma ao próximo capítulo do cálculo distribuído. Agradecemos a toda a equipe do Monarch por tornar esse trabalho possível. Também um agradecimento especial aos nossos principais contribuintes no GitHub! Ahmad Sharif, Allen Wang, Ali Sol, Amir Afzali, Carole-Jean Wu, Chris Gottbrath, Christian Puhrsch, Colin Taylor, Do Hyung (Dave) Kwon, Gayathri Aiyer, Hamid Shojanazeri, Jiyue Wang, Joe Spisak, John William Humphreys, Jun Li, Lucas Pasqualin, Marius Eriksen, Matthew Zhang, Matthias Reso, Peng Zhang, Riley Dulin, Rithesh Baradi, Robert Rusch, Sam Lurye, Samuel Hsia, Shayne Fletcher, Tao Lin, Thomas Wang, Victoria Dudin, Zachary DeVito.

Monarch agora está disponível para uso e é uma ferramenta poderosa para qualquer desenvolvedor que queira criar aplicações de IA distribuídas. Com sua API simples e fácil de usar, Monarch simplifica o processo de desenvolvimento e depuração de aplicações de IA distribuídas, tornando-o mais rápido e eficiente. Além disso, Monarch é altamente personalizável e pode ser estendido para atender às necessidades específicas de cada projeto. Se você está procurando por uma ferramenta para criar aplicações de IA distribuídas, Monarch é definitivamente uma opção a considerar. Com sua capacidade de lidar com grandes conjuntos de dados e executar treinamentos de IA em larga escala, Monarch é uma ferramenta fundamental para qualquer desenvolvedor que queira criar aplicações de IA inovadoras e eficazes.

Além disso, Monarch é uma ferramenta que está em constante evolução, com uma comunidade de desenvolvedores ativa e comprometida em melhorar e estender suas funcionalidades. Com a documentação completa e os tutoriais disponíveis, é fácil para os desenvolvedores aprender a usar Monarch e começar a criar aplicações de IA distribuídas. Monarch também oferece suporte a várias linguagens de programação, incluindo Python, Java e C++, tornando-o uma ferramenta versátil e flexível para desenvolvedores de diferentes backgrounds. Com sua arquitetura escalável e sua capacidade de lidar com grandes conjuntos de dados, Monarch é uma ferramenta ideal para aplicações de IA que exigem grande poder de processamento e armazenamento de dados.

No entanto, é importante notar que Monarch é uma ferramenta complexa que exige conhecimento em programação e desenvolvimento de aplicações de IA. Além disso, a configuração e a depuração