Glosario

TPU (Tensor Unidad de Procesamiento)

Descubre cómo las Unidades de Procesamiento Tensor (TPU) aceleran tareas de aprendizaje automático como el entrenamiento, la inferencia y la detección de objetos con una eficacia inigualable.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

Una Unidad de Procesamiento Tensor TPU) es un acelerador de aprendizaje automático diseñado a medida y desarrollado por Google específicamente para cargas de trabajo de redes neuronales. Estos procesadores especializados, un tipo de circuito integrado de aplicación específica (ASIC), están diseñados para acelerar y ampliar drásticamente las operaciones de aprendizaje automático, especialmente para tareas de inferencia y entrenamiento. Las TPU están diseñadas para manejar los complejos cálculos matemáticos implicados en la inteligencia artificial, ofreciendo mejoras significativas de rendimiento sobre las CPU y, a menudo, sobre las GPU para determinados tipos de modelos de aprendizaje automático.

¿Qué es un TPU?

Una TPU se construye desde cero para satisfacer las demandas exclusivas del aprendizaje automático (AM), especialmente del aprendizaje profundo. A diferencia de los procesadores de propósito general, como las CPU o incluso las GPU, que se encargan de una gama más amplia de tareas, las TPU están diseñadas para sobresalir en los cálculos de tensor , las operaciones matemáticas fundamentales de las redes neuronales. Los tensores son matrices multidimensionales que representan datos en modelos de ML, y las TPU están optimizadas para realizar multiplicaciones matriciales a gran escala y otras operaciones de álgebra tensor a gran velocidad y con eficiencia energética. Esta especialización permite a las TPU ejecutar tareas de ML mucho más rápidamente que las CPU y, en muchos casos, de forma más eficiente que las GPU, especialmente cuando se trabaja con marcos como TensorFlow para el que se optimizaron inicialmente, aunque la compatibilidad con otros como PyTorch también está disponible. Puedes obtener más información sobre los detalles en la Introducción TPU deGoogle Cloud.

Aplicaciones de los TPU

Las TPU se utilizan ampliamente en diversas aplicaciones, en particular las impulsadas por los servicios Google y, cada vez más, en dominios más amplios de IA y ML accesibles a través de plataformas como Google Cloud. Entre las aplicaciones clave se incluyen:

  • Entrenamiento de modelos a gran escala: Las TPU destacan en el entrenamiento de modelos muy grandes y complejos, como los utilizados en el procesamiento del lenguaje natural (PLN) (como las variantes BERT o GPT) y en tareas avanzadas de visión por ordenador. Su arquitectura se adapta bien a los cálculos paralelos masivos necesarios, a menudo utilizando técnicas como el entrenamiento distribuido. Los investigadores y desarrolladores pueden aprovechar los pods de TPU para aumentar significativamente la velocidad. Muchos de los grandes modelos que sustentan Google Search y Translate se basan en TPUs para el entrenamiento.
  • Inferencia de gran volumen: Para aplicaciones que requieren predicciones rápidas sobre grandes conjuntos de datos, las TPU proporcionan un alto rendimiento y una baja latencia. Google utiliza las TPU para potenciar funciones de IA en tiempo real en productos como Google Fotos (para el análisis de imágenes y la detección de objetos) y Google Assistant (para el reconocimiento de voz). Las TPU también están disponibles en plataformas como Kaggle, lo que permite un acceso más amplio para la experimentación, como se explica en la guía de integración deUltralytics en Kaggle. Las TPU de borde más pequeñas llevan esta aceleración a los dispositivos informáticos de borde.

TPUs vs GPUs

Aunque tanto las TPU como las GPU aceleran las cargas de trabajo de ML, difieren significativamente:

  • Arquitectura: Las GPU están diseñadas para el procesamiento paralelo, originalmente para gráficos, lo que las hace versátiles para diversas tareas paralelas, incluido el ML. Las TPU tienen una arquitectura más especializada (Matrix Multiply Units) optimizada específicamente para las operaciones tensor dominantes en las redes neuronales.
  • Flexibilidad: Las GPU ofrecen una mayor flexibilidad debido a un soporte de software más amplioCUDA, varios marcos de ML) y a la aplicabilidad a tareas más allá del ML. Las TPU están muy optimizadas para ML, especialmente para el entrenamiento y la inferencia del aprendizaje profundo, y funcionan mejor con marcos como TensorFlow o JAX, aunque la compatibilidad con PyTorch está mejorando.
  • Eficiencia: Para cargas de trabajo de ML compatibles a gran escala, las TPU pueden ofrecer un rendimiento por vatio superior al de las GPU. Sin embargo, las GPU pueden ser más rentables o rendidoras para tareas más pequeñas o que impliquen operaciones menos adecuadas para la arquitectura de TPU .

En resumen, las TPU representan un avance significativo en el hardware diseñado específicamente para las demandas del aprendizaje automático moderno, ofreciendo un mayor rendimiento y eficiencia para aplicaciones específicas de IA, en particular trabajos de entrenamiento e inferencia a gran escala. Complementan a otros aceleradores como las GPU, proporcionando opciones en función de la carga de trabajo específica, la escala y el ecosistema de software. Puedes explorar las opciones de entrenamiento, incluidos los recursos en la nube, a través de plataformas como Ultralytics HUB.

Leer todo