Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Precisão Semi-Precisão

Descubra como a precisão semi-precisão (FP16) acelera a IA com computação mais rápida, uso reduzido de memória e implantação eficiente de modelos.

A precisão pela metade, também conhecida como FP16, é um formato de número de ponto flutuante que usa 16 bits de memória para representar um número, em contraste com os formatos mais comuns de precisão simples de 32 bits (FP32) ou precisão dupla de 64 bits (FP64). No contexto do aprendizado profundo, usar precisão pela metade reduz significativamente a pegada de memória e os requisitos computacionais de um modelo. Essa compensação tem o custo de um intervalo numérico e precisão reduzidos. No entanto, técnicas modernas, particularmente o treinamento de precisão mista, tornaram o FP16 uma pedra angular do aprendizado de máquina (ML) eficiente, permitindo treinamento e inferência mais rápidos com impacto mínimo na precisão do modelo.

Como funciona a precisão de meia-palavra

Mudar de FP32 para FP16 reduz pela metade a memória necessária para armazenar os pesos e ativações do modelo. Isso permite modelos maiores, tamanhos de lote maiores ou treinamento em GPUs com menos memória. Além disso, as GPUs modernas, como aquelas com NVIDIA Tensor Cores, são projetadas especificamente para realizar operações de matriz de 16 bits em velocidades muito mais altas do que operações de 32 bits.

O principal desafio com o FP16 é a sua gama numérica limitada, que pode levar a problemas como gradientes evanescentes durante o treino. Para contrariar isto, a precisão mista é quase sempre implementada usando uma abordagem de precisão mista. Esta estratégia envolve a realização da maioria dos cálculos em FP16 para velocidade, mas usando estrategicamente o FP32 para operações críticas, como atualizações de peso e certos cálculos de função de perda, para manter a estabilidade numérica. Frameworks de aprendizagem profunda como o PyTorch e o TensorFlow oferecem suporte integrado para treino automático de precisão mista.

Aplicações e Exemplos

A meia precisão, principalmente por meio de técnicas de precisão mista, é amplamente utilizada:

  1. Aceleração do Treinamento de Modelos: O treinamento de grandes modelos de aprendizado profundo, como os de classificação de imagens ou processamento de linguagem natural (PNL), pode ser significativamente acelerado usando precisão mista, reduzindo o tempo e os custos de treinamento. Plataformas como o Ultralytics HUB geralmente utilizam essas otimizações durante as sessões de treinamento na nuvem.
  2. Otimização da Inferência de Detecção de Objetos: Modelos como o Ultralytics YOLO11 podem ser exportados para formatos como ONNX ou TensorRT com precisão FP16 para uma inferência em tempo real mais rápida. Isso é crucial para aplicações que necessitam de alto rendimento, como um sistema de segurança que analisa vários feeds de vídeo ou controle de qualidade em uma linha de produção de alta velocidade.
  3. Implantação em Dispositivos com Recursos Limitados: A menor pegada de memória e o custo computacional dos modelos FP16 os tornam adequados para implantação em plataformas edge AI como NVIDIA Jetson ou dispositivos móveis usando frameworks como TensorFlow Lite ou Core ML da Apple.
  4. Treino de Grandes Modelos de Linguagem (LLMs): O tamanho enorme de modelos como o GPT-3 e outros modelos de fundação exige o uso de formatos de 16 bits para ajustar os modelos na memória e concluir o treino dentro de prazos razoáveis.

Precisão pela Metade vs. Outros Formatos

  • Bfloat16 (BF16): Um formato alternativo de 16 bits desenvolvido pelo Google, o Bfloat16 aloca mais bits para o expoente e menos para a mantissa em comparação com o FP16. Isso lhe confere a mesma faixa dinâmica do FP32, tornando-o mais resistente ao underflow e overflow, mas ao custo de menor precisão. É amplamente utilizado nos TPUs do Google. Você pode ler mais sobre isso no Google Cloud AI Blog.
  • Quantização de Modelo: Embora ambas sejam técnicas de otimização de modelo, a quantização de modelo normalmente converte pesos de ponto flutuante (FP32 ou FP16) para formatos inteiros de bit inferior, mais comumente inteiros de 8 bits (INT8). Isso pode fornecer acelerações ainda maiores, especialmente em CPUs e certos aceleradores, mas geralmente requer um processo de calibração mais cuidadoso, como o Treinamento Sensível à Quantização (QAT), para evitar uma queda significativa no desempenho do modelo.
  • Precisão Simples (FP32): Este é o formato padrão na maioria dos frameworks de deep learning. Ele oferece alta precisão e uma ampla faixa dinâmica, tornando-o robusto para o treinamento. No entanto, é mais lento e consome mais memória do que a meia precisão, tornando-o menos ideal para implantar modelos grandes ou para aplicações que exigem velocidade máxima. As compensações entre esses formatos são uma consideração fundamental, como mostrado em várias comparações de modelos.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora
Link copiado para a área de transferência