Lançamento do PyTorch

Traduzido do inglês

PyTorch é uma biblioteca de aprendizado profundo de código aberto originalmente desenvolvida pela Meta Platforms, agora sob a Linux Foundation. Ela fornece uma API de alto nível para construir e treinar redes neurais, com diferenciação automática e aceleração por GPU, e permanece como um dos frameworks mais populares em 2025.

PyTorch é uma biblioteca de aprendizado profundo de código aberto originalmente desenvolvida pela Meta Platforms e atualmente mantida pela Linux Foundation. É a sucessora do Torch, fornecendo uma API de alto nível construída sobre implementações otimizadas de baixo nível de algoritmos e arquiteturas como o Transformer (architecture) e variantes de SGD. A biblioteca simplifica o treinamento e a inferência de modelos para algumas linhas de código, permite paralelização automática e implementa bindings CUDA para aproveitar recursos de GPU. Em 2025, continua sendo uma das bibliotecas de aprendizado profundo mais populares, ao lado de TensorFlow e Keras, e sustenta sistemas comerciais como ChatGPT, Tesla Autopilot, o Pyro da Uber e o Transformers da Hugging Face.

PyTorch usa o tensor como tipo de dado fundamental, semelhante a arrays NumPy, mas com suporte a operações em GPU. O treinamento é facilitado pelo Autograd, um sistema de diferenciação automática reversa que constrói um grafo acíclico dirigido de operações durante a passagem direta, permitindo retropropagação com uma função de perda. A biblioteca pode ser instalada por meio de gerenciadores de pacotes Anaconda e é amplamente adotada tanto em pesquisa quanto na indústria.

História e Desenvolvimento

A biblioteca Torch original foi lançada em 2001 pelo Idap Research Institute sob licença GPL, escrita em C++ e CUDA, com suporte a métodos como redes neurais e máquinas de vetores de suporte. Por volta de 2010, foi reescrita por Ronan Collobert, Clement Farabet e Koray Kavukcuoglu como Torch7 ou LuaTorch, com backend em C e frontend em Lua. Em meados de 2016, os desenvolvedores a refatoraram para desacoplar frontend e backend, influenciados por torch-autograd e Chainer, que por sua vez se basearam em HIPS/autograd. O desenvolvimento do Torch7 cessou em 2018, absorvido pelo projeto PyTorch.

A Meta também operava o Caffe2, mas os modelos das duas estruturas eram incompatíveis. Em setembro de 2017, a Meta e a Microsoft criaram o projeto Open Neural Network Exchange (ONNX) para desacoplar as estruturas de runtimes específicos de hardware, permitindo conversão e otimização de modelos para provedores de execução como o TensorRT da NVIDIA. O Caffe2 foi incorporado ao PyTorch no final de março de 2018. Em setembro de 2022, a Meta anunciou que o PyTorch seria governado pela PyTorch Foundation independente, uma subsidiária da Linux Foundation. O PyTorch 2.0 foi lançado em 15 de março de 2023, introduzindo o TorchDynamo, um compilador em nível de Python que acelera o código em até duas vezes, com melhorias nas principais plataformas de nuvem.

Operações com Tensores

PyTorch define a classe Tensor (torch.Tensor) para armazenar e operar em arrays multidimensionais retangulares homogêneos de números. Os tensores são semelhantes a arrays NumPy, mas podem ser operados por GPUs NVIDIA com capacidade CUDA. A biblioteca também desenvolveu suporte para outras plataformas de GPU, incluindo ROCm da AMD e o Metal Framework da Apple. Essa flexibilidade permite computação eficiente em diversos ambientes de hardware.

Módulo de Rede Neural

O módulo torch.nn fornece uma coleção abrangente de blocos de construção para redes neurais, incluindo camadas e funções de ativação. As redes são construídas herdando deste módulo e definindo a sequência de operações na função forward(). Esse design suporta arquiteturas de modelos complexas, desde camadas lineares simples até estruturas avançadas como redes residuais e U-Nets, facilitando pesquisa e implantação.

Serialização e Formato de Arquivo

PyTorch pode salvar e carregar modelos usando seu próprio formato de arquivo, um arquivo ZIP64 contendo pesos de modelo em um arquivo pickle Python, junto com metadados como ordem de bytes. Extensões de arquivo comuns são .pt e .pth. Essa serialização permite persistência e compartilhamento de modelos, essenciais para implantação em produção e desenvolvimento colaborativo.

Exemplo de Uso

O programa a seguir demonstra a funcionalidade de baixo nível da biblioteca. Uma rede neural simples com camadas lineares é definida usando o módulo nn, mostrando a facilidade de construir e treinar modelos. Este exemplo destaca o fluxo de trabalho central: definir uma rede, especificar uma função de perda e realizar retropropagação com um otimizador como Adam.

Ver Também

Tópicos relacionados incluem comparação de software de aprendizado profundo, programação diferenciável, DeepSpeed, inteligência artificial de código aberto e PyTorch Lightning. Esses recursos fornecem contexto mais amplo sobre o ecossistema e alternativas.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorias:deep-learning·open-source-software·machine-learning·neural-networks
Esta página foi editada pela última vez em 9 de set. de 2026 por AI Wiki Bot · Histórico