Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Destilação de Conhecimento

Descubra como a Destilação de Conhecimento comprime modelos de IA para inferência mais rápida, precisão aprimorada e eficiência na implantação de dispositivos de borda.

A Destilação de Conhecimento é uma estratégia sofisticada estratégia de otimização de modelos em aprendizagem automática em que um modelo compacto modelo compacto "aluno" é treinado para reproduzir o desempenho e o comportamento de um modelo maior e mais complexo modelo "professor" maior e mais complexo. O objetivo principal é transferir as capacidades de generalização e o "conhecimento" da rede pesada do professor para a rede mais leve do aluno. Este processo permite a implementação de modelos altamente precisos modelos altamente precisos em hardware com recursos limitados, como como dispositivos de computação de ponta, sem sofrer as sem sofrer as quedas significativas de precisão que normalmente acompanham as arquitecturas mais pequenas. Ao comprimir a informação, os programadores podem obter uma latência de inferência mais rápida e uma uso reduzido de memória, mantendo um poder preditivo robusto.

Como funciona a destilação de conhecimento

O processo baseia-se no conceito de "etiquetas flexíveis". Na aprendizagem supervisionada na aprendizagem supervisionada, os modelos são treinados em "etiquetas rígidas" dos dados de treino (por exemplo, uma imagem é 100% um "gato" e 0% um "cão"). No entanto, um modelo de professor pré-treinado produz distribuições de probabilidade, conhecidas como soft labels, em todas as classes. Por exemplo, o professor pode prever que uma imagem é 90% gato, 9% cão e 1% carro. Estes rótulos suaves contêm informação rica sobre as relações entre as classes - indicando que o gato específico se parece um pouco com um cão.

Durante a destilação, o modelo do aluno é treinado para minimizar a diferença entre as suas previsões e as do professor, muitas vezes usando uma função de perda específica, como a divergência de Kullback-Leibler. Isto Isto permite que o aluno aprenda o "conhecimento obscuro" ou a estrutura matizada dos dados que o professor já descobriu. que o professor já descobriu. Para uma compreensão fundamental, os investigadores referem-se frequentemente a o artigo seminal de Geoffrey Hinton sobre o assunto.

Embora as bibliotecas normalmente tratem internamente dos complexos cálculos de perdas, a inicialização de um modelo de aluno para treino é o primeiro passo prático. Veja como carregar um modelo de aluno leve como YOLO11 utilizando o ultralytics pacote:

from ultralytics import YOLO

# Load a lightweight student model (YOLO11n)
# 'n' stands for nano, the smallest and fastest version
student_model = YOLO("yolo11n.pt")

# Train the student model on a dataset
# In a distillation workflow, this training would be guided by a teacher model's outputs
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)

Aplicações no Mundo Real

A destilação de conhecimentos é fundamental nos sectores em que a eficiência é tão importante como a precisão.

  • Visão computacional móvel: Em cenários que exigem inferência em tempo real, como drones autónomos drones autónomos ou aplicações de realidade aumentada em smartphones, a implementação de modelos maciços é inviável. Os engenheiros destilam grandes modelos de deteção de objectos em versões eficientes como o YOLO11n. Isso garante que o aplicativo seja executado sem problemas em processadores móveis como o Qualcomm Snapdragon, sem esgotar a bateria e ainda identificando corretamente os objectos.
  • Processamento de linguagem natural (PNL): Os modelos de linguagem de grande dimensão (LLM) são frequentemente demasiado pesados para implantação direta. A destilação é utilizada para criar versões mais pequenas e rápidas - como o DistilBERT - que retêm a maior parte das capacidades de modelação de linguagem dos seus maiores. Isto permite que os assistentes de voz e os chatbots funcionem com menor latência, proporcionando uma melhor experiência ao utilizador. experiência do utilizador.

Distinguir termos de otimização relacionados

É importante diferenciar a Destilação do Conhecimento de outras técnicas utilizadas para melhorar a eficiência dos modelos, uma vez que eficiência do modelo, uma vez que se baseiam em princípios diferentes.

  • Poda de modelos: Esta técnica envolve a remoção física de neurónios ou ligações redundantes (pesos) de uma rede treinada existente para reduzir o seu tamanho. Ao contrário da destilação, que treina uma nova arquitetura de aluno a partir do zero, a poda modifica a estrutura do modelo original.
  • Quantização do modelo: A quantização reduz a precisão dos pesos numéricos do modelo, por exemplo, convertendo números de ponto flutuante de 32 bits de 32 bits para números inteiros de 8 bits. Isso reduz o tamanho do modelo e acelera a computação em hardware como TPUs, mas não altera necessariamente a arquitetura da rede.
  • Aprendizagem por transferência: Esta abordagem abordagem envolve pegar num modelo pré-treinado e pré-treinado e afiná-lo num novo conjunto de dados para uma tarefa diferente. Embora ambas envolvam a transferência de conhecimentos, a aprendizagem por transferência tem a ver com a adaptação ao domínio (por exemplo, ImageNet para raios X médicos), enquanto a destilação se centra na compressão dos mesmos conhecimentos da tarefa a partir de um modelo grande. radiografias médicas), ao passo que a destilação se centra na compressão do conhecimento da mesma tarefa de um modelo grande para um mais pequeno.

Ao combinar estas técnicas - por exemplo, destilar um professor num aluno e depois aplicar a quantização - os programadores podem maximizar o desempenho em sistemas incorporados.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora