Glossário

Destilação de conhecimentos

Descobre como a Destilação de Conhecimento comprime os modelos de IA para uma inferência mais rápida, maior precisão e eficiência de implementação de dispositivos periféricos.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A destilação de conhecimentos é uma técnica de compressão de modelos utilizada na aprendizagem automática para transferir conhecimentos de um modelo grande e complexo (o "professor") para um modelo mais pequeno e mais simples (o "aluno"). O objetivo é treinar o modelo do aluno para obter um desempenho comparável ao do modelo do professor, embora o aluno tenha menos parâmetros e seja computacionalmente menos dispendioso. Isto é particularmente útil para implementar modelos em dispositivos com recursos limitados ou em aplicações que requerem tempos de inferência rápidos.

Como funciona a destilação do conhecimento

A ideia central da destilação de conhecimentos consiste em utilizar os resultados suaves (probabilidades) do modelo do professor como alvos de treino para o modelo do aluno, para além ou em vez dos rótulos rígidos (verdade fundamental). Os modelos do professor, muitas vezes pré-treinados em vastos conjuntos de dados, podem captar relações complexas nos dados e generalizar bem. Ao aprender com estes alvos suaves, o modelo do aluno pode aprender informações mais ricas do que se aprendesse apenas com rótulos rígidos. Este processo envolve muitas vezes a utilização de uma "temperatura" mais elevada na função softmax durante a inferência do professor para suavizar a distribuição de probabilidades, fornecendo ao aluno informações mais matizadas.

Benefícios e aplicações

A destilação de conhecimentos oferece várias vantagens, o que a torna uma técnica valiosa em várias aplicações de IA:

  • Compressão de modelos: Permite a criação de modelos mais pequenos e mais eficientes, adequados à implementação em dispositivos de ponta com recursos computacionais limitados, como telemóveis ou sistemas incorporados. Isto é crucial para aplicações como a deteção de objectos em tempo real em dispositivos como o Raspberry Pi ou o NVIDIA Jetson.
  • Generalização melhorada: Os modelos de alunos treinados com a Destilação de Conhecimento geralmente apresentam melhor desempenho de generalização do que os modelos treinados apenas com rótulos rígidos. Eles podem aprender com as representações aprendidas pelo professor, levando a uma maior precisão e robustez.
  • Inferência mais rápida: Modelos mais pequenos conduzem naturalmente a tempos de inferência mais rápidos, o que é essencial para aplicações em tempo real, como condução autónoma, automação de processos robóticos (RPA) e sistemas de segurança.

As aplicações reais da Destilação do Conhecimento são muito comuns:

  • Processamento de linguagem natural (PNL): Na PNL, a destilação de conhecimento pode ser usada para comprimir modelos de linguagem grandes, como o GPT-3 ou o BERT, em modelos menores e mais eficientes para implantação móvel ou de borda. Por exemplo, um modelo destilado pode alimentar a análise de sentimentos em dispositivos móveis sem exigir conetividade com a nuvem.
  • Visão por computador: Ultralytics YOLOv8 ou modelos semelhantes de deteção de objectos podem ser destilados para serem implementados em aplicações em tempo real em dispositivos periféricos. Por exemplo, nas cidades inteligentes, os modelos destilados podem ser utilizados para uma monitorização e gestão eficientes do tráfego, funcionando diretamente em dispositivos de computação periféricos nos cruzamentos de trânsito. Outra aplicação é a análise de imagens médicas, em que os modelos destilados podem fornecer diagnósticos preliminares mais rápidos no local de atendimento.

Destilação de conhecimento vs. poda de modelos e quantização

Embora a Destilação de conhecimento seja uma técnica de compressão de modelos, é diferente de outros métodos como a poda e a quantificação de modelos. A poda de modelos reduz o tamanho de um modelo removendo conexões menos importantes (pesos), enquanto a quantização de modelos reduz a precisão dos pesos do modelo para usar menos memória e computação. A destilação de conhecimento, por outro lado, treina um modelo novo e menor a partir do zero usando o conhecimento de um modelo maior. Estas técnicas também podem ser combinadas; por exemplo, um modelo destilado pode ser ainda mais podado ou quantizado para obter uma compressão e eficiência ainda maiores. Ferramentas como o Model Compression Toolkit (MCT) da Sony e o OpenVINO da Sony, podem ser utilizadas para otimizar ainda mais os modelos após a destilação para a implementação de ponta.

Lê tudo