Tudo sobre o 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?

10 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ł 🙂

    • Adam em Setembro 6, 2023 às 8:03 am

      Dzięki!

    • Rodrigo em Setembro 13, 2024 às 10:17 am

      hola, tens ideia se esta placa USB serve para acelerar um PC que tenha instalado algum GenAI como ollama ? com algum modelo libre como llama 3.1 ou Gemma? usando ollama ? gracias

  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.

  6. Alexandr em Junho 21, 2024 às 5:41 pm

    Посмотрите опенсорсный fragata NVR, особенно последнюю beta3

Deixe um comentário