Steering Vectors
Khám phá cách steering vectors cho phép kiểm soát thời gian thực đối với các mạng thần kinh mà không cần đào tạo lại. Tìm hiểu về activation engineering với Ultralytics YOLO26.
Steering vectors đại diện cho các hướng toán học có ý nghĩa trong không gian kích hoạt ẩn của một neural network tương ứng với các khái niệm cấp cao, chẳng hạn như "sự lịch sự", "tính trung thực" hoặc các đặc điểm thị giác cụ thể. Bằng cách chủ động tiêm hoặc trừ các vectơ này khỏi trạng thái nội bộ của model trong quá trình forward pass, các developer có thể dự đoán và kiểm soát cũng như thay đổi hành vi của model mà không cần cập nhật bất kỳ trọng số cơ sở nào. Kỹ thuật này, bắt nguồn sâu xa từ Activation Engineering, cung cấp khả năng kiểm soát tại thời điểm inference với chi phí bằng không đối với các hệ thống deep learning từ large language models cho đến các kiến trúc thị giác.
Cách Steering Vectors hoạt động#
Để tạo ra một steering vector, các nhà nghiên cứu thường sử dụng một phương pháp gọi là Contrastive Activation Addition (CAA). Quá trình này bao gồm việc truyền một tập hợp các cặp dữ liệu đối lập — chẳng hạn như một prompt yêu cầu model "hữu ích" so với một prompt yêu cầu nó "gây hại" — qua mạng. Sự khác biệt trong các đầu ra của activation function giữa các cặp này được lấy trung bình trên nhiều mẫu để cô lập hướng hình học cụ thể đại diện cho khái niệm đó trong tensor space.
Trong quá trình real-time inference, vectơ này được cộng vào hoặc trừ khỏi các trạng thái ẩn ở các layer cụ thể bằng cách sử dụng phép PyTorch tensor addition đơn giản. Việc điều chỉnh cường độ của vectơ cho phép các kỹ sư tinh chỉnh mức độ của hành vi được tiêm vào.
Phân biệt Steering Vectors với các khái niệm liên quan#
Hiểu cách steering vectors phù hợp với bức tranh toàn cảnh machine learning đòi hỏi phải phân biệt chúng với các phương pháp tương tự:
- Task Vectors: Trong khi task vectors hoạt động trong không gian trọng số bằng cách sửa đổi thực tế model weights sau khi huấn luyện để hợp nhất các khả năng, thì steering vectors hoạt động hoàn toàn trong không gian kích hoạt tại thời điểm chạy, giữ cho các trọng số ban đầu hoàn toàn nguyên vẹn.
- Representation Engineering (RepE): RepE là khuôn khổ phương pháp tổng thể để đọc và kiểm soát trạng thái nhận thức nội bộ, được nghiên cứu kỹ lưỡng bởi các tổ chức như Center for AI Safety. Steering vectors là các công cụ toán học cụ thể được sử dụng trong giai đoạn kiểm soát của RepE.
- Prompt Engineering: Prompting cố gắng hướng dẫn hành vi bằng cách sửa đổi văn bản hoặc hình ảnh đầu vào của người dùng. Steering vectors bỏ qua điểm nghẽn đầu vào, thao túng trực tiếp quá trình xử lý nhận thức bên trong của model.
- Fine-Tuning: Các phương pháp căn chỉnh truyền thống như Reinforcement Learning from Human Feedback (RLHF) thay đổi vĩnh viễn model thông qua gradient descent, đòi hỏi lượng tính toán lớn thường được quản lý thông qua các công cụ đám mây như Ultralytics Platform. Steering vectors loại bỏ hoàn toàn chi phí tính toán này.
Các ứng dụng thực tế trong AI#
Khả năng điều khiển động các model đã mở ra những tiến bộ đáng kể trên các đường ống artificial intelligence hiện đại:
- Enhancing AI Safety: Bằng cách cô lập steering vector liên quan đến "sự từ chối" hoặc "tính vô hại", các kỹ sư có thể ép các model từ chối các hướng dẫn độc hại. Được hỗ trợ bởi OpenAI's alignment research và các nghiên cứu khả năng giải thích của Anthropic, việc điều khiển các tính cách cụ thể có thể thay đổi mạnh mẽ nhân cách trò chuyện của AI và đảm bảo các tiêu chuẩn an toàn nghiêm ngặt.
- Controlling Reasoning Models: Các nghiên cứu gần đây về các kiến trúc tư duy nâng cao chứng minh rằng steering vectors có thể điều chỉnh các chuỗi lý luận bên trong. Các kỹ sư có thể tăng xu hướng thể hiện sự không chắc chắn của model hoặc quay đầu lại trước các lỗi trong quá trình giải quyết vấn đề phức tạp.
- Mitigating AI Bias: Bằng cách trích xuất vectơ đại diện cho một thành kiến xã hội cụ thể, các developer có thể trừ đi hướng này trong quá trình tạo sinh. Điều này thực sự vô hiệu hóa thành kiến và cải thiện tính công bằng mà không cần huấn luyện lại, đồng thời giảm thiểu xác suất hallucination in LLMs.
- Steering Computer Vision Systems: Trong các model thị giác, steering vectors có thể được áp dụng cho feature maps để tăng cường một cách nhân tạo độ nhạy của mạng đối với các mục tiêu quan trọng. Ví dụ, một object detection model có thể được điều khiển để ưu tiên tìm kiếm người đi bộ trong điều kiện thời tiết bất lợi.
Áp dụng Steering Vectors với PyTorch#
Dưới đây là một ví dụ có thể chạy được về việc áp dụng can thiệp điều khiển kích hoạt cho model Ultralytics YOLO26 trong quá trình forward pass. Bằng cách tận dụng PyTorch forward hooks, bạn có thể tiêm các custom vectors trực tiếp vào các layer ẩn.
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()





