Task Arithmetic
Descobre como a aritmética de tarefas utiliza atualizações de pesos para editar o comportamento dos modelos. Aprende a combinar tarefas ou a desaprender características no Ultralytics YOLO26 sem um novo treino completo.
A aritmética de tarefas é uma técnica avançada de aprendizado de máquina que envolve modificar o comportamento de redes neurais pré-treinadas adicionando ou subtraindo atualizações específicas de pesos. Em vez de treinar novamente um modelo do zero, os profissionais podem isolar as diferenças aprendidas entre um modelo base e um modelo ajustado. Essas diferenças são essencialmente atualizações direcionais que encapsulam uma capacidade ou comportamento específico. Ao aplicar operações matemáticas básicas, como adição e subtração, a essas atualizações, os desenvolvedores podem editar dinamicamente sistemas de aprendizado profundo. Esse paradigma ganhou grande destaque em pesquisas recentes do arXiv sobre aritmética de tarefas, oferecendo um método leve e eficiente em termos computacionais para adaptar modelos de grande escala a novos requisitos.
Como funciona o conceito#
A base dessa técnica consiste em calcular a diferença nos pesos do modelo entre um modelo base pré-treinado e uma versão que passou por ajuste fino em um conjunto de dados específico. Essa diferença isolada torna-se uma representação localizada da nova habilidade. Ao manipular diretamente os dicionários de estado do PyTorch ou utilizar metodologias de treinamento do TensorFlow, os engenheiros podem dimensionar e combinar essas diferenças de pesos. Por exemplo, subtrair uma atualização de pesos específica pode fazer com que um modelo "esqueça" um comportamento aprendido, um conceito amplamente explorado em pesquisas da Anthropic sobre segurança de modelos.
Aplicações no mundo real#
A aritmética de tarefas viabiliza vários fluxos de trabalho altamente eficientes em pipelines modernos de visão computacional e processamento de linguagem natural:
- Combinação de capacidades multitarefa: os engenheiros podem treinar um modelo base Ultralytics YOLO26 em dois conjuntos de dados separados de forma independente — um para detecção de objetos especializada e outro para classificação de imagens. Ao calcular as diferenças de pesos para ambas as tarefas e adicioná-las novamente ao modelo base, a rede resultante pode executar as duas tarefas simultaneamente sem sofrer de esquecimento catastrófico.
- Esquecimento direcionado para a segurança da IA: se um modelo de visão aprender inadvertidamente características enviesadas a partir dos dados de treinamento, os pesquisadores podem ajustar uma cópia com base nos dados enviesados, extrair as diferenças específicas de pesos e subtraí-las do modelo original. Conforme observado em várias descobertas da Google DeepMind, isso apaga efetivamente o comportamento indesejado, preservando ao mesmo tempo as capacidades gerais de inteligência artificial do modelo.
Diferenciação de conceitos relacionados#
Ao consultar os arquivos do IEEE Xplore ou a biblioteca digital da ACM, é fácil confundir a aritmética de tarefas com metodologias relacionadas:
- Vetores de tarefas: são os tensores matemáticos propriamente ditos (as diferenças de pesos calculadas) usados durante o processo aritmético. A aritmética de tarefas é a estrutura abrangente de adição ou subtração desses vetores.
- Fusão de modelos: este é um termo mais amplo para a combinação de vários modelos. Embora a aritmética seja uma forma de combinar modelos, a fusão também pode envolver redes de roteamento complexas ou ensembles.
- Aprendizado por transferência: de acordo com os conceitos de aprendizado por transferência da Wikipédia, isso envolve usar o conhecimento de uma tarefa como ponto de partida para outra, o que normalmente requer ciclos adicionais de treinamento. A aritmética de tarefas modifica comportamentos exclusivamente por meio de cálculos diretos de pesos, sem ciclos adicionais de treinamento.
Implementação de operações aritméticas#
Aplicar essas estratégias de otimização de modelos na prática exige gerenciar cuidadosamente o estado interno do modelo. Abaixo, apresentamos um exemplo de cálculo e aplicação de uma atualização usando PyTorch, uma técnica frequentemente discutida em artigos recentes sobre visão computacional.
import torch
# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")
# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
task_vector = tuned_weights[key] - base_weights[key]
base_weights[key] += scaling_factor * task_vectorPara equipes que gerenciam pipelines complexos de anotação de dados e várias versões de modelos ajustados, a Ultralytics Platform oferece um ambiente simplificado para supervisionar o treinamento na nuvem e a implantação contínua, tornando a gestão de melhorias iterativas dos modelos muito mais eficiente.






