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
Í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.
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.