Task Vectors
Aprende cómo los vectores de tarea permiten una fusión eficiente de modelos y la dirección del comportamiento. Descubre cómo manipular los pesos de Ultralytics YOLO26 para tareas múltiples de tipo zero-shot.
Los vectores de tarea representan los cambios específicos realizados en los pesos de una red neuronal durante el ajuste fino para lograr una nueva capacidad. Al restar los parámetros de un modelo base fundamental de los de un modelo ajustado, los investigadores pueden aislar un vector direccional en el espacio de pesos que encapsula el comportamiento aprendido para esa tarea específica. Este enfoque permite a los desarrolladores aplicar operaciones aritméticas simples en los parámetros del modelo para dirigir, modificar o fusionar comportamientos del modelo sin necesidad de cómputo de entrenamiento adicional.
Cómo se diferencian los vectores de tarea del aprendizaje por transferencia
Mientras que el concepto de aprendizaje por transferencia implica entrenar secuencialmente un modelo en un nuevo conjunto de datos para adaptar su conocimiento existente, los vectores de tarea operan directamente sobre los pesos estructurales del modelo después del entrenamiento. En lugar de reentrenar gradientes para aprender un nuevo dominio, la interpolación en el espacio de pesos mediante vectores de tarea permite a los profesionales combinar linealmente las diferencias de peso de múltiples modelos entrenados de forma independiente. Esto permite una fusión de modelos de disparo cero (zero-shot), permitiendo que un único modelo herede múltiples capacidades simultáneamente sin la típica carga computacional durante el entrenamiento.
Aplicaciones en el mundo real
La capacidad de manipular algebraicamente los modelos de deep learning ha llevado a varias aplicaciones impactantes en las canalizaciones de IA modernas:
- Fusión de modelos multitarea: Los ingenieros pueden combinar un vector de tarea optimizado para la detección de objetos con otro entrenado para la segmentación de imágenes. Cuando se aplica a un modelo base Ultralytics YOLO26, esto crea una arquitectura de doble propósito que destaca en ambas tareas simultáneamente, conservando las fortalezas de cada ajuste fino original.
- Desaprendizaje automático y seguridad de la IA: Si un modelo muestra resultados sesgados o peligrosos, los investigadores pueden calcular un vector de tarea que represente ese comportamiento no deseado específico. Al restar este vector de los pesos del modelo, pueden "borrar" eficazmente el comportamiento, contribuyendo en gran medida a mejorar la seguridad de la IA y los estándares robustos de ética de la IA.
- Adaptación de dominio en visión artificial: Al adaptar modelos para entornos específicos, como cambiar de inferencia en tiempo real diurna a nocturna, los vectores de tarea permiten a los usuarios escalar la magnitud de la adaptación. Aplicar una fracción del vector (por ejemplo, un factor de escala de 0,5) puede producir un modelo equilibrado que funcione bien en ambos dominios.
Trabajar con vectores de tarea en PyTorch
Crear y aplicar un vector de tarea requiere acceder y manipular el diccionario de estado de PyTorch. El siguiente ejemplo demuestra cómo extraer un vector de tarea de un modelo YOLO26 ajustado y aplicarlo de vuelta al modelo base con un factor 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]El futuro de la manipulación de pesos
A medida que arquitecturas como los grandes modelos de lenguaje y los modelos Transformer de visión masivos crecen en número de parámetros, reentrenarlos para cada ajuste menor se vuelve económicamente inviable. Los vectores de tarea proporcionan una alternativa matemáticamente elegante para la optimización de modelos posterior al entrenamiento. Al compartir vectores de tarea ligeros en lugar de modelos completos de varios gigabytes, la comunidad de IA puede acelerar la colaboración de código abierto en IA. Una vez que tus vectores de tarea personalizados estén refinados, utilizar la plataforma Ultralytics simplifica los procesos posteriores de implementación de modelos y monitoreo, asegurando que tus pesos optimizados se traduzcan directamente en puntos finales listos para producción.






