Task Vectors
Aprende como os vetores de tarefa permitem a fusão eficiente de modelos e a orientação de comportamento. Descobre como manipular os pesos do Ultralytics YOLO26 para multitarefa zero-shot.
Vetores de tarefa representam as mudanças específicas feitas nos pesos de uma rede neural durante o ajuste fino para alcançar uma nova capacidade. Ao subtrair os parâmetros de um modelo base fundamental daqueles de um modelo ajustado, pesquisadores podem isolar um vetor direcional no espaço de pesos que encapsula o comportamento aprendido para aquela tarefa específica. Essa abordagem permite que desenvolvedores apliquem operações aritméticas simples em parâmetros de modelo para direcionar, modificar ou mesclar comportamentos de modelos sem a necessidade de processamento de treinamento adicional.
Como os Vetores de Tarefa Diferem do Aprendizado por Transferência
Embora o conceito de aprendizado por transferência envolva o treinamento sequencial de um modelo em um novo conjunto de dados para adaptar seu conhecimento existente, vetores de tarefa operam diretamente nos pesos estruturais do modelo após o treinamento. Em vez de treinar gradientes novamente para aprender um novo domínio, a interpolação no espaço de pesos usando vetores de tarefa permite que profissionais combinem linearmente as diferenças de peso de múltiplos modelos treinados independentemente. Isso possibilita a mesclagem de modelos zero-shot, permitindo que um único modelo herde múltiplas capacidades simultaneamente sem o típico custo computacional durante o treinamento.
Aplicações no Mundo Real
A capacidade de manipular modelos de aprendizado profundo algebricamente levou a várias aplicações impactantes em pipelines modernos de IA:
- Mesclagem de Modelos Multitarefa: Engenheiros podem combinar um vetor de tarefa otimizado para detecção de objetos com outro treinado para segmentação de imagem. Quando aplicado a um modelo base 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 fino original.
- Desaprendizado de Máquina e Segurança em IA: Se um modelo exibir saídas tendenciosas ou perigosas, pesquisadores podem calcular um vetor de tarefa representando esse comportamento indesejado específico. Ao subtrair esse vetor dos pesos do modelo, eles podem efetivamente "apagar" o comportamento, contribuindo significativamente para uma melhor segurança de IA e padrões robustos de ética em IA.
- Adaptação de Domínio em Visão Computacional: Ao adaptar modelos para ambientes específicos—como a transição de inferência em tempo real diurna para noturna—vetores de tarefa permitem que os usuários escalem a magnitude da adaptação. Aplicar uma fração do vetor (por exemplo, um fator de escala de 0.5) pode produzir um modelo equilibrado que funciona bem em ambos os domínios.
Trabalhando com Vetores de Tarefa em PyTorch
Criar e aplicar um vetor de tarefa requer acessar e manipular o dicionário de estados do PyTorch. O exemplo a seguir demonstra como extrair um vetor de tarefa de um modelo YOLO26 ajustado e aplicá-lo de volta 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 grandes modelos de linguagem e enormes transformers de visão crescem em número de parâmetros, retreiná-los para cada pequeno ajuste torna-se economicamente inviável. Vetores de tarefa fornecem uma alternativa matematicamente elegante para a otimização de modelos pós-treinamento. Ao compartilhar vetores de tarefa leves em vez de modelos completos de múltiplos gigabytes, a comunidade de IA pode acelerar a colaboração de código aberto em IA. Uma vez que seus vetores de tarefa personalizados estejam refinados, utilizar a Ultralytics Platform simplifica os processos subsequentes de implantação de modelo e monitoramento, garantindo que seus pesos otimizados se traduzam diretamente em endpoints prontos para produção.






