Destilação de conhecimentos
Descubra 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 implantação de dispositivos de borda.
A destilação de conhecimentos é uma técnica de otimização e compressão de modelos na aprendizagem automática (ML) em que um modelo compacto de "aluno" é treinado para reproduzir o desempenho de um modelo maior e mais complexo de "professor". A ideia central é transferir o "conhecimento" do modelo do professor, poderoso mas pesado, para o modelo do aluno, mais pequeno e mais eficiente. Isto permite a implementação de modelos altamente precisos em ambientes com recursos limitados, como em dispositivos de ponta ou telemóveis, sem uma queda significativa no desempenho. O processo preenche a lacuna entre modelos de pesquisa maciços e de última geração e a implantação prática de modelos no mundo real.
Como funciona a destilação do conhecimento
O modelo do professor, normalmente uma grande rede neural ou um conjunto de modelos, é primeiro treinado num grande conjunto de dados para atingir uma elevada precisão. Durante o processo de destilação, o modelo do aluno aprende tentando imitar os resultados do professor. Em vez de aprender apenas com os rótulos de verdade nos dados de treino, o aluno também é treinado nas distribuições de probabilidade completas do professor para cada previsão, frequentemente designadas por "rótulos flexíveis". Estes rótulos suaves fornecem informações mais ricas do que os "rótulos rígidos" (as respostas corretas), uma vez que revelam como o modelo do professor "pensa" e generaliza. Por exemplo, um modelo de professor pode prever que uma imagem de um gato é "gato" com 90% de confiança, mas também atribuir pequenas probabilidades a "cão" (5%) e "raposa" (2%). Esta informação matizada ajuda o modelo do aluno a aprender mais eficazmente, conduzindo frequentemente a uma melhor generalização do que se fosse treinado apenas com os rótulos rígidos. Esta técnica é uma parte essencial do conjunto de ferramentas de aprendizagem profunda para criar modelos eficientes.
Aplicações no mundo real
A destilação de conhecimentos é amplamente utilizada em vários domínios para tornar acessível uma IA poderosa.
- Processamento de linguagem natural (PNL): Os modelos de linguagem de grande dimensão (LLM), como o BERT, são incrivelmente poderosos, mas demasiado grandes para muitas aplicações. O DistilBERT é um exemplo famoso de uma versão destilada do BERT. É 40% mais pequeno e 60% mais rápido, mantendo mais de 97% do desempenho do BERT, o que o torna adequado para tarefas como a análise de sentimentos e a resposta a perguntas em dispositivos de consumo.
- Visão computacional em dispositivos de borda: Na visão computacional, um modelo grande e de elevada precisão para classificação de imagens ou deteção de objectos pode ser destilado num modelo mais pequeno. Isto permite que tarefas complexas de visão, como a deteção de pessoas em tempo real para uma câmara de segurança inteligente, sejam executadas diretamente em hardware com poder computacional limitado, como um Raspberry Pi, melhorando a velocidade e a privacidade dos dados. Os modelos YOLO da Ultralytics, como o YOLO11, podem fazer parte desses fluxos de trabalho, em que o conhecimento de modelos maiores pode informar o treino de versões mais pequenas e implementáveis.
Destilação de conhecimentos vs. outras técnicas de otimização
A Destilação de Conhecimento está relacionada a outras técnicas de otimização de modelos, mas é diferente delas. Compreender as diferenças é fundamental para escolher a abordagem certa para o seu projeto, que pode ser gerida e implementada através de plataformas como o Ultralytics HUB.
- Poda de modelos: Esta técnica envolve a remoção de conexões redundantes ou menos importantes (pesos) de uma rede já treinada para reduzir seu tamanho. Em contraste, a destilação treina uma rede completamente nova e menor a partir do zero para imitar o professor.
- Quantização do modelo: A quantização reduz a precisão numérica dos pesos do modelo (por exemplo, de floats de 32 bits para inteiros de 8 bits). Isto encolhe o modelo e pode acelerar a computação em hardware compatível. Altera a representação do modelo existente, enquanto a destilação cria um novo modelo. A quantização é frequentemente utilizada em conjunto com a destilação ou a poda, e os modelos podem ser exportados para formatos como ONNX ou optimizados com motores como o TensorRT.
- Aprendizagem por transferência: Envolve a reutilização de partes de um modelo pré-treinado (normalmente a sua espinha dorsal de extração de caraterísticas) e, em seguida, o seu ajuste fino num conjunto de dados novo e mais pequeno. O objetivo é adaptar um modelo existente a uma nova tarefa. A destilação, por outro lado, visa transferir o comportamento preditivo de um professor para um modelo de aluno, que pode ter uma arquitetura completamente diferente.