A comunidade PyTorch tem estado na vanguarda do desenvolvimento de estruturas de aprendizado de máquina para atender às crescentes necessidades de pesquisadores, cientistas de dados e desenvolvedores de IA em todo o mundo. Com o recente lançamento do PyTorch 2.5, a equipe pretende enfrentar vários desafios enfrentados pela comunidade de ML, com foco particular na melhoria da eficiência computacional, redução do tempo de inicialização e melhoria da escalabilidade de desempenho para novo hardware. Em particular, o resultado alvo são as restrições em modelos de transformadores e LLMs (Large Language Models), a necessidade contínua de otimização de GPU e a eficiência de treinamento e descrição em ambientes de pesquisa e produção. Essas atualizações ajudam o PyTorch a se manter competitivo no campo em rápida evolução da infraestrutura de IA.
A nova versão do PyTorch traz novos recursos interessantes à sua estrutura de aprendizado profundo amplamente aceita. Esta versão se concentra em melhorias como o novo backend do CuDNN para Scaled Dot Product Attention (SDPA), integração regional torch.compile
e a introdução do backend TorchInductor CPP. O backend CuDNN visa melhorar o desempenho para usuários que executam SDPA em GPUs H100 ou mais recentes, enquanto a integração regional ajuda a reduzir o tempo de inicialização torch.compile
. Este recurso é particularmente útil para módulos de redes neurais, como aqueles comumente usados em transformadores. O backend TorchInductor CPP oferece muitas personalizações, incluindo suporte FP16 e outras melhorias de desempenho, proporcionando assim uma experiência de computação eficiente.
Uma das atualizações técnicas mais importantes do PyTorch 2.5 é o backend CuDNN para SDPA. Este novo endpoint foi projetado para GPUs como o H100 da NVIDIA, que fornece aceleração significativa para modelos que usam atenção de produto escalar – uma parte importante dos modelos de transformadores. Os usuários que trabalham com essas novas GPUs descobrirão que seus fluxos de trabalho podem alcançar resultados máximos com latência reduzida, melhorando assim os tempos de treinamento e os índices em modelos grandes. Integração regional de torch.compile
outro desenvolvimento importante que fornece uma abordagem mais modular para integração de redes neurais. Em vez de reconstruir todo o modelo repetidamente, os usuários podem montar peças pequenas e repetitivas (como camadas de transformadores) desmontando-as. Essa abordagem reduz significativamente os tempos de inicialização a frio, resultando em iterações mais rápidas durante o desenvolvimento. Além disso, o backend TorchInductor CPP traz suporte para o modo FP16 e AOT-Inductor, combinado com max-autotune, fornecendo uma maneira muito eficiente de obter ganhos de desempenho de baixo nível, especialmente ao usar modelos grandes em uma configuração de hardware distribuído.
PyTorch 2.5 é uma versão importante por vários motivos. Primeiro, a introdução do CuDNN para SDPA aborda um dos maiores problemas para usuários que executam modelos de transformadores em hardware de última geração. Os resultados do benchmark mostraram uma melhoria significativa de desempenho nas GPUs H100, onde a aceleração da atenção do produto escalado agora está disponível imediatamente, sem ajustes adicionais do usuário. Em segundo lugar, a integração regional torch.compile
é particularmente impactante para quem trabalha com modelos grandes, como modelos de linguagem, com muitas camadas recursivas. A redução do tempo necessário para montar e configurar essas camadas iterativas significa um ciclo de teste mais rápido, permitindo que os cientistas de dados iterem em modelos arquitetônicos com mais eficiência. Por fim, o backend TorchInductor CPP representa uma mudança no sentido de fornecer uma experiência ainda mais avançada e de baixo nível para desenvolvedores que precisam de maior controle sobre o desempenho e a alocação de recursos, expandindo ainda mais a usabilidade do PyTorch em ambientes de pesquisa e produção.
Concluindo, o PyTorch 2.5 é um grande avanço para a comunidade de aprendizado de máquina, trazendo melhorias que abordam tanto a usabilidade de alto nível quanto as otimizações de desempenho de baixo nível. Ao abordar pontos específicos de desempenho da GPU, latência de compilação e velocidade computacional geral, esta versão garante que o PyTorch continue sendo a melhor escolha para profissionais de ML. Com foco em melhorias de SDPA, integração de circuitos e back-end de CPP aprimorado, o PyTorch 2.5 visa fornecer ferramentas mais rápidas e eficientes para aqueles que trabalham em tecnologias avançadas de IA. À medida que os modelos de machine learning continuam a crescer em complexidade, estes tipos de atualizações são essenciais para impulsionar a próxima onda de inovação.
Confira Detalhes e lançamentos no GitHub. Todo o crédito deste estudo vai para os pesquisadores deste projeto. Além disso, não se esqueça de nos seguir Twitter e junte-se ao nosso Estação telefônica de novo LinkedIn Gracima. Se você gosta do nosso trabalho, você vai gostar do nosso jornal.. Não se esqueça de participar do nosso Mais de 50k ML SubReddit.
[Upcoming Live Webinar- Oct 29, 2024] A melhor plataforma para modelos ajustados: mecanismo de inferência Predibase (atualizado)
Asif Razzaq é o CEO da Marktechpost Media Inc. Como empresário e engenheiro visionário, Asif está empenhado em aproveitar o poder da Inteligência Artificial em benefício da sociedade. Seu mais recente empreendimento é o lançamento da Plataforma de Mídia de Inteligência Artificial, Marktechpost, que se destaca por sua ampla cobertura de histórias de aprendizado de máquina e aprendizado profundo que parecem tecnicamente sólidas e facilmente compreendidas por um amplo público. A plataforma possui mais de 2 milhões de visualizações mensais, o que mostra sua popularidade entre o público.