notícias

o tráfego de treinamento llm é 10.000 vezes menor! um novo otimizador distribuído, integrando o poder computacional mundial para treinar ia poderosa

2024-09-10

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



  novo relatório de sabedoria

editor: alan
[introdução à nova sabedoria]recentemente, a nous research anunciou um grande avanço ao usar um otimizador distribuído independente de arquitetura e rede, os pesquisadores reduziram com sucesso o volume de comunicação entre gpus ao treinar llm em 1.000 a 10.000 vezes!

e se todo o poder computacional do mundo pudesse ser usado para treinar modelos de ia?

recentemente, a nous research, que atraiu grande atenção com o lançamento do código aberto hermes 3 (baseado no llama 3.1), anunciou mais uma vez um grande avanço - distro (distributed internet training).

ao usar um otimizador distribuído independente de arquitetura e rede, os pesquisadores reduziram com sucesso a comunicação entre gpus em 1.000 a 10.000 vezes ao treinar o llm!

com melhorias tão exageradas, o importante custo e gargalo do treinamento de modelos grandes – largura de banda, não é mais um problema.

usando o método distro, você pode distribuir a carga de treinamento para a internet, e todo o mundo online se torna um enorme cluster heterogêneo de servidores de ia.

——qualquer dispositivo com poder computacional relevante pode participar do processo de treinamento.

experimentos provaram que o método deste artigo basicamente não causa diminuição no desempenho do modelo. ao mesmo tempo, distro-adamw é equivalente ao padrão adamw+all-reduce em termos de velocidade de convergência.

treinamento distribuído pela internet

de modo geral, o treinamento de redes neurais em grande escala envolve uma sobrecarga de comunicação significativa.

por exemplo, ao fazer paralelismo de dados, diferentes dados de treinamento são calculados para frente e para trás em hardware diferente (placas gráficas, etc.). depois disso, os gradientes calculados a partir do mesmo lote de dados precisam ser sincronizados entre as placas gráficas antes de entrar no mesmo lote de dados. próxima etapa.

se o modelo for paralelo, os dados intermediários precisam ser unidos ou acumulados por meio do all-reduce.

se essas despesas gerais de comunicação de dados não puderem ser sobrepostas, elas se tornarão um gargalo no treinamento do modelo.

acontece que a memória de vídeo e a largura de banda de laohuang são muito caras, e até mesmo o hardware necessário para configurar várias placas também é muito caro.

para resolver esse problema, os pesquisadores desenvolveram o distro, que reduz os requisitos de comunicação entre gpus em quatro a cinco ordens de grandeza sem depender de análise amortizada, permitindo o treinamento de baixa latência de grandes redes neurais em redes lentas.

distro é geral, escalável e sincronizado com o relógio (semelhante ao sgd, adam, etc., cada etapa de treinamento usa as mesmas operações aritméticas e leva o mesmo tempo).

além disso, em comparação com otimizadores ad-hoc anteriores de baixa comunicação, o distro é insensível à topologia e à arquitetura de rede neural das redes de telecomunicações e pode suportar nativamente treinamento paralelo de dados distribuídos (ddp) com sobrecarga mínima.

pré-treinamento llm

os pesquisadores usaram o nanotron como estrutura de pré-treinamento e executaram apenas sob a estratégia ddp (cada gpu carrega o modelo inteiro na vram).

llm seleciona llama 2 de tamanho 1,2b. os hiperparâmetros usados ​​no modelo e no treinamento são os seguintes:

os dados de treinamento usam o conjunto de dados dolma v1.7 e 10% de amostras representativas (os primeiros 105 bilhões de tokens) são selecionadas aleatoriamente.

o otimizador usa adamw, β1 = 0,9, β2 = 0,95, a taxa de aprendizado de pico é 4 × 10e-4, o esquema de decaimento do cosseno é usado e o decaimento do peso é definido como 0,1.

como outro conjunto de experimentos para comparação, adamw foi substituído por distro-adamw sem alterar os hiperparâmetros e desabilitar a operação all-reduce no nanotron.

ao contrário dos métodos de treinamento distribuído anteriores, o distro não sincroniza o estado do otimizador (pode até ser sem estado).

a figura abaixo é a curva de perda de treinamento de dois conjuntos de experimentos, usando dados de 105b para 25.000 passos. pode-se observar que a capacidade de convergência do distro é a mesma do all-reduce.

é importante ressaltar que, sem afetar o efeito do treinamento, o distro reduziu diretamente o volume de comunicação de 74,4 gb para 86,8 mb! isto equivale a uma redução de 857 vezes na pressão da largura de banda.

o autor afirmou ainda que esses 857 vezes são apenas um teste inicial, e não será problema ajustar os hiperparâmetros posteriormente e reduzi-los de 1.000 a 3.000 vezes.

se for pós-treinamento e ajuste fino, pode até atingir até 10.000 vezes a otimização da comunicação sem afetar basicamente o efeito do treinamento.

por fim, para verificar o efeito do treinamento, o autor realizou o teste de benchmark gpt4all zero-shot no modelo treinado e comparou-o com o tinyllama (checkpoint) treinado no mesmo número de tokens.

os resultados são mostrados na tabela acima. a arquitetura e o processo de treinamento do tinyllama são muito semelhantes aos experimentos deste artigo e podem ser usados ​​como medida para verificação da sanidade dos resultados.

aplicações futuras

fluxo de dados

no cenário deste experimento, 32 nós usam o all-reduce mais simples (conexão completa), e cada nó transmite em média 86,8 mb (2,8 mb × 31) e recebe a mesma quantidade de dados.

se um servidor dedicado for usado para agregação de dados, cada nó precisará carregar apenas 2,8 mb de dados (os dados recebidos permanecem inalterados) e o volume de comunicação será ainda mais reduzido.

além disso, a assimetria é vantajosa porque a largura de banda da maioria dos consumidores da internet é fortemente direcionada para velocidades de download mais altas.

supondo que a velocidade de rede estável seja de download de 100 mbps e upload de 10 mbps, o atraso do pior caso é de apenas 6,94 segundos para download e 2,24 segundos para upload. se sobreposto, o atraso para cada etapa é de 6,94 segundos.

ps: a transmissão de dados acima é toda vetorial original e pode ser mais rápida se a tecnologia de compressão for usada.

largura de banda

os autores afirmaram que os experimentos e pesquisas atuais são relativamente limitados e é impossível concluir se a taxa de redução da largura de banda aumentará, diminuirá ou permanecerá a mesma à medida que o modelo se tornar maior.

no entanto, o atual 1,2b parece ser o tamanho mínimo no qual o distro pode funcionar bem (não importa quão pequeno seja, não convergirá), portanto, pode-se presumir que, à medida que o tamanho do modelo aumenta, relativamente cada vez menos comunicação será ser necessário.

porém, também é possível que o volume de comunicação não esteja relacionado ao tamanho do modelo. nesse caso, o tamanho do modelo pode ser aumentado sem aumentar a largura de banda de comunicação para observar se um modelo maior melhorará os efeitos de treinamento e aprendizagem.

se o último cenário for verdadeiro, então o paradigma do futuro design e fabricação de gpu será alterado (vram maior e largura de banda mais estreita).

acontece que também preferimos cargas de trabalho com uso intensivo de computação (em vez de com uso intensivo de e/s), já que a largura de banda é muito mais cara do que a computação atualmente.

aprendizagem federada

além do treinamento llm, para que mais o distro pode ser usado?

fazer treinamento distribuído na internet imediatamente faz as pessoas pensarem em aprendizagem federada.

embora permita um modelo de treinamento colaborativo, manter a privacidade e a descentralização dos dados de cada participante está se tornando cada vez mais importante agora que o llm é controlado por grandes empresas.

até agora, a aprendizagem federada carecia de métodos eficazes para treinar grandes modelos com largura de banda de internet limitada.

o distro não possui nenhum requisito sobre como processar ou distribuir dados para nós de gpu individuais e pode ser sem estado (semelhante à média federada), portanto, é adequado para o futuro do aprendizado federado.

cluster de gpu virtual heterogêneo

além disso, o distro pode criar uma rede totalmente descentralizada e sem permissão para colaborar e compartilhar recursos.

experimentos mostram que o distro é significativamente resiliente a um pequeno número de nós que são rebaixados ou descartados durante o treinamento e pode se adaptar facilmente à adição de novos nós.

com a bênção desta capacidade, por um lado, pode garantir a segurança de todo o sistema e reduzir o risco de nós não confiáveis ​​usarem ataques adversários para interromper as operações.

por outro lado, as instituições e os indivíduos também podem ser encorajados a contribuir de forma flexível com os seus próprios recursos computacionais e a libertar potencial poder computacional.

mesmo alguns cartões antigos com memória ou poder computacional insuficientes podem se juntar para ganhar algum dinheiro extra, usando estratégias como fsdp e paralelismo swarm para trabalhar com distro.

energia

a aplicação adicional em larga escala do distro pode aliviar o consumo de energia, os custos de infraestrutura e os problemas relacionados ao uso do solo causados ​​pela construção de grandes centros de dados.

o projeto llama 3.1 exigiu a construção de dois grandes superaglomerados monolíticos, cada um contendo 24.000 gpus h100, e só o processo de treinamento produziu o equivalente a 11.000 toneladas de emissões de co2.

no llm atual, além do aumento no tamanho dos parâmetros do modelo, a quantidade de dados de treinamento também está aumentando, fazendo com que os data centers relacionados à ia atinjam os limites das redes elétricas modernas.

o distro pode ser usado para equilibrar de forma adaptativa vários pequenos data centers modulares usando capacidade excedente, utilizando a infraestrutura existente por meio de tecnologia de treinamento de balanceamento dinâmico para reduzir o impacto negativo do treinamento no meio ambiente.

atualmente, a teoria por trás do distro ainda precisa de mais exploração, e artigos acadêmicos mais rigorosos e detalhados e códigos completos serão lançados no futuro.