Steering Vectors
اكتشف كيف تتيح متجهات التوجيه (steering vectors) التحكم في الوقت الفعلي في الشبكات العصبية دون الحاجة إلى إعادة التدريب. تعلم هندسة التنشيط باستخدام Ultralytics YOLO26.
تمثل متجهات التوجيه اتجاهات رياضية ذات معنى داخل مساحة التفعيل المخفية لـ neural network والتي تتوافق مع مفاهيم عالية المستوى، مثل "اللباقة"، أو "الصدق"، أو ميزات بصريّة محددة. من خلال حقن هذه المتجهات أو طرحها بشكل مصطنع من الحالات الداخلية للنموذج أثناء التمرير الأمامي، يمكن للمطورين التحكم في سلوك النموذج وتغييره بشكل يمكن التنبؤ به دون تحديث أي أوزان أساسية. هذه التقنية، المتجذرة أساسًا في Activation Engineering، توفر تحكمًا مجانيًا وفي وقت الاستدلال على أنظمة deep learning بدءًا من large language models وحتى بنيات الرؤية.
كيف تعمل متجهات التوجيه#
لإنشاء متجه توجيه، يستعمل الباحثون عادةً طريقة تسمى Contrastive Activation Addition (CAA). يتضمن ذلك تمرير مجموعة من أزواج البيانات التباينية — مثل موجه يطلب من النموذج أن يكون "مفيدًا" مقابل موجه يطلب منه أن يكون "ضارًا" — عبر الشبكة. يتم حساب متوسط الفرق في مخرجات activation function بين هذه الأزواج عبر عينات متعددة لعزل الاتجاه الهندسي المحدد الذي يمثل هذا المفهُوم في tensor space.
أثناء real-time inference، تتم إضافة هذا المتجه أو طرحه من الحالات المخفية في طبقات محددة باستخدام PyTorch tensor addition بسيطة. يسمح قياس قوة المتجه للممارسين بضبط كثافة السلوك المحقون بدقة.
التمييز بين متجهات التوجيه والمفاهيم ذات الصلة#
يتطلب فهم كيفية ملاءمة متجهات التوجيه لمشهد machine learning الأوسع تمييزها عن المنهجيات المشابهة:
- Task Vectors: بينما تعمل متجهات المهام في مساحة الأوزان عن طريق تعديل model weights الفعلية بعد التدريب لدمج القدرات، تعمل متجهات التوجيه حصريًا في مساحة التفعيل أثناء التشغيل، تاركة الأوزان الأصلية دون أي مساس.
- Representation Engineering (RepE): RepE هو الإطار المنهجي الشامل لقراءة الحالات المعرفية الداخلية والتحكم فيها، وهو موضوع بحث مكثف من قبل منظمات مثل Center for AI Safety. متجهات التوجيه هي الأدوات الرياضية المحددة المستخدمة داخل مرحلة التحكم في RepE.
- Prompt Engineering: تحاول الهندسة الموجهة توجيه السلوك عن طريق تعديل نص إدخال المستخدم أو صورته. تتجاوز متجهات التوجيه عنق الزجاجة للإدخال، متلاعبًة بشكل مباشر بالمعالجة المعرفية الداخلية للنموذج.
- Fine-Tuning: تعمل طرق التوافق التقليدية مثل التعلم المعزز من ملاحظات البشر (RLHF) على تغيير النموذج بشكل دائم عبر الانحدار التدريجي، مما يتطلب حسابات ثقيلة يُدار غالبًا عبر أدوات سحابية مثل Ultralytics Platform. تتجنب متجهات التوجيه هذا العبء الحسابي تمامًا.
تطبيقات العالم الحقيقي في الذكاء الاصطناعي#
أدت القدرة على توجيه النماذج بشكل ديناميكي إلى فتح آفاق تقدم كبيرة عبر خطوط أنابيب artificial intelligence الحديثة:
- Enhancing AI Safety: من خلال عزل متجه التوجيه المرتبط بـ "الرفض" أو "السلامة"، يمكن للمهندسين إجبار النماذج على رفض التعليمات الضارة. بدعم من OpenAI's alignment research ودراسات قابلية التفسير لشركة Anthropic، يمكن لتوجيه ميزات محددة أن يغير بشكل جذري الشخصية الحوارية للذكاء الاصطناعي ويضمن حواجز أمان صارمة.
- Controlling Reasoning Models: توضح الدراسات الحديثة حول بنيات التفكير المتقدمة أن متجهات التوجيه يمكنها تعديل سلاسل التفكير الداخلي. يمكن للممارسين زيادة ميل النموذج للتعبير عن عدم اليقين أو التراجع عن الأخطاء أثناء حل المشكلات المعقدة.
- Mitigating AI Bias: من خلال استخراج المتجه الذي يمثل تحيزًا مجتمعيًا معينًا، يمكن للمطورين طرح هذا الاتجاه أثناء التوليد. يؤدي هذا بفعالية إلى تحييد التحيز وتحسين العدالة دون إعادة التدريب، مع تقليل احتمالية hallucination in LLMs في نفس الوقت.
- Steering Computer Vision Systems: في نماذج الرؤية، يمكن تطبيق متجهات التوجيه على خرائط الميزات لتعزيز حساسية الشبكة بشكل مصطنع للأهداف الحرجة. على سبيل المثال، يمكن توجيه نموذج object detection لإعطاء الأولوية للعثور على المشاة في ظروف الطقس القاسية.
تطبيق متجهات التوجيه باستخدام PyTorch#
فيما يلي مثال قابل للتنفيذ لتطبيق تدخل توجيه التفعيل على نموذج 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()





