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 meia-precisão é um formato de número de computador de vírgula flutuante binário que ocupa 16 bits na memória do computador, normalmente referido como FP16. No domínio em rápida evolução da aprendizagem profunda, este formato serve como uma poderosa alternativa ao formato padrão de precisão simples de 32 bits (FP32) tradicionalmente utilizado para cálculos numéricos. Ao Ao reduzir o número de bits necessários para representar cada número, a meia-precisão reduz significativamente a pressão da largura de banda da memória de largura de banda e os requisitos de armazenamento para pesos e activações do modelo. Esta eficiência permite aos permite aos investigadores e engenheiros treinar redes redes neurais maiores ou implementar modelos em hardware com com recursos limitados sem comprometer substancialmente a precisão das previsões.

A mecânica da meia precisão

A norma IEEE 754 define a estrutura dos números de vírgula flutuante onde FP16 atribui 1 bit para o sinal, 5 bits para o expoente e 10 bits para a fração (mantissa). Esta representação compacta contrasta com a FP32, que utiliza 8 bits para o expoente e 23 para a fração. A principal vantagem da utilização do FP16 em visão por computador e noutras tarefas de IA é a aceleração das operações matemáticas. Os aceleradores de hardware modernos, como os NVIDIA Tensor Cores, são especificamente projectados para efetuar multiplicações de matrizes em meia-precisão a velocidades significativamente mais elevadas do que as operações de precisão simples.

No entanto, o número reduzido de bits implica uma gama dinâmica mais pequena e uma precisão inferior. Este facto pode conduzir potencialmente a instabilidade numérica, como como gradientes de fuga, em que os números se tornam demasiado pequenos demais para que o computador os represente de forma distinta de zero. Para atenuar este problema, os programadores utilizam frequentemente estratégias de precisão mista, que alternam dinamicamente que alternam dinamicamente entre FP16 e FP32 durante o treino para manter a estabilidade enquanto capitalizam a velocidade da meia-precisão.

Aplicações do mundo real em IA

A meia-precisão é omnipresente nos modernos fluxos de trabalho de IA, particularmente em cenários que exigem um elevado rendimento ou uma baixa latência.

  1. Implantação de IA de borda: Ao implementar modelos para dispositivos de IA de ponta, como drones, câmaras inteligentes ou telemóveis, a memória e a duração da bateria são restrições importantes. A conversão de um modelo como YOLO11 para FP16 reduz o tamanho do modelo em cerca de 50%, permitindo-lhe caber na RAM limitada de sistemas incorporados como o NVIDIA Jetson ou Raspberry Pi. Isso facilita uma latência de latência de inferência mais rápida, permitindo tempo real em aplicações como a navegação autónoma.
  2. Formação de modelos em grande escala: Treinar arquitecturas maciças, tais como grandes modelos de linguagem (LLMs) ou modelos de visão de base, requer o processamento de terabytes de dados. A utilização do FP16 permite que os centros de dados dupliquem o tamanho do lote cabe na memóriaGPU , reduzindo drasticamente os ciclos de treinamento. Esta eficiência é crítica para a rápida experimentação e iteração em arquitecturas geração, como a futura YOLO26.

Implementação de meia precisão com Ultralytics

Estruturas como PyTorch e bibliotecas como ultralytics tornam simples a utilização da meia-precisão. O exemplo seguinte demonstra como exportar um modelo YOLO11 para o TensorRT usando FP16, uma prática prática comum para otimizar a velocidade de inferência nas GPUs NVIDIA .

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT engine with half-precision enabled
# The 'half=True' argument ensures weights are converted to FP16
model.export(format="engine", half=True)

Distinção de termos relacionados

Para compreender a meia-precisão, é necessário distingui-la das técnicas de otimização relacionadas encontradas no glossário:

  • Meia-precisão vs. Precisão mista: Enquanto a meia-precisão se refere especificamente ao formato de dados de 16 bits, a precisão mista é uma técnica de formação que combina FP16 para computação pesada e FP32 para acumulações sensíveis (como actualizações de peso) para evitar a perda de informação.
  • Meia precisão vs. Quantização de modelos: A meia-precisão mantém a representação de vírgula flutuante, reduzindo apenas a largura dos bits. A quantização normalmente converte os pesos para formatos inteiros, como INT8 (inteiros de 8 bits), o que oferece uma compressão e velocidade ainda maiores mas requer técnicas de calibração cuidadosas como treino sensível à quantização (QAT) para evitar a degradação da precisão.
  • Meia precisão vs. Bfloat16: Bfloat16 (Brain Floating Point) é um formato alternativo de formato alternativo de 16 bits usado frequentemente em TPUs. Ele preserva o expoente de 8 bits do FP32 para manter a gama dinâmica, mas sacrifica a precisão na fração, tornando-o geralmente mais estável para treino do que o IEEE FP16 padrão, sem necessidade de escalonamento de perdas.

Ao dominar esses formatos, os desenvolvedores podem garantir que suas estratégias de implantação de modelos sejam otimizadas para os requisitos específicos de hardware e desempenho dos seus projectos.

Junte-se à comunidade Ultralytics

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

Junte-se agora