TPU (Tensor Processing Unit)
Explora cómo las unidades de procesamiento tensorial (TPU) aceleran el aprendizaje automático. Aprende a optimizar Ultralytics YOLO26 para las Edge TPU y el entrenamiento en la nube para obtener la máxima velocidad.
Una Tensor Processing Unit (TPU) es un circuito integrado de aplicación específica (ASIC) diseñado por Google específicamente para acelerar cargas de trabajo de machine learning (ML). A diferencia de los procesadores de propósito general que manejan una amplia gama de tareas informáticas, las TPUs están diseñadas desde cero para optimizar las operaciones matriciales masivas fundamentales para las neural networks. Este enfoque específico les permite alcanzar un rendimiento y una eficiencia energética excepcionalmente altos, convirtiéndolas en una piedra angular de la infraestructura moderna de artificial intelligence (AI), particularmente dentro del Google Cloud ecosystem. Desempeñan un papel vital en la reducción del tiempo necesario tanto para el entrenamiento de modelos complejos como para la ejecución de real-time inference a escala.
Link to this sectionArquitectura y funcionalidad#
La arquitectura de una TPU difiere significativamente de la de los procesadores tradicionales. Mientras que una CPU (Central Processing Unit) estándar destaca en tareas secuenciales y lógica compleja, y una GPU (Graphics Processing Unit) utiliza núcleos paralelos para gráficos y computación general, una TPU utiliza una systolic array architecture. Este diseño permite que los datos fluyan a través de miles de multiplicadores simultáneamente sin acceder a la memoria para cada operación. Al maximizar la densidad computacional y minimizar la latencia, las TPUs son especialmente adecuadas para el álgebra lineal pesada que se encuentra en las aplicaciones de deep learning (DL).
Este hardware especializado está altamente optimizado para marcos de trabajo como TensorFlow y cada vez más soportado por PyTorch, lo que permite a los desarrolladores entrenar foundation models masivos o implementar soluciones eficientes en el borde sin reescribir completamente sus bases de código.
Link to this sectionDiferenciación de unidades de procesamiento#
Comprender el panorama del hardware es fundamental para optimizar machine learning operations (MLOps).
- CPU: El "cerebro" de propósito general de un ordenador, ideal para el procesamiento secuencial, el preprocesamiento de datos y el manejo de lógica compleja. A menudo se utiliza para tuberías de data augmentation, pero es más lento para las matemáticas matriciales pesadas.
- GPU: Construidas originalmente para la renderización de imágenes, las GPUs son el estándar de la industria para el model training debido a su versatilidad y paralelismo masivo. Son excelentes para entrenar modelos flexibles como Ultralytics YOLO26.
- TPU: Un acelerador diseñado específicamente que intercambia flexibilidad por velocidad bruta en operaciones de tensores. Está diseñado para maximizar los FLOPS (floating-point operations per second) específicamente para cálculos de redes neuronales, a menudo proporcionando un rendimiento por vatio superior para cargas de trabajo específicas a gran escala.
Link to this sectionAplicaciones en el mundo real#
Las TPUs se despliegan en diversos entornos, desde clústeres masivos en la nube hasta pequeños dispositivos de borde.
-
Entrenamiento de modelos de lenguaje grandes: Google utiliza vastos clústeres interconectados, conocidos como TPU Pods, para entrenar inmensos large language models (LLMs) como PaLM y Gemini. Estos sistemas pueden procesar petabytes de training data en una fracción del tiempo que le tomaría al hardware tradicional, acelerando los avances en generative AI.
-
Edge AI e IoT: La Coral Edge TPU lleva esta aceleración a dispositivos de bajo consumo. Permite aplicaciones eficientes de computer vision (CV), como ejecutar object detection en una línea de fabricación para identificar defectos localmente. Esto permite la toma de decisiones inmediata sin depender de la conectividad en la nube, preservando el ancho de banda y la privacidad.
Link to this sectionUso de TPUs con Ultralytics#
Los desarrolladores pueden aprovechar la aceleración de TPU para los modelos de Ultralytics, particularmente cuando utilizan la Ultralytics Platform para el entrenamiento en la nube o la exportación de modelos para el despliegue en el borde. La Edge TPU, por ejemplo, requiere que los modelos sean cuantizados y compilados específicamente para su arquitectura.
El siguiente ejemplo demuestra cómo exportar un modelo YOLO26 al formato TFLite, que es un paso previo necesario antes de compilar 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 puede compilarse aún más para la Edge TPU utilizando el Edge TPU Compiler, lo que permite que se ejecute de manera eficiente en dispositivos como la Raspberry Pi con un Coral USB Accelerator. Para obtener más detalles sobre el despliegue, explorar la documentación de TFLite integration puede ser muy útil.






