Etnaviv NPU ganha suporte ao modelo YOLOX e amplia aceleração de IA em código aberto

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

IA de código aberto no Linux!

O ecossistema de inteligência artificial de código aberto no Linux alcançou uma nova etapa de maturidade. O driver Etnaviv, projeto focado em suportar de forma livre o hardware da família Vivante, agora é capaz de executar o YOLOX, um modelo avançado de detecção de objetos.

O anúncio foi feito pelo desenvolvedor Tomeu Vizoso, marcando a vigésima segunda atualização do progresso do suporte aberto a essas unidades de processamento neural (NPUs). A implementação traz aceleração de IA de alto desempenho para a linha Vivante VIP, presente em processadores amplamente utilizados no mercado de edge computing, como o NXP i.MX 8M Plus e o Amlogic A311D.

Segundo Vizoso, a inclusão do YOLOX um projeto de código aberto desenvolvido pela Megvii sob a licença Apache 2.0 oferece aos desenvolvedores mais flexibilidade na hora de equilibrar a precisão na detecção de objetos e a disponibilidade de recursos de hardware.

O que isso significa na prática

Historicamente, tirar proveito de aceleradores neurais (NPUs) integrados em chips ARM exigia o uso de drivers proprietários fornecidos pelas fabricantes (conhecidos como blobs). Esses drivers fechados dificultam a atualização de sistemas, atrasam o suporte em versões recentes do Kernel Linux e limitam a auditoria de segurança.

Com o driver Etnaviv ganhando capacidade de rodar modelos complexos de visão computacional nativamente, fabricantes de dispositivos IoT, câmeras inteligentes e robótica podem construir produtos dependendo apenas de uma base de software livre e padrão. O YOLOX é particularmente otimizado para tarefas de borda (edge), o que significa que o reconhecimento de imagem ocorre localmente no dispositivo, reduzindo a latência e protegendo a privacidade dos dados, já que nada precisa ser enviado para a nuvem.

O trabalho por trás da implementação

cEXxvGsv npu suporte yolox ia linux 1
Etnaviv NPU ganha suporte ao modelo YOLOX e amplia aceleração de IA em código aberto 3

Fazer o YOLOX funcionar na NPU Etnaviv não foi uma tarefa trivial. O modelo é substancialmente mais complexo do que o SSDLite MobileDet, o sistema de detecção que era suportado anteriormente pelo projeto.

Para suportar essa complexidade arquitetural, a equipe precisou desenvolver e integrar uma série de novas operações no driver, otimizando o uso dos núcleos da NPU para evitar gargalos:

  • FullyConnected: a operação agora roda diretamente nos núcleos de rede neural (NN), responsáveis pelas convoluções.
  • Eficiência de Metadados: operações de Reshape, Split e Concatenate passaram a ser tratadas exclusivamente por alterações de metadados. Elas não executam cálculos no hardware, economizando preciosos ciclos de processamento.
  • Fused ReLU: ativou o suporte de hardware para essa função de ativação matemática na saída dos dados.
  • Absolute e Logistic: foram implementadas como operações de tabela de pesquisa (lookup table) nos núcleos de processamento de tensores (TP).
  • Subtract e Transpose: a subtração foi convertida em uma operação de convolução (método similar ao já usado para a adição), enquanto a transposição agora é fundida à próxima operação da fila ou tratada diretamente como uma operação de TP.

Além do mapeamento dessas operações matemáticas, o driver recebeu suporte para mapas de características utilizando números inteiros com sinal de 8 bits (signed 8-bit integers). Essa adaptação técnica permite que alguns modelos obtenham um aumento perceptível na precisão dos resultados sem gerar nenhum custo computacional adicional para o chip.

O avanço é fruto de um trabalho contínuo realizado em parceria com a consultoria de software livre Ideas On Board.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.