Computação, memória e desempenho

2 min

Objetivo: raciocinar sobre o custo antes de aumentar o modelo.

O tempo não depende apenas do número de parâmetros: tamanho das ativações, comprimento de sequência, batch, operações e transferências de memória também contam. Durante o treinamento, é preciso armazenar pesos, gradientes, estados do otimizador e ativações necessárias ao backward.

GPU útil, GPU ociosa

Uma GPU acelera os cálculos paralelos suficientemente grandes. Batches pequenos, um carregamento de dados lento ou transferências CPU↔GPU repetidas podem deixá-la inativa.

python
loader = DataLoader(dataset, batch_size=128, shuffle=True,
                    num_workers=4, pin_memory=True)

Meça antes de otimizar. No Windows, o número ótimo de workers depende da máquina e o ponto de entrada deve ser protegido por if __name__ == "__main__":.

Pré-visualização — o resto da lição está reservado aos inscritos.

Já se inscreveu com um código?

O seu acesso está ligado à sua conta, não a esta ligação. Inicie sessão com o mesmo e-mail usado na aula: o seu curso está à espera, não precisa de introduzir o código de novo.

Iniciar sessãoAinda não tem conta? Criar uma
Esta lição faz parte do módulo «Do modelo ao sistema»

Os primeiros módulos do curso são de acesso livre. Para o resto há três possibilidades: comprar este curso de uma vez por todas, subscrever, ou introduzir o código entregue na aula.

Subscrever — 19 $ US/mêsVoltar ao plano
É estudante do curso?

O código fica ligado à sua conta: inicie sessão ou crie uma conta e ele será aplicado automaticamente ao regressar.

Ainda não tem conta? Criar uma