Task Vectors
Aprende cómo los vectores de tarea permiten una combinación eficiente de modelos y la dirección del comportamiento. Descubre cómo manipular los pesos de Ultralytics YOLO26 para la multitarea de disparo cero.
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 sobre los parámetros del modelo para dirigir, modificar o combinar comportamientos del modelo sin necesidad de computación de entrenamiento adicional.
Link to this sectionCómo se diferencian los vectores de tarea del aprendizaje por transferencia#
Aunque 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 la fusión de modelos de tipo zero-shot, facilitando que un solo modelo herede múltiples capacidades simultáneamente sin la típica carga computacional durante el entrenamiento.
Link to this sectionAplicaciones en el mundo real#
La capacidad de manipular modelos de deep learning algebraicamente ha llevado a varias aplicaciones impactantes en los pipelines modernos de IA:
- 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. Al aplicarlo a un modelo base Ultralytics YOLO26, se crea una arquitectura de doble propósito que destaca en ambas tareas simultáneamente, preservando las fortalezas de cada ajuste fino original.
- Desaprendizaje automático y seguridad de la IA: Si un modelo exhibe 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 enormemente a mejorar los estándares de seguridad de la IA y la ética de la IA robusta.
- 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 generar un modelo equilibrado que funcione bien en ambos dominios.
Link to this sectionTrabajar 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]Link to this sectionEl futuro de la manipulación de pesos#
A medida que arquitecturas como los modelos de lenguaje grandes y los enormes vision Transformers aumentan en recuento 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 tras el 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 perfeccionados, utilizar la Ultralytics Platform simplifica los procesos posteriores de despliegue de modelos y monitorización, asegurando que tus pesos optimizados se traduzcan directamente en endpoints listos para producción.






