O ponto de verificação é essencial para o treinamento de modelos de IA, garantindo resiliência, eficiência e a capacidade de retomar ou ajustar o treinamento a partir de estados salvos.
O checkpointing é essencial para o treinamento de modelos de IA, garantindo resiliência, eficiência e a capacidade de retomar ou ajustar o treinamento a partir de estados salvos. No entanto, as demandas das cargas de trabalho de IA modernas, com modelos cada vez mais complexos e conjuntos de dados de treinamento extensivos, levam o armazenamento ao seu limite.
O papel dos pontos de verificação nos fluxos de trabalho de IA
O checkpointing no treinamento de IA é um processo crítico que envolve salvar periodicamente o estado completo do modelo durante o treinamento. Este estado inclui os pesos e parâmetros do modelo, estados do otimizador, cronogramas de taxa de aprendizado e metadados de treinamento. O checkpointing cria um instantâneo abrangente do processo de treinamento em intervalos específicos, fornecendo continuidade e recuperação do treinamento em caso de interrupções.
Os pontos de verificação são normalmente tomados em intervalos baseados em iteração (por exemplo, a cada mil etapas de treinamento). O treinamento LLM moderno, que pode durar semanas ou meses e consumir enormes recursos computacionais, depende muito desses pontos de verificação como uma rede de segurança contra falhas potenciais. Por exemplo, treinar um modelo como a classe GPT-4 pode gerar pontos de verificação que variam de várias centenas de gigabytes a vários terabytes, dependendo do tamanho do modelo e da configuração do treinamento.

Processo de treinamento gerado pelo DALL-E
O propósito principal do checkpointing se estende além da mera funcionalidade de backup. Ele serve como um mecanismo crucial para treinar resiliência, permitindo a retomada do treinamento do último estado salvo em vez de começar do zero no caso de falhas do sistema, quedas de energia ou problemas de hardware. Além disso, os checkpoints são inestimáveis para análise de modelos, permitindo que pesquisadores examinem a evolução do modelo em diferentes estágios de treinamento e potencialmente revertam para estados anteriores se degradação de desempenho for detectada.
Os padrões de gravação durante o checkpointing são particularmente interessantes de uma perspectiva de armazenamento. Quando um checkpoint é acionado, o sistema deve gravar grandes quantidades de dados em um padrão de burst. Isso cria um perfil de E/S distinto caracterizado por períodos de atividade de armazenamento relativamente baixa durante computações de treinamento, seguidos por operações de gravação intensas de alta largura de banda durante o checkpointing. Essas operações de gravação são tipicamente sequenciais e podem se beneficiar significativamente de sistemas de armazenamento otimizados para gravações sequenciais de alta largura de banda.
Diferentes estratégias de paralelismo em treinamento distribuído podem impactar significativamente o comportamento de checkpointing. Essas estratégias de paralelismo afetam quando o checkpointing ocorre durante o treinamento e qual parte do modelo está sendo verificado. Em configurações modernas de treinamento distribuído, várias GPUs podem gravar simultaneamente diferentes partes da mesma camada, criando padrões complexos de E/S. Essa capacidade de gravação paralela é essencial para a eficiência, mas exige coordenação cuidadosa e sistemas de armazenamento robustos que possam lidar com operações de gravação simultâneas, mantendo a consistência dos dados. O sistema de armazenamento deve ser capaz de gerenciar essas gravações simultâneas de forma eficaz, pois qualquer gargalo nesse processo pode resultar em atrasos gerais no treinamento.
O checkpointing lento pode criar gargalos significativos no treinamento, pois todo o processo de treinamento deve pausar enquanto o checkpoint está sendo gravado no armazenamento. Por exemplo, em uma configuração de treinamento em larga escala, se o checkpointing levar 30 minutos a cada poucas horas, isso pode resultar em várias horas de tempo de inatividade acumulado durante todo o período de treinamento. Isso impacta diretamente a eficiência do treinamento e aumenta os custos operacionais, especialmente em ambientes de nuvem onde os recursos de computação são cobrados por tempo.
Com checkpoints mais rápidos, as equipes também podem se dar ao luxo de criar checkpoints com mais frequência, reduzindo a perda máxima potencial de dados em caso de falhas. Isso permite abordagens de treinamento mais agressivas e melhores ciclos de iteração experimental. Além disso, tempos rápidos de carregamento de checkpoints facilitam a experimentação mais rápida com diferentes configurações de treinamento e arquiteturas de modelo, pois os pesquisadores podem restaurar mais prontamente de estados anteriores para tentar abordagens alternativas.
A capacidade do sistema de armazenamento de lidar eficientemente com essas operações de checkpoint se torna um fator essencial na infraestrutura geral de treinamento. Soluções de armazenamento de alto desempenho que podem gerenciar tanto os padrões de gravação em rajada de checkpoint quanto as operações de leitura/gravação sustentadas do treinamento podem impactar significativamente o tempo total e o custo do treinamento de grandes modelos de linguagem. Assim, as características de desempenho do subsistema de armazenamento, particularmente no tratamento de grandes gravações sequenciais e na manutenção de alta largura de banda consistente, são considerações cruciais no projeto da infraestrutura de treinamento LLM.
Para este relatório, queríamos avaliar o desempenho do SSD para pontos de verificação de IA, avaliando os benefícios dos SSDs Gen5 mais recentes quando a velocidade do ponto de verificação é crítica, em comparação com os maiores SSDs QLC do mercado, que podem armazenar um grande número de pontos de verificação, caso isso seja mais benéfico para o modelo que está sendo treinado.
Desempenho do ponto de verificação – Benchmarking com DLIO
Para avaliar o desempenho real do SSD Solidigm em ambientes de treinamento de IA, utilizamos o Ferramenta de benchmark de entrada/saída de dados e aprendizagem (DLIO). Desenvolvido pelo Argonne National Laboratory, o DLIO é projetado especificamente para testar padrões de E/S em cargas de trabalho de aprendizado profundo. Ele fornece insights sobre como os sistemas de armazenamento lidam com pontos de verificação, ingestão de dados e desafios de treinamento de modelos.
Trabalhando com DLIO, buscamos medir o rendimento, a latência e a confiabilidade da unidade em cenários de checkpointing intensivos. Embora esse teste tenha sido realizado no D61.44-P5 de 5336 TB, os dados de desempenho iniciais mostraram que a versão Solidigm D5-P5336 de 122 TB oferece um perfil de desempenho semelhante. Também incluímos resultados de um D7-PS1010 baseado em TLC para mostrar as vantagens do PCIe Gen5 neste teste. Escolhemos essas duas unidades para mostrar os dois ângulos em checkpoints, um sendo o tempo de checkpoint mais rápido possível e o outro armazenando a maioria dos checkpoints em um único SSD.
A plataforma escolhida para este trabalho foi nosso Dell PowerEdge R760 executando o Ubuntu 22.04.02 LTS. Usamos o benchmark DLIO versão 2.0 do lançamento de 13 de agosto de 2024. Nossa configuração de sistema está descrita abaixo:
- 2 x Intel Xeon Gold 6430 (32 núcleos, 2.1 GHz)
- 16 x 64GB DDR5-4400
- SSD Dell BOSS de 480 GB
- Cabos seriais Gen5 JBOF
- 7.68 TB Solidigm D7-PS1010
- 61.44 TB Solidigm D5-P5336
Para garantir que nosso benchmarking refletisse cenários do mundo real, baseamos nossos testes na arquitetura do modelo LLAMA 3.1 405B, implementando checkpointing por meio de torch.save() para capturar parâmetros do modelo, estados do otimizador e estados da camada. Nossa configuração simulou um sistema de 8 GPUs, implementando uma estratégia de paralelismo híbrido com processamento paralelo de tensor de 4 vias e paralelo de pipeline de 2 vias distribuídos entre as oito GPUs. Essa configuração resultou em tamanhos de checkpoint de 1,636 GB, representativos dos requisitos modernos de treinamento de modelos de linguagem grande.
Nosso processo de teste para a carga de trabalho do ponto de verificação DLIO consistiu em preencher cada unidade com um nível de utilização semelhante. Para o Solidigm D61.44-P5 de 5336 TB, cada passagem incluiu 33 intervalos de ponto de verificação, totalizando 54 TB. O menor D7.68-PS7 de 1010 TB se encaixou confortavelmente em três intervalos de ponto de verificação, com uma pegada total de 4.9 TB. Um ponto de verificação adicional poderia caber no D7-PS1010, embora tenha trazido sua utilização um pouco mais alta do que queríamos.
A carga de trabalho do ponto de verificação DLIO produziu resultados interessantes quando comparamos o D4-P61.44 de 5 TB baseado em QLC Gen5536 com o D5-PS7.68 de 7 TB baseado em TLC Gen1010. Durante a primeira passagem, conforme as unidades enchiam, testemunhamos uma lacuna maior no desempenho entre os dois modelos de SSD. O PS5 Gen1010 mais rápido concluiu cada ponto de verificação em média em 464 segundos, em comparação com 623 segundos do P4 Gen5336. Nas passagens dois e três, a lacuna diminuiu para 579 e 587 segundos para o PS1010 e 676 e 680 segundos para o P5336.
Para empresas que buscam ter a menor lacuna possível em intervalos de checkpoint, o Gen5 PS1010 baseado em TLC oferece uma vantagem no tempo de conclusão mais rápido. Se o objetivo é reter muitos checkpoints de forma econômica, o Gen4 P5336 baseado em QLC pode fazer exatamente isso. Medimos uma diferença nos tempos médios de checkpoint de menos de 17% entre ambas as unidades durante as passagens dois e três.
Largura de banda de armazenamento GPUDirect
Enquanto o DLIO mostra o desempenho do flash em um fluxo de trabalho de IA, a carga de trabalho é totalmente baseada em gravação até que um ponto de verificação seja restaurado. Para pintar um quadro mais completo do Solidigm D7-PS1010 e D5-P5336 em cargas de trabalho de IA, incluímos medições de largura de banda de leitura usando GDSIO.
Como funciona o armazenamento direto da GPU
Tradicionalmente, quando uma GPU processa dados armazenados em uma unidade NVMe, os dados devem primeiro viajar pela CPU e pela memória do sistema antes de chegar à GPU. Esse processo introduz gargalos, pois a CPU se torna um intermediário, adicionando latência e consumindo recursos valiosos do sistema. O GPU Direct Storage elimina essa ineficiência ao permitir que a GPU acesse dados diretamente do dispositivo de armazenamento por meio do barramento PCIe. Esse caminho direto reduz a sobrecarga associada à movimentação de dados, permitindo transferências de dados mais rápidas e eficientes.
Cargas de trabalho de IA, especialmente aquelas que envolvem aprendizado profundo, são altamente intensivas em dados. Treinar grandes redes neurais requer o processamento de terabytes de dados, e qualquer atraso na transferência de dados pode levar a GPUs subutilizadas e tempos de treinamento mais longos. O GPU Direct Storage aborda esse desafio garantindo que os dados sejam entregues à GPU o mais rápido possível, minimizando o tempo ocioso e maximizando a eficiência computacional.
Assim como o teste DLIO, o objetivo é entender e caracterizar melhor as diferenças entre SSDs Gen5 de alta velocidade e unidades QLC de alta capacidade. Nem toda carga de trabalho de IA é a mesma, e cada unidade oferece vantagens distintas, dependendo da necessidade.
Matriz de configuração de teste
Testamos sistematicamente cada combinação dos seguintes parâmetros com um NVIDIA L4 em nossa plataforma de teste:
- Tamanhos de bloco: 1M, 128K, 64K, 16K, 8K
- Contagem de fios: 128, 64, 32, 16, 8, 4, 1
- Contagem de empregos: 16
- Tamanhos de lote: 16
Nossa primeira olhada foi no D5-P5336 baseado em QLC, que atingiu o máximo de 4.2 GiB/s usando um tamanho de transferência de 1 M em uma profundidade de IO de 128. O efeito dos tamanhos de bloco produziu um aumento substancial na largura de banda, passando de 8 K para 1 M. A vantagem do aumento da profundidade de IO começou a diminuir em 32, onde as cargas de trabalho começaram a se estabilizar.
Em seguida, olhamos para o Gen5 PS-1010, que pode escalar até 6.2 GiB/s em um tamanho de bloco de 1 M e uma profundidade de IO de 128. Em geral, ele superou o P4 baseado em Gen5336, com cargas de trabalho específicas demonstrando um aumento substancial. Uma área notável de melhoria veio no tamanho de bloco de 128 K, onde em uma profundidade de IO de 64 e 128, o PS1010 ofereceu o dobro da largura de banda de leitura do P5336.
É importante notar que ambos os SSDs foram testados usando o NVIDIA L4. Enquanto o Gen4 D5-P5336 está no seu limite máximo ou próximo dele, GPUs NVIDIA de modelo superior como o H100 demonstraram um desempenho maior com o D7-PS1010. A velocidade de uma unidade é o fator decisivo final para alguns clientes, enquanto outros priorizam a densidade geral. Solidigma fornece soluções para ambos, com seus Ofertas de SSD QLC e TLC.
Conclusão
À medida que a escala e a complexidade do treinamento de IA continuam a aumentar, a infraestrutura de armazenamento subjacente não deve apenas manter o ritmo, mas também definir o ritmo. Nossos testes com dois SSDs muito diferentes ilustram a importância de alinhar soluções de armazenamento com prioridades de treinamento específicas, como minimizar a latência do ponto de verificação ou maximizar a densidade do ponto de verificação para escalabilidade econômica.
Em nossa avaliação, testamos o Solidigm D5-P5336 (61.44 TB) e o D7-PS1010 (7.68 TB) sob condições realistas de treinamento de IA usando o benchmark DLIO e um extenso fluxo de trabalho de checkpointing LLM híbrido-paralelo. Capturamos métricas que refletem o desempenho de gravação do checkpoint em várias execuções conforme as unidades eram preenchidas, destacando as diferenças nos tempos de conclusão entre o D4-P5 baseado em Gen5336 QLC e o D5-PS7 baseado em Gen1010 TLC.
Enquanto o D7-PS1010 entregou as gravações de ponto de verificação mais rápidas possíveis, o D5-P5336 demonstrou vantagens de custo-efetividade e capacidade convincentes com apenas uma modesta penalidade de desempenho. Examinamos ainda mais as larguras de banda de leitura do GPU Direct Storage com GDSIO por meio de uma GPU NVIDIA L4. Descobrimos que o Solidigm D5-P5336 ofereceu até 4.2 GiB/s de largura de banda de leitura com um tamanho de transferência de 1 M, enquanto o D7-PS1010 ofereceu um aumento substancial para 6.2 GiB/s. Você veria um desempenho ainda mais forte aproveitando uma GPU ainda maior, como a NVIDIA L40s ou H100/H200.
Olhando para o futuro, a capacidade sem precedentes do SSD Solidigm D5-P5336 de 122 TB deve remodelar o treinamento e a implantação de IA. À medida que os tamanhos dos modelos e os requisitos de checkpointing continuam a aumentar, essas unidades enormes abrem portas para novos níveis de eficiência e flexibilidade, permitindo estratégias de treinamento que antes estavam fora de alcance. A liderança da Solidigm em soluções SSD de alta capacidade capacita as organizações a armazenar mais dados e checkpoints em menos unidades e ajuda a proteger suas infraestruturas contra a próxima onda de complexidade de IA.
Este relatório é patrocinado pela Solidigm. Todas as visões e opiniões expressas neste relatório são baseadas em nossa visão imparcial do(s) produto(s) em consideração.
Envolva-se com a StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS feed