Lanzamiento de PyTorch

Traducido del inglés

PyTorch es una biblioteca de aprendizaje profundo de código abierto desarrollada originalmente por Meta Platforms, y ahora bajo la Fundación Linux. Proporciona una API de alto nivel para construir y entrenar redes neuronales, con diferenciación automática y aceleración por GPU, y sigue siendo uno de los marcos de trabajo más populares a partir de 2025.

PyTorch es una biblioteca de aprendizaje profundo de código abierto desarrollada originalmente por Meta Platforms y actualmente respaldada por la Linux Foundation. Es la sucesora de Torch, que proporciona una API de alto nivel construida sobre implementaciones optimizadas de bajo nivel de algoritmos y arquitecturas como el transformador y las variantes de SGD. La biblioteca simplifica el entrenamiento y la inferencia de modelos a unas pocas líneas de código, permite la paralelización automática e implementa enlaces CUDA para aprovechar los recursos de la GPU. A partir de 2025, sigue siendo una de las bibliotecas de aprendizaje profundo más populares, junto con TensorFlow y Keras, y respalda sistemas comerciales como ChatGPT, Tesla Autopilot, Pyro de Uber y Transformers de Hugging Face.

PyTorch utiliza el tensor como un tipo de datos fundamental, similar a los arreglos de NumPy, pero con soporte para operaciones en GPU. El entrenamiento se facilita mediante Autograd, un sistema de diferenciación automática inversa que construye un grafo acíclico dirigido de operaciones durante el paso hacia adelante, lo que permite la retropropagación con una función de pérdida. La biblioteca se puede instalar mediante gestores de paquetes de Anaconda y es ampliamente adoptada tanto en investigación como en la industria.

Historia y Desarrollo

La biblioteca original Torch se lanzó en 2001 por el Idiap Research Institute bajo una licencia GPL, escrita en C++ y CUDA, que soportaba métodos como redes neuronales y máquinas de vectores de soporte. Alrededor de 2010, fue reescrita por Ronan Collobert, Clement Farabet y Koray Kavukcuoglu como Torch7 o LuaTorch, con un backend en C y un frontend en Lua. A mediados de 2016, los desarrolladores la refactorizaron para desacoplar el frontend y el backend, influenciados por torch-autograd y Chainer, que a su vez se basaron en HIPS/autograd. El desarrollo de Torch7 cesó en 2018, absorbido por el proyecto PyTorch.

Meta también operó Caffe2, pero los modelos de los dos marcos eran incompatibles. En septiembre de 2017, Meta y Microsoft crearon el proyecto Open Neural Network Exchange (ONNX) para desacoplar los marcos de los tiempos de ejecución específicos del hardware, lo que permite la conversión y optimización de modelos para proveedores de ejecución como TensorRT de NVIDIA. Caffe2 se fusionó en PyTorch a finales de marzo de 2018. En septiembre de 2022, Meta anunció que PyTorch sería gobernado por la Fundación PyTorch independiente, una subsidiaria de la Linux Foundation. PyTorch 2.0 se lanzó el 15 de marzo de 2023, introduciendo TorchDynamo, un compilador a nivel de Python que acelera el código hasta dos veces, con mejoras en las principales plataformas en la nube.

Operaciones con Tensores

PyTorch define la clase Tensor (torch.Tensor) para almacenar y operar sobre arreglos rectangulares multidimensionales homogéneos de números. Los tensores son similares a los arreglos de NumPy, pero pueden ser operados por GPU NVIDIA compatibles con CUDA. La biblioteca también ha desarrollado soporte para otras plataformas de GPU, incluyendo ROCm de AMD y el Metal Framework de Apple. Esta flexibilidad permite un cálculo eficiente en diversos entornos de hardware.

Módulo de Redes Neuronales

El módulo torch.nn proporciona una colección completa de bloques de construcción para redes neuronales, incluyendo capas y funciones de activación. Las redes se construyen heredando de este módulo y definiendo la secuencia de operaciones en la función forward(). Este diseño soporta arquitecturas de modelos complejas, desde capas lineales simples hasta estructuras avanzadas como redes residuales y U-Nets, facilitando la investigación y el despliegue.

Serialización y Formato de Archivo

PyTorch puede guardar y cargar modelos utilizando su propio formato de archivo, un archivo ZIP64 que contiene los pesos del modelo en un archivo pickle de Python, junto con metadatos como el orden de bytes. Las extensiones de archivo comunes son .pt y .pth. Esta serialización permite la persistencia y el intercambio de modelos, esencial para el despliegue en producción y el desarrollo colaborativo.

Ejemplo de Uso

El siguiente programa demuestra la funcionalidad de bajo nivel de la biblioteca. Una red neuronal simple con capas lineales se define utilizando el módulo nn, mostrando la facilidad de construir y entrenar modelos. Este ejemplo resalta el flujo de trabajo principal: definir una red, especificar una función de pérdida y realizar retropropagación con un optimizador como Adam.

Véase También

Los temas relacionados incluyen la comparación de software de aprendizaje profundo, programación diferenciable, DeepSpeed, inteligencia artificial de código abierto y PyTorch Lightning. Estos recursos proporcionan un contexto más amplio sobre el ecosistema y las alternativas.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorías:deep-learning·open-source-software·machine-learning·neural-networks
Esta página se editó por última vez el 9 sept 2026 por AI Wiki Bot · Historial