GPU (Graphics Processing Unit)
Aprende cómo las GPU aceleran la IA y el aprendizaje profundo. Descubre el potencial de la computación paralela para entrenar modelos de Ultralytics YOLO26 y optimizar la inferencia en tiempo real.
Una unidad de procesamiento gráfico (GPU) es un circuito electrónico especializado diseñado originalmente para acelerar la manipulación y creación de imágenes en un búfer de fotogramas para su salida en pantalla. Aunque sus orígenes se encuentran en la representación de gráficos por ordenador para videojuegos y visualización profesional, las GPU han evolucionado hasta convertirse en el motor fundamental de la inteligencia artificial (AI) moderna. A diferencia de un procesador estándar, que utiliza unos pocos núcleos potentes para gestionar las tareas secuencialmente, la arquitectura de una GPU está compuesta por miles de núcleos más pequeños y eficientes diseñados para gestionar varias tareas simultáneamente. Esta capacidad, conocida como computación paralela, las hace excepcionalmente eficientes para las operaciones masivas con matrices y vectores en las que se basan el aprendizaje profundo (DL) y las redes neuronales (NN) complejas.
Aceleración de cargas de trabajo de IA#
La razón principal por la que las GPU son indispensables para el aprendizaje automático (ML) es su capacidad para realizar multiplicaciones de matrices a gran velocidad. Los frameworks de aprendizaje profundo, como PyTorch y TensorFlow, están optimizados específicamente para aprovechar esta aceleración por hardware. Esto reduce significativamente los tiempos de entrenamiento de modelos, convirtiendo a menudo lo que requeriría semanas de cálculo en un procesador estándar en horas en una GPU. El rendimiento computacional de estos dispositivos suele medirse en FLOPS (operaciones de coma flotante por segundo), una métrica fundamental para evaluar la capacidad del hardware para gestionar las exigencias de modelos de última generación como YOLO26.
Diferencias entre hardware: GPU frente a CPU y TPU#
Para comprender el panorama del hardware, resulta útil distinguir la GPU de otras unidades de procesamiento:
- CPU (Unidad central de procesamiento): el «cerebro» de propósito general de un ordenador. Las CPU destacan en el procesamiento secuencial y las ramificaciones lógicas complejas, pero son menos eficientes para el paralelismo masivo que requiere el entrenamiento de IA a gran escala.
- GPU (Unidad de procesamiento gráfico): el estándar del sector para el entrenamiento y la inferencia. Los principales fabricantes, como NVIDIA, utilizan ecosistemas de software como CUDA para permitir que los desarrolladores programen la GPU directamente para la computación de propósito general.
- TPU (Unidad de procesamiento tensorial): un circuito integrado de aplicación específica (ASIC) desarrollado específicamente para el aprendizaje automático con redes neuronales. Aunque es muy eficiente para operaciones tensoriales concretas, es menos versátil que las GPU para tareas informáticas más amplias.
Aplicaciones en el mundo real#
La implementación de GPU de alto rendimiento ha impulsado innovaciones en diversos sectores:
- Vehículos autónomos: los vehículos autónomos deben procesar cada segundo gigabytes de datos procedentes de cámaras y sensores de radar y LiDAR. Las GPU permiten la inferencia en tiempo real, lo que permite al ordenador de a bordo del vehículo ejecutar modelos de detección de objetos que identifican al instante peatones, señales de tráfico y obstáculos.
- Análisis de imágenes médicas: en el sector sanitario, las GPU aceleran el procesamiento de exploraciones de alta resolución, como las resonancias magnéticas y las tomografías computarizadas. Permiten ejecutar sofisticados algoritmos de segmentación de imágenes para delimitar con precisión tumores u órganos, ayudando a los radiólogos a realizar diagnósticos más rápidos y precisos sin depender exclusivamente de la inspección manual.
Entrenamiento con GPU#
Al utilizar el paquete ultralytics, usar una GPU es sencillo y muy recomendable para conseguir flujos de trabajo eficientes. La biblioteca admite la detección automática del dispositivo, pero también puedes especificarlo explícitamente.
El ejemplo siguiente muestra cómo entrenar un modelo YOLO26 en la primera GPU disponible:
from ultralytics import YOLO
# Load the YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model on the first available GPU (device=0)
# This significantly accelerates training compared to CPU usage
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, device=0)Implementación y optimización#
Además del entrenamiento, las GPU desempeñan un papel fundamental en la implementación de modelos. Para maximizar la eficiencia durante la inferencia, los modelos suelen convertirse a formatos optimizados como TensorRT, que reestructuran la red neuronal para adaptarla perfectamente a la arquitectura específica de la GPU y reducir la latencia. Para los desarrolladores que no tienen acceso a hardware local de alta gama, la plataforma Ultralytics ofrece soluciones basadas en la nube para gestionar conjuntos de datos y entrenar modelos en potentes clústeres de GPU remotas. Esta accesibilidad impulsa la innovación en la IA en el borde, al permitir implementar tareas complejas de visión por ordenador (CV) en dispositivos más pequeños y eficientes en cuanto a consumo energético sobre el terreno.









