IA na borda não significa mais IA emburrada

Nó Fonte: 1579936

Um aspecto do conhecimento adquirido sobre IA é que toda a inovação começa nos grandes mecanismos de aprendizado/treinamento de máquina na nuvem. Parte dessa inovação poderá eventualmente migrar de forma reduzida/limitada para o limite. Em parte, isso refletia a novidade do campo. Talvez também refletisse em parte a necessidade de soluções pré-embaladas que sirvam para muitos widgets de IoT. Onde os designers queriam inteligência em seus produtos, mas não estavam prontos para se tornarem especialistas em design de ML. Mas agora esses designers estão se atualizando. Eles leem os mesmos comunicados de imprensa e pesquisas que todos nós fazemos, assim como seus concorrentes. Querem tirar partido dos mesmos avanços, ao mesmo tempo que se limitam às restrições de energia e de custos.

IA na borda não significa mais IA emburrada

Reconhecimento facial

Diferenciação de IA no limite

É tudo uma questão de diferenciação dentro de um envelope custo/potência aceitável. Isso é difícil de conseguir com soluções pré-embaladas. Afinal, os concorrentes têm acesso às mesmas soluções. O que você realmente deseja é um conjunto de opções de algoritmos modelados no processador como aceleradores dedicados prontos para serem utilizados, com capacidade de agregar valor baseado em seu próprio software. Você pode pensar que não há muito o que fazer aqui, além de alguns administradores e ajustes. Os tempos mudaram. A CEVA lançou recentemente seu processador de IA integrado NeuPro-M, que permite a otimização usando alguns dos mais recentes avanços de ML, profundamente no design de algoritmos.

OK, então mais controle do algoritmo, mas para quê? Você deseja otimizar o desempenho por watt, mas a métrica padrão – TOPS/W – é muito grosseira. As aplicações de imagem devem ser medidas em termos de quadros por segundo (fps) por watt. Para aplicações de segurança, para segurança automotiva ou para evitar colisões de drones, os tempos de reconhecimento por quadro são muito mais relevantes do que as operações brutas por segundo. Portanto, uma plataforma como o NeuPro-M, que pode fornecer até milhares de fps/W, em princípio, lidará com taxas de fps realistas de 30-60 quadros por segundo com potência muito baixa. Isso é um verdadeiro avanço em relação às soluções tradicionais de IA pré-embaladas.

Tornando isso possível

Os algoritmos finais são construídos selecionando os recursos sobre os quais você leu, começando com uma ampla gama de opções de quantização. O mesmo se aplica à diversidade de tipos de dados na ativação e nos pesos em uma variedade de tamanhos de bits. A unidade multiplicadora neural (NMU) suporta de forma ideal múltiplas opções de largura de bits para ativação e pesos como 8×2 ou 16×4 e também suporta variantes como 8×10.

O processador suporta Winograd Transforms ou convoluções eficientes, proporcionando ganho de desempenho de até 2X e redução de energia com degradação de precisão limitada. Adicione o mecanismo de dispersão ao modelo para aceleração de até 4X, dependendo da quantidade de valores zero (em dados ou pesos). Aqui, a Unidade Multiplicadora Neural também suporta uma variedade de tipos de dados, fixos de 2×2 a 16×16, e ponto flutuante (e Bfloat) de 16×16 a 32×32.

A lógica de streaming oferece opções para escalabilidade, ativação e pooling de pontos fixos. O processador vetorial permite adicionar suas próprias camadas personalizadas ao modelo. “E daí, todo mundo apoia isso”, você pode pensar, mas veja abaixo o rendimento. Há também um conjunto de recursos de IA de próxima geração, incluindo transformadores de visão, convolução 3D, suporte RNN e decomposição de matriz.

Muitas opções de algoritmos, todas suportadas por uma otimização de rede para sua solução incorporada por meio da estrutura CDNN para explorar totalmente o poder de seus algoritmos de ML. CDNN é uma combinação de um compilador de gráfico de inferência de rede e uma ferramenta complementar PyTorch dedicada. Esta ferramenta irá remover o modelo, opcionalmente oferece suporte à compactação do modelo por meio da decomposição de matriz e adiciona novo treinamento com reconhecimento de quantização.

Otimização de rendimento

Na maioria dos sistemas de IA, algumas dessas funções podem ser tratadas em mecanismos especializados, exigindo que os dados sejam descarregados e que a transformação seja carregada de volta quando concluída. Isso representa muita latência adicional (e talvez comprometimento de energia), prejudicando completamente o desempenho do seu modelo, que de outra forma seria forte. NeuPro-M elimina esse problema conectando todos os esses aceleradores diretamente para um cache L1 compartilhado. Sustentando uma largura de banda muito maior do que a encontrada em aceleradores convencionais.

Como exemplo notável, a unidade de processamento vetorial, normalmente usada para definir camadas personalizadas, fica no mesmo nível dos outros aceleradores. Seus algoritmos implementados na VPU se beneficiam da mesma aceleração que o restante do modelo. Novamente, não é necessário descarregar e recarregar para acelerar camadas personalizadas. Além disso, você pode ter até 8 desses mecanismos NPM (todos os aceleradores, mais o cache NPM L1). O NeuPro-M também oferece um nível significativo de otimização de largura de banda controlada por software entre o cache L2 e os caches L1, otimizando o manuseio de quadros e minimizando a necessidade de acessos DDR.

Naturalmente, o NeuPro-M também minimizará o tráfego de dados e peso. Para dados, os aceleradores compartilham o mesmo cache L1. Um processador host pode comunicar dados diretamente com o NeuPro-M L2, reduzindo novamente a necessidade de transferências DDR. NeuPro-M compacta e descompacta pesos no chip em transferência com memória DDR. Ele pode fazer o mesmo com ativações.

A prova da aceleração fps/W

A CEVA executou benchmarks padrão usando uma combinação de algoritmos modelados nos aceleradores, desde nativo até Winograd, até Winograd+Sparsity, até Winograd+Sparsity+4×4. Ambos os benchmarks mostraram melhorias de desempenho de até 3X, com potência (fps/W) em cerca de 5X para um ISP NN. A solução NeuPro-M proporcionou uma área menor, um desempenho 4X, 1/3 da potência, em comparação com a geração anterior NeuPro-S.

Há uma tendência que estou vendo de forma mais geral de obter o máximo em desempenho combinando vários algoritmos. É isso que a CEVA tornou possível agora com esta plataforma. Você pode ler mais AQUI.

Compartilhe esta postagem via: Fonte: https://semiwiki.com/artificial-intelligence/306655-ai-at-the-edge-no-longer-means-dumbed-down-ai/

Carimbo de hora:

Mais de Semiwiki