Simple Science

Ciência de ponta explicada de forma simples

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

Otimizando Transformers de Visão para Dispositivos com Poucos Recursos

Tornando os transformers de visão mais eficientes para drones e dispositivos móveis pra melhorar as tarefas visuais.

― 7 min ler


Modelos de Visão ViáveisModelos de Visão Viáveispara Droneslimitados.funcionar bem em ambientes com recursosOtimizando transformadores de visão pra
Índice

Transformadores de visão têm bombado em tarefas de aprendizado visual como classificação de imagens e detecção de objetos, graças à capacidade de focar em diferentes áreas de uma imagem e entender as relações entre elas. Mas, esses modelos costumam ser grandes e exigem uma baita potência de computação, o que dificulta o uso em dispositivos com recursos limitados, como drones ou celulares. Neste trabalho, a gente quer deixar os transformadores de visão menores e mais rápidos, para que funcionem bem em dispositivos com pouca capacidade, permitindo aplicações como vigilância e monitoramento ambiental.

Declaração do Problema

Transformadores de visão são ótimos para alcançar alta precisão em tarefas visuais, mas o tamanho e a demanda de recursos deles podem ser um problema. Por exemplo, um transformador de visão comum tem cerca de 86 milhões de parâmetros, o que pode torná-lo inadequado para dispositivos menores. O nosso objetivo é reduzir o tamanho e a complexidade desses modelos, mantendo a capacidade deles de se darem bem em tarefas de como detecção de objetos e segmentação de imagens. A gente foca em dispositivos como drones que podem ter apenas uma pequena quantidade de memória e bateria.

Técnicas de Compressão

Para atingir nosso objetivo, usamos várias técnicas de compressão de modelos:

  1. Destilação de Conhecimento: Esse método envolve treinar um modelo menor (o aluno) para imitar um modelo maior e mais preciso (o professor). O modelo menor aprende com as previsões do professor, que são consideradas mais informativas do que os rótulos de treinamento tradicionais.

  2. Poda: Essa técnica reduz o Tamanho do modelo removendo pesos que têm pouco impacto no desempenho do modelo. Existem dois tipos de poda:

    • Poda Não Estruturada: Remove pesos individuais com base em certos critérios, levando a padrões irregulares que podem complicar a aceleração em hardware.
    • Poda Estruturada: Foca em grupos de parâmetros, como canais ou camadas inteiras, facilitando a otimização em hardware.
  3. Quantização: Isso envolve diminuir o número de bits usados para representar os pesos do modelo, comprimindo assim o modelo. Existem dois métodos principais:

    • Treinamento Consciente de Quantização (QAT): Envolve treinar o modelo com a quantização em mente para manter a precisão.
    • Quantização Pós-Treinamento (PTQ): Essa abordagem aplica a quantização depois que o modelo é treinado, tornando mais fácil a execução.

Combinando essas técnicas, esperamos criar um modelo menor e eficiente, adequado para ambientes com poucos recursos.

Ambiente Alvo

A gente foca no uso de drones movidos a bateria e com memória limitada, parecido com dispositivos como o NVIDIA Jetson Nano, que tem 4GB de RAM. Esses dispositivos precisam realizar tarefas com precisão, como detectar objetos e localizar pessoas em missões de busca e resgate, tudo isso mantendo a latência baixa para respostas rápidas.

Nosso objetivo é permitir um processamento rápido de transformadores de visão em tais dispositivos sem perder muita precisão. Isso pode levar ao uso deles em várias aplicações práticas em resposta a desastres, monitoramento ambiental e mais.

Trabalhos Relacionados

Pesquisas anteriores mostraram que técnicas de compressão de modelos em outras áreas, especialmente em redes neurais convolucionais e processamento de linguagem natural, podem não funcionar bem para transformadores de visão. Grande parte das pesquisas existentes tende a focar em técnicas individuais, ao invés de integrá-las em um único modelo. Alguns tentaram combinar métodos diferentes, mas geralmente deixaram de fora a quantização.

A gente busca preencher essa lacuna integrando várias técnicas em uma única estrutura para comprimir transformadores de visão de forma eficaz para uso prático.

Estratégia de Implementação

Nossa estrutura combina poda estruturada para remover partes desnecessárias do modelo, distilação de conhecimento para melhorar o desempenho de modelos menores e quantização eficiente para reduzir as necessidades de memória. Também prestamos atenção especial ao tipo de tarefas que queremos realizar, como segmentar cenas de desastres.

Focando em uma aplicação específica que requer alta precisão, mas que também precisa funcionar em dispositivos com poucos recursos, acreditamos que podemos fazer contribuições significativas para a área.

Uso de Dataset

Para validar nosso modelo, usamos um conjunto de dados de um desafio recente focado especialmente em cenas de desastres. Esse dataset contém imagens capturadas de drones de várias situações de desastres, com rótulos que ajudam a treinar modelos de segmentação. Usando esse conjunto de dados, pretendemos aprimorar o desenvolvimento de sistemas eficazes de resposta a desastres que possam operar em dispositivos com poucos recursos.

Métricas de Avaliação

Para avaliar o desempenho do nosso modelo, vamos observar várias métricas:

  • Precisão: Medida usando a média da Interseção sobre a União (IoU), que compara quão bem nosso modelo identifica diferentes classes em uma imagem.
  • Tempo de Execução: O tempo médio que o modelo leva para processar cada imagem.
  • Tamanho do Modelo: Importante para garantir que atendamos aos limites da memória do dispositivo.

Além disso, vamos realizar experimentos para ver como cada método de compressão funciona em equilibrar precisão e velocidade.

Resultados Experimentais

Nos nossos experimentos, primeiro avaliamos diferentes arquiteturas de decodificadores de segmentação para encontrar o melhor equilíbrio entre desempenho e eficiência. Depois avaliamos várias estruturas (as principais do nossos modelos) usando o conjunto de dados mencionado de cenas de desastres.

Percebemos que certos decodificadores se saíram melhor nas tarefas de segmentação enquanto mantinham o tamanho do modelo razoável. Por exemplo, o UPerNet se destacou como uma boa escolha para nossas tarefas.

Ao treinar e testar nossos modelos, utilizamos várias técnicas, incluindo distilação de conhecimento para melhorar a saída de nossos modelos menores aprendendo com os maiores. Essa abordagem provou ser eficaz para aumentar a precisão do nosso modelo.

Notamos também que nossos modelos comprimidos ainda conseguiam capturar recursos essenciais das imagens, mas lutaram com detalhes mais complexos, especialmente na identificação de classes que pareciam semelhantes, como estradas e fluxos de lama.

Desafios Encontrados

Apesar do nosso progresso, enfrentamos desafios durante nossos experimentos. Por exemplo, nossas tentativas de poda iterativa não trouxeram melhorias significativas. Descobrimos que o MobileViT, que é projetado para ser pequeno e eficiente, não se adaptou bem a uma poda adicional sem sacrificar a precisão.

Além disso, descobrimos que o desbalanceamento de classes no conjunto de dados criou problemas. Classes de baixa frequência, que são críticas em cenários de desastres, às vezes não foram segmentadas com precisão devido ao foco maior nas classes dominantes nas imagens.

Direções Futuras

Olhando para frente, planejamos refinar ainda mais nossos modelos, explorando técnicas de compressão adicionais que poderiam melhorar o desempenho em dispositivos ainda mais restritos, como uma versão do Jetson Nano com apenas 2GB de RAM.

Também queremos investigar novos métodos de quantização para reduzir o tempo de processamento enquanto mantemos a precisão alta. Outra área de interesse será abordar as limitações das ferramentas de software existentes para quantização, possivelmente investigando abordagens alternativas para executar nossos modelos melhor.

Continuando a pesquisar e implementar técnicas de poda adaptativas, esperamos encontrar um equilíbrio entre esparsidade e desempenho que nos permita criar modelos menores e eficientes sem um ajuste extensivo.

Esse trabalho contínuo é vital para desenvolver sistemas confiáveis que possam ser usados em cenários de desastres do mundo real, proporcionando suporte crítico em ambientes desafiadores.

Fonte original

Título: Compressing Vision Transformers for Low-Resource Visual Learning

Resumo: Vision transformer (ViT) and its variants have swept through visual learning leaderboards and offer state-of-the-art accuracy in tasks such as image classification, object detection, and semantic segmentation by attending to different parts of the visual input and capturing long-range spatial dependencies. However, these models are large and computation-heavy. For instance, the recently proposed ViT-B model has 86M parameters making it impractical for deployment on resource-constrained devices. As a result, their deployment on mobile and edge scenarios is limited. In our work, we aim to take a step toward bringing vision transformers to the edge by utilizing popular model compression techniques such as distillation, pruning, and quantization. Our chosen application environment is an unmanned aerial vehicle (UAV) that is battery-powered and memory-constrained, carrying a single-board computer on the scale of an NVIDIA Jetson Nano with 4GB of RAM. On the other hand, the UAV requires high accuracy close to that of state-of-the-art ViTs to ensure safe object avoidance in autonomous navigation, or correct localization of humans in search-and-rescue. Inference latency should also be minimized given the application requirements. Hence, our target is to enable rapid inference of a vision transformer on an NVIDIA Jetson Nano (4GB) with minimal accuracy loss. This allows us to deploy ViTs on resource-constrained devices, opening up new possibilities in surveillance, environmental monitoring, etc. Our implementation is made available at https://github.com/chensy7/efficient-vit.

Autores: Eric Youn, Sai Mitheran J, Sanjana Prabhu, Siyuan Chen

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

Idioma: English

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

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

Licença: https://creativecommons.org/licenses/by/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