CPU, GPU y TPU: por qué la GPU es crucial para la IA
Introducción
Si trabajas con Inteligencia Artificial, constantemente escuchas hablar de GPU, CPU y ocasionalmente TPU. Pero ¿cuál es realmente la diferencia? ¿Por qué ChatGPT necesita miles de GPUs NVIDIA y no simplemente CPUs rápidas?
La respuesta está en cómo funcionan estos procesadores. Una CPU es como un profesional versátil que resuelve tareas complejas una tras otra. Una GPU es como un ejército de trabajadores simples que ejecutan millones de tareas sencillas simultáneamente. Una TPU es un especialista que hace una sola cosa, pero la hace extremadamente rápido.
En este artículo aprenderás cómo funcionan CPU, GPU y TPU, por qué la GPU es tan importante para la IA y cuándo cada hardware es la opción correcta.
CPU: El versátil
En síntesis
La CPU (Central Processing Unit) es el cerebro de tu computadora. Puede hacer de todo, pero no todo al mismo tiempo. Una CPU tiene pocos núcleos, pero muy rápidos (generalmente entre 4 y 16). Cada núcleo puede ejecutar tareas complejas secuencialmente, como consultar una base de datos, gestionar un sistema operativo o controlar una interfaz de usuario.
Imagina que tienes 4 chefs muy talentosos en una cocina. Cada chef puede preparar un plato complicado, desde la planificación hasta el plato final. Pero 4 chefs solo pueden cocinar 4 platos a la vez, no más.
Componentes clave de una CPU
- ALU (Arithmetic Logic Unit): Ejecuta operaciones matemáticas básicas, como suma, resta y comparaciones lógicas.
- Control Unit: Coordina la ejecución de instrucciones, carga datos del caché y controla el flujo de datos.
- Registros: Memoria extremadamente rápida pero diminuta dentro del procesador. Aquí residen los valores actuales con los que trabaja la CPU.
- Caché (L1, L2, L3): Almacenamiento temporal multinivel que mantiene disponibles los datos frecuentemente utilizados, evitando accesos lentos a la memoria principal.
Importancia práctica real
Como desarrollador de aplicaciones, escribes código que se ejecuta en la CPU. Tu sistema operativo, navegador, IDE, servidor de desarrollo local, todo corre en la CPU. Cuando construyes una aplicación web, la CPU procesa las solicitudes HTTP, ejecuta la lógica de negocio y controla los accesos a la base de datos.
La CPU sigue siendo el corazón de cualquier computadora. Para IA simplemente no es óptima porque la IA consiste principalmente en una enorme cantidad de operaciones matemáticas simples.
GPU: El procesador masivo
En síntesis
La GPU (Graphics Processing Unit) fue originalmente desarrollada para renderizar gráficos 3D. Para calcular una imagen con millones de píxeles, hay que ejecutar muchas operaciones matemáticas sencillas simultáneamente. Exactamente eso es lo que una GPU hace excepcionalmente bien.
Una GPU no tiene 4 o 16 núcleos, sino miles. La H100 de NVIDIA, por ejemplo, tiene 16.896 núcleos. Cada núcleo individual es más simple y lento que un núcleo de CPU, pero juntos son insuperables en tareas que pueden paralelizarse.
Imagina que tienes 16.896 ayudantes de cocina en una cocina enorme. Cada ayudante solo puede hacer una cosa, por ejemplo, picar una cebolla. Pero todos al mismo tiempo. Si necesitas picar 16.896 cebollas, estos ayudantes son muchas veces más rápidos que los 4 chefs talentosos de la CPU.
Componentes clave de una GPU
- CUDA Cores / Stream Processors: Las unidades de cálculo reales. Miles de núcleos simples que funcionan en paralelo.
- VRAM (Video RAM): Memoria propia de la GPU, muy rápida con ancho de banda alto. Una NVIDIA H100 tiene 80 GB de memoria HBM3.
- Tensor Cores: Unidades especializadas en GPUs NVIDIA modernas, optimizadas específicamente para cálculos de IA (multiplicaciones de matrices).
- SM (Streaming Multiprocessors): Grupos de núcleos que comparten acceso a memoria y recursos de cálculo.
Por qué la GPU es tan importante para la IA
Los modelos de IA, especialmente las redes neuronales, consisten en una enorme cantidad de multiplicaciones de matrices. Una multiplicación de matrices no es nada más que muchas multiplicaciones y sumas que pueden ejecutarse simultáneamente.
Aquí un ejemplo simple: una imagen de 224x224 píxeles tiene 50.176 píxeles. Cada píxel tiene 3 valores de color (rojo, verde, azul). Eso son 150.528 números. En una red neuronal, cada uno de estos valores se multiplica por un peso y se suma. Son cientos de miles de operaciones simples que pueden ejecutarse todas a la vez.
# CPU: Calcula una multiplicación de matrices secuencialmente
import numpy as np
a = np.random.rand(1000, 1000)
b = np.random.rand(1000, 1000)
# En la CPU tarda varios segundos
result = np.dot(a, b) # Cada celda se calcula una por una
# GPU: Calcula la misma multiplicación de matrices en paralelo
import cupy as cp # Librería NVIDIA GPU
a_gpu = cp.random.rand(1000, 1000)
b_gpu = cp.random.rand(1000, 1000)
# En la GPU tarda milisegundos, miles de núcleos calculan en paralelo
result_gpu = cp.dot(a_gpu, b_gpu)
La diferencia de velocidad es masiva. Una GPU NVIDIA H100 puede ejecutar multiplicaciones de matrices aproximadamente 10 a 50 veces más rápido que una CPU de última generación, incluso 100 veces más rápido con modelos de IA grandes.
Importancia práctica real
Como desarrollador trabajando con IA, no puedes escapar de la GPU. Ya sea ejecutando un LLM local con Ollama, entrenando un modelo con PyTorch o generando imágenes con Stable Diffusion, en todas partes necesitas potencia de GPU.
Incluso cuando usas servicios de IA en la nube, hay una GPU funcionando en el fondo. OpenAI utiliza miles de GPUs NVIDIA para ChatGPT. Google utiliza TPUs para Gemini. Sin este hardware, la IA moderna no sería posible.
TPU: El especialista
En síntesis
La TPU (Tensor Processing Unit) es un procesador que Google desarrolló específicamente para IA. Mientras que una GPU es un versátil para cálculos paralelos, la TPU es un puro especialista en operaciones tensoriales, exactamente las multiplicaciones de matrices que aparecen en redes neuronales.
Imagina que tienes una máquina en la cocina que solo puede picar cebollas. Pero pica 100.000 cebollas por segundo. No puede hacer nada más, pero para eso es insuperable.
Componentes clave de una TPU
- MXU (Matrix Multiply Unit): El corazón de la TPU. Un módulo de hardware especializado que ejecuta exclusivamente multiplicaciones de matrices, con velocidad extremadamente alta.
- Unified Buffer: Amplio almacenamiento intermedio local que guarda resultados intermedios de los cálculos matriciales.
- Activation Pipeline: Ejecuta funciones de activación (como ReLU o Sigmoid) directamente en hardware, sin pasar por la memoria principal.
TPU vs GPU: ¿Cuál es mejor?
| Criterio | GPU | TPU |
|---|---|---|
| Desarrollador | NVIDIA, AMD | |
| Disponibilidad | Compra libre | Solo Google Cloud |
| Flexibilidad | Alta, para muchas tareas | Baja, solo cargas de IA |
| Velocidad en IA | Muy alta | Extremadamente alta |
| Precio | Costoso (H100 aprox. 30.000 euros) | Alquiler en cloud, no se compra |
| Soporte de frameworks | PyTorch, TensorFlow, JAX | TensorFlow, JAX |
| Comunidad | Enorme | Pequeña, enfocada en Google |
Para la mayoría de desarrolladores, la GPU es la mejor opción. Las TPUs son interesantes si entrenas modelos a gran escala en Google Cloud y necesitas máximo rendimiento.
NPU: El especialista en IA del día a día
En pocas palabras
La NPU (Neural Processing Unit) es un acelerador de IA integrado directamente en hardware de consumo como laptops, smartphones y tablets. Es más débil que una GPU, pero consume muy poca energía y se especializa en tareas sencillas de IA como reconocimiento de voz, reconocimiento de imágenes y modelos de IA pequeños.
Imagina que tienes un robot de cocina que solo puede picar lechuga. No es tan rápido como los 16.896 asistentes de la GPU, pero consume casi nada de energía, es pequeño y siempre está disponible cuando lo necesitas.
Componentes clave de una NPU
- Systolic Arrays: Unidades de cálculo matricial especializadas, optimizadas para inferencia de IA.
- Diseño de bajo consumo: Desarrollado para minimizar el consumo de energía, esencial para dispositivos móviles.
- Memoria On-Chip: Almacenamiento local pequeño pero rápido, que reduce las transferencias de datos.
- Soporte INT8: Enfoque en números enteros de 8 bits en lugar de números de punto flotante de 32 bits, lo que reduce la potencia de cálculo y el consumo de energía.
NPU vs GPU: ¿Cuál es mejor?
| Criterio | NPU | GPU |
|---|---|---|
| Ubicación | Laptops, smartphones, tablets | PCs de escritorio, servidores |
| Consumo de energía | Muy bajo (pocos vatios) | Alto (hasta 700 vatios) |
| Rendimiento | Hasta 50 TOPS | Hasta 2000 TFLOPS |
| Flexibilidad | Baja, solo inferencia de IA | Alta, entrenamiento e inferencia |
| Precio | Integrado en el dispositivo | Hardware adicional |
| Tareas típicas | Reconocimiento de voz, reconocimiento de imágenes | Entrenamiento de IA, LLMs, renderizado |
Cuán importante es esto en la práctica
Como desarrollador de aplicaciones, verás NPUs cada vez más. Intel, AMD y Apple integran NPUs en sus CPUs. Windows 11 de Microsoft cuenta con APIs especiales para NPU. Para tareas sencillas de IA como reconocimiento de voz local o clasificación de imágenes, la NPU es perfecta porque funciona de forma eficiente energéticamente y libera la CPU.
Para entrenamientos de IA complejos o LLMs grandes, la NPU no es suficiente. En esos casos necesitas una GPU.
TOPS y FLOPS: ¿Cómo se mide el rendimiento de IA?
En pocas palabras
TOPS (Tera Operations Per Second) y FLOPS (Floating Point Operations Per Second) son unidades de medida para el rendimiento de cálculo de los procesadores. FLOPS es el estándar para rendimiento de cálculo general, mientras que TOPS se especializa en IA y mide operaciones con números enteros (INT8), que se usan frecuentemente en modelos de IA.
¿Qué es FLOPS?
FLOPS significa Floating Point Operations Per Second. Una FLOP es una operación de punto flotante como suma o multiplicación. Una NVIDIA H100 alcanza hasta 4.000 TFLOPS (Tera FLOPS) con números de punto flotante de 16 bits. Eso equivale a 4 billones de operaciones de cálculo por segundo.
# Ejemplo FLOPS: Una multiplicación matricial con números de punto flotante
import numpy as np
# La multiplicación de una matriz 1000x1000 requiere aproximadamente 2.000.000.000 FLOPS
a = np.random.rand(1000, 1000).astype(np.float32)
b = np.random.rand(1000, 1000).astype(np.float32)
result = np.dot(a, b) # 2 TFLOPS con 1000x1000
¿Qué es TOPS?
TOPS significa Tera Operations Per Second, pero específicamente para operaciones con números enteros (INT8). Los modelos de IA usan frecuentemente números enteros de 8 bits en lugar de números de punto flotante de 32 bits, porque es más rápido y consume menos energía. Una NPU con 50 TOPS puede ejecutar 50 mil millones de operaciones con números enteros por segundo.
# Ejemplo TOPS: Una multiplicación matricial con números enteros
import numpy as np
# La multiplicación de una matriz 1000x1000 con INT8 requiere aproximadamente 2.000.000.000 TOPS
a = np.random.randint(0, 255, (1000, 1000)).astype(np.int8)
b = np.random.randint(0, 255, (1000, 1000)).astype(np.int8)
result = np.dot(a, b) # 2 TOPS con 1000x1000
¿Por qué TOPS en lugar de FLOPS para IA?
Los modelos de IA para inferencia usan cada vez más cuantización, es decir, la reducción de la precisión de 32 bits a 8 bits. Es más rápido, consume menos energía y es lo suficientemente preciso para la mayoría de aplicaciones. TOPS es, por lo tanto, la medida mejor para hardware de inferencia de IA, mientras que FLOPS sigue siendo relevante para entrenamiento y rendimiento general de cálculo.
Comparación: CPU, GPU, TPU y NPU en TOPS/FLOPS
| Procesador | FLOPS (FP16) | TOPS (INT8) | Uso típico |
|---|---|---|---|
| Intel Core i9-14900K | 1.500 TFLOPS | 50 TOPS | Escritorio, gaming |
| NVIDIA RTX 4090 | 2.000 TFLOPS | 330 TOPS | Gaming, inferencia de IA |
| NVIDIA H100 | 4.000 TFLOPS | 2.000 TOPS | Entrenamiento de IA, LLMs |
| Apple M3 NPU | 0 TFLOPS | 18 TOPS | MacBook, inferencia de IA |
| Intel Core Ultra NPU | 0 TFLOPS | 10 TOPS | Laptop, inferencia de IA |
| Google TPU v5p | 0 TFLOPS | 4.700 TOPS | Entrenamiento de IA en Google |
Cuán importante es esto en la práctica
Como desarrollador deberías conocer TOPS y FLOPS para elegir hardware en proyectos de IA. Para inferencia de IA local en un laptop, una NPU con 10 a 50 TOPS es suficiente. Para entrenamiento de IA necesitas una GPU con cientos a miles de TOPS.
Presta atención a la especificación de TOPS al comprar hardware si planeas inferencia de IA en dispositivos móviles. Para cargas de trabajo de IA en escritorio, la especificación de FLOPS de la GPU es más importante.
Comparación: CPU, GPU, TPU y NPU
| Característica | CPU | GPU | TPU | NPU |
|---|---|---|---|---|
| Número de núcleos | 4 a 16 | Miles (hasta 16.896) | Unidades matriciales especializadas | Systolic Arrays (hasta 50 TOPS) |
| Tipo de tarea | Compleja, secuencial | Simple, paralela | Solo operaciones de tensores | Inferencia de IA (INT8) |
| Fortaleza | Lógica, control, I/O | Matemática paralela | Matemática específica para IA | Inferencia de IA eficiente energéticamente |
| Memoria | 32 a 128 GB RAM | 8 a 80 GB VRAM | 16 a 128 GB HBM | Memoria On-Chip |
| Aptitud para IA | Baja, demasiado lenta | Muy alta | Extremadamente alta | Media, para inferencia |
| Precio | 200 a 5.000 euros | 500 a 30.000 euros | Alquiler en la nube | Integrado en el dispositivo |
| Área de uso típica | Sistema operativo, aplicaciones | Entrenamiento de IA, gráficos | Entrenamiento de IA en Google | Reconocimiento de voz, reconocimiento de imágenes |
¿Qué procesador para qué propósito?
- CPU: Para todo lo que no sea IA. Sistema operativo, servidores web, bases de datos, aplicaciones normales.
- GPU: Para entrenamiento e inferencia de IA, cuando necesitas flexibilidad. La opción estándar para la mayoría de desarrolladores de IA.
- TPU: Para entrenamiento de IA a gran escala en Google Cloud, cuando necesitas máximo rendimiento para modelos de TensorFlow o JAX.
- NPU: Para inferencia de IA local en laptops y smartphones. Reconocimiento de voz, reconocimiento de imágenes, pequeños modelos de IA con consumo mínimo de energía.
Recomendaciones de libros sobre el tema
Keine Bücher für Kategorie "kuenstliche-intelligenz" gefunden.
Resumen
- CPU es el polivalente: Pocos núcleos, pero inteligentes. Perfecto para tareas complejas y secuenciales como sistema operativo y lógica de aplicaciones.
- GPU es el procesador de masas: Miles de núcleos simples que trabajan en paralelo. Perfecto para IA, porque las redes neuronales se componen de millones de operaciones matemáticas simples.
- TPU es el especialista: Construido por Google, solo para operaciones de tensores de IA. Extremadamente rápido, pero inflexible y solo disponible en Google Cloud.
- NPU es el acelerador de IA del día a día: Integrado en laptops y smartphones, extremadamente eficiente energéticamente para tareas sencillas de IA como reconocimiento de voz.
- Por qué GPU para IA: Los modelos de IA consisten en una enorme cantidad de multiplicaciones matriciales. Una GPU puede ejecutarlas en paralelo y es así 10 a 100 veces más rápida que una CPU.
- TOPS vs FLOPS: FLOPS mide operaciones de punto flotante (entrenamiento), TOPS mide operaciones con números enteros (inferencia). Para inferencia de IA, TOPS es la medida relevante.
- Práctica: Como desarrollador de IA usas GPU para entrenamiento e inferencia. NPU para IA local en dispositivos móviles. TPU solo en Google Cloud.
Artículos relacionados:
- Rechnerarchitektur Grundlagen: CPU, Bus, Speicher, Adressierung
- CPU Aufbau: Fetch, Decode, Execute, Register, Cache
- Rechnerarchitektur: Von Neumann, CPU, Speicherhierarchie, DMA
- Das beste Betriebssystem für Deine KI Agenten
- Bester KI PC: Ryzen AI Max+ 395 vs NVIDIA DGX Spark
Preguntas frecuentes sobre CPU, GPU y TPU
1. ¿Cuál es la diferencia principal entre CPU y GPU?
2. ¿Por qué es mejor una GPU que una CPU para KI?
3. ¿Qué es una TPU y quién la desarrolló?
4. ¿Cuántos núcleos tiene una GPU típica?
5. ¿Qué son los Tensor Cores en una GPU?
6. ¿Se puede comprar una TPU?
7. ¿Qué es VRAM y por qué es importante para KI?
8. ¿Qué significa procesamiento paralelo de datos?
9. ¿Puede KI ejecutarse en una CPU?
10. ¿Cuál es la diferencia entre CUDA Cores y Stream Processors?
11. ¿Por qué OpenAI necesitó miles de GPUs para ChatGPT?
12. ¿Qué es una multiplicación de matrices y por qué es importante para KI?
13. ¿Qué es memoria HBM y por qué se usa en GPUs y TPUs?
14. ¿Cuál es la diferencia entre entrenamiento e inferencia de KI respecto al hardware?
15. ¿Qué significa CUDA y por qué es importante?
16. ¿Qué es una NPU y para qué se usa?
17. ¿Cuál es la diferencia entre NPU y GPU?
18. ¿Qué son TOPS y en qué se diferencian de FLOPS?
19. ¿Por qué los modelos de KI usan INT8 en lugar de FP32?
20. ¿Qué es un Systolic Array en una NPU?
21. ¿Cuántos TOPS se necesitan para inferencia de KI?
22. ¿Qué es cuantización en modelos de KI?
23. ¿Qué dispositivos tienen NPU?
24. ¿Se puede usar una NPU para entrenamiento de KI?
25. ¿Cuál es la ventaja de las NPUs para desarrolladores de aplicaciones?
Fuentes
- NVIDIA CUDA Dokumentation
- Google Cloud TPU Dokumentation
- NVIDIA H100 Spezifikationen
- Astro Dokumentation


