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 conhecimento é uma técnica de aprendizagem automática (ML) em que um modelo mais pequeno e compacto (o "aluno") é treinado para replicar o comportamento de um modelo maior e mais complexo (o "professor"). O principal objetivo é transferir o "conhecimento" aprendido pelo modelo grande do professor para o modelo mais pequeno do aluno, permitindo que o aluno atinja um desempenho comparável, sendo significativamente mais eficiente em termos de tamanho e custo computacional. Isto é particularmente útil para a implementação de modelos em ambientes com recursos limitados, como dispositivos móveis ou sistemas de IA de ponta.

Como funciona a destilação do conhecimento

A ideia central por detrás da Destilação de Conhecimento envolve o treino do modelo do aluno não só com base nas etiquetas da verdade terrestre (alvos difíceis) utilizadas para treinar o modelo original do professor, mas também com base nos resultados gerados pelo próprio modelo do professor. Muitas vezes, esses resultados do professor são "alvos suaves" - probabilidades de classe ou distribuições produzidas pela camada final do professor (por exemplo, após uma função Softmax ). Esses alvos suaves contêm informações mais ricas sobre as relações entre classes diferentes do que apenas os rótulos rígidos. Por exemplo, um modelo de professor pode prever uma imagem de um camião como sendo 70% camião, 25% carro e 5% autocarro, fornecendo informações diferenciadas com as quais o aluno pode aprender. O objetivo de formação do modelo do aluno combina normalmente uma função de perda padrão (comparando as previsões do aluno com a verdade terrestre) com uma perda de destilação (comparando as previsões/alvos suaves do aluno com os alvos suaves do professor). Este processo, inicialmente popularizado num artigo de Hinton, Vinyals e Dean, orienta efetivamente o aluno para imitar o processo de raciocínio do professor.

Benefícios e aplicações

A destilação do conhecimento oferece várias vantagens importantes:

  • Compressão de modelos: Permite a criação de modelos leves que requerem menos memória e armazenamento, crucial para a implantação de modelos em dispositivos com capacidade limitada.
  • Inferência mais rápida: Os modelos mais pequenos geralmente realizam a inferência muito mais rapidamente, permitindo capacidades de inferência em tempo real para aplicações como a deteção de objectos utilizando Ultralytics YOLO em plataformas de ponta. Explora opções para implementar aplicações de visão computacional em dispositivos de IA de ponta.
  • Custo computacional reduzido: Treinar e executar modelos mais pequenos consome menos energia e recursos computacionais.
  • Transferência de conhecimentos: Facilita a transferência de conhecimentos complexos adquiridos por grandes modelos, potencialmente treinados em conjuntos de dados maciços como o ImageNet, para arquitecturas mais pequenas.

As aplicações no mundo real incluem:

  1. Computação de ponta: Implementar modelos sofisticados de visão computacional em dispositivos como smartphones ou sistemas incorporados para tarefas como a classificação ou deteção de imagens, em que a potência computacional e a duração da bateria são limitações. Um modelo grande e preciso como o YOLOv8x pode funcionar como um professor para um aluno mais pequeno como o YOLOv8n.
  2. Acelera as tarefas complexas: Tal como salientado no YOLO Vision 2023, os grandes Foundation Models podem ser utilizados para tarefas exigentes, como a anotação detalhada de dados, e o seu conhecimento pode ser destilado em modelos mais pequenos e mais rápidos para uma implementação eficiente, acelerando significativamente processos como a rotulagem de dados.
  3. Processamento de linguagem natural (NLP): Compressão de grandes modelos linguísticos como o BERT ou o GPT em versões mais pequenas para uma análise de texto ou tradução mais rápida nos dispositivos dos utilizadores.

Conceitos relacionados

A destilação de conhecimentos está relacionada com outras técnicas de otimização de modelos, mas difere na sua abordagem:

  • Poda de modelo: Reduz o tamanho do modelo removendo parâmetros redundantes (pesos ou conexões) de uma rede já treinada. O KD treina uma rede separada e menor.
  • Quantização do modelo: Reduz o tamanho do modelo e acelera a computação usando formatos numéricos de baixa precisão (por exemplo, INT8 em vez de FP32) para pesos e ativações. Não altera a arquitetura do modelo em si, ao contrário do KD. Estas técnicas(otimização de modelos) são frequentemente complementares e podem ser utilizadas em conjunto.
  • Aprendizagem por transferência: Um conceito mais amplo em que o conhecimento adquirido numa tarefa é aplicado a uma tarefa diferente mas relacionada. O KD pode ser visto como uma forma específica de aprendizagem por transferência centrada na transferência de conhecimentos de um modelo grande para um modelo mais pequeno para a mesma tarefa, principalmente para compressão.
Lê tudo