Steering Vectors
Узнай, как направляющие векторы (steering vectors) позволяют управлять нейронными сетями в реальном времени без переобучения. Изучи инженерию активаций с Ultralytics YOLO26.
Steering vectors — это значимые математические направления в скрытом пространстве активаций нейронной сети, которые соответствуют концепциям высокого уровня, таким как «вежливость», «правдивость» или определенные визуальные признаки. Искусственно добавляя или вычитая эти векторы из внутренних состояний модели во время прямого прохода, ты можешь предсказуемо контролировать и изменять поведение модели, не обновляя при этом никакие веса. Эта техника, в основе которой лежит Activation Engineering, обеспечивает бесплатный контроль над системами deep learning во время инференса — от large language models до архитектур компьютерного зрения.
Link to this sectionКак работают Steering Vectors#
Чтобы создать steering vector, исследователи обычно используют метод под названием Contrastive Activation Addition (CAA). Он включает пропуск через сеть набора контрастных пар данных, например, промпта, требующего от модели быть «полезной», в противовес промпту, требующему быть «вредной». Разница в выходных значениях activation function между этими парами усредняется по нескольким выборкам, чтобы выделить специфическое геометрическое направление, представляющее эту концепцию в tensor space.
Во время real-time inference этот вектор добавляется к скрытым состояниям в определенных слоях или вычитается из них с помощью простого PyTorch tensor addition. Масштабирование силы вектора позволяет тебе точно настраивать интенсивность внедряемого поведения.
Link to this sectionОтличие Steering Vectors от смежных концепций#
Чтобы понять, как steering vectors вписываются в более широкий ландшафт machine learning, нужно отличать их от схожих методологий:
- Task Vectors: В то время как task vectors работают в пространстве весов, изменяя реальные model weights после обучения для объединения возможностей, steering vectors работают строго в пространстве активаций во время выполнения, не затрагивая исходные веса.
- Representation Engineering (RepE): RepE — это общая методологическая база для чтения и контроля внутренних когнитивных состояний, активно исследуемая такими организациями, как Center for AI Safety. Steering vectors — это конкретные математические инструменты, используемые на этапе контроля в RepE.
- Prompt Engineering: Промптинг пытается направлять поведение, изменяя вводный текст или изображение пользователя. Steering vectors обходят это узкое место ввода, напрямую манипулируя внутренними когнитивными процессами модели.
- Fine-Tuning: Традиционные методы настройки, такие как обучение с подкреплением на основе обратной связи от людей (RLHF), необратимо меняют модель с помощью градиентного спуска, требуя больших вычислительных мощностей, которые часто управляются через облачные инструменты, такие как Ultralytics Platform. Steering vectors полностью избавляют тебя от этих вычислительных затрат.
Link to this sectionПрименение в реальном мире AI#
Способность динамически управлять моделями открыла значительные достижения в современных пайплайнах artificial intelligence:
- Enhancing AI Safety: Выделяя steering vector, связанный с «отказом» или «безвредностью», инженеры могут заставить модели отклонять вредоносные инструкции. При поддержке OpenAI's alignment research и исследований интерпретируемости от Anthropic, управление специфическими признаками может радикально изменить разговорный стиль AI и обеспечить строгие рамки безопасности.
- Controlling Reasoning Models: Недавние исследования продвинутых архитектур мышления показывают, что steering vectors могут модулировать внутренние цепочки рассуждений. Ты можешь увеличить склонность модели выражать неуверенность или исправлять ошибки в процессе решения сложных задач.
- Mitigating AI Bias: Извлекая вектор, представляющий определенную социальную предвзятость, ты можешь вычесть это направление во время генерации. Это эффективно нейтрализует предвзятость и повышает объективность без переобучения, одновременно снижая вероятность hallucination in LLMs.
- Steering Computer Vision Systems: В моделях компьютерного зрения steering vectors могут применяться к картам признаков для искусственного повышения чувствительности сети к критически важным целям. Например, модель object detection можно настроить так, чтобы она отдавала приоритет обнаружению пешеходов в сложных погодных условиях.
Link to this sectionПрименение Steering Vectors с PyTorch#
Ниже приведен рабочий пример применения интервенции через steering vectors к модели Ultralytics YOLO26 во время прямого прохода. Используя PyTorch forward hooks, ты можешь внедрять пользовательские векторы напрямую в скрытые слои.
import torch
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model for state-of-the-art vision tasks
model = YOLO("yolo26n.pt")
# Define a hook function to steer the internal activations
def steer_activations_hook(module, input, output):
# Create a steering vector matching the output shape (for demonstration purposes)
# In practice, this vector is pre-computed via Contrastive Activation Addition (CAA)
steering_vector = torch.ones_like(output) * 0.1
# Add the steering vector to the model's hidden states to alter behavior at inference
return output + steering_vector
# Attach the hook to a middle layer (e.g., layer index 5) to inject the vector
handle = model.model.model[5].register_forward_hook(steer_activations_hook)
# Run inference on an image with the dynamically steered activations
results = model("https://ultralytics.com/images/bus.jpg")
# Remove the hook to restore the model to its original unsteered state
handle.remove()





