FastCheck: Método rápido para salvamento e recuperação de checkpoints no treinamento de redes neurais profundas baseado em transferência paralela e compressão customizada

Yun TENG ,  

Dawei SUN ,  

Shipeng HU ,  

Zhiyue LI ,  

Guangyan ZHANG ,  

Haidong TIAN ,  

Rui CHANG ,  

Abstract

O treinamento em larga escala de redes neurais profundas frequentemente enfrenta problemas de falhas de hardware e software, e em caso de falhas críticas, geralmente é necessário reiniciar toda a máquina, o que prolonga significativamente o tempo de treinamento. Algumas soluções existentes para salvar e recuperar checkpoints não conseguem lidar com tais falhas críticas, e algumas são limitadas pela largura de banda de entrada/saída, resultando em velocidades lentas de salvamento e recuperação. Propomos o framework FastCheck, que acelera os processos de salvamento e recuperação de checkpoints por meio de transferência paralela e técnicas de compressão customizadas. Primeiramente, o FastCheck fragmenta os dados de checkpoint e utiliza a execução paralela em múltiplos nós para salvar e recuperar checkpoints; em seguida, reduz ainda mais o tamanho e o custo dos checkpoints por meio de compressão incremental de pesos e compressão de índices de momentum; por fim, emprega um protocolo de consenso leve para rastrear com precisão o estado de saúde dos nós, evitando a transmissão de dados para nós com falhas. Implementamos o FastCheck no PyTorch e o avaliamos em vários modelos de redes neurais profundas, comparando-o com duas soluções de referência. Os resultados experimentais mostram que o FastCheck reduz o tempo de salvamento de checkpoints em até 78,42%, o tempo de recuperação em até 77,41% e melhora continuamente a eficiência do sistema em diferentes fases do treinamento.

Keywords

modelo de rede neural profunda; falha crítica; transferência paralela; compressão de dados; salvamento e recuperação de checkpoints

READ MORE