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 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.
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.
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)
Para compreender a meia-precisão, é necessário distingui-la das técnicas de otimização relacionadas encontradas no glossário:
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.