CPU
Una CPU es el procesador de propósito general de un ordenador. En IA, carga y prepara datos, coordina los aceleradores y ejecuta inferencias cuando no hay ninguna GPU disponible.
Una unidad central de procesamiento (CPU) es el procesador de propósito general que ejecuta el sistema operativo y los programas de un ordenador. Ejecuta instrucciones en un número reducido de núcleos potentes, cada uno diseñado para completar rápidamente un flujo de instrucciones, con grandes memorias caché, predicción de saltos y ejecución fuera de orden que agilizan el código complejo con ramificaciones. En los sistemas de inteligencia artificial (AI), la CPU carga y decodifica los datos, aplica aumentos de datos, alimenta las GPU y otros aceleradores, y se encarga de los pasos que rodean a un modelo, como cambiar el tamaño de las imágenes antes de la inferencia y aplicar la supresión no máxima después de la detección de objetos. También ejecuta el modelo cuando no hay un acelerador disponible o no compensa usarlo, desde portátiles y funciones en la nube hasta una Raspberry Pi, por lo que la latencia de inferencia de la CPU es un objetivo de diseño clave para los modelos de IA en el borde.
Cómo ejecutan redes neuronales las CPU#
Una red neuronal dedica la mayor parte del tiempo a multiplicar matrices, y las CPU aceleran esta tarea de tres formas. Varios núcleos —desde 4 en una placa pequeña hasta más de 100 en un chip de servidor— trabajan en paralelo en distintas partes de un lote o una capa. Dentro de cada núcleo, las unidades SIMD (instrucción única, múltiples datos) aplican una instrucción a muchos números a la vez: AVX2 y AVX-512 en chips x86 de Intel y AMD, y NEON en chips Arm, como los de teléfonos, Mac con Apple silicon y placas Raspberry Pi, junto con la extensión SVE, de mayor amplitud, en los chips Arm para servidores más recientes. Los chips actuales incorporan unidades matriciales, como las extensiones avanzadas de matrices (AMX) de Intel en los procesadores para servidores Xeon desde 2023 y la extensión matricial escalable (SME) de Arm, que multiplican pequeños bloques de valores BF16 o INT8 por instrucción.
El rendimiento de las CPU sigue muy por debajo del de las GPU, porque las CPU dedican espacio del chip a las memorias caché y la lógica de control para lograr un buen rendimiento monohilo, en lugar de destinarlo a miles de unidades aritméticas; además, leen los pesos desde la memoria del sistema convencional, con una fracción del ancho de banda de memoria de una GPU. Los motores de inferencia reducen parte de esa diferencia: ONNX Runtime, OpenVINO de Intel y NCNN de Tencent fusionan capas, eligen los núcleos más rápidos para el conjunto de instrucciones disponible y ejecutan modelos cuantizados a INT8, que mueven una cuarta parte de los datos que los pesos FP32. La elección del motor y la precisión para desplegar en una CPU suele depender del hardware:
Ultralytics diseñó YOLO26 para este tipo de hardware; YOLO26n funciona hasta un 43 % más rápido que YOLO11n en inferencia ONNX en CPU en una CPU Intel Xeon, mientras que la exportación a OpenVINO acelera hasta 3 veces la inferencia en CPU. Este código ejecuta YOLO26 en la CPU, lo exporta a OpenVINO y ejecuta el modelo exportado:
from ultralytics import YOLO
# Ejecuta el modelo de detección YOLO26 más pequeño en la CPU, aunque haya una GPU disponible
model = YOLO("yolo26n.pt")
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed) # Milisegundos de preprocesamiento, inferencia y posprocesamiento
# Expórtalo al formato de OpenVINO y ejecuta el modelo exportado en la misma CPU
path = model.export(format="openvino")
ov_model = YOLO(path)
results = ov_model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed)Cada diccionario speed desglosa el tiempo que tarda en procesarse una imagen en preprocesamiento, inferencia y posprocesamiento, por lo que las dos salidas impresas comparan los tiempos de inferencia de PyTorch y OpenVINO en el equipo donde se ejecuta el código.
CPU frente a GPU, TPU y NPU#
- CPU: Unos pocos núcleos potentes para código de propósito general con ramificaciones. Todos los ordenadores tienen una, y puede ejecutar cualquier modelo sin hardware adicional, aunque con un rendimiento inferior al de los aceleradores siguientes.
- GPU: Miles de núcleos más sencillos, además de Tensor Cores para cálculos matriciales y memoria de gran ancho de banda. Las GPU son el hardware estándar para el entrenamiento y la inferencia de alto rendimiento.
- TPU: Chip de Google específico para una aplicación, basado en grandes unidades de multiplicación matricial. Está disponible en Google Cloud y, como Edge TPU, en pequeños módulos de inferencia.
- NPU: Acelerador de redes neuronales de bajo consumo integrado en chips para teléfonos, portátiles y sistemas embebidos. Los chips Intel Core Ultra, AMD Ryzen AI, Qualcomm Snapdragon y Apple de la serie M combinan núcleos de CPU, una GPU y una NPU en un mismo procesador.
Aplicaciones en el mundo real#
- Flujos de trabajo de datos de entrenamiento: Mientras una GPU entrena, los procesos de trabajo de la CPU leen imágenes del disco, las decodifican, cambian su tamaño, aplican aumentos y preparan lotes. Si hay pocos núcleos de CPU, una GPU costosa se queda esperando a que lleguen los datos.
- Cámaras inteligentes y dispositivos de borde: Los videoporteros, los sensores de tiendas y las cámaras industriales ejecutan pequeños modelos de detección en sus propios procesadores, de modo que el vídeo permanece en el dispositivo y solo salen de él las alertas.
- Inferencia sin servidor y en la nube: Las funciones en la nube y los puntos de conexión con poco tráfico suelen ejecutarse en instancias que solo usan CPU, que arrancan rápidamente y cuestan menos que reservar una GPU.
- Modelos de lenguaje grandes locales: Proyectos como llama.cpp ejecutan modelos GGUF cuantizados en las CPU de los portátiles, donde la velocidad de generación depende sobre todo de la rapidez con que la memoria pueda suministrar los pesos de cada token.










