Optimiza a IA com precisão mista para uma aprendizagem profunda mais rápida e eficiente. Reduz a memória, aumenta a velocidade e poupa energia sem sacrificar a precisão.
A precisão mista é uma técnica de aprendizagem automática que utiliza tipos de vírgula flutuante de 16 bits e 32 bits em cálculos para melhorar a eficiência do treino de modelos de aprendizagem profunda. Ao tirar partido dos pontos fortes de cada tipo de precisão, a precisão mista permite um cálculo mais rápido e uma utilização reduzida da memória sem sacrificar significativamente a precisão do modelo.
A principal motivação para utilizar a precisão mista é conseguir processos de formação e inferência mais rápidos. Os modelos de aprendizagem profunda, especialmente as grandes redes neurais, requerem recursos computacionais extensos. A precisão mista pode:
Reduz o uso de memória: Armazenar dados como floats de 16 bits requer metade do espaço em comparação com floats de 32 bits. Isso pode reduzir significativamente o espaço ocupado pela memória, permitindo que lotes maiores ou modelos mais complexos sejam treinados no mesmo hardware.
Acelera a computação: Muitas GPUs modernas, como a NVIDIA's Tensor Cores, são optimizadas para operações de 16 bits. A precisão mista pode assim obter cálculos mais rápidos tirando partido desta otimização de hardware.
Eficiência energética: A utilização de precisão mista também pode levar a um menor consumo de energia, o que é benéfico tanto por razões ambientais como pela longevidade do dispositivo.
Na prática, a precisão mista envolve a manutenção dos pesos de um modelo na precisão total de 32 bits para manter a precisão do modelo, enquanto converte certos aspectos computacionais, como activações e gradientes, para a precisão de 16 bits. O escalonamento de perdas é normalmente utilizado para evitar subfluxos que possam ocorrer devido à precisão reduzida.
A precisão mista é altamente relevante em vários domínios que envolvem grandes modelos e conjuntos de dados, como o processamento de linguagem natural e a visão computacional. Por exemplo:
Processamento de linguagem natural (PNL): Os modelos de linguagem de grande dimensão, como as arquitecturas GPT-3 e Transformer, podem beneficiar significativamente da precisão mista, permitindo uma formação mais eficiente sem comprometer a elevada precisão necessária para a compreensão e geração de linguagem.
Visão computacional: Em aplicações como a deteção de objectos com Ultralytics YOLOa precisão mista pode acelerar a fase de inferência, crucial em cenários de processamento em tempo real, como veículos autónomos ou sistemas de vigilância.
A precisão mista aparece frequentemente ao lado de termos como quantização de modelos e poda de modelos. Embora os três tenham como objetivo otimizar os modelos, as suas abordagens são diferentes:
Quantização de modelos: Converte os pesos e cálculos do modelo em representações de menor largura de bits (por exemplo, 8 bits) para reduzir ainda mais a memória e o cálculo, geralmente com algum impacto na precisão.
Poda de modelos: Envolve a remoção de partes redundantes de uma rede neural para reduzir seu tamanho e melhorar a velocidade, muitas vezes exigindo retreinamento para recuperar a precisão.
Veículos autónomos: Nos veículos autónomos, a precisão mista permite cálculos mais rápidos em aplicações baseadas na visão. Por exemplo, a IA na condução autónoma tira partido da precisão mista para lidar eficazmente com percepções ambientais complexas, melhorando assim a segurança e os processos de tomada de decisão.
Segmentação de imagens nos cuidados de saúde: A precisão mista também é utilizada em aplicações de IA nos cuidados de saúde para tarefas de imagiologia médica, como tomografias computorizadas e ressonâncias magnéticas. Permite o processamento rápido de grandes conjuntos de dados, ajudando no diagnóstico e no planeamento de tratamentos em tempo real.
A implementação da precisão mista exige alterações nos fluxos de trabalho de formação de modelos, muitas vezes através da utilização de bibliotecas e ferramentas concebidas para o efeito. Estruturas como TensorFlow e PyTorch oferecem suporte integrado para a precisão mista, facilitando a sua integração em projectos existentes.
Para obter um guia prático sobre a implementação de modelos com optimizações como a precisão mista, consulta o nosso Ultralytics HUB para obteres ferramentas e recursos adaptados ao desenvolvimento de modelos sem problemas.