Task Arithmetic
Descubre cómo la aritmética de tareas utiliza actualizaciones de pesos para editar el comportamiento de los modelos. Aprende a combinar tareas o a desaprender características en Ultralytics YOLO26 sin un reentrenamiento completo.
La aritmética de tareas es una técnica avanzada de aprendizaje automático que consiste en modificar el comportamiento de redes neuronales preentrenadas mediante la suma o resta de actualizaciones de pesos específicas. En lugar de volver a entrenar completamente un modelo desde cero, los profesionales pueden aislar las diferencias aprendidas entre un modelo base y un modelo ajustado. Estas diferencias son, en esencia, actualizaciones direccionales que encapsulan una capacidad o un comportamiento específicos. Al aplicar operaciones matemáticas básicas, como la suma y la resta, a estas actualizaciones, los desarrolladores pueden editar dinámicamente sistemas de aprendizaje profundo. Este paradigma ha ganado mucha popularidad en las investigaciones recientes de arXiv sobre aritmética de tareas, ya que ofrece un método ligero y eficiente en términos de computación para adaptar modelos a gran escala a nuevos requisitos.
Cómo funciona el concepto#
La base de esta técnica consiste en calcular la diferencia de pesos del modelo entre un modelo base preentrenado y una versión que ha sido sometida a ajuste fino con un conjunto de datos específico. Esta diferencia aislada se convierte en una representación localizada de la nueva habilidad. Al manipular directamente los diccionarios de estado de PyTorch o utilizar metodologías de entrenamiento de TensorFlow, los ingenieros pueden escalar y combinar estas diferencias de pesos. Por ejemplo, restar una actualización de pesos específica puede obligar a un modelo a «olvidar» un comportamiento aprendido, un concepto ampliamente estudiado en la investigación de Anthropic sobre seguridad de los modelos.
Aplicaciones en el mundo real#
La aritmética de tareas permite aplicar varios flujos de trabajo muy eficientes en las canalizaciones modernas de visión por ordenador y procesamiento del lenguaje natural:
- Fusión de capacidades multitarea: los ingenieros pueden entrenar de forma independiente un modelo base de Ultralytics YOLO26 con dos conjuntos de datos distintos: uno para la detección de objetos especializada y otro para la clasificación de imágenes. Al calcular las diferencias de pesos de ambas tareas y volver a sumarlas al modelo base, la red resultante puede realizar las dos tareas simultáneamente sin sufrir un olvido catastrófico.
- Olvido selectivo para la seguridad de la IA: si un modelo de visión aprende inadvertidamente características sesgadas de sus datos de entrenamiento, los investigadores pueden ajustar una copia con los datos sesgados, extraer las diferencias de pesos específicas y restarlas del modelo original. Como se señala en varios descubrimientos de Google DeepMind, esto elimina eficazmente el comportamiento no deseado al tiempo que conserva las capacidades de inteligencia artificial generales del modelo.
Diferenciación de conceptos relacionados#
Al consultar los archivos de IEEE Xplore o la biblioteca digital de ACM, es fácil confundir la aritmética de tareas con metodologías relacionadas:
- Vectores de tareas: son los tensores matemáticos reales (las diferencias de pesos calculadas) que se utilizan durante el proceso aritmético. La aritmética de tareas es el marco general para sumar o restar estos vectores.
- Fusión de modelos: es un término más amplio para combinar varios modelos. Aunque la aritmética es una forma de fusionar modelos, la fusión también puede incluir redes de enrutamiento complejas o ensamblados.
- Aprendizaje por transferencia: según los conceptos de aprendizaje por transferencia de Wikipedia, consiste en utilizar los conocimientos de una tarea como punto de partida para otra, lo que normalmente requiere ciclos de entrenamiento adicionales. La aritmética de tareas modifica los comportamientos únicamente mediante cálculos directos de pesos, sin ciclos de entrenamiento adicionales.
Implementación de operaciones aritméticas#
Aplicar en la práctica estas estrategias de optimización de modelos requiere gestionar cuidadosamente el estado interno del modelo. A continuación se muestra un ejemplo de cómo calcular y aplicar una actualización mediante PyTorch, una técnica que se analiza con frecuencia en artículos recientes sobre visión por ordenador.
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 los equipos que gestionan canalizaciones complejas de anotación de datos y varias versiones de modelos ajustados, la plataforma de Ultralytics proporciona un entorno optimizado para supervisar el entrenamiento en la nube y el despliegue sin interrupciones, lo que hace mucho más eficiente la gestión de las mejoras iterativas de los modelos.






