Simple Science

Ciência de ponta explicada de forma simples

# Informática# Aprendizagem de máquinas# Visão computacional e reconhecimento de padrões

DeepliteRT: Avançando o Deep Learning em Dispositivos de Edge

DeepliteRT simplifica o deep learning de ultra baixo bit pra computação em edge de forma eficiente.

― 7 min ler


DeepliteRT e Edge AIDeepliteRT e Edge AIprecisão para dispositivos de borda.Transformando deep learning de baixa
Índice

O crescimento dos dispositivos de borda abriu novas oportunidades para usar aprendizado profundo em visão computacional. Esses dispositivos oferecem a chance de rodar aplicativos inteligentes sem precisar de recursos pesados de computação que geralmente estão nas plataformas em nuvem. No entanto, os modelos de aprendizado profundo são complexos e precisam de muito poder, memória e capacidades de computação, que os dispositivos de borda normalmente não têm. Uma maneira promissora de lidar com isso é através da quantização ultra low-bit, que reduz o tamanho dos dados do modelo de 32 bits para menos de 8 bits.

O que é DeepliteRT?

DeepliteRT é um sistema que ajuda a usar modelos ultra low-bit para tarefas de visão computacional em dispositivos baseados em ARM. Ele permite que os desenvolvedores transformem modelos detalhados e de alta precisão em versões menores e mais leves que conseguem rodar de forma eficiente em hardware menos potente. O sistema utiliza operadores de convolução otimizados para realizar tarefas, garantindo mais velocidade e eficiência em comparação a outros métodos.

Por que Quantização Low-Bit?

O principal objetivo é fazer os modelos de aprendizado profundo menores e mais eficientes sem perder muita precisão. Em visão computacional, modelos como VGG, ResNet e YOLO têm papéis importantes em tarefas como classificação de imagens e detecção de objetos. As melhorias nesses modelos geralmente vêm com tamanhos maiores e maiores exigências de poder de processamento, o que dificulta o uso em dispositivos menores.

A quantização envolve pegar esses grandes modelos e ajustá-los para trabalhar com tipos de dados menores. Ao invés de usar dados de 32 bits, a quantização passa para 8 bits ou até menos, o que pode reduzir bastante a quantidade de memória necessária, mantendo um desempenho decente. Além de deixar os modelos menores, a quantização também resulta em tempos de processamento mais rápidos e menor consumo de energia.

Os Desafios

Embora isso pareça ótimo, usar quantização ultra low-bit traz complicações. Muitos sistemas existentes usam métodos de precisão de 8 bits ou mais que conseguem rodar facilmente em hardware comum, mas os métodos ultra low-bit precisam de um tratamento especial porque trabalham com tipos de dados menores que 8 bits. Isso torna difícil implementar esses modelos em aplicações reais.

Normalmente, durante o treinamento do modelo, os valores são arredondados para caber em um conjunto menor de opções possíveis, mas os cálculos durante o treinamento ainda usam precisão total. Quando chega a hora de usar modelos de menor precisão em tarefas reais, é preciso de soluções personalizadas que preparem os modelos para essa transição, o que envolve muito trabalho e conhecimento especializado.

Apresentando o DeepliteRT

Para resolver esses problemas, o DeepliteRT foi criado. É uma solução completa que ajuda a rodar modelos ultra low-bit em CPUs ARM. Ele utiliza um conjunto de ferramentas que cuidam da otimização desses modelos para que possam rodar tranquilamente em dispositivos de borda.

DeepliteRT torna possível trocar camadas de convolução comuns por operadores ultra low-bit sem precisar de mudanças extras no código. Os desenvolvedores que usam diversas frameworks de aprendizado de máquina podem exportar seus modelos quantizados com pesos e ativações ainda em precisão total, simplificando o processo de deixá-los prontos para uso em aplicações práticas.

Avaliação de Desempenho

DeepliteRT mostrou melhorias significativas de desempenho quando testado comparado a modelos bem otimizados. Ele consegue acelerar tarefas rodando mais rápido que modelos padrão que usam precisão total. Os testes envolviam usar vários modelos para classificar imagens e detectar objetos, mostrando que o DeepliteRT se sai melhor com uma margem considerável.

Métodos Relacionados de Quantização

Os métodos de quantização podem ser divididos em duas categorias: uniformes e não uniformes, além de Treinamento Consciente de Quantização (QAT) e Quantização Pós-Treinamento (PTQ).

  • Quantização Uniforme: Esse método quantiza pesos diretamente em valores inteiros de uma maneira consistente, o que ajuda no processamento.
  • Quantização Não Uniforme: Essa abordagem permite mais flexibilidade em como valores de ponto flutuante são mapeados para inteiros.

O treinamento pode se concentrar em como o modelo vai se comportar após a quantização (QAT) ou simplesmente pegar um modelo regular e ajustá-lo depois (PTQ). Métodos recentes em quantização ultra low-bit aproveitam o QAT para minimizar a perda de precisão mesmo reduzindo os dados significativamente.

Técnicas de Inferência Ultra Low-Bit

A maior parte do trabalho em inferência sub-8-bit depende de métodos bit-serial. Ao trabalhar com dados de muito baixa bitagem, as operações são realizadas de um jeito que permite trabalhar com tipos de dados menores, dividindo-os em pedaços menores e processando essas partes uma de cada vez.

Isso permite computação eficaz mesmo com as limitações dos dados ultra low-bit. Avanços recentes facilitaram o gerenciamento dessas operações, levando a tempos de processamento mais rápidos para dispositivos de borda.

Recursos do DeepliteRT

DeepliteRT se destaca pela sua capacidade de lidar com tarefas de baixa precisão e precisão mista. Ele usa os métodos bit-serial para computar dados de um jeito que reduz o tempo de processamento. O sistema pode se adaptar a diferentes níveis de precisão, mantendo algumas camadas em maior precisão enquanto usa precisão ultra low-bit para outras.

Essa flexibilidade significa que os usuários podem otimizar seus modelos de acordo com suas necessidades, equilibrando precisão e velocidade. Ao permitir precisão mista, o DeepliteRT ajuda os profissionais a personalizar seus modelos para obter os melhores resultados com base em requisitos específicos.

Avaliação em Dispositivos ARM

DeepliteRT foi testado em dispositivos ARM reais, como o Raspberry Pi 4B, para ver como ele lida com diferentes modelos e configurações. Os testes mostraram que o DeepliteRT constantemente superou outros modelos em termos de velocidade e eficiência.

Em sistemas operacionais de 32 bits e 64 bits, o DeepliteRT proporcionou acelerações significativas em comparação a modelos padrão, demonstrando sua eficácia em aplicações do mundo real.

Benefícios de Usar DeepliteRT

Usar DeepliteRT dá aos desenvolvedores um caminho direto e eficiente para implantar modelos ultra low-bit. Seus processos automatizados para converter modelos complicados em versões menores e mais rápidas o tornam atraente para quem quer aproveitar o aprendizado profundo em dispositivos de borda.

A combinação de alto desempenho e facilidade de uso posiciona o DeepliteRT como uma opção forte para indústrias que buscam implementar aplicativos mais inteligentes em áreas como reconhecimento e detecção de imagem.

Conclusão

DeepliteRT apresenta uma solução abrangente para implantar modelos ultra low-bit em tarefas de visão computacional em dispositivos de borda. Ao simplificar a transição de modelos complexos para versões leves e eficientes, o DeepliteRT se destaca na sua capacidade de enfrentar os desafios de rodar aprendizado profundo em ambientes com recursos limitados.

À medida que mais dispositivos avançam para a computação de borda, ferramentas como o DeepliteRT vão desempenhar um papel essencial em aproveitar o poder da inteligência artificial, tornando-a acessível e prática para aplicações do dia a dia. Sua habilidade de equilibrar precisão e desempenho enquanto continua amigável para o usuário incentivará uma adoção mais ampla e usos inovadores no campo da visão computacional.

Fonte original

Título: DeepliteRT: Computer Vision at the Edge

Resumo: The proliferation of edge devices has unlocked unprecedented opportunities for deep learning model deployment in computer vision applications. However, these complex models require considerable power, memory and compute resources that are typically not available on edge platforms. Ultra low-bit quantization presents an attractive solution to this problem by scaling down the model weights and activations from 32-bit to less than 8-bit. We implement highly optimized ultra low-bit convolution operators for ARM-based targets that outperform existing methods by up to 4.34x. Our operator is implemented within Deeplite Runtime (DeepliteRT), an end-to-end solution for the compilation, tuning, and inference of ultra low-bit models on ARM devices. Compiler passes in DeepliteRT automatically convert a fake-quantized model in full precision to a compact ultra low-bit representation, easing the process of quantized model deployment on commodity hardware. We analyze the performance of DeepliteRT on classification and detection models against optimized 32-bit floating-point, 8-bit integer, and 2-bit baselines, achieving significant speedups of up to 2.20x, 2.33x and 2.17x, respectively.

Autores: Saad Ashfaq, Alexander Hoffman, Saptarshi Mitra, Sudhakar Sah, MohammadHossein AskariHemmat, Ehsan Saboori

Última atualização: 2023-09-19 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2309.10878

Fonte PDF: https://arxiv.org/pdf/2309.10878

Licença: https://creativecommons.org/licenses/by-nc-sa/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes