Tudo sobre o Acelerador USB Google Coral

Imagem de título do acelerador USB Google Coral

Num dos nossos vídeos do YouTube sobre inteligência artificial, um comentador escreveu que não estava muito interessado numa caixa misteriosa de IA. Isso inspirou-me a escrever um artigo para desvendar o mistério. Por isso, aqui está tudo o que precisa de saber sobre o acelerador USB Google Coral.

O acelerador Coral USB foi concebido principalmente para aplicações de IA de baixo consumo e de ponta.

É adequado para tarefas como análise de imagem e vídeo, deteção de objectos e reconhecimento de voz em dispositivos como o Raspberry Pi ou computadores portáteis.

Visão geral

Em suma, o Google Coral USB Accelerator é um processador que utiliza uma Unidade de Processamento Tensorial (TPU), que é um circuito integrado que é realmente bom a fazer multiplicação e adição de matrizes.

A multiplicação de matrizes é o material necessário para construir redes neuronais.

E, definitivamente, não irá muito longe se tentar construir redes neuronais apenas com o seu Raspberry Pi.

Como tal, o acelerador adiciona outro processador que é dedicado especificamente a fazer a álgebra linear necessária para a aprendizagem automática.

Como provavelmente sabe, a ideia subjacente à aprendizagem automática consiste em desenvolver modelos que analisam e aprendem padrões a partir de um conjunto de dados. Este conjunto de dados tem vários inputs e outputs correspondentes. Depois de treinados, estes modelos podem receber novos dados, sintetizar os padrões aprendidos e gerar resultados ou previsões adequadas.

Acelerador USB Google Coral

As TPUs funcionam muito mais rapidamente e com muito menos energia do que as CPUs para a aprendizagem automática, porque não executam outros programas e não precisam de aceder à memória partilhada.

A TPU no Acelerador Coral USB utiliza o TensorFlow Lite, que é uma versão modificada para dispositivos mais pequenos.

Utilizar o acelerador USB Coral

O que é especialmente fantástico é o facto de tornar acessível o desenvolvimento da IA.

Começar é muito fácil.

Na verdade, tudo o que precisas é de um Google Coral USB Accelerator (obviamente) e um computador com uma porta USB livre e Python 3.5 ou superior.

E vale a pena mencionar que funciona com Mac, Windows e Linux (especificamente, sistemas operativos baseados em Debian, como o Ubuntu ou o Raspberry Pi OS). Por isso, de certeza que vai conseguir pô-lo a funcionar.

Quando o configurar, tem de decidir se quer que funcione com a frequência de relógio máxima ou com a frequência de relógio reduzida. Obviamente, a frequência de relógio máxima é mais potente, mas também vai consumir mais energia. E pode ficar incrivelmente quente.

A parte de trás do Google Coral

Executar um modelo de reconhecimento de imagem

No Sítio Web do Google CoralNo site da Coral, eles oferecem um teste maravilhoso para mostrar como o acelerador Coral USB funciona. No seu exemplo, é capaz de reconhecer diferentes aves com uma precisão notável.

Então aqui está como executar o modelo de reconhecimento de imagem no seu Raspberry Pi. Isto funcionará perfeitamente bem com a frequência de relógio reduzida.

Não carregue já no acelerador.

Em primeiro lugar, é necessário ir ao terminal e digitar o seguinte código para adicionar o repositório Edge TPU:

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-get update

Em seguida, instale o tempo de execução:

sudo apt-get install libedgetpu1-std

Agora podes ligar o acelerador para que tudo esteja sincronizado. Depois de o ter ligado, precisa de instalar o PyCoral:

sudo apt-get install python3-pycoral

E agora pode pôr o modelo a funcionar. Primeiro, descarrega-se o código:

mkdir coral && cd coral

git clone https://github.com/google-coral/pycoral.git

cd pycoral

Em seguida, execute o seguinte:

bash examples/install_requirements.sh classify_image.py

E, finalmente, executa-se o modelo:

python3 examples/classify_image.py \
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--labels test_data/inat_bird_labels.txt \
--input test_data/parrot.jpg

O resultado é mais ou menos assim:

Saída do papagaio

Pode ver que a entrada era "parrot.jpg" e o modelo leu-a corretamente como uma arara-vermelha, com 0,75 de confiança na precisão.

Encontrei uma fotografia de um cardeal do Norte e analisei-a através do modelo e eis o resultado.

Saída do cardeal do Norte

Como pode ver, deu uma leitura super precisa com 0,91 de confiança.

Então, quis ver o que aconteceria se lhe desse uma fotografia de um gato.

Saída Cat

Embora eu compreenda perfeitamente porque é que ele pensou que o gato era uma coruja de chifres grandes, fiquei surpreendido com o seu nível de confiança.

Tentei que reconhecesse fotografias de pessoas e determinasse de que aves se tratava, mas infelizmente não colaborou.

Mas sinta-se à vontade para experimentar e ver o que consegue tirar daí. Comente abaixo os resultados!

Conclusão

Aqui está. Embora o seu exterior ultra-elegante possa dar uma certa sensação de misticismo, o Google Coral USB Accelerator não é uma caixa misteriosa.

É um processador potente que pode levar a IA aos dispositivos periféricos.

Portanto, quer se dedique à IoT, à robótica ou tenha uma ideia para integrar a IA nos dispositivos do dia a dia, o acelerador Coral USB é o seu bilhete de entrada. Embora eu tenha dado o exemplo de um modelo de reconhecimento de imagem, o acelerador pode ir muito mais longe - reconhecimento de vídeo, deteção de objectos, aprendizagem por transferência no dispositivo, etc.

Também temos um AIY Maker Kit que torna tudo isto possível - veja este vídeo:

Se estiver interessado em IA, pode consultar a nossa Introdução à Inteligência Artificial.

E se estiver interessado em criar alguns projectos de IA, pode consultar alguns projectos que utilizam a IA em a nossa série de Projectos Paragon.

O que está a planear fazer com o acelerador?

8 comentários

  1. adam m em Setembro 6, 2023 às 6:17 am

    lubie jak w artykule są przykłady z życia wzięte. dobry fachowy artykuł 🙂

  2. David Thomas em Setembro 6, 2023 às 4:17 pm

    "O comentador escreveu que não estava assim tão interessado numa caixa de IA misteriosa" - suponho que o comentador expressou quaisquer razões específicas.

    As razões mais preocupantes são a falta de proveniência dos resultados do ML e a incapacidade de os fornecer para possíveis regulamentos.

    O local onde se executa um ML não fornece nada para este efeito.

  3. David Thomas em Setembro 6, 2023 às 4:19 pm

    correção:
    "O autor do comentário escreveu que não estava muito interessado numa caixa de IA misteriosa" - suponho que o autor do comentário não expressou quaisquer razões específicas.

    As razões mais preocupantes são a falta de proveniência dos resultados do ML e a incapacidade de os fornecer para possíveis regulamentos.

    O local onde se executa um ML não fornece nada para este efeito.

    • Adam em Setembro 12, 2023 às 11:25 am

      Ponto de vista interessante, David.

  4. Nick em Setembro 8, 2023 às 12:19 pm

    а что быстреее: GPU ou TPU???

    • Adam em Setembro 8, 2023 às 3:40 pm

      Для искусственного интеллекта, TPU. Безусловно, быстрее.

  5. Nerds 2 You em Abril 23, 2024 às 12:46 am

    Seria ótimo se não se desligasse ao fim de uma hora e fosse necessário reiniciar ou desligar e ligar a ficha para voltar a funcionar.

Deixe um comentário