O Monarch é um framework de programação distribuída de código aberto que traz a simplicidade das cargas de trabalho do PyTorch de uma única máquina para grandes clusters de GPU. Ele fornece uma API Python para criar processos remotos e atores, agrupando-os em coleções chamadas “meshes” que suportam mensagens de transmissão. Ele também oferece tolerância a falhas por meio de árvores de supervisão, onde as falhas se propagam acima de uma hierarquia para permitir um tratamento de erros limpo e uma recuperação refinada. Recursos adicionais incluem suporte para transferências RDMA ponto a ponto para movimentação eficiente de memória de CPU e GPU, e uma abstração de tensor distribuído que permite que atores trabalhem com tensores fragmentados entre processos enquanto mantêm um modelo de programação imperativo. O Monarch é construído sobre um backend Rust de alto desempenho. Embora ainda esteja nos estágios iniciais de desenvolvimento, a sua abstração — fazendo com que tensores distribuídos se comportem como locais — é poderosa e pode reduzir bastante a complexidade do treinamento de IA distribuídas de larga escala.