Task Vectors
Узнай, как векторы задач обеспечивают эффективное объединение моделей и управление поведением. Открой для себя, как манипулировать весами Ultralytics YOLO26 для многозадачности с нулевым обучением (zero-shot).
Векторы задач представляют собой специфические изменения, внесенные в веса нейронной сети в процессе дообучения для достижения новых возможностей. Вычитая параметры базовой модели из параметров дообученной модели, исследователи могут выделить направленный вектор в пространстве весов, который содержит информацию об обученном поведении для этой конкретной задачи. Такой подход позволяет тебе применять простые арифметические операции над параметрами модели, чтобы направлять, изменять или объединять поведение моделей без необходимости в дополнительных вычислительных ресурсах для обучения.
Link to this sectionЧем векторы задач отличаются от трансферного обучения#
Хотя концепция трансферного обучения предполагает последовательное обучение модели на новом наборе данных для адаптации существующих знаний, векторы задач работают непосредственно со структурными весами модели после завершения обучения. Вместо переобучения градиентов для изучения новой области, интерполяция в пространстве весов с использованием векторов задач позволяет тебе линейно комбинировать разности весов от нескольких независимо обученных моделей. Это обеспечивает объединение моделей в режиме zero-shot, позволяя одной модели наследовать несколько возможностей одновременно без типичных вычислительных затрат во время обучения.
Link to this sectionРеальные приложения#
Возможность алгебраически манипулировать моделями глубокого обучения привела к нескольким важным применениям в современных AI-конвейерах:
- Объединение многозадачных моделей: Ты можешь объединить вектор задачи, оптимизированный для обнаружения объектов, с вектором, обученным для сегментации изображений. При применении к базовой модели Ultralytics YOLO26 это создает универсальную архитектуру, которая эффективно справляется с обеими задачами одновременно, сохраняя сильные стороны каждого исходного дообучения.
- Машинное «разучивание» и безопасность AI: Если модель демонстрирует предвзятые или опасные результаты, ты можешь вычислить вектор задачи, представляющий это конкретное нежелательное поведение. Вычитая этот вектор из весов модели, ты можешь эффективно «стереть» такое поведение, внося значительный вклад в улучшение стандартов безопасности AI и надежной этики AI.
- Адаптация домена в компьютерном зрении: При адаптации моделей для конкретных условий, например, при переходе от дневного к ночному инференсу в реальном времени, векторы задач позволяют тебе масштабировать степень адаптации. Применение части вектора (например, с коэффициентом масштабирования 0.5) может дать сбалансированную модель, которая хорошо работает в обоих доменах.
Link to this sectionРабота с векторами задач в PyTorch#
Создание и применение вектора задачи требует доступа к словарю состояний PyTorch и манипуляций с ним. Следующий пример демонстрирует, как извлечь вектор задачи из дообученной модели 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]Link to this sectionБудущее манипуляции весами#
По мере того как архитектуры, такие как большие языковые модели и массивные трансформеры для компьютерного зрения, увеличиваются в количестве параметров, их переобучение для каждой незначительной корректировки становится экономически невыгодным. Векторы задач предоставляют математически элегантную альтернативу для оптимизации модели после обучения. Делясь легкими векторами задач вместо целых моделей размером в несколько гигабайт, AI-сообщество может ускорить сотрудничество в сфере open-source AI. Как только твои кастомные векторы задач будут доработаны, использование Ultralytics Platform упростит последующие процессы развертывания модели и мониторинга, гарантируя, что твои оптимизированные веса будут напрямую переведены в готовые к продакшену эндпоинты.






