Glossário

TPU (Tensor Processing Unit)

Descobre como as Tensor Processing Units (TPUs) aceleram as tarefas de aprendizagem automática, como formação, inferência e deteção de objectos, com uma eficiência inigualável.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

Uma Unidade de Processamento Tensor TPU) é um acelerador de aprendizagem automática personalizado desenvolvido pela Google especificamente para cargas de trabalho de redes neurais. Estes processadores especializados, um tipo de circuito integrado específico da aplicação (ASIC), foram concebidos para acelerar e aumentar drasticamente as operações de aprendizagem automática, em particular para tarefas de inferência e formação. As TPUs foram concebidas para lidar com os complexos cálculos matemáticos envolvidos na inteligência artificial, oferecendo melhorias significativas de desempenho em relação às CPUs e, muitas vezes, às GPUs para determinados tipos de modelos de aprendizagem automática.

O que é um TPU?

Uma TPU é construída de raiz para as exigências únicas da aprendizagem automática (ML), especialmente da aprendizagem profunda. Ao contrário dos processadores de uso geral, como CPUs ou até mesmo GPUs, que lidam com uma gama mais ampla de tarefas, as TPUs são criadas especificamente para se destacarem em cálculos tensor - as operações matemáticas fundamentais dentro das redes neurais. Tensores são matrizes multidimensionais que representam dados em modelos de ML, e as TPUs são otimizadas para realizar multiplicações de matrizes em larga escala e outras álgebras tensor com alta velocidade e eficiência energética. Essa especialização permite que as TPUs executem tarefas de ML muito mais rapidamente do que as CPUs e, em muitos cenários, de forma mais eficiente do que as GPUs, especialmente ao trabalhar com estruturas como TensorFlow para as quais foram inicialmente optimizadas, embora o suporte para outras como PyTorch também esteja disponível. Podes saber mais sobre as especificidades na Introdução à TPU Google Cloud.

Aplicações das TPUs

As TPUs são utilizadas extensivamente em várias aplicações, em particular as que são alimentadas pelos serviços Google e, cada vez mais, em domínios mais vastos de IA e ML acessíveis através de plataformas como o Google Cloud. As principais aplicações incluem:

  • Treino de modelos em grande escala: As TPUs são excelentes para treinar modelos muito grandes e complexos, como os utilizados no processamento de linguagem natural (PNL) (como as variantes BERT ou GPT) e tarefas avançadas de visão computacional. A sua arquitetura é adequada para os cálculos paralelos maciços necessários, utilizando frequentemente técnicas como a formação distribuída. Os investigadores e os programadores podem tirar partido dos pods TPU para obterem aumentos de velocidade significativos. Muitos dos grandes modelos subjacentes à Pesquisa Google e ao Translate dependem de TPUs para treino.
  • Inferência de grande volume: Para aplicações que requerem previsões rápidas em grandes conjuntos de dados, as TPUs proporcionam um elevado rendimento e baixa latência. Google utiliza TPUs para potenciar funcionalidades de IA em tempo real em produtos como o Google Photos (para análise de imagens e deteção de objectos) e Google Assistant (para reconhecimento de voz). As TPUs também estão disponíveis em plataformas como o Kaggle, permitindo um acesso mais amplo para experimentação, conforme discutido no guia de integração doUltralytics Kaggle. As TPUs de borda menores levam essa aceleração para dispositivos de computação de borda.

TPUs vs GPUs

Embora tanto as TPUs como as GPUs acelerem as cargas de trabalho de ML, diferem significativamente:

  • Arquitetura: As GPUs foram concebidas para processamento paralelo, originalmente para gráficos, o que as torna versáteis para várias tarefas paralelas, incluindo ML. As TPUs têm uma arquitetura mais especializada (Matrix Multiply Units) optimizada especificamente para as operações tensor dominantes nas redes neuronais.
  • Flexibilidade: As GPUs oferecem maior flexibilidade devido ao suporte de software mais amploCUDA, várias estruturas de ML) e aplicabilidade a tarefas além do ML. As TPUs são altamente optimizadas para o ML, em particular para a formação e inferência de aprendizagem profunda, e têm um melhor desempenho com estruturas como TensorFlow ou JAX, embora o suporte PyTorch esteja a melhorar.
  • Eficiência: Para cargas de trabalho de ML compatíveis e em grande escala, as TPUs podem oferecer um desempenho superior por watt em comparação com as GPUs. No entanto, as GPUs podem ser mais rentáveis ou ter um melhor desempenho para tarefas mais pequenas ou para aquelas que envolvem operações menos adequadas à arquitetura TPU .

Em suma, as TPUs representam um avanço significativo no hardware concebido especificamente para as exigências da aprendizagem automática moderna, oferecendo um desempenho e eficiência melhorados para aplicações de IA específicas, particularmente trabalhos de formação e inferência em grande escala. Complementam outros aceleradores como as GPUs, oferecendo opções dependendo da carga de trabalho específica, da escala e do ecossistema de software. Podes explorar opções de formação, incluindo recursos na nuvem, através de plataformas como o Ultralytics HUB.

Lê tudo