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 imitar o comportamento de um modelo maior e mais complexo (o "professor"). O objetivo principal é transferir o "conhecimento" aprendido pelo modelo do professor para o modelo do aluno, permitindo que o aluno atinja um desempenho comparável, mas com requisitos computacionais significativamente mais baixos, como tamanho reduzido e latência de inferência mais rápida. Isto torna os modelos complexos de aprendizagem profunda (DL) práticos para implantação em ambientes com recursos limitados, como dispositivos móveis ou plataformas de computação de ponta. O conceito foi popularizado por Geoffrey Hinton e colegas no seu artigo"Distilling the Knowledge in a Neural Network".

Como funciona a destilação do conhecimento

O processo envolve normalmente um modelo de professor pré-treinado, que pode ser um único modelo poderoso ou um conjunto de modelos conhecidos pela sua elevada precisão. O modelo do aluno, normalmente com menos parâmetros ou uma arquitetura menos profunda (por exemplo, uma rede neural convolucional (CNN) mais pequena), é então treinado utilizando os resultados do modelo do professor como orientação. Em vez de utilizar apenas os rótulos rígidos (a verdade fundamental) dos dados de treino, o aluno aprende frequentemente com os "alvos suaves" do professor - as distribuições de probabilidade completas previstas pelo professor em todas as classes. Estes alvos suaves contêm informações mais ricas sobre como o modelo do professor generaliza e representa as semelhanças entre as classes. Uma função de perda especial, muitas vezes chamada de perda de destilação, é usada para minimizar a diferença entre as previsões do aluno e os alvos suaves do professor, às vezes combinada com uma perda padrão calculada usando os rótulos reais.

Benefícios e importância

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

  • Compressão de modelos: Cria modelos mais pequenos que requerem menos espaço de armazenamento.
  • Inferência mais rápida: A redução da complexidade do modelo leva a previsões mais rápidas, cruciais para aplicações de inferência em tempo real.
  • Eficiência energética: Os modelos mais pequenos consomem menos energia, o que é importante para dispositivos alimentados por bateria e práticas de IA sustentáveis. Vê as diretrizes de Saúde e Segurança AmbientalUltralytics .
  • Implantação em dispositivos de borda: Permite poderosas capacidades de IA em hardware com memória e poder de processamento limitados, como o Raspberry Pi ou oNVIDIA Jetson.
  • Melhoria potencial do desempenho: Por vezes, o modelo do aluno pode generalizar melhor do que um modelo de tamanho semelhante treinado diretamente em rótulos rígidos, uma vez que aprende com o sinal de supervisão mais rico fornecido pelo professor.

Aplicações no mundo real

A destilação de conhecimentos é amplamente utilizada em vários domínios:

  1. Visão por computador: Modelos de deteção de objectos grandes ou de segmentação de imagens, como versões complexas de Ultralytics YOLO ou Vision Transformers (ViT), podem ser destilados em versões leves adequadas para aplicações móveisUltralytics HUB App) ou sistemas incorporados em veículos autónomos ou robótica. Por exemplo, a Intuitivo utiliza a destilação de conhecimentos para transferir conhecimentos de grandes modelos de base para modelos mais pequenos e económicos para escalar milhões de pontos de compra autónomos, acelerando significativamente a anotação (Fonte: YOLO Vision 2023 Talk).
  2. Processamento de linguagem natural (PNL): Os grandes modelos de linguagem (LLM), como o BERT ou o GPT, são frequentemente destilados em versões mais pequenas (por exemplo, DistilBERT por Hugging Face) para tarefas como a análise de sentimentos ou a resposta a perguntas em dispositivos com orçamentos computacionais limitados ou para aplicações que exigem menor latência, como os chatbots.

Conceitos relacionados

A destilação de conhecimentos está relacionada com outras técnicas de otimização de modelos, mas é distinta destas:

  • Poda de modelo: Envolve a remoção de pesos ou conexões menos importantes de uma rede já treinada para reduzir seu tamanho. A destilação treina uma rede nova e menor.
  • Quantização do modelo: Reduz a precisão numérica dos pesos do modelo (por exemplo, de floats de 32 bits para inteiros de 8 bits) para diminuir o tamanho e acelerar o cálculo, muitas vezes usado juntamente ou após a destilação. Vê integrações como ONNX ou TensorRT.
  • Aprendizagem por transferência: Reutiliza partes de um modelo pré-treinado (normalmente a espinha dorsal) e afina-o num novo conjunto de dados ou tarefa. A destilação centra-se na transferência do comportamento preditivo de um professor para uma arquitetura de aluno potencialmente diferente.
  • Aprendizagem Federada: Treina modelos em dispositivos descentralizados sem compartilhar dados brutos, com foco na privacidade. A destilação centra-se na compressão de modelos.

A destilação do conhecimento é uma ferramenta poderosa para tornar os modelos de IA de última geração mais acessíveis e eficientes, colmatando a lacuna entre os modelos de investigação em grande escala e a implementação prática de modelos no mundo real. Plataformas como o Ultralytics HUB facilitam o treinamento e a implantação de modelos potencialmente destilados, como o YOLOv8 ou YOLO11.

Lê tudo