Simple Science

Ciência de ponta explicada de forma simples

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

Inferência Distribuída Eficaz para Redes Neurais Profundas

Uma estrutura que reduz a comunicação de dados em redes neurais profundas entre vários dispositivos.

― 7 min ler


Otimizando a EficiênciaOtimizando a Eficiênciade DNNcom menos comunicação de dados.Melhorando o processamento distribuído
Índice

Redes neurais profundas (DNNs) estão ficando populares pra resolver vários desafios do mundo real, mas elas geralmente precisam de muita computação e memória. Isso dificulta a execução de modelos grandes de DNN em dispositivos com memória limitada. Uma maneira de lidar com isso é usando computação distribuída, que distribui a carga de trabalho por vários dispositivos. Esse artigo investiga um método chamado "paralelismo de modelo dentro da camada", que permite que diferentes partes de uma camada de DNN sejam processadas em diferentes nós. Fazendo isso, conseguimos compartilhar a necessidade de memória entre vários dispositivos, facilitando a execução de modelos grandes em dispositivos menores.

Um desafio surge durante esse processo devido à necessidade de Comunicação de dados entre esses nós. Se a largura de banda de comunicação for baixa, pode desacelerar o processo. Para resolver isso, apresentamos uma estrutura que chamamos de DISCO, que significa Inferência Distribuída com Comunicações Esparsas. Essa estrutura tem como objetivo reduzir tanto as necessidades de computação quanto de comunicação, escolhendo de forma inteligente quais dados enviar entre os nós.

Demonstramos a eficácia do DISCO através de várias tarefas de visão computacional, como reconhecimento de imagens, detecção de objetos e aprimoramento de resolução de imagem. Por exemplo, usando nosso método, descobrimos que um modelo ResNet-50 poderia ser processado em dois nós, reduzindo a comunicação de dados em cinco vezes, diminuindo pela metade a computação total necessária e usando menos memória, tudo isso mantendo uma precisão semelhante ao modelo original.

Por que olhar para a Inferência Distribuída?

As DNNs avançaram significativamente na solução de problemas do mundo real, mas a maioria das pesquisas assume que esses modelos operam em um único dispositivo poderoso, como uma GPU. Existem várias razões para considerar o uso de múltiplos dispositivos para inferência.

Primeiro, modelos de DNN de alta qualidade precisam de muita memória. À medida que os modelos crescem, a necessidade de dispositivos menores e com recursos limitados continua aumentando. Por exemplo, alguns dispositivos têm apenas algumas centenas de kilobytes de RAM, enquanto modelos como ResNet50 exigem centenas de megabytes. Distribuir as necessidades de memória da DNN por vários dispositivos pode ajudar a superar esse desafio.

Segundo, executar a inferência em vários dispositivos pode diminuir o tempo necessário para o processamento. Terceiro, em certos casos, múltiplos modelos de DNN podem trabalhar juntos, como em um sistema de câmeras que compartilham dados para melhorar sua capacidade de identificar ações ou objetos. Esse tipo de inferência cooperativa permite um desempenho geral melhor.

Ao usar vários dispositivos, dois fatores críticos que geralmente são medidos são latência e throughput. Latência é o tempo que leva desde que os dados são inseridos na DNN até que obtemos uma saída. Throughput indica quantas amostras de dados podem ser processadas em um determinado período de tempo. Para aplicações sensíveis ao tempo, como condução autônoma e telecirurgia, baixa latência é crucial.

Métodos de Paralelismo

Um método popular pra acelerar as DNNs é distribuir a computação entre vários nós. Existem diferentes maneiras de fazer isso:

  1. Paralelismo de Dados: Cada nó lida com uma parte das amostras de entrada em um lote.
  2. Paralelismo em Pipeline: O modelo é dividido em grupos sequenciais, e cada nó processa um grupo.

Embora essas abordagens possam ajudar, elas não reduzem a latência para o processamento de uma única entrada, porque cada camada deve ser processada sequencialmente, e a computação dentro de uma camada permanece centralizada.

Comparando Métodos de Inferência DNN Distribuída

Métodos tradicionais tendem a depender de comunicações densas, onde cada ponto de dado precisa ser trocado entre os nós. Nós propomos um novo método onde apenas pontos de dados selecionados são comunicados entre os nós. Esse método único foca em minimizar a quantidade de dados trocados, o que pode melhorar muito o desempenho em casos onde a largura de banda é limitada.

Na nossa abordagem, cada camada do nosso modelo é projetada para que apenas um subconjunto de dados de entrada seja transferido entre os nós. Tratamos a seleção de quais dados transferir como um problema de otimização. Isso transforma em um tipo de otimização de modelo que nos ajuda a alcançar tanto a redução das necessidades de computação quanto de comunicação.

Treinamento com Comunicações Esparsas

Para implementar nossa abordagem, primeiro treinamos um modelo completo usando comunicação densa. Depois, identificamos os pesos mais importantes associados às características que escolhemos comunicar. Gradualmente, reduzimos as comunicações desnecessárias ajustando os pesos restantes, permitindo que o modelo se adapte à nova estrutura de comunicação esparsa.

Através de experimentos em várias tarefas-como detecção de objetos, segmentação de imagem e super-resolução-descobrimos que manter uma quantidade pequena de comunicação pode melhorar significativamente a precisão em comparação com ramos de modelos completamente separados. Em contraste, modelos com comunicação densa ainda podem se beneficiar do nosso método, já que ele reduz a quantidade de dados transmitidos sem sacrificar muita precisão.

Resultados Experimentais

Para validar nosso método, realizamos vários experimentos usando DNNs em diferentes tarefas. Aqui está um resumo das nossas descobertas:

  1. Classificação de Imagens: Em testes com modelos ResNet no dataset ImageNet, observamos que ao aplicar nossa estrutura, conseguimos uma melhoria de precisão de 1,6% enquanto reduzíamos a latência em 4,7 vezes. Curiosamente, até mesmo um pequeno aumento nas características comunicadas levou a um aumento notável na precisão.

  2. Detecção de Objetos: Para o modelo SSD avaliado no dataset COCO2017, o DISCO conseguiu uma redução de latência de mais de 9 vezes enquanto mantinha a precisão. Aumentar levemente a comunicação também levou a uma melhor precisão sem aumentar drasticamente o tempo de processamento.

  3. Segmentação Semântica: Usando o modelo DeepLabV3+, vimos melhorias em velocidade e precisão, com a latência reduzida a cerca de um décimo dos métodos anteriores, enquanto alcançávamos resultados melhores.

  4. Super Resolução de Imagem: Em testes com o modelo ESRGAN, notamos uma melhoria na qualidade das imagens produzidas (medida pelo PSNR) juntamente com tempos de processamento reduzidos, validando a eficácia da nossa abordagem.

  5. Transformadores de Visão: Nosso método também foi aplicado a modelos DeiT, mostrando que o DISCO continua a se saírem bem em diferentes arquiteturas.

Conclusão

Em resumo, a estrutura DISCO oferece uma solução promissora para a inferência distribuída de DNNs, reduzindo a quantidade de dados comunicados entre os nós. Ao selecionar cuidadosamente quais dados transmitir, melhoramos significativamente tanto a eficiência de computação quanto de comunicação. Esse avanço não apenas torna viável rodar grandes DNNs em dispositivos com recursos limitados, mas também melhora a precisão e a velocidade de processamento em várias tarefas. Trabalhos futuros nessa área podem explorar maneiras ainda mais eficientes de lidar com comunicação de dados e otimizar ainda mais as arquiteturas de DNN para aplicações do mundo real.

Fonte original

Título: DISCO: Distributed Inference with Sparse Communications

Resumo: Deep neural networks (DNNs) have great potential to solve many real-world problems, but they usually require an extensive amount of computation and memory. It is of great difficulty to deploy a large DNN model to a single resource-limited device with small memory capacity. Distributed computing is a common approach to reduce single-node memory consumption and to accelerate the inference of DNN models. In this paper, we explore the "within-layer model parallelism", which distributes the inference of each layer into multiple nodes. In this way, the memory requirement can be distributed to many nodes, making it possible to use several edge devices to infer a large DNN model. Due to the dependency within each layer, data communications between nodes during this parallel inference can be a bottleneck when the communication bandwidth is limited. We propose a framework to train DNN models for Distributed Inference with Sparse Communications (DISCO). We convert the problem of selecting which subset of data to transmit between nodes into a model optimization problem, and derive models with both computation and communication reduction when each layer is inferred on multiple nodes. We show the benefit of the DISCO framework on a variety of CV tasks such as image classification, object detection, semantic segmentation, and image super resolution. The corresponding models include important DNN building blocks such as convolutions and transformers. For example, each layer of a ResNet-50 model can be distributively inferred across two nodes with five times less data communications, almost half overall computations and half memory requirement for a single node, and achieve comparable accuracy to the original ResNet-50 model. This also results in 4.7 times overall inference speedup.

Autores: Minghai Qin, Chao Sun, Jaco Hofmann, Dejan Vucinic

Última atualização: 2023-02-22 00:00:00

Idioma: English

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

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

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