Model Merging
Descobre como a fusão de modelos combina múltiplos modelos pré-treinados num só. Aprende a fundir pesos do Ultralytics YOLO26 para aumentar o desempenho sem latência extra.
A fusão de modelos é uma técnica inovadora em machine learning (ML) que combina os parâmetros aprendidos (pesos) de vários modelos pré-treinados em um único modelo unificado. Ao contrário das configurações tradicionais de múltiplos modelos, a fusão combina diretamente os modelos de pesos no espaço de parâmetros. Isso permite que os profissionais combinem o conhecimento especializado de vários modelos ajustados finamente em diferentes tarefas ou conjuntos de dados sem incorrer nos custos de memória e computação de executar vários modelos simultaneamente.
Ao aplicar operações diretamente aos pesos, a fusão de modelos mantém a pegada arquitetônica de uma única rede. Isso é particularmente valioso ao implantar pipelines avançados de computer vision (CV) em dispositivos de borda, onde reduzir a latência de inferência e economizar memória são críticos.
Distinguir a Fusão de Modelos#
É útil diferenciar a fusão de modelos de conceitos relacionados, como Model Ensemble e Transfer Learning.
- Fusão de Modelos vs. Model Ensemble: Um model ensemble mantém redes individuais separadas, executando cada uma durante a inferência e calculando a média das suas saídas. Isto aumenta a precisão, mas multiplica a carga computacional. A fusão de modelos combina os pesos reais antes da inferência, resultando num único modelo que não requer processamento extra em tempo de execução.
- Model Merging vs. Transfer Learning: O transfer learning envolve pegar um modelo base e treiná-lo ainda mais em um novo conjunto de dados. A fusão de modelos não requer fine-tuning adicional; ela usa operações matemáticas para fundir modelos já treinados.
Técnicas Comuns#
Os pesquisadores desenvolveram vários métodos para combinar eficazmente os pesos sem destruir as capacidades subjacentes da rede, conforme explorado em recentes pesquisas acadêmicas no arXiv.
- Weight Averaging: O método mais simples, tirando a média dos pesos de vários modelos que compartilham a mesma arquitetura.
- Task Arithmetic: Uma técnica onde "vetores de tarefa" (a diferença entre um modelo ajustado e o seu modelo base) são somados ou subtraídos para combinar ou remover comportamentos específicos.
- TIES-Merging: Uma abordagem avançada que resolve a interferência de parâmetros ao cortar valores redundantes e eleger sinais consistentes entre modelos, preservando o desempenho em diversas tarefas.
Aplicações no Mundo Real#
A fusão de modelos é altamente eficaz para criar sistemas generalizados sem necessidade de re-treino do zero.
- Autonomous Vehicles: Um carro autônomo pode usar um modelo base do Ultralytics YOLO26. Os engenheiros podem treinar independentemente uma versão do modelo para detectar movimentos sutis de pedestres e outra para ler placas de trânsito complexas. A fusão desses dois modelos cria um único detector altamente capaz que lida com ambas as tarefas simultaneamente sem duplicar o tempo de inferência.
- AI in Healthcare: Na imagem médica, diferentes hospitais de pesquisa podem ajustar finamente modelos em conjuntos de dados locais especializados (por exemplo, um para exames de ressonância magnética e um para tomografias computadorizadas) devido a leis rígidas de privacidade de dados. Ao fundir os modelos com segurança, os pesquisadores podem criar uma ferramenta de diagnóstico abrangente que se beneficia de diversas distribuições de dados.
Exemplo: Média de Pesos Simples#
Podes realizar facilmente a fusão básica de modelos usando PyTorch. O exemplo a seguir demonstra como fazer a média dos dicionários de estados de dois modelos com estruturas idênticas.
import torch
# Load the weights (state dicts) from two identical architectures
weights_a = torch.load("yolo26_task1.pt")["model"].state_dict()
weights_b = torch.load("yolo26_task2.pt")["model"].state_dict()
# Perform simple weight averaging
merged_weights = {k: (weights_a[k] + weights_b[k]) / 2.0 for k in weights_a.keys()}
# Save the newly merged model weights
torch.save({"model": merged_weights}, "yolo26_merged.pt")Para equipes que procuram simplificar os fluxos de trabalho complexos de anotação de conjuntos de dados, treinamento e implantação, a Ultralytics Platform fornece uma interface intuitiva para gerenciar projetos de IA de visão de ponta a ponta sem esforço.






