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, ví dụ như "sự lịch thiệp", "sự trung thực", hoặc các tính năng hình ảnh cụ thể. Bằng cách chèn hoặc trừ nhân tạo các vectơ này khỏi trạng thái bên trong của model trong quá trình forward pass, các lập trình viên có thể kiểm soát và thay đổi hành vi của model một cách có dự đoán mà không cần cập nhật bất kỳ trọng số cơ bản nào. Kỹ thuật này, về cơ bản bắt nguồn từ Activation Engineering, cung cấp khả năng kiểm soát tại thời điểm suy luận (inference-time) với chi phí bằng không cho các hệ thống deep learning, từ các large language models cho đến các kiến trúc thị giác máy tính.
Link to this sectionCá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 tương phản—ví dụ như một prompt yêu cầu model phải "hữu ích" so với một prompt yêu cầu nó phải "có hại"—thông qua mạng lưới. Sự khác biệt trong kết quả đầu ra của activation function giữa các cặp này được tính trung bình trên nhiều mẫu để tách biệt 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ừ đi từ các hidden states tại 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 người thực hiện tinh chỉnh mức độ của hành vi được chèn vào.
Link to this sectionPhân biệt Steering Vectors với các khái niệm liên quan#
Việc hiểu cách steering vectors phù hợp với bối cảnh machine learning rộng lớn hơn đò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 các model weights thực tế sau khi huấn luyện để hợp nhất các khả năng, steering vectors hoạt động hoàn toàn trong không gian kích hoạt tại thời gian chạy (runtime), để các trọng số gốc hoàn toàn không bị thay đổi.
- Representation Engineering (RepE): RepE là khung phương pháp luận bao quát về việc đọc và kiểm soát các trạng thái nhận thức bên trong, được nghiên cứu mạnh mẽ 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 nút thắt đầu vào, thao tác trực tiếp vào 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) làm thay đổi vĩnh viễn model thông qua gradient descent, đòi hỏi tài nguyên tính toán lớn vốn thường được quản lý qua các công cụ đám mây như Ultralytics Platform. Steering vectors tránh được hoàn toàn chi phí tính toán này.
Link to this sectionCác ứng dụng thực tế trong AI#
Khả năng điều khiển model một cách linh hoạt đã mở ra những tiến bộ đáng kể trên các pipeline artificial intelligence hiện đại:
- Enhancing AI Safety: Bằng cách tách biệt steering vector liên quan đến "sự từ chối" hoặc "sự vô hại", các kỹ sư có thể buộc các model từ chối các hướng dẫn độc hại. Được hỗ trợ bởi nghiên cứu căn chỉnh của OpenAI và các nghiên cứu về tính giải thích (interpretability) của Anthropic, việc điều khiển các tính năng cụ thể có thể làm thay đổi đáng kể tính cách hội thoại của AI và đảm bảo các rào cản an toàn nghiêm ngặt.
- Controlling Reasoning Models: Các nghiên cứu gần đây về kiến trúc tư duy nâng cao cho thấy rằng steering vectors có thể điều chỉnh các chuỗi suy luận bên trong. Người thực hiện có thể làm tăng xu hướng của model trong việc bày tỏ sự không chắc chắn hoặc quay lại sửa lỗi trong quá trình giải quyết các vấn đề phức tạp.
- Mitigating AI Bias: Bằng cách trích xuất vectơ đại diện cho một thiên kiến xã hội cụ thể, các lập trình viên có thể trừ hướng này đi trong quá trình tạo nội dung. Điều này giúp trung hòa hiệu quả thiên kiến và cải thiện tính công bằng mà không cần đào tạo lại, đồng thời giảm khả năng hallucination in LLMs.
- Steering Computer Vision Systems: Trong các vision model, steering vectors có thể được áp dụng vào các bản đồ tính năng (feature maps) để tăng cường độ nhạy của mạng lưới đối với các mục tiêu quan trọng một cách nhân tạo. Ví dụ, một model object detection có thể được điều hướng để ưu tiên việc tìm kiếm người đi bộ trong điều kiện thời tiết khắc nghiệt.
Link to this sectionÁ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 vào một model Ultralytics YOLO26 trong quá trình forward pass. Bằng cách sử dụng PyTorch forward hooks, bạn có thể chèn các vectơ tùy chỉnh 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()





