Introdução ao Edge AI usando o processador GAP8

Manu Suryavansh Segue 14 de jul · 4 min ler

Muitas pessoas prevêem que o futuro da IA está nas aplicações de ponta e a maior parte do crescimento virá de aplicativos de ponta que envolvam sensores que capturem dados em tempo real e apliquem aprendizado de máquina. A quantidade de dados disponíveis na borda também é enorme. Outro motivo importante para aplicar AI no limite é a privacidade, porque para muitas aplicações especialmente nas áreas de saúde, segurança e afins, o processamento na borda é obrigatório! É por isso que várias empresas estão trabalhando em dispositivos que aceleram a inferência na borda. Continue lendo para saber como a nova placa PoC (prova de conceito) da GreenWaves Technologies pode adicionar inteligência ao seu aplicativo.

GAPPoc

A GreenWaves introduziu uma linha de placas baseadas no processador GAP8GAPPoc . As placas GAPPoc são específicas para aplicações comparadas com a finalidade geral, GAPuino compatível com Arduino. Toda placa da família GAPPoc conterá o módulo principal do GAPMod, que contém um processador GAP8 e memória. Os outros componentes da placa principal, como os sensores, etc., dependerão da aplicação.

Arquitetura GAPPoc e opções de implementação (?: GreenWaves )

A figura acima é o GAPPoc-A , focado principalmente em aplicações de visão computacional. Como mostrado, a placa possui um sensor de imagem On Semi MT9V034 com lente intercambiável, um módulo Bluetooth e conectores para outros módulos.

Processador GAP8

O chip GAP8 usa um processador baseado no ISA RISC-V de código fonte aberto. Ele também se baseia em componentes de código aberto do projeto ETH Zurich PULP (Plataforma de Processamento de Ultra-Baixo-Poder Paralelo) . PULP é uma plataforma de computação multi-core de código aberto desenvolvida pela ETH Zurich e pela Universidade de Bolonha. A arquitetura PULP usa o núcleo RI5CY ou o zero-riscy (Ibex) como o núcleo principal.

Arquitetura GAP8 (?: GreenWaves )

O GAP8 é um MCU de oito núcleos de uso geral voltado para a IoT e inclui algumas unidades MAC (multiplicação e acumulação) para acelerar a inferência de aprendizagem profunda. O processador GAP8 consome cerca de 70mW de energia quando rodando a cerca de 175 MHz.

GAP8 vs. Arm Cortex-M7 executando CNN (?: GreenWaves )

Programas

Para começar a usar as placas GAPPoC, o GAP8 SDK é necessário – a página do GitHub fornece as instruções de configuração do SDK. O GAP8 SDK inclui a ferramenta tf2gap8 para ajudar a gerar o código fonte GAP8 para aplicativos de visão computacional a partir do código TensorFlow. Atualmente, o SDK suporta apenas CNNs (redes neurais convolucionais) que são amplamente utilizadas em aplicativos de visão computacional.

TensorFlow para fluxo GAP8 (?: GreenWaves )

O SDK fornece exemplos de como usar o MNIST e o conjunto de dados CIFAR para treinar uma CNN a ser executada no processador GAP8.

Algumas aplicações

A GreenWaves compartilhou vários exemplos de aplicações nas quais placas GAPPoC podem ser usadas – detecção de rostos e detecção de pedestres , para citar apenas algumas.

Pipeline para detecção de pedestres usando o GAP8 (?: GreenWaves )

Concorrência

O SparkFun Edge – projetado pelo SparkFun em colaboração com o Google e o Ambic Micro para demonstrar o TensorFlow Lite executado em um processador Arm Cortex-M4F e permitir que outros desenvolvam aplicativos de aprendizado profundo usando esta placa. Aqui está um exemplo / codelab para começar que usa um modelo CNN para reconhecer certas palavras-chave como 'sim' e 'não'.

O SparkFun Edge é equipado com um Ambic Apollo 3 MCU – um núcleo Cortex-M4F operando normalmente a 48 MHz – mede ~ 1.6mA a 3V / 48MHz e pode funcionar com uma bateria CR2302 (225mAh) de célula tipo moeda por 10 dias

A placa Edge Sparkfun (?: SparkFun )

O processador GAP8 consiste em oito núcleos e é mais poderoso se comparado ao SparkFun Edge Apollo MCU, mas ambos ainda consomem miliwatts de energia para rodar redes neurais. Isso é muito menor em comparação com placas mais poderosas como o Coral Edge TPU ou o Nvidia Jetson Nano, que consomem watts de energia. Mas essas placas podem ser usadas juntas no cenário abaixo, onde o processador de energia milliwatts está sempre ligado, e monitorando os eventos de diferentes sensores e só acorda o processador mais potente quando mais processamento é necessário. Por exemplo, o processador de baixa potência detecta se há uma pessoa na imagem do sensor de imagem; no entanto, o processador mais poderoso executará o reconhecimento facial para identificar a pessoa.

A área do Edge AI é um espaço muito interessante e em rápido crescimento, e podemos esperar que muitos outros produtos sejam lançados em breve.