¿Qué es PyTorch?
PyTorch es una biblioteca de software open source con la que los desarrolladores pueden combinar distintos elementos de código para crear un "cerebro" de inteligencia artificial que aprenda a identificar patrones en los datos. Desde una perspectiva más técnica, PyTorch facilita el uso de capas modulares para diseñar y entrenar redes neuronales complejas para proyectos de machine learning (aprendizaje automático) avanzado.
Motivos para elegir PyTorch
PyTorch ha ganado popularidad porque prioriza la experiencia del desarrollador y facilita la modificación de la estructura de los modelos en tiempo real. Los usuarios interactúan con la biblioteca mediante Python como lenguaje de programación para el frontend. Para ejecutar cálculos complejos en el backend, PyTorch utiliza C++ y, cuando hay una unidad de procesamiento gráfico (GPU) de NVIDIA disponible, CUDA. Gracias a este enfoque híbrido, ofrece una interfaz sencilla sin renunciar a una gran capacidad informática.
PyTorch es un proyecto open source respaldado por PyTorch Foundation, que forma parte de Linux® Foundation. Gracias a este modelo de control abierto, puedes utilizarlo sin costo, la comunidad open source lo mejora de manera permanente y su funcionamiento es completamente auditable. Los desarrolladores pueden revisar el código fuente y comprobar la manera en que el marco de trabajo procesa los datos.
Además de basarse en el open source, la arquitectura fundamental de PyTorch se diseñó para brindar flexibilidad, accesibilidad y capacidad de ajuste a cualquier usuario, sin importar la plataforma de hardware o el proveedor de nube que utilice.
Cuatro aspectos clave para la implementación de la tecnología de inteligencia artificial
Capacidades de PyTorch
PyTorch proporciona los elementos fundamentales que los desarrolladores necesitan para diseñar e implementar soluciones de inteligencia artificial. En lugar de obligarlos a diseñar sistemas complejos desde cero, permite que aprovechen el enfoque intuitivo y propio de Python que ofrece, así como su biblioteca de modelos de machine learning listos para usar. Su mayor ventaja es la flexibilidad, ya que permite modificar y probar los modelos de inteligencia artificial en tiempo real mientras se ejecutan.
A continuación, veremos las etapas para diseñar y ejecutar un modelo de machine learning y el papel que desempeña PyTorch en cada una de ellas:
Planificación y preparación de datos
El primer paso consiste en definir el problema y preparar los datos. Como PyTorch no está diseñada para la limpieza de datos, los desarrolladores recurren a otras herramientas, como Pandas o SQL, para organizarlos. También pueden utilizar Docling para procesar documentos y transformarlos en datos estructurados. Luego, PyTorch incorpora esos datos a las redes neuronales para su procesamiento.
Entrenamiento de modelos
En esta etapa, PyTorch funciona como el espacio de trabajo principal donde los desarrolladores diseñan y entrenan modelos de inteligencia artificial. Una vez escrito el código, PyTorch actúa como un puente universal que envía los tensores de datos al acelerador de hardware correspondiente, ya sea una unidad de procesamiento gráfico (GPU) de NVIDIA con CUDA, una GPU de AMD mediante ROCm o sistemas basados en Intel y Apple Silicon. (Más adelante hablaremos de CUDA y de los tensores). En el caso de los modelos de inteligencia artificial empresariales, es habitual empaquetar el código de entrenamiento en un contenedor Docker y enviarlo a un clúster de Kubernetes en la nube. (También profundizaremos en Docker y Kubernetes más adelante).
Evaluación de los modelos
Durante esta etapa, los desarrolladores comprueban el rendimiento del modelo con PyTorch utilizando un conjunto de datos diferente del utilizado para el entrenamiento. Para ello, congelan la configuración interna del modelo, lo que detiene el aprendizaje y permite evaluar su rendimiento predictivo sin realizar más ajustes.
Implementación
Al finalizar el entrenamiento de un modelo con PyTorch, el desarrollador obtiene un archivo que contiene los parámetros del modelo ya ajustados (pesos y sesgos). Es aquí donde la inteligencia artificial pasa de la etapa de entrenamiento a la de inferencia: deja de aprender y comienza a generar predicciones a partir de lo aprendido. Para ponerlo en producción, puedes empaquetar el "cerebro" de inteligencia artificial en una imagen de Docker para producción e implementarla en plataformas en la nube, como Amazon Web Services (AWS), Google Cloud o Microsoft Azure. En la nube, Kubernetes se encarga de gestionar la infraestructura y hacer el ajuste necesario, mientras que un motor de inferencia como vLLM optimiza la velocidad y el rendimiento de los cálculos.
Aplicaciones de PyTorch
Con PyTorch, es posible diseñar aplicaciones de machine learning y deep learning (aprendizaje profundo). Se utiliza ampliamente para entrenar:
Modelos de lenguaje de gran tamaño (LLM). PyTorch fue la base de las primeras versiones de los modelos GPT de OpenAI y de la serie Llama de Meta.
Visión artificial. PyTorch (en particular la biblioteca TorchVision) se utiliza con frecuencia en aplicaciones como los vehículos autónomos, el diagnóstico por imágenes y el software de reconocimiento facial para desarrollar flujos de trabajo de clasificación de imágenes y detección de objetos.
Generadores de imágenes. PyTorch permite entrenar modelos de texto a imagen al proporcionar la base matemática necesaria para analizar millones o miles de millones de imágenes y enseñar a los sistemas de inteligencia artificial a generar contenido visual.
Procesamiento del lenguaje natural (NLP) y voz. PyTorch permite entrenar modelos de conversión de texto a voz y de voz a texto capaces de interpretar la relación entre las ondas sonoras y el texto estructurado y legible. Además, puedes utilizarla para desarrollar herramientas de traducción.
Los tensores en PyTorch
Los tensores constituyen los elementos fundamentales de la inteligencia artificial moderna. Antes de que un modelo de inteligencia artificial procese palabras, imágenes, videos o señales de audio, toda esa información se convierte en tensores.
Los tensores son estructuras organizadas de números que representan tanto los datos sin procesar como los parámetros de un modelo, y PyTorch es conocida como una biblioteca diseñada para trabajar con ellos. Además, ofrece las herramientas necesarias para diseñar y ejecutar redes neuronales profundas. Al procesar los tensores estructurados a través de estas redes, PyTorch da vida al "cerebro" informático de un modelo de inteligencia artificial.
En términos sencillos, un tensor es un contenedor de números. Puede representar desde un solo valor (conocido como escalar) hasta una cuadrícula multidimensional de números. El tamaño de un tensor depende de la cantidad de dimensiones que tenga:
- Un escalar es un tensor de cero dimensiones: un único número.
- Un vector es un tensor de una dimensión: una fila de números formada por escalares.
- Una matriz es un tensor de dos dimensiones: una cuadrícula de números, similar a una hoja de cálculo.
- Un tensor de tres o más dimensiones es un tensor de alta dimensionalidad: una stack de cuadrículas apiladas y anidadas, como un cubo de Rubik.

Los tensores pueden tener cada vez más dimensiones, como los tensores de 4D y 5D. Estos tensores de alta dimensionalidad permiten que PyTorch organice y estructure datos complejos, como imágenes en color o secuencias de video.

Pero ¿por qué son importantes las dimensiones?
Cuando PyTorch procesa datos, los representa como tensores dentro de un espacio de alta dimensionalidad. Este espacio matemático abstracto puede tener decenas o incluso miles de direcciones y dimensiones. Allí es donde un modelo de inteligencia artificial puede representar, analizar y relacionar conceptos mediante la asignación y la medición de coordenadas.
Como nuestro mundo tiene tres dimensiones, nos cuesta imaginar un espacio con miles de dimensiones. Sin embargo, mediante el álgebra lineal, las computadoras pueden representar los datos en espacios de alta dimensionalidad y calcular las relaciones espaciales entre los distintos puntos. Así es como aprende la inteligencia artificial.
Con PyTorch, transformas los datos en una estructura organizada de números (tensores) y haces pasar esos tensores por una red neuronal. A medida que la red procesa los datos, ajusta gradualmente sus parámetros internos, cuyo número puede variar desde decenas hasta cientos o incluso billones, según el modelo. Este proceso le permite aprender patrones y relaciones presentes en los datos. Gracias a ese aprendizaje, el modelo puede hacer predicciones sobre información nueva que nunca antes ha visto. Así es como se forma el "cerebro" de un modelo de inteligencia artificial.
Diferencias entre PyTorch y TensorFlow
PyTorch y TensorFlow son herramientas open source que ayudan a las computadoras a aprender al convertir los datos en tensores y representarlos en un espacio digital. PyTorch prioriza la flexibilidad y la facilidad de uso, mientras que TensorFlow se centra en la capacidad de ajuste y la estructura.
En 2017, Meta (antes Facebook) lanzó PyTorch como una herramienta open source. Originalmente, comenzó como una herramienta interna diseñada desde cero como un marco de trabajo orientado a la investigación, que ofrecía una manera más rápida y flexible de probar arquitecturas de redes neuronales. PyTorch ganó popularidad porque los desarrolladores consideraban que era más fácil de usar que TensorFlow y permitía una repetición más rápida.
En 2015, Google lanzó TensorFlow como una herramienta open source. Originalmente, comenzó como una herramienta interna para la investigación y la producción, diseñada para ejecutarse en grandes sistemas empresariales. Esto hizo que TensorFlow ganara popularidad en entornos empresariales que gestionan millones de usuarios y utilizan servidores en la nube a gran escala.
Hoy en día, PyTorch y TensorFlow comparten muchas de las mismas funciones y han incorporado ideas del otro para seguir mejorando con el tiempo.
CUDA y su uso en PyTorch
Compute Unified Device Architecture (CUDA) es una plataforma de software que permite que los desarrolladores escriban código que se ejecuta en las GPU de NVIDIA para realizar procesamiento en paralelo. PyTorch utiliza CUDA como un puente digital para trasladar los cálculos del procesador principal de una computadora a una GPU de NVIDIA. De esta forma, es posible ejecutar miles de millones de cálculos a gran velocidad.
Sin embargo, no necesitas una tarjeta gráfica ni CUDA para utilizar PyTorch. Si no cuentas con una plataforma de GPU compatible, como CUDA o ROCm, PyTorch ejecuta las cargas de trabajo de forma automática en la unidad central de procesamiento (CPU) de tu computadora. La ejecución con una CPU es una buena alternativa para depurar o ejecutar modelos pequeños, pero si quieres procesar datos mediante redes neuronales de gran escala en milisegundos en lugar de horas, CUDA es el aliado ideal de PyTorch para acelerar ese procesamiento.
Concepto de grafos computacionales
Un grafo computacional es un mapa visual de los pasos matemáticos que se ejecutan en un modelo. Rastrea el flujo de los datos dentro de un sistema matemático y permite identificar las operaciones que PyTorch realiza en cada nodo, así como las dependencias entre las distintas capas de la red.
En el desarrollo de inteligencia artificial, un grafo computacional funciona como un plano técnico para el aprendizaje. Realiza un seguimiento de cómo las entradas se transforman en salidas y ofrece a la computadora una ruta clara para retroceder cuando necesita calcular errores y ajustar sus parámetros internos.
Grafo computacional dinámico
PyTorch utiliza grafos computacionales dinámicos (DCG) para ejecutar modelos de deep learning. La diferencia entre los DCG y los grafos computacionales tradicionales, también llamados grafos estáticos, radica en la flexibilidad.
Para entender la diferencia entre los grafos computacionales estáticos y dinámicos, piensa en un tren (los datos) que se desplaza por una vía (la arquitectura del modelo de deep learning).
Un grafo estático es como construir una vía de tren completa antes de que el primer tren pueda comenzar a circular. Cada tren debe recorrer exactamente la misma ruta, y cualquier cambio de dirección o desvío debe planificarse e incorporarse desde el principio. Si un tren llega con datos que necesitan un recorrido diferente al previsto, el sistema falla y hay que modificar la vía. En otras palabras, un grafo estático requiere definir todo el modelo antes de poder procesar cualquier dato en él.
Un grafo dinámico es como diseñar una ruta personalizada para cada tren antes de que parta y ajustar el recorrido según lo que transporta. Si los datos son una oración breve, PyTorch genera una vía más corta para que pasen por el modelo. Si se trata de un bloque de texto más extenso, el grafo dinámico de PyTorch adapta la vía y crea un recorrido más largo para procesar esos datos.
La principal ventaja de un enfoque dinámico es que ofrece mayor flexibilidad durante cada repetición y facilita la depuración. Como PyTorch construye la vía paso a paso en tiempo real, cuando algo falla, el tren se detiene en el punto exacto del recorrido donde se produjo el error.
En los grafos estáticos, los errores suelen aparecer después de haber construido todo el recorrido, de modo que es difícil identificar qué fue lo que falló. Esto, desde luego, puede resultar frustrante.
Autograd
Autograd es el motor integrado de PyTorch que realiza de forma automática los cálculos de derivadas y gradientes. Para ello, PyTorch utiliza un sistema basado en cinta (también llamado sistema basado en registro), que funciona de manera similar a una cinta de casete o de video.
Cuando proporcionas datos a un modelo de PyTorch durante el entrenamiento, Autograd activa la fase de propagación hacia adelante, similar a una función de "grabación en cinta", para capturar y registrar cada operación matemática y su secuencia de ejecución. Después, puede realizar una propagación hacia atrás, como si "rebobinara" la cinta. Al ejecutar las operaciones en sentido inverso, Autograd determina qué tanto influyó cada parámetro en el error y cómo ajustarlo para mejorar el modelo.
Cuando Autograd "rebobina" la cinta, realiza un proceso similar al de un profesor de matemáticas que analiza la resolución de un ejercicio. A partir de un resultado incorrecto, sigue el camino inverso de los cálculos para localizar el origen del error y determinar cómo ajustar los parámetros en el siguiente intento.
PyTorch e inteligencia artificial explicable
Conseguir que un modelo de inteligencia artificial genere una respuesta correcta es solo una parte del desafío. Las empresas también deben comprender por qué el modelo toma una decisión específica. Al dar prioridad a la transparencia y la explicabilidad, los desarrolladores pueden diseñar sistemas de inteligencia artificial que no solo sean avanzados desde el punto de vista técnico, sino también seguros, equitativos y que estén alineados con los valores y las necesidadesde las personas.
Aunque funciones fundamentales de PyTorch, como el grafo computacional dinámico y Autograd, registran en detalle el flujo matemático de los datos, esa información no está diseñada para que las personas puedan interpretarla fácilmente. Para cerrar esa brecha, PyTorch incluye una biblioteca exclusiva para la inteligencia artificial explicable denominada Captum. Captum utiliza los datos generados por Autograd para calcular qué entradas tuvieron la mayor influencia matemática en el resultado final, lo que ayuda a los desarrolladores a comprender mejor el funcionamiento interno de los modelos de inteligencia artificial.
Esta transparencia puede traducirse en las siguientes ventajas:
Solución de problemas más rápida. Cuando los analistas de datos comprenden la lógica de un modelo al generar un resultado, el desarrollo, la depuración y el proceso de toma de decisiones se vuelven más rápidos y sencillos.
Mejor cumplimiento normativo. La inteligencia artificial explicable permite que las empresas cumplan las normativas y las leyes sobre privacidad.
Mayor confianza. Para implementar tecnologías como la inteligencia artificial con agentes (agentic AI) con éxito, es necesario que haya confianza entre los algoritmos y las personas.
El camino hacia la inteligencia artificial soberana. La inteligencia artificial soberana implica tener el derecho de controlar tus sistemas. Para lograrlo, necesitan comprender en profundidad la manera en que los modelos procesan los datos y generan información.
Primeros pasos con PyTorch
Puedes instalar y ejecutar PyTorch tanto en sistemas locales como en plataformas en la nube. El único requisito es instalar Python. Si conoces este lenguaje de programación, descubrirás que PyTorch resulta intuitiva, incluso cuando recién comienzas a utilizarla.
Además, puedes utilizar PyTorch desde entornos de nube accesibles a través del navegador, como Google Colab, que ya viene con PyTorch y acceso a la GPU listos para usar. A medida que vayas avanzando, descubrirás que el ecosistema de PyTorch se integra con herramientas populares, como las siguientes:
- Hugging Face: Una plataforma donde los desarrolladores pueden acceder a modelos de PyTorch ya entrenados, sin necesidad de desarrollarlos desde cero.
- PyTorch Lightning: Un marco de alto nivel para PyTorch que oculta el código de ingeniería complejo y ofrece una experiencia de desarrollo más sencilla.
- ONNX: Open Neural Network Exchange (ONNX) convierte los modelos de PyTorch en un plano técnico estandarizado para que puedan interpretarse y ejecutarse en distintos sistemas de software o chips de hardware sin necesidad de reescribir el código.
Flujo de trabajo basado en Docker con PyTorch
Docker funciona como un contenedor digital que contiene una instantánea del entorno de ejecución de un sistema. El objetivo de utilizar un flujo de trabajo basado en Docker con PyTorch es compartir código entre diferentes máquinas, evitar errores de configuración y reducir las fallas del sistema.
Al convertir tu código de PyTorch en una imagen de Docker, puedes empaquetar todo lo necesario para ejecutarlo dentro de un contenedor independiente del resto de la máquina. Cuando compartes ese contenedor con un compañero de equipo o lo implementas en un servidor en la nube, se descarga y ejecuta con la configuración requerida.
Los creadores de PyTorch y los miembros de su comunidad mantienen imágenes oficiales de Docker prediseñadas. Esto facilita el desarrollo y la implementación, ya que puedes descargar una imagen de Docker de PyTorch sin necesidad de instalar la biblioteca en tu computadora.
Flujo de trabajo basado en Kubernetes con PyTorch
Cuando quieras ampliar la capacidad de tu modelo de PyTorch a millones de usuarios, necesitarás una flota de servidores que pueda gestionar esa carga de trabajo. Una vez que conviertas el modelo en una imagen de Docker junto con todos los elementos necesarios para ejecutarlo, Kubernetes se encarga de trasladar el contenedor al entorno donde debe ejecutarse. Ejecutar tus cargas de trabajo de inteligencia artificial en Kubernetes ofrece diversas ventajas:
Organización automatizada de recursos. Los modelos de PyTorch requieren una gran cantidad de recursos informáticos para funcionar, como GPU, CPU, memoria y ancho de banda de red. Kubernetes mantiene estos modelos operativos al supervisar los recursos disponibles en los servidores y programar las cargas de trabajo en los entornos más adecuados. Si se produce una falla en un servidor, Kubernetes la detecta de inmediato y redirige el tráfico de datos sin necesidad de intervención manual.
Capacidad de ajuste. Las cargas de trabajo de inteligencia artificial presentan patrones de demanda variables. Si un modelo experimenta un aumento repentino de tráfico, Kubernetes puede ajustar los recursos mediante la creación de réplicas del contenedor de Docker en múltiples servidores para responder a la demanda. Cuando el tráfico disminuye, Kubernetes reduce los recursos utilizados para ayudarte a optimizar los costos.
Compatibilidad con entrenamiento distribuido. Cuando un modelo de inteligencia artificial supera la capacidad de entrenamiento de una única computadora, los desarrolladores pueden utilizar contenedores para distribuir la carga de trabajo entre varias máquinas. Mediante la organización del modelo en contenedores Docker y el uso de una arquitectura de nube, PyTorch distribuye los procesamientos matemáticos complejos entre un clúster de GPU interconectadas.
A partir de ahí, Kubernetes gestiona la red entre los contenedores Docker, lo que permite que se comuniquen entre sí, sincronicen sus tensores y ejecuten cálculos como si fueran un único "cerebro". Este procesamiento en paralelo reduce el tiempo necesario para entrenar el modelo.
Red Hat puede ayudarte
Red Hat® AI está diseñada para realizar inferencias rápidas, flexibles y eficientes a través de su servidor con vLLM . Conecta los modelos a tus datos de manera confiable para unificar la personalización y el desarrollo de agentes especializados en una sola plataforma. Nuestros productos están diseñados con una base open source y te brindan el control total de los flujos de trabajo de inteligencia artificial en cualquier escala.
La cartera de productos de Red Hat AI incluye Red Hat AI Enterprise, una plataforma para implementar, gestionar y ajustar la inferencia de esta tecnología y las aplicaciones que la utilizan, además de los flujos de trabajo de inteligencia artificial con agentes (Agentic AI) en cualquier infraestructura.
Artificial Intelligence (AI)
See how our platforms free customers to run AI workloads and models anywhere