Otimiza o desempenho da IA com a quantização de modelos. Reduz o tamanho, aumenta a velocidade e melhora a eficiência energética para implantações no mundo real.
A quantização de modelos é uma técnica crucial de otimização de modelos utilizada na aprendizagem profunda (DL) para reduzir os custos computacionais e de memória dos modelos. Consegue isso convertendo a precisão numérica dos parâmetros do modelo(pesos e ativações) de representações de maior precisão, normalmente números de ponto flutuante de 32 bits(FP32), para formatos de menor precisão, como ponto flutuante de 16 bits (FP16), inteiros de 8 bits (INT8) ou até mesmo representações de bits inferiores. Este processo torna os modelos mais pequenos, mais rápidos e mais eficientes em termos energéticos, o que é particularmente vital para a implementação de modelos complexos em ambientes com recursos limitados, como dispositivos móveis ou sistemas de IA de ponta.
Na sua essência, a quantização do modelo envolve o mapeamento da gama de valores encontrados em tensores de alta precisão (como pesos e activações em FP32) para uma gama mais pequena representável por tipos de dados de baixa precisão (como INT8). Esta conversão reduz significativamente a memória necessária para armazenar o modelo e a potência computacional necessária para a inferência, uma vez que as operações em números de menor precisão (especialmente inteiros) são frequentemente mais rápidas e mais eficientes em termos energéticos em hardware moderno como GPUs e aceleradores especializados como TPUs.
A aplicação da quantização a modelos de aprendizagem profunda oferece várias vantagens importantes:
Existem duas abordagens principais para a quantização de modelos:
A quantização de modelos é amplamente utilizada em vários domínios:
Embora altamente benéfica, a quantização pode afetar potencialmente a precisão do modelo. Após a quantização, é essencial uma avaliação cuidadosa utilizando métricas de desempenho relevantes. Técnicas como a utilização de arquitecturas de modelos favoráveis à quantização (por exemplo, a substituição de determinadas funções de ativação, como se vê no YOLO) podem ajudar a atenuar a degradação da precisão, tal como discutido na implementação de modelos YOLOv8 quantizados.
A quantização de modelos é uma das várias técnicas de otimização de modelos. Outras incluem:
Ultralytics suporta a exportação de modelos para vários formatos que facilitam a quantização, incluindo ONNX, OpenVINO, TensorRT, CoreMLe TFLite, permitindo uma implementação eficiente em diversas plataformas de hardware. Podes gerir e implementar os teus modelos, incluindo versões quantizadas, utilizando ferramentas como o Ultralytics HUB.