O treinamento distribuído em hardware de consumo é inerentemente caótico: os nós travam, as conexões ficam lentas e as máquinas saem do ar no meio do treinamento. O verdadeiro desafio de engenharia não é evitar falhas — isso é impossível —, mas sim como a sua estrutura lida com elas. Ela cria pontos de verificação com frequência? Consegue redistribuir as cargas de trabalho em tempo real? Tem uma lógica inteligente de novas tentativas ou simplesmente interrompe todo o trabalho? A maioria das estruturas pressupõe uma confiabilidade de nível de datacenter. Sistemas distribuídos criados para GPUs de consumo precisam ter tolerância a falhas integrada à arquitetura principal, e não adicionada às pressas como uma ideia tardia. A velocidade de recuperação de falhas e a capacidade de continuar o trabalho sem perda de dados são as métricas que realmente importam nesse caso.
