Task Vectors
Um vetor de tarefa é a diferença entre os pesos de um modelo ajustado e os do modelo base, capturando uma habilidade que pode ser adicionada, removida ou combinada. Abrange usos.
Os vetores de tarefa representam as mudanças específicas feitas nos pesos de uma rede neural durante o ajuste fino para obter uma nova capacidade. Ao subtrair os parâmetros de um modelo base fundamental dos parâmetros de um modelo ajustado, os 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 os desenvolvedores usem simples operações aritméticas nos parâmetros do modelo para direcionar, modificar ou combinar comportamentos do modelo sem exigir computação adicional para treinamento.
Como os vetores de tarefa se distinguem do aprendizado por transferência#
Embora o conceito de aprendizado por transferência envolva treinar sequencialmente um modelo em um novo conjunto de dados para adaptar o conhecimento existente, os vetores de tarefa atuam diretamente nos pesos estruturais do modelo após o treinamento. Em vez de retreinar gradientes para aprender um novo domínio, a interpolação no espaço dos pesos usando vetores de tarefa permite que os profissionais combinem linearmente as diferenças entre os pesos de vários modelos treinados de forma independente. Isso viabiliza a combinação de modelos zero-shot, permitindo que um único modelo herde várias capacidades simultaneamente sem o custo computacional típico do treinamento.
Aplicações no mundo real#
A capacidade de manipular modelos de deep learning algebricamente levou a várias aplicações de impacto nos pipelines modernos de IA:
- Combinação de modelos multitarefa: Os engenheiros podem combinar vetores de tarefa de modelos ajustados a partir do mesmo modelo base, como dois modelos de deteção de objetos treinados em conjuntos de dados diferentes; os vetores de tarefa só podem ser combinados entre arquiteturas idênticas, portanto, um modelo ajustado para deteção não pode ser combinado com um modelo de segmentação de imagens. Quando aplicada a um modelo base Ultralytics YOLO26, essa técnica cria um único modelo que herda os pontos fortes de cada modelo ajustado original.
- Desaprendizado de máquina e segurança de IA: Se um modelo apresentar saídas tendenciosas ou perigosas, os pesquisadores podem calcular um vetor de tarefa que represente esse comportamento indesejado específico. Ao subtrair esse vetor dos pesos do modelo, eles podem efetivamente «apagar» o comportamento, contribuindo significativamente para melhorar os padrões de segurança de IA e de ética em IA.
- Adaptação de domínio em visão computacional: Ao adaptar modelos a ambientes específicos — por exemplo, passando da inferência em tempo real diurna para a noturna —, os vetores de tarefa permitem que os usuários ajustem a intensidade da adaptação. Aplicar uma fração do vetor (por exemplo, um fator de escala de 0.5) pode gerar um modelo equilibrado que funciona bem nos dois domínios.
Uso de vetores de tarefa no PyTorch#
Criar e aplicar um vetor de tarefa exige acessar e manipular o dicionário de estados do PyTorch. O exemplo a seguir mostra como extrair um vetor de tarefa de um modelo Ultralytics YOLO26 ajustado e aplicá-lo novamente ao modelo-base com um fator de escala específico.
from ultralytics import YOLO
# Carrega os dicionários de estados dos modelos-base e ajustado
base_weights = YOLO("yolo26n.pt").model.state_dict()
tuned_weights = YOLO("yolo26n-custom.pt").model.state_dict()
# Calcula o vetor de tarefa (pesos ajustados menos pesos base), ignorando buffers inteiros
task_vector = {k: tuned_weights[k] - base_weights[k] for k in base_weights if base_weights[k].is_floating_point()}
# Aplica o vetor de tarefa ao modelo-base usando um fator de escala de 0.5
for k, delta in task_vector.items():
base_weights[k] += 0.5 * deltaO futuro da manipulação de pesos#
À medida que arquiteturas como os grandes modelos de linguagem e os grandes transformers de visão aumentam o número de parâmetros, retreiná-las para cada pequeno ajuste torna-se economicamente inviável. Os vetores de tarefa oferecem uma alternativa matematicamente elegante para a otimização de modelos após o treinamento. Ao compartilhar vetores de tarefa leves em vez de modelos inteiros com vários gigabytes, a comunidade de IA pode acelerar a colaboração de código aberto em IA. Depois de aperfeiçoar seus vetores de tarefa personalizados, usar a Ultralytics Platform simplifica os processos subsequentes de implantação de modelos e monitoramento, garantindo que os pesos otimizados sejam convertidos diretamente em endpoints prontos para produção.










