Deep Learning Academy · Aula

Precisão Mista com autocast e GradScaler

Cálculos em meia precisão para grandes ganhos de velocidade

Aula 1 de 413 etapas

Precisão Mista com autocast e GradScaler é uma aula grátis de Deep Learning Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Deep Learning Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Deep Learning Academy inclui 4 aulas no total.

O que significa precisão mista

Por padrão, o PyTorch faz cálculos com números de ponto flutuante de 32 bits. A precisão mista executa muitas operações em 16 bits, o que é mais rápido e usa muito menos memória.

Por que a meia precisão é mais rápida

As GPUs modernas têm núcleos tensoriais especialmente ajustados para cálculos de 16 bits. Alimentá-los com dados de meia precisão pode acelerar o treinamento em duas ou três vezes, com pouca perda de precisão.

A desvantagem dos 16 bits

A meia precisão tem um intervalo muito pequeno, então valores muito baixos de gradiente podem ser arredondados para zero. Esse subfluxo silencioso interrompe o aprendizado se você não fizer nada a respeito.

Conheça autocast

Envolva sua passagem direta em autocast, e o PyTorch escolherá automaticamente uma precisão segura para cada operação. Você nunca precisa converter tensores manualmente.

with torch.autocast(device_type='cuda'):
    out = model(x)

O que autocast envolve

Coloque apenas a passagem direta e a perda dentro de autocast. A chamada backward fica fora do bloco, onde o PyTorch cuida da precisão para você.

with torch.autocast(device_type='cuda'):
    out = model(x)
    loss = loss_fn(out, y)

Conheça GradScaler

Um GradScaler corrige o subfluxo multiplicando a perda por um fator grande antes de backward, para que os gradientes pequenos continuem grandes o suficiente para sobreviver em 16 bits.

scaler = torch.cuda.amp.GradScaler()

Escale a perda

Em vez de loss.backward(), chame scaler.scale(loss).backward(). O scaler aumenta primeiro a perda, para que os gradientes resultantes não desapareçam.

scaler.scale(loss).backward()

Avance usando o scaler

Execute o otimizador com scaler.step, que reduz discretamente os gradientes escalados ao tamanho normal antes de aplicar a atualização.

scaler.step(optimizer)

Atualize o fator de escala

Finalize cada step com scaler.update(). Ele aumenta a escala quando tudo está estável e a reduz caso detecte um estouro.

scaler.update()

O step completo de AMP

Juntas, essas chamadas formam uma iteração limpa de AMP: zerar os gradientes, passagem direta com autocast, backward escalado, step do scaler e, depois, atualização.

optimizer.zero_grad()
with torch.autocast(device_type='cuda'):
    loss = loss_fn(model(x), y)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()

Quando usar isso

A precisão mista é excelente em uma GPU NVIDIA recente com lotes grandes. Em uma CPU comum, ela oferece pouco benefício; portanto, reserve-a para treinamentos reais.

Verificação rápida

Você ativou autocast, mas os gradientes pequenos continuam desaparecendo. Qual ferramenta corrige isso?

Recapitulação

Envolva a passagem direta em autocast para fazer cálculos rápidos em 16 bits e use GradScaler para escalar, avançar e atualizar, de modo que os gradientes pequenos sobrevivam. ⚡

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Precisão Mista com autocast e GradScaler” é grátis?

Sim — o texto completo de “Precisão Mista com autocast e GradScaler” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Deep Learning Academy, atualize para CoddyKit PRO. O curso de Deep Learning Academy inclui 4 aulas no total.

O que vou aprender em “Precisão Mista com autocast e GradScaler”?

Cálculos em meia precisão para grandes ganhos de velocidade Você pratica Deep Learning Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Deep Learning Academy?

Nenhuma experiência prévia é necessária. Deep Learning Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Precisão Mista com autocast e GradScaler”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Deep Learning Academy?

Sim. Cada aula de Deep Learning Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Precisão Mista com autocast e GradScaler
  2. Acumulação de Gradientes para Lotes Grandes
  3. Analise o Gargalo
  4. Reduza o Uso de Memória da GPU
← Voltar para Deep Learning Academy