Podemos ler na página da Wikipedia que o Google construiu um chip ASIC personalizado para aprendizado de máquina e personalizado para o TensorFlow, que ajuda a acelerar a IA.
Como os chips ASIC são especialmente personalizados para um uso específico, sem a capacidade de alterar seu circuito, deve haver algum algoritmo fixo que é invocado.
Então, como exatamente a aceleração da IA usando chips ASIC funciona se seu algoritmo não pode ser alterado? Qual parte está exatamente acelerando?
Respostas:
Operações tensoriais
O principal trabalho na maioria das aplicações de ML é simplesmente um conjunto de operações de tensores (muito grandes), por exemplo, multiplicação de matrizes. Você pode fazer isso facilmente em um ASIC, e todos os outros algoritmos podem ser executados em cima disso.
fonte
Eu acho que o algoritmo mudou minimamente, mas o hardware necessário foi cortado até os ossos.
O número de transições de porta é reduzido (talvez operações flutuantes e precisão também), assim como o número de operações de movimentação de dados, economizando energia e tempo de execução. O Google sugere que o TPU alcança uma economia de 10 vezes os custos para realizar o mesmo trabalho.
https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
fonte
ASIC - significa IC específico da aplicação. Basicamente, você escreve programas para projetar um chip em HDL . Analisarei como os computadores modernos funcionam para explicar meu argumento:
n
Número de núcleos? Sem problemas. Deseja definir o fluxo de dados de diferentes unidades de processamento para diferentes locais? Você consegue. Além disso, com um planejamento cuidadoso, você pode obter uma troca entre a área ASIC x potência x velocidade. O único problema é que, para tudo isso, você precisa criar seus próprios padrões. Geralmente, alguns padrões bem definidos são seguidos no design de processadores, como número de pinos e sua funcionalidade, padrão IEEE 754 para representação de ponto flutuante, etc., que surgiram após várias tentativas e erros. Portanto, se você conseguir superar tudo isso, poderá criar facilmente seu próprio ASIC.Eu não sei o que o Google está fazendo com seus TPU's, mas aparentemente eles criaram algum tipo de padrão Integer e FP para seus núcleos de 8 bits, dependendo dos requisitos em questão. Eles provavelmente estão implementando o ASIC por questões de potência, área e velocidade.
fonte
A baixa precisão permite o cálculo de alto paralelismo nas camadas Convo e FC. Arquitetura fixa de CPU e GPU, mas o ASIC / FPGA pode ser projetado com base na arquitetura de rede neural
fonte