A plataforma TensorFlow do Google permite que seus usuários treinem uma IA fornecendo ferramentas e recursos para aprendizado de máquina. Por muito tempo, os engenheiros de IA usaram CPUs e GPUs tradicionais para treinar a IA. Embora esses processadores possam lidar com vários processos de aprendizado de máquina, eles ainda são hardwares de uso geral usados ​​para várias tarefas diárias.

Para acelerar o treinamento de IA, o Google desenvolveu um Circuito Integrado Específico de Aplicativo (ASIC) conhecido como Unidade de Processamento de Tensor (TPU). Mas, o que é uma Unidade de Processamento Tensor e como eles aceleram a programação de IA?

O que são unidades de processamento tensor (TPU)?

As unidades de processamento tensor são do Google ASIC para aprendizado de máquina. As TPUs são usadas especificamente para aprendizado profundo para resolver operações complexas de matrizes e vetoriais. As TPUs são otimizadas para resolver operações de matriz e vetor em velocidades ultra-altas, mas devem ser emparelhadas com uma CPU para fornecer e executar instruções. As TPUs só podem ser usadas com o Google

instagram viewer
Plataforma TensorFlow ou TensorFlow Lite, seja por meio de computação em nuvem ou sua versão lite em hardware local.

Aplicações para TPUs

Crédito da imagem: Elemento5 Digital/ Abrir 

O Google usa TPUs desde 2015. Eles também confirmaram o uso desses novos processadores para processamento de texto do Google Street View, Google Fotos e resultados de pesquisa do Google (Rank Brain), como bem como criar uma IA conhecida como AlphaGo, que derrotou os melhores jogadores de Go e o sistema AlphaZero que venceu os principais programas de xadrez, Go e Shogi.

As TPUs podem ser usadas em várias aplicações de aprendizado profundo, como detecção de fraudes, visão computacional, linguagem natural processamento, carros autônomos, IA vocal, agricultura, assistentes virtuais, negociação de ações, comércio eletrônico e vários previsões.

Quando usar TPUs

Como as TPUs são hardware altamente especializado para aprendizado profundo, elas perdem muitas outras funções que você normalmente esperaria de um processador de uso geral, como uma CPU. Com isso em mente, existem cenários específicos em que o uso de TPUs produzirá o melhor resultado ao treinar IA.

O melhor momento para usar uma TPU é para operações em que os modelos dependem muito de cálculos de matriz, como sistemas de recomendação para mecanismos de pesquisa. As TPUs também geram ótimos resultados para modelos em que a IA analisa grandes quantidades de pontos de dados que levarão várias semanas ou meses para serem concluídos. Os engenheiros de IA usam TPUs para instâncias sem modelos personalizados do TensorFlow e precisam começar do zero.

Quando não usar TPUs

Conforme declarado anteriormente, a otimização de TPUs faz com que esses tipos de processadores funcionem apenas em operações de carga de trabalho específicas. Portanto, há casos em que optar por usar uma CPU e GPU tradicional produzirá resultados mais rápidos. Essas instâncias incluem:

  • Prototipagem rápida com máxima flexibilidade
  • Modelos limitados pelos pontos de dados disponíveis
  • Modelos simples e que podem ser treinados rapidamente
  • Modelos muito onerosos para mudar
  • Modelos dependentes de operações personalizadas do TensorFlow escritas em C++

Versões e especificações de TPU

Crédito da imagem:Zinskauf/ Wikimedia Commons

Desde que o Google anunciou seus TPUs, o público foi atualizado continuamente sobre as versões mais recentes dos TPUs e suas especificações. A seguir está uma lista de todas as versões de TPU com especificações:

TPUv1 TPUv2 TPUv3 TPUv4 Edgev1
Data de introdução 2016 2017 2018 2021 2018
Nó de processo (nm) 28 16 16 7
Tamanho da matriz (mm²) 331 <625 <700 <400
Memória no chip 28 32 32 144
Velocidade do Relógio (MHz) 700 700 940 1050
Configuração de Memória Menor (GB) 8 DDR3 16 HBM 32 HBM 32 HBM
TDP (Watts) 75 280 450 175 2
TOPS (operações Tera por segundo) 23 45 90 ? 4
TOPS/W 0.3 0.16 0.2 ? 2

Como você pode ver, as velocidades de clock do TPU não parecem tão impressionantes, especialmente quando os computadores desktop modernos de hoje podem ter velocidades de clock de 3 a 5 vezes mais rápidas. Mas se você observar as duas linhas inferiores da tabela, poderá ver que as TPUs podem processar 23 a 90 tera-operações por segundo usando apenas 0,16 a 0,3 watts de potência. Estima-se que as TPUs sejam 15 a 30 vezes mais rápidas do que CPUs e GPUs modernas ao usar uma interface de rede neural.

A cada versão lançada, as TPUs mais recentes apresentam melhorias e recursos significativos. Aqui estão alguns destaques para cada versão.

  • TPUv1: O primeiro TPU anunciado publicamente. Projetado como um mecanismo de multiplicação de matriz de 8 bits e está limitado a resolver apenas números inteiros.
  • TPUv2: Desde que os engenheiros notaram que o TPUv1 era limitado em largura de banda. Esta versão agora tem o dobro da largura de banda de memória com 16 GB de RAM. Esta versão agora pode resolver pontos flutuantes, tornando-a útil para treinamento e inferência.
  • TPUv3: lançado em 2018, o TPUv3 tem o dobro de processadores e é implantado com quatro vezes mais chips que o TPUv2. As atualizações permitem que esta versão tenha oito vezes o desempenho em relação às versões anteriores.
  • TPUv4: Esta é a versão mais recente do TPU anunciada em 18 de maio de 2021. O CEO do Google anunciou que esta versão teria mais que o dobro do desempenho do TPU v3.
  • TPU de borda: esta versão de TPU destina-se a operações menores otimizadas para usar menos energia do que outras versões de TPU na operação geral. Embora use apenas dois watts de potência, o Edge TPU pode resolver até quatro operações de terra por segundo. O Edge TPU é encontrado apenas em pequenos dispositivos portáteis, como o smartphone Pixel 4 do Google.

Como você acessa as TPUs? Quem pode usá-los?

As TPUs são unidades de processamento proprietárias projetadas pelo Google para serem usadas com sua plataforma TensorFlow. O acesso de terceiros a esses processadores é permitido desde 2018. Hoje, os TPUs (exceto Edge TPUs) só podem ser acessados ​​por meio do Google's serviços de computação através da nuvem. Enquanto o hardware Edge TPU pode ser comprado através do smartphone Pixel 4 do Google e seu kit de prototipagem conhecido como Coral.

Coral é um acelerador USB que usa USB 3.0 Tipo C para dados e energia. Ele fornece ao seu dispositivo computação Edge TPU capaz de 4 TOPS para cada 2W de potência. Este kit pode ser executado em máquinas com Windows 10, macOS e Debian Linux (também pode funcionar com Raspberry Pi).

Outros aceleradores de IA especializados

Com a inteligência artificial sendo a última moda na última década, a Big Tech está constantemente procurando maneiras de tornar o aprendizado de máquina o mais rápido e eficiente possível. Embora os TPUs do Google sejam indiscutivelmente os ASICs mais populares desenvolvidos para aprendizado profundo, outras empresas de tecnologia como Intel, Microsoft, Alibaba e Qualcomm também desenvolveram seus próprios aceleradores de IA. Estes incluem o Microsoft Brainwave, Intel Neural Compute Stick e a IPU (Unidade de Processamento de Inteligência) da Graphicore.

Mas enquanto mais hardware de IA está sendo desenvolvido, infelizmente, a maioria ainda não está disponível no mercado, e muitos nunca estarão. Até o momento, se você realmente deseja comprar hardware de acelerador de IA, as opções mais populares são comprar um kit de prototipagem Coral, um Intel NCS, um Graphicore Bow Pod ou um Asus IoT AI Accelerator. Se você deseja apenas acesso a hardware de IA especializado, pode usar os serviços de computação em nuvem do Google ou outras alternativas, como o Microsoft Brainwave.