Paralelismo tensorial - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Paralelismo tensorial

O paralelismo de tensores é um tipo de paralelismo de modelo no qual pesos, gradientes e estados do otimizador específicos do modelo são divididos entre dispositivos. Em contraste com o paralelismo de tubulação, que mantém os pesos individuais intactos, mas divide o conjunto de pesos, o paralelismo tensorial divide os pesos individuais. Isso normalmente envolve computação distribuída de operações, módulos ou camadas específicas do modelo.

O paralelismo do tensor é necessário nos casos em que um único parâmetro consome a maior parte da GPU memória (como grandes tabelas de incorporação com um grande tamanho de vocabulário ou uma grande camada softmax com um grande número de classes). Nesse caso, tratar esse grande tensor ou operação como uma unidade atômica é ineficiente e impede o equilíbrio da carga de memória.

O paralelismo tensorial também é útil para modelos extremamente grandes nos quais uma tubulação pura simplesmente não é suficiente. Por exemplo, com modelos GPT em escala -3 que exigem particionamento em dezenas de instâncias, uma tubulação de microlote pura é ineficiente porque a profundidade da tubulação se torna muito alta e a sobrecarga se torna proibitivamente grande.

nota

O paralelismo de tensores está disponível PyTorch na biblioteca de paralelismo de SageMaker modelos v1.6.0 e versões posteriores.