Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

GPU (Graphics Processing Unit)

Una GPU es un procesador con miles de núcleos diseñado para realizar cálculos en paralelo, por lo que es el hardware principal para entrenar y ejecutar modelos de aprendizaje profundo.

Una unidad de procesamiento gráfico (GPU) es un procesador con miles de núcleos sencillos que ejecutan la misma operación en muchos datos a la vez. Las GPU se crearon para renderizar gráficos 3D, es decir, calcular millones de píxeles y vértices en paralelo, y se convirtieron en el hardware principal del aprendizaje profundo porque el entrenamiento y la inferencia de redes neuronales se basan principalmente en multiplicaciones de matrices, que se paralelizan del mismo modo. La plataforma CUDA de NVIDIA, lanzada en 2007, hizo que sus GPU se pudieran programar para cálculos de propósito general. En 2012, la red AlexNet, entrenada durante cinco o seis días en dos GPU NVIDIA GTX 580, ganó el desafío ImageNet con un error top-5 del 15,3 %, frente al 26,2 % del segundo clasificado. Actualmente, PyTorch, TensorFlow y JAX funcionan en GPU NVIDIA mediante CUDA, en GPU AMD mediante ROCm y en los chips Apple mediante Metal; los clústeres de miles de GPU entrenan los mayores modelos fundacionales.

Cómo aceleran las GPU el aprendizaje profundo#

Una CPU dedica la mayor parte de la superficie del chip a las cachés y la lógica de control para que unos pocos núcleos puedan ejecutar rápidamente código con bifurcaciones. Una GPU dedica esa superficie al cálculo: una GPU NVIDIA se divide en multiprocesadores de transmisión, cada uno de los cuales ejecuta grupos de 32 subprocesos, llamados warps, que realizan la misma instrucción con datos distintos. Mientras unos warps esperan a la memoria, otros calculan, por lo que el chip sigue ocupado siempre que haya suficiente trabajo en paralelo. Desde la generación Volta, en 2017, las GPU NVIDIA también incluyen Tensor Cores, unidades que multiplican matrices pequeñas en un solo paso y con precisión reducida; ahora admiten FP8 y, desde Blackwell, FP4. Una NVIDIA A100 alcanza un máximo de 19,5 TFLOPS en operaciones FP32 estándar y de 312 TFLOPS en BF16 con sus Tensor Cores, por lo que la mayoría de los entrenamientos en GPU utilizan precisión mixta. Este código mide el tiempo de la misma multiplicación de matrices en la CPU y la GPU:

import time

import torch

gpu = torch.accelerator.current_accelerator()  # cuda, mps, or xpu device on this machine
a = torch.randn(4096, 4096)
b = torch.randn(4096, 4096)

for device in (torch.device("cpu"), gpu):
    x, y = a.to(device), b.to(device)
    x @ y  # warm-up run
    torch.accelerator.synchronize()
    start = time.perf_counter()
    for _ in range(10):
        x @ y
    torch.accelerator.synchronize()  # GPU calls return immediately, so wait for them to finish
    seconds = (time.perf_counter() - start) / 10
    print(f"{device.type}: {seconds * 1000:.1f} ms per multiply, {2 * 4096**3 / seconds / 1e12:.1f} TFLOPS")

En un portátil Apple M5 Pro imprime cpu: 80.0 ms per multiply, 1.7 TFLOPS y mps: 18.3 ms per multiply, 7.5 TFLOPS, por lo que la GPU integrada del portátil es aproximadamente 4,4 veces más rápida en FP32. Las GPU de los centros de datos amplían aún más la diferencia, tanto por tener más núcleos como por utilizar memoria de gran ancho de banda (HBM), que ofrece varios terabytes por segundo y mantiene los núcleos abastecidos de pesos y activaciones. La memoria de la GPU, llamada a menudo VRAM, también determina qué tamaño de modelo y tamaño de lote caben en un dispositivo; técnicas como la recomputación de gradientes y el entrenamiento distribuido permiten sortear ese límite.

Entrenamiento y despliegue de modelos en GPU#

Un trabajo de entrenamiento solo mantiene ocupada la GPU si el resto de la canalización puede seguirle el ritmo: los procesos de CPU deben decodificar y aumentar las imágenes con suficiente rapidez, los lotes deben ser lo bastante grandes para ocupar los núcleos y los cálculos deben ejecutarse con precisión reducida en los Tensor Cores. Una utilización baja de la GPU suele indicar que hay un problema en uno de estos pasos:

Ultralytics YOLO entrena de forma predeterminada en la primera GPU CUDA disponible, acepta device=[0, 1] para el entrenamiento con varias GPU y, con batch=-1, ejecuta AutoBatch, que mide la memoria libre de la GPU y elige un tamaño de lote que utiliza aproximadamente el 60 % de esta. Los equipos sin hardware local pueden elegir una GPU en la nube en Ultralytics Platform para cada ejecución de entrenamiento. Para la inferencia, un modelo YOLO26n exportado a TensorRT procesa una imagen de 640 píxeles en 1,7 ms en una GPU NVIDIA T4, frente a los 38,9 ms con ONNX en una CPU. Este código entrena YOLO26 en la primera GPU con AutoBatch:

from ultralytics import YOLO

# Carga el modelo de detección YOLO26 más pequeño
model = YOLO("yolo26n.pt")

# Entrena en la GPU 0 y deja que AutoBatch ajuste el tamaño del lote a la memoria de la GPU
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, device=0, batch=-1)

GPU frente a CPU, TPU y NPU#

  • CPU: Unos pocos núcleos potentes para código de propósito general con bifurcaciones. En la mayoría de las canalizaciones de entrenamiento, las CPU cargan y preprocesan los datos; también se encargan de la inferencia cuando no hay ningún acelerador disponible.
  • GPU: Miles de núcleos programables, además de Tensor Cores. Las GPU ejecutan casi cualquier modelo y marco de trabajo, están disponibles de varios fabricantes y se ofrecen en las principales nubes.
  • TPU: Chip de Google diseñado para una aplicación concreta y basado en grandes unidades de multiplicación de matrices. Las TPU sacrifican la flexibilidad de una GPU para ofrecer eficiencia en cargas de trabajo con matrices densas grandes y están disponibles a través de Google Cloud.
  • NPU: Acelerador de redes neuronales de bajo consumo integrado en móviles, portátiles y dispositivos periféricos; se utiliza para inferencia, no para entrenamiento.

Aplicaciones en el mundo real#

  • Entrenamiento de modelos grandes: Los modelos de lenguaje y visión con miles de millones de parámetros se entrenan en clústeres de miles de GPU de centros de datos conectadas mediante enlaces de alta velocidad, como NVLink e InfiniBand.
  • Análisis de vídeo en tiempo real: Una sola GPU puede ejecutar la detección y el seguimiento de objetos en muchas secuencias de cámaras a la vez, para controlar el tráfico, analizar tiendas o inspeccionar fábricas.
  • Robótica y vehículos autónomos: Los módulos GPU integrados, como NVIDIA Jetson, ejecutan modelos de percepción a bordo, donde enviar los datos de las cámaras a un servidor añadiría demasiada latencia.
  • Diagnóstico por imagen: Las GPU procesan grandes volúmenes 3D de TC y resonancias magnéticas para segmentar órganos y tumores en segundos, en lugar de minutos.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático