Ferramentas Lattice sensAI 4.1 e IP transformam FPGA em um motor de computação AI / ML inteligente no limite da rede

Atualização: 12 de dezembro de 2023
introdução

Sem dúvida, você já leu ou ouviu falar sobre isso, pois à medida que o número de dispositivos de extremidade da rede proliferou, uma grande quantidade de fluxo de dados aumentou continuamente. Esses dispositivos incluem carros que dirigem sozinhos, dispositivos da Internet das Coisas, produtos eletrônicos de consumo e até mesmo laptops e computadores pessoais. De acordo com várias estimativas, em 2025, haverá dezenas de bilhões de dispositivos IoT em operação. Esses dispositivos enviam várias formas de dados para a nuvem na forma de fluxos de dados contínuos e as taxas de dados variam amplamente. Em geral, esses dispositivos irão gerar uma grande quantidade de dados brutos e a quantidade de dados continuará a aumentar com o tempo.

Os gravadores de vídeo em câmeras de segurança, carros autônomos e PCs geram streams de vídeo de alta velocidade e resolução. Os dispositivos IoT geram dados de taxa de bits média e os agregam em fluxos de big data. Muitos outros tipos de sensores IoT (medem temperatura, pressão, localização, nível de luz, etc.) irão gerar fluxos de dados de baixa taxa de bits, mas logo o número de tais sensores alcançará bilhões. Portanto, mesmo esses fluxos de dados de baixa taxa de bits podem ser agregados em fluxos de dados maiores e de alta taxa de bits antes de entrar na nuvem.

O surgimento de redes sem fio 5G e outras tecnologias de rede de alta velocidade, incluindo picocélulas, redes IoT de longa distância (como LoRaWAN) e redes de rede global por satélite (como a expansão da rede de banda larga Starlink da SpaceX e Internet IoT baseada em satélite da Swarm Technologies ), que fornece acesso amplo e rápido à nuvem (Observação: a Starlink adquiriu a Swarm Technologies em agosto de 2021). Essas tecnologias de comunicação e rede aceleram a borda de rede emergente
. Os aplicativos em tempo real na extremidade da rede geralmente não toleram alta latência, portanto, o processamento, a análise e a tomada de decisões devem ser transferidos para o próprio dispositivo. Esses dispositivos de extremidade de rede incluem veículos autônomos, sensores IoT, câmeras de segurança, smartphones, laptops e computadores pessoais. Portanto, o potencial da computação de ponta de rede é enorme.

Sob o peso dos dados, a nuvem não pode fazer tudo

O crescimento exponencial de smartphones e dispositivos IoT tem promovido o desenvolvimento de computação de ponta na rede. Esses dispositivos são onipresentes e devem estar conectados à Internet para enviar ou receber informações de e para a nuvem. Alguns dispositivos IoT (como câmeras) geram grandes quantidades de dados durante a operação.

Outros dispositivos IoT, como sensores de temperatura, geram uma pequena quantidade de dados, mas como o número de tais sensores pode chegar a bilhões, isso traz uma grande carga para o processamento da nuvem. Portanto, o processamento baseado na borda da rede é muito necessário, não só para reduzir o custo de comunicação da rede e armazenamento em nuvem na nuvem, mas também para evitar a sobrecarga do canal de dados da nuvem.

Os desenvolvedores de produtos e aplicativos de borda de rede estão adotando cada vez mais algoritmos de inteligência artificial e aprendizado de máquina (AI/ML) para combinar e reconhecer padrões complexos para ajudar a analisar dados e tomar decisões com base neles. Na verdade, o uso de IA/ML tecnologia cresceu extremamente rapidamente.

Hoje em dia, os algoritmos de AI / ML são considerados meios necessários para processar dados brutos de forma eficiente, porque podem identificar padrões de dados complexos e multidimensionais que são difíceis de analisar e reconhecer por programas de algoritmos tradicionais. Algumas aplicações específicas de AI / ML incluem detecção, reconhecimento, identificação e contagem de pessoas ou objetos; rastreamento de ativos e inventário, percepção ambiental, detecção e reconhecimento de som e voz, monitoramento da integridade do sistema e programação de manutenção do sistema. O desenvolvimento de dispositivos e aplicativos de computação.

Dispositivos e aplicativos de ponta de rede emergentes incluem veículos autônomos, robôs, produção automatizada, monitoramento remoto, cadeia de suprimentos e sistemas de logística e vigilância por vídeo para garantir a segurança pública e privada. A demanda do mercado por esses sistemas de ponta de rede está crescendo rapidamente porque eles podem aumentar a eficiência, reduzir custos operacionais e melhorar a experiência do usuário. Mas não importa quanta infraestrutura de comunicação sem fio e com fio construamos, a turbulência do excesso de dados pode sobrecarregar ou bloquear esses pipelines de dados para a nuvem.

O processamento localizado na extremidade da rede ajuda a desbloquear o pipeline de dados

Essas tendências indicam que agora é necessário fazer mais processamento onde os dados são gerados na borda da rede e reduzir a quantidade de dados transmitidos para a nuvem. O crescimento explosivo da Internet das Coisas e de outros dispositivos conectados em rede é a principal força motriz para o desenvolvimento de novos dispositivos de ponta de rede, o que estimula ainda mais o desenvolvimento de novos aplicativos, transformando, assim, dados brutos em informações úteis e acionáveis ​​para apoiar decisões rápidas -fazer, responder às mudanças de situações em tempo real.

Nos estágios iniciais do desenvolvimento da computação de ponta de rede, as empresas se concentraram no custo de transmissão de dados para centros de dados em longas distâncias. Inicialmente, uma característica importante dos aplicativos de borda de rede era a necessidade de acessar dados armazenados na nuvem e outros computadores conectados à nuvem. Esses primeiros aplicativos geralmente não são aplicativos em tempo real; tempos de resposta de centenas de milissegundos ou mesmo segundos são aceitáveis. No entanto, o desenvolvimento de dispositivos de Internet das Coisas e a crescente demanda por processamento, análise e resposta em tempo real na extremidade da rede promoveram o poderoso desenvolvimento da tecnologia de extremidade da rede, juntamente com maiores desafios de design.

O processamento de ponta da rede torna a computação e o armazenamento de dados cada vez mais próximos do dispositivo que coleta dados, em vez de analisar e tomar decisões em um data center a milhares de quilômetros de distância


Figura 1. Tendências em computação de ponta de rede (fonte da imagem: Lattice)

Muitos aplicativos de ponta de rede que podem tirar proveito dos recursos de AI / ML precisam operar sob restrições de consumo de energia extremamente rigorosas. Esses dispositivos amplamente distribuídos geralmente dependem da energia da bateria. Esses aplicativos são abundantes em vários ambientes de ponta de rede, incluindo fábricas, fazendas, prédios de escritórios, lojas de varejo, hospitais, depósitos, ruas e residências. À medida que seu número aumenta, esses dispositivos precisam operar por muito tempo, até meses ou anos, com uma única carga ou contando apenas com a captação e armazenamento de energia.

Portanto, muitos dispositivos precisam estar em estado de suspensão ou hibernação na maior parte do tempo, e a maioria dos circuitos deve estar em modo de espera de baixa energia quando o dispositivo está em um estado inativo. Então, o evento de ativação iniciará o dispositivo quando necessário. Neste tipo de aplicação, o básico o circuito sistema operando com consumo de energia ultrabaixo deve permanecer em espera, aguardando um evento de ativação e, em seguida, ligar o resto do dispositivo conforme necessário.

FPGA realiza AL / ML com baixo consumo de energia

Os requisitos para baixo consumo de energia operacional e implementação de algoritmo AI / ML parecem entrar em conflito com os requisitos para design de dispositivo de borda de rede de baixo consumo. No entanto, esses dois requisitos de design complexos não são contraditórios. O FPGA mais recente da Lattice - a série de dispositivos CertusPro-NX de baixo consumo de energia, tamanho pequeno e alto desempenho - é feito sob medida para atender aos muitos requisitos de design de dispositivos de borda de rede de baixo consumo de energia. Esses FPGAs podem suportar vários sensores, monitores, vídeo de alta resolução, conectividade de rede e processamento AI / ML na extremidade da rede.

Ao mesmo tempo, a versão 4.1 recém-lançada da Lattice da coleção de soluções sensAI fornece ferramentas AI / ML prontas para uso, núcleos IP, plataformas de hardware, projetos de referência e demonstrações e serviços de design personalizados para ajudar as equipes de design a desenvolver novos equipamentos de ponta de rede e trazê-lo rapidamente para o mercado. A última versão do sensAI é compatível com CertusPro-NX FPGA.

A coleção de soluções Lattice sensAI acelera o treinamento, verificação e compilação de modelos de AI / ML de ponta a ponta. A Lattice adicionou o ambiente de design sensAI Studio ao sensAI 4.0 lançado no início de 2021, que é uma ferramenta baseada em interface gráfica de usuário (GUI) que ajuda os desenvolvedores a construir rapidamente aplicativos de aprendizado de máquina. Ao usar as ferramentas do Lattice sensAI 4.1 para configurar o projeto de computação de ponta da rede e usar o Lattice iCE40 UltraPlus, CrossLink-NX, ECP5 e CertusPro-NX FPGA, as funções AI / ML em tempo real podem ser realizadas com consumo de energia ultrabaixo ――O consumo de energia é tão baixo quanto 1mW a 1W.


Figura 2. O ambiente de design sensAI Studio da Lattice acelera o treinamento, a verificação e a compilação de modelos de IA/ML de ponta a ponta. (Fonte da imagem: Lattice)

Com o sensAI 4.1 suportando os produtos da série Lattice CertusPro-NX FPGA, o desempenho do sensAI também foi bastante aprimorado. Além dos aplicativos existentes de detecção e rastreamento de objetos, aplicativos como classificação em tempo real de vários objetos também foram adicionados. O conjunto de soluções sensAI 4.1 inclui um compilador de rede neural atualizado e também é compatível com outras plataformas de aprendizado de máquina amplamente utilizadas, incluindo as versões mais recentes do Caffe, Keras, TensorFlow e TensorFlow Lite.

Os núcleos IP no conjunto de soluções Lattice sensAI 4.1 incluem três tipos de aceleradores de rede neural convolucional (CNN) - CNN, CNN Plus e CNN Compact - e um mecanismo de coprocessador CNN. O núcleo CNN IP permite que os desenvolvedores usem várias CNNs amplamente utilizadas lançadas por outros, como Mobilenet v1/v2, Resent, SSD e VGG, ou personalizem o modelo CNN conforme necessário. O acelerador sensAI 4.1 CNN utiliza os recursos de processamento paralelo, memória distribuída e recursos DSP dos FPGAs Lattice para simplificar bastante a implementação de projetos de IA de energia ultrabaixa. O núcleo do acelerador usa lógica programável FPGA para implementar redes neurais de baixa potência, incluindo redes neurais binárias extremamente eficientes (BNN), que podem implementar CNN com consumo de energia ultrabaixo na faixa de miliwatts.


Figura 3. A coleção de soluções Lattice sensAI pode desenvolver dispositivos AI/ML baseados em Lattice FPGA. (Fonte da imagem: Lattice)

Design de referência do SensAI 4.1 da rede

Lattice FPGAs fornecem E / S programáveis, que podem ser configuradas para suportar uma variedade de padrões de interface elétrica comumente usados ​​em sensor interfaces. A empresa também fornece muitos módulos IP hard-core e soft-core para suportar diferentes protocolos de comunicação de sensores. Como os FPGAs há muito têm vantagens significativas na fusão de sensores, o design do Lattice sensAI 4.1 visa simplificar o desenvolvimento de funções de inferência de IA/ML com base em vários sensores em dispositivos de borda de rede e realizar a fusão inteligente de sensores. A coleção de soluções sensAI 4.1 inclui muitos exemplos de design de referência, demonstrando uma variedade de casos de aplicação de fusão de sensores inteligentes, que podem ser executados ao mesmo tempo para obter uma consciência situacional aprofundada. Esses projetos de referência incluem:

• Detecção de gestos

Este design de referência usa um sensor de imagem IR para implementar um sistema de detecção de gesto de baixa potência baseado em IA. O design de referência fornece um conjunto de dados de treinamento, scripts que podem ser treinados com ferramentas de treinamento de rede neural comumente usadas e um modelo de rede neural para os usuários modificarem.

• detecção de palavras-chave

Este design de referência usa um microfone MEMS digital para detectar continuamente expressões de palavras-chave. Os designers podem usar estruturas de aprendizado profundo (como Caffe, Tensorflow ou Keras) para atualizar o conjunto de dados de treinamento fornecido para adicionar funções de wake word ao sistema. O design de referência inclui um conjunto de dados de treinamento, scripts que podem ser treinados usando ferramentas de treinamento de rede neural comumente usadas e um modelo de rede neural para os usuários modificarem.

•Detecção de rosto

Este design de referência usa sensores de imagem para implementar o reconhecimento facial baseado em CNN e pode modificar o banco de dados de treinamento para reconhecer outros tipos de alvos.

• Detecção de pessoal

Este design de referência usa sensores de imagem CMOS para detectar continuamente a presença de pessoas. O sistema de IA baseado neste projeto pode usar uma estrutura de aprendizado profundo (como Caffe ou Tensorflow) para atualizar o modelo de treinamento fornecido para detectar e localizar qualquer alvo de interesse. O design de referência inclui um modelo de rede neural, um conjunto de dados de treinamento e scripts que podem ser treinados usando ferramentas de treinamento comuns.

• Detecção, classificação, rastreamento e contagem de alvos

Este design de referência fornece exemplos de detecção, classificação, rastreamento e contagem de alvos. Ele tem um design completo, incluindo FPGA RTL para placas de desenvolvimento Lattice, modelos de rede neural, conjuntos de dados de treinamento de exemplo e recriação e atualização do script de design.

Aplicações de ponta de rede comuns e potenciais onde a IA pode ser usada

Usar algoritmos de AI / ML para melhorar o desempenho de muitos dispositivos de extremidade de rede (como robôs autônomos, controle ambiental e câmeras de segurança de vídeo) tem vantagens óbvias, enquanto outros tipos de dispositivos de extremidade de rede também podem se beneficiar disso, como PCs e laptops . A Lattice está trabalhando com parceiros e clientes para usar fusão de sensores inteligentes e multimodo e tecnologia AI / ML para melhorar continuamente a experiência dos usuários de PC / laptop e reduzir significativamente o consumo de energia operacional dos laptops. Em algumas aplicações, a vida útil da bateria aumentou em até 28%.

Quais recursos de equipamento têm valor potencial?

O uso de PCs e laptops em 24 horas é muito diferente e geralmente são usados ​​intensamente durante o horário de trabalho durante o dia. No entanto, mesmo durante o horário de trabalho, eles terão um estado de descanso. As pessoas fazem intervalos ocasionais e fazem refeições ao meio-dia. Durante esses períodos, eles geralmente mantêm o computador funcionando para garantir que os vários aplicativos que abrem não sejam fechados.

Combine a análise de AI / ML e a tomada de decisões com os sensores existentes do computador (câmeras e microfones) para obter a fusão de sensores inteligentes, permitindo que PCs ou laptops percebam o ambiente ao redor para decidir quando desligar a tela e a CPU e quando dar a eles re-alimentado.

O uso mais simples da detecção de presença é desligar o computador quando não há ninguém por perto. Quando o usuário está longe do Peneira por um longo tempo, a função de rastreamento de atenção pode escurecer a tela do computador e ativar o modo de baixo consumo de energia. O FPGA de baixo consumo e pequeno porte que atua como o centro do sensor inteligente pode receber dados de sensores de computador e, em seguida, decidir quais componentes fornecer energia de acordo com a situação.

Resolva problemas de privacidade e segurança

Da mesma forma, essas funções também podem aumentar a privacidade e a segurança do computador. A câmera de conferência embutida do computador pode ser usada para monitorar o plano de fundo atrás do usuário e detectar se alguém está espiando por trás do ombro do usuário. Se o computador estiver configurado para proteger a privacidade, quando alguém atrás de um usuário autorizado for suspeito de espiar na tela do computador, pode aparecer um aviso para lembrar o usuário e até mesmo escurecer a tela automaticamente. Deve-se observar que, com essas soluções, todos os dados de inferência são armazenados localmente no FPGA. Apenas os metadados são passados ​​para o SoC, o que aumenta ainda mais a privacidade e melhora a segurança.

Otimize a experiência do usuário

As funções de AI / ML também podem aprimorar a experiência geral dos usuários de computador. Por exemplo, a função de visor facial baseado em AI / ML pode usar a resolução mais alta da câmera de videoconferência integrada para cortar e centralizar o avatar do usuário, fornecendo uma imagem melhor para a videoconferência. Os participantes também podem se mover durante a reunião enquanto suas imagens permanecem centralizadas. Da mesma forma, o reconhecimento de gestos pode adicionar recursos de operação sem contato para laptops ou PCs ou qualquer outro dispositivo IoT habilitado para vídeo.

Benefícios para a saúde

Muitas empresas agora deixam claro que desejam proteger a saúde de seus funcionários. As funções de percepção baseadas em AI / ML podem ajudar a evitar lesões por estresse repetitivo por meio de lembretes pop-up e outras medidas, e usar sensores de vídeo de computador para garantir que os funcionários tenham realmente adotado as recomendações de descanso fornecidas.

Os aplicativos de AI / ML também podem ser usados ​​para detectar a postura do usuário, que pode ser outro fator que causa lesões por esforço repetitivo. Esses recursos que usam feedback de sensor ativo podem ser usados ​​para desenvolver aplicativos de saúde, o que é significativamente melhor do que os simples lembretes de cronometragem usados ​​atualmente em empresas, e podem lidar efetivamente com acidentes de trabalho relacionados ao estresse.

Todas essas funções implementadas por meio de AI / ML podem ajudar os fornecedores a criar PCs e laptops que sejam mais atraentes para os compradores corporativos, e todas essas funções podem ser alcançadas por meio da coleção de soluções sensAI 4.1 e recursos de FPGAs de baixa potência da Lattice.

O uso desse tipo de FPGA supera a função icônica do desenvolvimento de FPGA para uma conexão e fusão de sensores de longo tempo e, com base em algoritmos de AI/ML maduros, adiciona funções de análise de sinal de sensor e tomada de decisão. A adição de AI/ML torna o FPGA um controlador de sistema de baixo consumo de energia que pode gerenciar as funções do sistema, melhorar a experiência do usuário e prolongar bastante a vida útil da bateria, reduzindo o consumo geral de energia operacional do sistema.

Conclusão: um enorme mercado de bilhões de dispositivos de ponta de rede ainda está para ser desenvolvido

Com seus vários produtos da série FPGA de baixo consumo de energia e uma coleção de soluções sensAI 4.1 que suportam essas séries de produtos, a Lattice está comprometida em levar a tecnologia AI / ML para bilhões de dispositivos de ponta de rede. Portanto, os aplicativos de ponta de rede são um mercado-alvo com alto potencial.

De acordo com várias estimativas, dezenas de bilhões de dispositivos de ponta de rede são necessários em uma ampla área do mundo para atender às necessidades de um grande número de mercados de ponta de rede, o que é muito atraente para o negócio de FPGA - claro que esta escala é adequado para qualquer indústria desta forma. O lançamento do conjunto de soluções sensAI 4.1 da Lattice e sua série FPGA de baixo consumo e pequeno porte é direcionado diretamente para aplicações e mercados de ponta de rede. A coleção de soluções sensAI 4.1 da Lattice é uma ferramenta de desenvolvimento inovadora para aplicativos de ponta de rede, que permite aos desenvolvedores de sistemas desenvolver soluções de inferência AI / ML baseadas em FPGA para vários mercados.