TPU (Tensor Processing Unit)
Explora cómo las unidades de procesamiento tensorial (TPUs) aceleran el machine learning. Aprende a optimizar Ultralytics YOLO26 para Edge TPUs y el entrenamiento en la nube con la máxima velocidad.
Una unidad de procesamiento tensorial (TPU) es un circuito integrado de aplicación específica (ASIC) diseñado por Google específicamente para acelerar las cargas de trabajo de aprendizaje automático (ML). A diferencia de los procesadores de propósito general, que gestionan una amplia variedad de tareas informáticas, las TPU se han diseñado desde cero para optimizar las enormes operaciones matriciales fundamentales de las redes neuronales. Este enfoque específico les permite alcanzar un rendimiento y una eficiencia energética excepcionales, lo que las convierte en un pilar de la infraestructura moderna de inteligencia artificial (AI), especialmente dentro del ecosistema de Google Cloud. Desempeñan un papel fundamental a la hora de reducir el tiempo necesario tanto para entrenar modelos complejos como para ejecutar inferencias en tiempo real a escala.
Arquitectura y funcionalidad#
La arquitectura de una TPU difiere significativamente de la de los procesadores tradicionales. Mientras que una CPU (unidad central de procesamiento) estándar destaca en tareas secuenciales y lógica compleja, y una GPU (unidad de procesamiento gráfico) utiliza núcleos paralelos para gráficos y computación general, una TPU utiliza una arquitectura de matriz sistólica. Este diseño permite que los datos fluyan simultáneamente a través de miles de multiplicadores sin acceder a la memoria para cada operación. Al maximizar la densidad computacional y minimizar la latencia, las TPU son especialmente adecuadas para el álgebra lineal intensiva presente en las aplicaciones de aprendizaje profundo (DL).
Este hardware especializado está muy optimizado para frameworks como TensorFlow y cuenta cada vez con más compatibilidad con PyTorch, lo que permite a los desarrolladores entrenar enormes modelos fundacionales o desplegar soluciones eficientes en el edge sin tener que reescribir por completo sus bases de código.
Distinción entre unidades de procesamiento#
Comprender el panorama del hardware es fundamental para optimizar las operaciones de aprendizaje automático (MLOps).
- CPU: El «cerebro» de propósito general de un ordenador, ideal para el procesamiento secuencial, el preprocesamiento de datos y la gestión de lógica compleja. Se utiliza a menudo en canalizaciones de aumento de datos, pero es más lenta para las operaciones matriciales intensivas.
- GPU: Las GPU, creadas originalmente para renderizar imágenes, son el estándar del sector para el entrenamiento de modelos gracias a su versatilidad y a su enorme paralelismo. Son excelentes para entrenar modelos flexibles como Ultralytics YOLO26.
- TPU: Un acelerador diseñado específicamente que sacrifica flexibilidad a cambio de velocidad bruta en las operaciones con tensores. Está diseñado para maximizar las operaciones en coma flotante por segundo (FLOPS) específicamente para los cálculos de redes neuronales, y a menudo ofrece un rendimiento por vatio superior en determinadas cargas de trabajo a gran escala.
Aplicaciones en el mundo real#
Las TPU se despliegan en diversos entornos, desde enormes clústeres en la nube hasta diminutos dispositivos edge.
-
Entrenamiento de modelos de lenguaje de gran tamaño: Google utiliza enormes clústeres interconectados, conocidos como TPU Pods, para entrenar inmensos modelos de lenguaje de gran tamaño (LLMs), como PaLM y Gemini. Estos sistemas pueden procesar petabytes de datos de entrenamiento en una fracción del tiempo que necesitaría el hardware tradicional, acelerando los avances en IA generativa.
-
IA en el edge e IoT: La Coral Edge TPU lleva esta aceleración a dispositivos de bajo consumo. Permite aplicaciones eficientes de visión artificial (CV), como ejecutar detección de objetos en una línea de fabricación para identificar defectos localmente. Esto permite tomar decisiones de inmediato sin depender de la conectividad en la nube, preservando el ancho de banda y la privacidad.
Uso de TPU con Ultralytics#
Los desarrolladores pueden aprovechar la aceleración de TPU para los modelos de Ultralytics, especialmente al utilizar la Ultralytics Platform para el entrenamiento en la nube o al exportar modelos para su despliegue en el edge. La Edge TPU, por ejemplo, requiere que los modelos se cuantifiquen y compilen específicamente para su arquitectura.
El siguiente ejemplo muestra cómo exportar un modelo Ultralytics YOLO26 al formato TFLite, un paso previo necesario antes de compilarlo para una Edge TPU:
from ultralytics import YOLO
# Load the latest lightweight YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
# This creates a '.tflite' file suitable for mobile and edge deployment
# Set int8=True for quantization, which is often required for Edge TPU performance
model.export(format="tflite", int8=True)Una vez exportado, el modelo se puede compilar posteriormente para la Edge TPU mediante el compilador de Edge TPU, lo que permite ejecutarlo de forma eficiente en dispositivos como Raspberry Pi con un acelerador Coral USB. Para obtener más información sobre el despliegue, consultar la documentación de integración de TFLite puede resultar muy útil.









