TPU (Tensor Processing Unit)
Explora como as unidades de processamento de tensores (TPU) aceleram o machine learning. Aprende a otimizar o Ultralytics YOLO26 para Edge TPU e treino na cloud, obtendo a máxima velocidade.
Uma unidade de processamento tensorial (TPU) é um circuito integrado de aplicação específica (ASIC) concebido pela Google especificamente para acelerar cargas de trabalho de aprendizagem automática (ML). Ao contrário dos processadores de uso geral, que lidam com uma vasta gama de tarefas computacionais, as TPU são concebidas de raiz para otimizar as enormes operações matriciais fundamentais para as redes neuronais. Este foco específico permite-lhes alcançar um débito excecionalmente elevado e uma eficiência energética superior, tornando-as um elemento fundamental da infraestrutura moderna de inteligência artificial (AI), particularmente no ecossistema Google Cloud. Desempenham um papel essencial na redução do tempo necessário tanto para treinar modelos complexos como para executar inferência em tempo real em grande escala.
Arquitetura e funcionalidade#
A arquitetura de uma TPU difere significativamente da dos processadores tradicionais. Enquanto uma CPU (Unidade central de processamento) padrão se destaca em tarefas sequenciais e lógica complexa, e uma GPU (Unidade de processamento gráfico) utiliza núcleos paralelos para gráficos e computação geral, uma TPU utiliza uma arquitetura de matriz sistólica. Este design permite que os dados passem simultaneamente por milhares de multiplicadores sem aceder à memória em cada operação. Ao maximizar a densidade computacional e minimizar a latência, as TPU são especialmente adequadas para a álgebra linear intensiva presente nas aplicações de aprendizagem profunda (DL).
Este hardware especializado está fortemente otimizado para frameworks como TensorFlow e é cada vez mais compatível com PyTorch, permitindo aos programadores treinar enormes modelos fundacionais ou implementar soluções eficientes na periferia sem reescrever completamente as suas bases de código.
Distinção entre unidades de processamento#
Compreender o panorama do hardware é fundamental para otimizar as operações de aprendizagem automática (MLOps).
- CPU: O "cérebro" de uso geral de um computador, ideal para processamento sequencial, pré-processamento de dados e gestão de lógica complexa. É frequentemente utilizada em pipelines de aumento de dados, mas é mais lenta em cálculos matriciais intensivos.
- GPU: Criadas originalmente para renderização de imagens, as GPU são o padrão da indústria para o treino de modelos, devido à sua versatilidade e ao seu enorme paralelismo. São excelentes para treinar modelos flexíveis como o Ultralytics YOLO26.
- TPU: Um acelerador concebido especificamente para este fim, que troca flexibilidade por velocidade bruta em operações com tensores. Foi concebido para maximizar as operações de ponto flutuante por segundo (FLOPS) especificamente para cálculos de redes neuronais, proporcionando frequentemente um desempenho por watt superior em determinadas cargas de trabalho de grande escala.
Aplicações no mundo real#
As TPU são implementadas em diversos ambientes, desde enormes clusters na cloud até pequenos dispositivos de periferia.
-
Treino de modelos de linguagem de grande escala: A Google utiliza enormes clusters interligados, conhecidos como TPU Pods, para treinar modelos de linguagem de grande escala (LLMs) imensos, como PaLM e Gemini. Estes sistemas conseguem processar petabytes de dados de treino numa fração do tempo que o hardware tradicional demoraria, acelerando os avanços na IA generativa.
-
IA de periferia e IoT: A Coral Edge TPU leva esta aceleração a dispositivos de baixo consumo energético. Permite aplicações eficientes de visão computacional (CV), como executar deteção de objetos numa linha de produção para identificar defeitos localmente. Isto permite tomar decisões imediatamente sem depender da conectividade à cloud, preservando a largura de banda e a privacidade.
Utilizar TPU com Ultralytics#
Os programadores podem tirar partido da aceleração por TPU para modelos Ultralytics, particularmente ao utilizar a Ultralytics Platform para treino na cloud ou ao exportar modelos para implementação na periferia. A Edge TPU, por exemplo, requer que os modelos sejam quantizados e compilados especificamente para a sua arquitetura.
O exemplo seguinte demonstra como exportar um modelo Ultralytics YOLO26 para o formato TFLite, que é um passo prévio necessário antes da compilação para uma 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)Depois de exportado, o modelo pode ser adicionalmente compilado para a Edge TPU utilizando o Edge TPU Compiler, permitindo-lhe funcionar eficientemente em dispositivos como o Raspberry Pi com um Coral USB Accelerator. Para obter mais informações sobre a implementação, consultar a documentação de integração com TFLite pode ser muito útil.









