Task Vectors
Узнай, как векторы задач обеспечивают эффективное объединение моделей и управление поведением. Открой для себя, как манипулировать весами Ultralytics YOLO26 для многозадачности с нулевым обучением (zero-shot).
Task vectors представляют собой конкретные изменения, внесенные в веса нейронной сети в ходе тонкой настройки для достижения новой возможности. Вычитая параметры базовой модели из параметров дообученной модели, исследователи могут выделить направленный вектор в пространстве весов, который инкапсулирует выученное поведение для этой конкретной задачи. Такой подход позволяет разработчикам применять простые арифметические операции с параметрами модели для направления, изменения или объединения поведений модели без необходимости в дополнительных вычислительных ресурсах для обучения.
Чем векторы задач отличаются от трансферного обучения#
В то время как концепция трансфертного обучения предполагает последовательное обучение модели на новом наборе данных для адаптации ее существующих знаний, task vectors работают непосредственно со структурными весами модели после завершения обучения. Вместо повторного обучения градиентов для изучения нового домена, интерполяция в пространстве весов с использованием task vectors позволяет практикам линейно объединять разницы весов от нескольких независимо обученных моделей. Это обеспечивает бесшовное объединение моделей, позволяя одной модели одновременно наследовать множество возможностей без типичных вычислительных затрат во время обучения.
Реальные приложения#
Способность алгебраически манипулировать моделями глубокого обучения привела к нескольким важным применениям в современных пайплайнах ИИ:
- Объединение многозадачных моделей: Инженеры могут комбинировать task vector, оптимизированный для обнаружения объектов, с другим, обученным для сегментации изображений. При применении к базовой модели Ultralytics YOLO26 это создает архитектуру двойного назначения, которая отлично справляется с обеими задачами одновременно, сохраняя сильные стороны каждой из исходных дообученных моделей.
- Забывание данных и безопасность ИИ: Если модель демонстрирует предвзятые или опасные результаты, исследователи могут вычислить task vector, представляющий это конкретное нежелательное поведение. Вычитая этот вектор из весов модели, они могут эффективно «стереть» такое поведение, что вносит весомый вклад в повышение безопасности ИИ и соблюдение строгих стандартов этики ИИ.
- Адаптация к домену в компьютерном зрении: При адаптации моделей под конкретные среды — например, при переходе от дневного к ночному инференсу в реальном времени — task vectors позволяют пользователям масштабировать степень адаптации. Применение части вектора (например, с коэффициентом масштабирования 0,5) может дать сбалансированную модель, которая хорошо работает в обоих доменах.
Работа с векторами задач в PyTorch#
Создание и применение вектора задачи требует доступа к PyTorch state dictionary и манипуляций с ним. Следующий пример показывает, как извлечь вектор задачи из дообученной модели Ultralytics YOLO26 и применить его обратно к базовой модели с определенным коэффициентом масштабирования.
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]Будущее манипуляции весами#
Поскольку такие архитектуры, как большие языковые модели и массивные vision transformers, увеличивают количество параметров, их повторное обучение для каждой незначительной корректировки становится экономически нецелесообразным. Task vectors предоставляют математически элегантную альтернативу для постреляционной оптимизации моделей. Путем обмена легкими task vectors вместо целых многогигабайтных моделей ИИ-сообщество может ускорить открытое сотрудничество в области ИИ. После того как ваши пользовательские task vectors будут доработаны, использование платформы Ultralytics упростит последующие процессы развертывания модели и мониторинга, гарантируя, что ваши оптимизированные веса напрямую перенесутся в готовые к продакшену эндпоинты.






