Melhorando a Velocidade de Treinamento de IA com Parm
Um novo sistema otimiza o treinamento de grandes modelos de IA reduzindo os custos de comunicação.
― 7 min ler
Índice
Treinar modelos de IA em grande escala virou um foco grande pra quem pesquisa. Uma abordagem comum pra lidar com esses modelos enormes é usar algo chamado camadas Mixture-of-Experts (MoE), que ajudam a aumentar o tamanho do modelo sem elevar muito o custo de computação. Mas, conforme os modelos ficam maiores, a quantidade de Comunicação necessária durante o treinamento também aumenta. Isso pode atrasar o processo de treinamento, especialmente quando se usa várias GPUs ou TPUs.
Pra resolver isso, os pesquisadores criaram várias maneiras de organizar como as Tarefas são processadas e como os dados são comunicados. No entanto, muitas dessas maneiras ainda enfrentam dificuldades com os custos de comunicação que vêm com os setups paralelos. Este artigo explora um novo sistema chamado Parm, projetado pra melhorar a velocidade de treinamento dos modelos MoE enquanto mantém os custos de comunicação baixos.
O Desafio dos Modelos Grandes
Conforme os modelos de IA ficam maiores, os recursos computacionais necessários pra treiná-los também aumentam. Por exemplo, treinar um modelo com bilhões de parâmetros exige uma quantidade incrível de computação. É aí que as camadas MoE entram em ação. Elas permitem que os modelos cresçam em tamanho enquanto minimizam os custos adicionais de computação. As camadas MoE funcionam ativando apenas partes do modelo (chamadas de especialistas) pra tarefas específicas. Essa ativação seletiva mantém as necessidades computacionais gerais mais baixas.
No entanto, mesmo com MoE, o tempo de comunicação ao usar várias GPUs pode ocupar uma grande parte do tempo total de treinamento. A forma como as tarefas são divididas entre as GPUs pode causar atrasos, especialmente se a comunicação entre elas não for bem gerenciada. Portanto, uma abordagem melhor pra agendar tarefas e gerenciar a transferência de dados é necessária.
Entendendo as Camadas Mixture-of-Experts
As camadas MoE são compostas por vários especialistas, cada um projetado pra lidar com diferentes partes da carga de trabalho. O sistema usa uma função de controle pra decidir qual especialista vai trabalhar em qual parte dos dados. Como resultado, quando processados, apenas alguns especialistas estão ativos ao mesmo tempo. Esse esquema permite escalar o modelo sem dobrar o tempo de computação.
Cada especialista normalmente opera de forma independente e pode ser visto como uma pequena rede neural. Apesar de seu pequeno tamanho, quando combinados, esses especialistas criam um modelo poderoso. No entanto, o mecanismo de controle pode, às vezes, levar a cargas de trabalho desiguais entre os especialistas. Pra conter isso, limites são impostos sobre quantas tarefas um especialista pode lidar ao mesmo tempo, garantindo uma carga de trabalho mais equilibrada.
Paralelismo
Tipos deAo treinar modelos grandes, são usados diferentes tipos de paralelismo:
Paralelismo de Dados (DP): Isso divide os dados entre múltiplos dispositivos enquanto usa o mesmo modelo em cada um. Cada dispositivo processa uma parte dos dados simultaneamente.
Paralelismo de Modelo (MP): Isso divide o próprio modelo entre diferentes dispositivos. Partes do modelo são processadas em GPUs separadas.
Paralelismo de Pipeline (PP): Isso divide o modelo em etapas, permitindo que os dados fluam através de diferentes partes do modelo ao mesmo tempo.
Paralelismo de Especialistas (EP): Isso distribui os especialistas entre múltiplos dispositivos. Se um dispositivo não conseguir comportar todos os especialistas, o trabalho é distribuído entre vários dispositivos.
Paralelismo de Expert-Sharding (ESP): Isso divide um único especialista em partes menores que podem ser executadas em múltiplos dispositivos.
Embora os modelos MoE normalmente usem EP e ESP juntos pela eficiência, eles ainda enfrentam desafios relacionados ao overhead de comunicação durante o treinamento.
Gargalos de Desempenho
A velocidade de treinamento de grandes modelos MoE pode ser afetada significativamente pelo tempo que leva pra comunicar entre as GPUs. Pesquisas mostraram que a comunicação pode ocupar até 60% do tempo total de treinamento para as camadas MoE em clusters de GPUs de alto desempenho. Esse problema piora quando vários setups paralelos são usados ao mesmo tempo.
Quando se trata de melhorar o desempenho do treinamento, os pesquisadores abordaram o problema de diferentes ângulos. Alguns focaram em algoritmos que equilibram as cargas de trabalho entre os dispositivos. Outros trabalharam em melhorar a eficiência dos métodos de comunicação. No entanto, muitas soluções do passado se concentraram principalmente nos custos de comunicação associados ao EP e ignoraram outros aspectos da comunicação que vêm com MP e ESP.
O Sistema Parm
Em resposta a esses desafios, o Parm foi criado. Ele propõe dois novos cronogramas de comunicação adaptados pra melhorar a gestão de tarefas ao usar MP, EP e ESP juntos. A ideia central desses cronogramas é reduzir cálculos e comunicações desnecessárias ao posicionar estrategicamente as tarefas de comunicação.
Principais Características do Parm
Redução do Volume de Comunicação: O Parm foca em gerenciar com que frequência os dados são enviados de volta e pra frente entre os dispositivos, resultando em menos comunicação no geral.
Eliminação de Tarefas Duplicadas: O sistema organiza as tarefas de uma maneira que impede que o mesmo cálculo seja realizado várias vezes entre diferentes dispositivos.
Sobreposição de Tarefas: O Parm permite que diferentes tipos de comunicação se sobreponham. Isso é essencial pra aproveitar ao máximo a largura de banda disponível.
Ao introduzir cronogramas dedicados, o Parm pode executar tarefas de forma mais eficiente, levando a tempos de treinamento mais curtos.
Como o Parm Funciona
O Parm opera desativando o MP temporariamente durante certas tarefas pra otimizar o desempenho. Dois cronogramas são implementados: um antes da operação de controle da camada MoE e outro antes da operação de combinação. Isso evita a duplicação de tarefas e permite um fluxo de informações mais ágil.
Visão Geral dos Cronogramas
Primeiro Cronograma: Desativa o MP antes da função de controle e o ativa novamente depois da operação de combinação. Isso permite uma divisão eficiente das tarefas.
Segundo Cronograma: Desliga o MP após a função de controle e o reativa antes do processo de combinação. Isso oferece flexibilidade dependendo das condições específicas.
Cada cronograma tem vantagens distintas com base em várias configurações, e escolher o certo ajuda a minimizar o tempo de treinamento.
Resultados Experimentais
Pra validar a eficácia do Parm, testes extensivos foram realizados usando um servidor com 8 GPUs e um cluster com 32 GPUs. Os resultados mostram que o Parm supera significativamente sistemas existentes como o DeepSpeed-MoE, alcançando acelerações que variam de 1,13 a 5,77 vezes em uma ampla variedade de configurações MoE.
Métricas de Desempenho
Em diferentes setups, o Parm conseguiu reduzir o tempo total de treinamento enquanto também treinava modelos do mundo real, incluindo versões baseadas no GPT-2 e BERT. Os experimentos confirmaram que as estratégias de agendamento do Parm podem resultar em desempenho de treinamento mais rápido de forma consistente em múltiplos cenários.
Conclusão
A criação do Parm marca um passo importante no treinamento de grandes modelos de IA. Ao melhorar como as tarefas e as comunicações são agendadas, ele mostrou ganhos substanciais em eficiência e velocidade. Com a demanda por modelos de IA maiores e mais complexos crescendo, sistemas como o Parm serão cruciais pra superar os obstáculos associados ao treinamento eficaz desses modelos.
Título: Parm: Efficient Training of Large Sparsely-Activated Models with Dedicated Schedules
Resumo: Sparsely-activated Mixture-of-Expert (MoE) layers have found practical applications in enlarging the model size of large-scale foundation models, with only a sub-linear increase in computation demands. Despite the wide adoption of hybrid parallel paradigms like model parallelism, expert parallelism, and expert-sharding parallelism (i.e., MP+EP+ESP) to support MoE model training on GPU clusters, the training efficiency is hindered by communication costs introduced by these parallel paradigms. To address this limitation, we propose Parm, a system that accelerates MP+EP+ESP training by designing two dedicated schedules for placing communication tasks. The proposed schedules eliminate redundant computations and communications and enable overlaps between intra-node and inter-node communications, ultimately reducing the overall training time. As the two schedules are not mutually exclusive, we provide comprehensive theoretical analyses and derive an automatic and accurate solution to determine which schedule should be applied in different scenarios. Experimental results on an 8-GPU server and a 32-GPU cluster demonstrate that Parm outperforms the state-of-the-art MoE training system, DeepSpeed-MoE, achieving 1.13$\times$ to 5.77$\times$ speedup on 1296 manually configured MoE layers and approximately 3$\times$ improvement on two real-world MoE models based on BERT and GPT-2.
Autores: Xinglin Pan Wenxiang Lin, Shaohuai Shi, Xiaowen Chu, Weinong Sun, Bo Li
Última atualização: 2024-06-30 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2407.00599
Fonte PDF: https://arxiv.org/pdf/2407.00599
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.