O PAI Model Distillation (ModelDistill) compacta modelos grandes em modelos menores e mais econômicos por meio da transferência de conhecimento entre professor e aluno. Ele fornece um modelo de uso geral e modelos específicos para cenários como raciocínio, codificação e geração multimodal.
O que é destilação de modelos
A destilação de modelos é uma técnica de compactação que transfere o conhecimento de um modelo grande (o professor) para um modelo menor (o aluno). O modelo aluno retém a maior parte do desempenho do professor com muito menos parâmetros, o que reduz o custo de inferência e melhora o tempo de resposta. O PAI ModelDistill baseia-se no framework open source PAI-EasyDistill e oferece destilação com um clique, sem necessidade de codificação.
Como funciona
O ModelDistill utiliza a destilação de caixa preta, uma forma de aumento generativo de dados: o modelo professor gera dados rotulados de alta qualidade para ajustar o modelo aluno por meio de ajuste fino supervisionado (SFT).
O fluxo de trabalho tem duas etapas:
Geração de dados de destilação: selecione um conjunto de dados de origem, expanda-o por meio de síntese de dados (como expansão e refinamento de instruções) e, em seguida, use o modelo professor para produzir dados de destilação de alta qualidade. O modelo professor pode ser do PAI Token Service ou do PAI-EAS.
Treinamento do modelo aluno: treine o modelo aluno no conjunto de dados de destilação por meio de SFT. Suporta três métodos de treinamento: LoRA, QLoRA e ajuste fino de todos os parâmetros.
Casos de uso
Quando usar a destilação de modelos:
Implantação na borda: compacte um modelo grande em um modelo leve para ambientes com recursos limitados, como dispositivos móveis e IoT.
Redução de custos: substitua um modelo de inferência caro por um modelo destilado menor quando os custos de inferência em produção forem muito altos.
Otimização de latência: para aplicações sensíveis à latência, reduza a latência de inferência e o consumo de GPU mantendo a precisão.
Transferência de conhecimento de domínio: transfira conhecimento específico de domínio (como especialização médica ou jurídica) de um modelo grande para um modelo menor e mais econômico, focado em tarefas específicas.
Quando a destilação de modelos pode não ser adequada:
Exigência de fidelidade de desempenho de 100%: a destilação sempre envolve alguma perda de desempenho. Se qualquer degradação for inaceitável, a destilação não é a abordagem adequada.
Tarefas triviais: para tarefas simples, como classificação ou correspondência de texto, ajustar diretamente um modelo pequeno pode ser mais econômico do que a destilação.
Ausência de dados semente de alta qualidade: a qualidade da destilação depende fortemente dos dados semente. Se os dados semente não representarem bem os seus cenários reais de negócios, os resultados podem ser insatisfatórios.
Modelos de destilação
Um modelo de destilação empacota um pipeline padronizado com configurações padrão de algoritmo (no formato YAML). Ao selecionar um modelo, as etapas e os parâmetros do pipeline vêm pré-configurados — basta preencher as configurações básicas antes de enviar a tarefa.
Tipos de modelo
O ModelDistill fornece dois tipos de modelos: Geral e Baseado em Cenários.
Modelo de destilação geral: segue o pipeline padrão de três etapas (configuração básica → geração de dados de destilação → treinamento do modelo aluno) com flexibilidade total de parâmetros. Consulte General distillation.
-
Modelos de destilação baseados em cenários: pipelines e parâmetros de algoritmo pré-configurados e otimizados para cenários específicos, como raciocínio em cadeia de pensamento, tarefas multimodais e chamadas de ferramentas de Agent. Selecione um cenário para reutilizar melhores práticas de configuração e produzir rapidamente dados de treinamento SFT / DPO / multimodais.
NotaAlguns modelos suportam apenas a geração de dados de destilação. Outros suportam tanto a geração de dados quanto o treinamento do modelo aluno, sendo o treinamento uma etapa opcional — execute apenas a geração de dados se preferir.
Modelo
Caso de uso
Descrição
Destilação de instruções
Capacidade de seguir instruções
Transfere a capacidade do modelo professor de seguir instruções para o modelo aluno. Para mais detalhes, consulte Instruction distillation.
Destilação de raciocínio em cadeia de pensamento
Capacidade de raciocínio CoT
Transfere a capacidade de raciocínio em cadeia de pensamento do modelo professor para o modelo aluno. Para mais detalhes, consulte Chain-of-thought reasoning distillation.
Destilação de chamada de ferramentas de Agent
Chamada de ferramenta/função
Transfere a capacidade do modelo professor de chamar ferramentas e funções para o modelo aluno. Para mais detalhes, consulte Agent tool call distillation.
Destilação de texto para vídeo
Geração de texto para vídeo
Transfere a capacidade de geração de texto para vídeo do modelo professor para o modelo aluno. Para mais detalhes, consulte Text-to-video distillation.
Destilação de Agent de codificação
Capacidade de Agent de código
Um Agent de codificação modifica o código em uma sandbox remota e reexecuta a verificação de testes para produzir um conjunto de dados SFT de alta qualidade. O modelo aluno aprende a localizar problemas, modificar o código e verificar resultados em bases de código reais. Para mais detalhes, consulte Coding Agent Distillation.
Seleção de modelo
Primeiro, avalie se um modelo específico para o cenário atende ao seu caso de uso. Em caso afirmativo, use esse modelo. Se nenhum deles for adequado, utilize o modelo de uso geral para uma configuração personalizada.
Gerenciamento de tarefas
Na aba Task List, visualize o status e o progresso de todas as tarefas de destilação:
Task stage: mostra a etapa atual de cada tarefa (geração de dados de destilação, confirmação de dados ou treinamento do modelo aluno).
Artefatos de destilação: após a destilação, o sistema salva o conjunto de dados de destilação e o modelo aluno em um caminho do OSS. Recupere o caminho do modelo na página de detalhes da tarefa e implante-o como um serviço de inferência online.
Avaliação: após a implantação, use o recurso de avaliação de modelo para comparar o desempenho dos modelos professor e aluno no mesmo conjunto de dados de avaliação e quantificar os resultados da destilação. Antes de entrar em produção, execute um teste canário com uma pequena porcentagem de tráfego e verifique se o modelo aluno tem o desempenho esperado sob o tráfego de produção.
Faturamento
As tarefas de destilação são executadas como jobs de treinamento do DLC e faturadas na modalidade de pagamento conforme o uso ou assinatura. Tanto a etapa de geração de dados (recursos de CPU) quanto a etapa de treinamento do modelo aluno (recursos de GPU) geram cobranças de computação. Para mais detalhes, consulte Billing for DLC.
A destilação também envolve os seguintes custos:
Custos do modelo professor: ao usar o PAI Token Service, a cobrança ocorre por token consumido. Para mais detalhes, consulte PAI Token Service pricing. Ao usar o PAI-EAS, há cobrança de recursos do EAS. Para mais detalhes, consulte Elastic Algorithm Service (EAS) billing.
Custos de armazenamento do OSS: os dados de destilação (conjuntos de dados, artefatos intermediários e saídas de treinamento) ficam armazenados no OSS e são faturados de acordo com as regras de preços do OSS.
Perguntas frequentes
Como escolher um modelo professor e um modelo aluno?
Modelo professor: escolha um modelo grande já validado no seu cenário de negócios e com bom desempenho. Em geral, um modelo maior tem mais conhecimento e eleva o teto de qualidade da destilação.
Modelo aluno: escolha um modelo menor da mesma família de modelos do professor. Por exemplo, destile de
Qwen-30BparaQwen-8B. Isso garante a compatibilidade de arquitetura e maximiza a eficiência da transferência de conhecimento.
Quanto tempo leva uma tarefa de destilação?
A duração depende do tamanho do conjunto de dados, da escala do modelo, do método de treinamento e dos recursos de computação. Para conjuntos de dados pequenos (milhares de entradas) e modelos de tamanho médio (7B a 14B), a conclusão das tarefas geralmente leva de dezenas de minutos a algumas horas.
Posso retomar uma tarefa interrompida por tempo limite?
Não. Se uma tarefa for interrompida por ter atingido o tempo máximo de execução, ela falha e não pode ser retomada. Revise os logs da tarefa para determinar se o problema foi a insuficiência de recursos (execução lenta) ou uma configuração de tempo limite muito curta. Em seguida, aumente o tempo máximo de execução ou use recursos com especificações superiores e envie a tarefa novamente.
A tarefa falhou com o erro CUDA out of memory. O que devo fazer?
Este é um erro de memória insuficiente na GPU. Siga estas etapas para resolvê-lo:
Reduza o tamanho do lote (batch size): na configuração de Student model training, localize Hyperparameter e reduza pela metade o valor de
per_device_train_batch_size(por exemplo, de 2 para 1) e tente novamente.Altere o método de treinamento: se a redução do tamanho do lote não ajudar, volte para a página de configuração e altere o método de treinamento de
LoRAoufull-parameter fine-tuningparaQLoRA. O QLoRA reduz significativamente o uso de memória da GPU.Atualize a especificação da GPU: se nenhuma das opções acima funcionar, a escala do modelo e dos dados exige mais hardware. Em Compute Resource, selecione uma instância de GPU com mais memória da GPU.