Task Vectors
Aprende como os vetores de tarefa permitem a fusão eficiente de modelos e o direcionamento de comportamento. Descobre como manipular pesos do Ultralytics YOLO26 para multi-tarefa zero-shot.
Os task vectors representam as mudanças específicas feitas nos pesos de uma neural network's durante o fine-tuning para alcançar uma nova capacidade. Ao subtrair os parâmetros de um foundational base model daqueles de um modelo ajustado, os pesquisadores podem isolar um vetor direcional no espaço de pesos que encapsula o comportamento aprendido para essa tarefa específica. Esta abordagem permite que os desenvolvedores apliquem simples arithmetic operations on model parameters para direcionar, modificar ou mesclar comportamentos de modelos sem exigir capacidade computacional adicional de treinamento.
Como os Vetores de Tarefa Diferem do Aprendizado por Transferência#
Enquanto o conceito de transfer learning envolve treinar sequencialmente um modelo em um novo conjunto de dados para adaptar seu conhecimento existente, os task vectors operam diretamente nos pesos estruturais do modelo pós-treinamento. Em vez de retreinar gradientes para aprender um novo domínio, a weight space interpolation usando task vectors permite que os praticantes combinem linearmente as diferenças de peso de múltiplos modelos treinados independentemente. Isso possibilita o model merging zero-shot, permitindo que um único modelo herde múltiplas capacidades simultaneamente sem o típico computational overhead during training.
Aplicações no Mundo Real#
A capacidade de manipular modelos de deep learning algebricamente levou a várias aplicações impactantes em pipelines de IA modernos:
- Multi-Task Model Merging: Os engenheiros podem combinar um task vector otimizado para object detection com outro treinado para image segmentation. Quando aplicado a um modelo base do Ultralytics YOLO26, isso cria uma arquitetura de propósito duplo que se destaca em ambas as tarefas simultaneamente, preservando os pontos fortes de cada ajuste original.
- Machine Unlearning and AI Safety: Se um modelo exibir saídas tendenciosas ou perigosas, os pesquisadores podem calcular um task vector que representa esse comportamento indesejado específico. Ao subtrair esse vetor dos pesos do modelo, eles podem efetivamente "apagar" o comportamento, contribuindo fortemente para a melhoria dos padrões de AI safety e de AI ethics robustas.
- Domain Adaptation in Computer Vision: Ao adaptar modelos para ambientes específicos — como a transição de real-time inference diurna para noturna —, os task vectors permitem que os usuários dimensionem a magnitude da adaptação. A aplicação de uma fração do vetor (por exemplo, um fator de escala de 0,5) pode produzir um modelo equilibrado que apresenta bom desempenho em ambos os domínios.
Trabalhando com Vetores de Tarefa no PyTorch#
Criar e aplicar um task vector requer acessar e manipular o PyTorch state dictionary. O exemplo a seguir demonstra como extrair um task vector de um modelo Ultralytics YOLO26 fine-tuned e aplicá-lo novamente ao modelo base com um fator de escala específico.
from ultralytics import YOLO
# Load the state dictionaries for the base and fine-tuned models
base_weights = YOLO("yolo26n.pt").model.state_dict()
tuned_weights = YOLO("yolo26n-custom.pt").model.state_dict()
# Calculate the task vector (tuned weights minus base weights)
task_vector = {k: tuned_weights[k] - base_weights[k] for k in base_weights.keys()}
# Apply the task vector to the base model using a 0.5 scaling factor
for k in base_weights.keys():
base_weights[k] += 0.5 * task_vector[k]O Futuro da Manipulação de Pesos#
À medida que arquiteturas como large language models e vision transformers massivos aumentam em contagem de parâmetros, retreiná-los para cada ajuste menor torna-se inviável economicamente. Os task vectors fornecem uma alternativa matematicamente elegante para a model optimization pós-treinamento. Ao compartilhar task vectors leves em vez de modelos inteiros de vários gigabytes, a comunidade de IA pode acelerar a open-source collaboration in AI. Uma vez que seus task vectors personalizados estejam refinados, a utilização da Ultralytics Platform simplifica os processos subsequentes de model deployment e monitoramento, garantindo que seus pesos otimizados sejam traduzidos diretamente em endpoints prontos para produção.






