A seguirPróximo guia
Paralelismo tensorial para modelos grandes
Técnico
GUIA Técnico
Quando um modelo é muito grande para caber em uma GPU, o paralelismo de modelo e pipeline divide o próprio modelo entre dispositivos.
Isso é o que torna fisicamente possível o treinamento de modelos de linguagem gigantes com centenas de bilhões de parâmetros.
O paralelismo de modelo particiona um único modelo em várias GPUs para que nenhum dispositivo precise suportar todos os pesos. Existem dois sabores principais. O paralelismo tensor (intracamada) divide a matemática dentro de uma camada, como cortar uma grande multiplicação de matrizes entre GPUs, cada uma computando parte da saída. O paralelismo de pipeline (entre camadas) atribui diferentes camadas consecutivas a diferentes GPUs, de modo que o bloco de camada 1 reside na GPU 0, o bloco 2 na GPU 1 e assim por diante, com ativações transmitidas como uma linha de montagem. O desafio do pipeline ingênuo é a ‘bolha’: enquanto a GPU 0 funciona no primeiro lote, as GPUs downstream ficam ociosas. O pipeline divide cada lote em microlotes para que todos os estágios permaneçam ocupados, melhorando drasticamente a utilização.
As decisões de arquitetura impulsionam o desempenho e os custos operacionais durante anos.
A educação técnica ajuda as equipes a escolher a pilha certa, não apenas a mais nova.
Melhores escolhas de engenharia reduzem incidentes de confiabilidade na produção.
As estruturas automatizam cada vez mais o difícil problema de decidir como particionar um modelo entre dispositivos, usando criação de perfil e pesquisa para equilibrar computação e comunicação. Espere uma integração mais estreita de tensor, pipeline e paralelismo de dados (paralelismo 3D), agendamento de microlotes mais inteligente para quase eliminar bolhas de pipeline e hardware com interconexões mais rápidas, de modo que a divisão de uma única camada entre chips se torne mais barata e mais rotineira para modelos cada vez maiores.
Treinamento de modelos estilo GPT com NVIDIA Megatron-LM, que divide a atenção de cada camada do transformador e matrizes de feed-forward entre GPUs por meio de paralelismo de tensor.
Usar o GPipe para colocar diferentes camadas de uma visão gigante ou modelo de linguagem em aceleradores separados enquanto o microlote os mantém ocupados.
O mecanismo de pipeline do DeepSpeed particiona um modelo de centenas de bilhões de parâmetros em estágios em vários nós.
Combinando paralelismo de tensor dentro de um único servidor de 8 GPU com paralelismo de pipeline abrangendo vários servidores para treinar um modelo muito grande para uma máquina.
A otimização de um benchmark pode ocultar fraquezas mais amplas do sistema.
Os custos de infraestrutura e manutenção são frequentemente subestimados.
As lacunas de segurança e observabilidade podem aumentar à medida que os sistemas se tornam mais complexos.
Defina metas de latência, qualidade e custo antes da implementação.
Benchmark sob condições realistas de carga e dados.
Monitoramento de instrumentos para erros, desvios e impacto no usuário.
Prepare caminhos de reversão e resposta a incidentes antes de escalar.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Quando um modelo é muito grande para caber em uma GPU, o paralelismo de modelo e pipeline divide o próprio modelo entre dispositivos. Isso é o que torna fisicamente possível o treinamento de modelos de linguagem gigantes com centenas de bilhões de parâmetros.
O paralelismo de modelo e pipeline particiona o próprio modelo entre dispositivos, permitindo o treinamento de redes muito maiores do que qualquer GPU poderia suportar.
O paralelismo tensorial divide a computação em uma única camada, por exemplo, dividindo uma matriz de peso grande para que cada GPU calcule parte da saída.
No início de uma etapa do pipeline, os estágios downstream ainda não têm entrada e ficam ociosos, desperdiçando tempo da GPU; essa lacuna ociosa é chamada de bolha.
Dividir um lote em microlotes permite que vários microlotes ocupem diferentes estágios simultaneamente, mantendo todas as GPUs ocupadas e diminuindo o tempo ocioso.
O paralelismo tensor se comunica frequentemente para recombinar resultados parciais da matriz, portanto, é colocado onde a largura de banda de interconexão é maior, dentro de um nó sobre NVLink.
Continue aprendendo
Mais guias escolhidos para este tópico
A seguirPróximo guia
Paralelismo tensorial para modelos grandes
Técnico