Steering Vectors
اكتشف كيف تتيح متجهات التوجيه (steering vectors) التحكم الفوري في الشبكات العصبية دون إعادة تدريب. تعلم هندسة التنشيط مع Ultralytics YOLO26.
تمثل متجهات التوجيه اتجاهات رياضية ذات دلالة ضمن مساحة التنشيط المخفية في شبكة عصبية والتي تتوافق مع مفاهيم عالية المستوى، مثل "اللباقة"، أو "الصدق"، أو سمات بصرية محددة. من خلال حقن هذه المتجهات أو طرحها بشكل مصطنع من الحالات الداخلية للنموذج أثناء التمرير الأمامي، يمكن للمطورين التحكم في سلوك النموذج وتغييره بشكل يمكن التنبؤ به دون تحديث أي أوزان أساسية. توفر هذه التقنية، المتجذرة أساساً في هندسة التنشيط، تحكماً بدون تكلفة أثناء الاستدلال لأنظمة التعلم العميق بدءاً من نماذج اللغة الكبيرة وصولاً إلى بنيات الرؤية الحاسوبية.
Link to this sectionكيف تعمل متجهات التوجيه#
لإنشاء متجه توجيه، يستخدم الباحثون عادةً طريقة تسمى إضافة التنشيط التبايني (CAA). يتضمن ذلك تمرير مجموعة من أزواج البيانات التباينية—مثل مطالبة تطلب من النموذج أن يكون "مفيداً" مقابل أخرى تطلب منه أن يكون "ضاراً"—عبر الشبكة. يتم حساب متوسط الفرق في مخرجات دالة التنشيط بين هذه الأزواج عبر عينات متعددة لعزل الاتجاه الهندسي المحدد الذي يمثل ذلك المفهوم في فضاء الموتر.
أثناء الاستدلال في الوقت الفعلي، يتم إضافة هذا المتجه إلى أو طرحه من الحالات المخفية في طبقات محددة باستخدام إضافة موتر PyTorch بسيطة. يسمح تغيير قوة المتجه للممارسين بضبط كثافة السلوك المحقون.
Link to this sectionالتمييز بين متجهات التوجيه والمفاهيم ذات الصلة#
يتطلب فهم كيفية توافق متجهات التوجيه مع مشهد التعلم الآلي الأوسع تمييزها عن المنهجيات المماثلة:
- متجهات المهام: بينما تعمل متجهات المهام في فضاء الأوزان عن طريق تعديل أوزان النموذج الفعلية بعد التدريب لدمج القدرات، تعمل متجهات التوجيه بدقة في فضاء التنشيط أثناء وقت التشغيل، مما يترك الأوزان الأصلية دون مساس تماماً.
- هندسة التمثيل (RepE): RepE هي الإطار المنهجي الشامل لقراءة والتحكم في الحالات المعرفية الداخلية، والتي بحثتها بشدة منظمات مثل مركز سلامة الذكاء الاصطناعي. متجهات التوجيه هي الأدوات الرياضية المحددة المستخدمة ضمن مرحلة التحكم في RepE.
- هندسة الأوامر: تحاول الأوامر توجيه السلوك عن طريق تعديل النص أو الصورة المدخلة للمستخدم. تتجاوز متجهات التوجيه عنق الزجاجة للمدخلات، حيث تعالج بشكل مباشر المعالجة المعرفية الداخلية للنموذج.
- الضبط الدقيق: تقوم طرق المحاذاة التقليدية مثل التعلم التعزيزي من ردود الفعل البشرية (RLHF) بتغيير النموذج بشكل دائم عبر التدرج المتناقص، مما يتطلب حسابات مكثفة غالباً ما تُدار عبر أدوات سحابية مثل منصة Ultralytics. تتجنب متجهات التوجيه هذا العبء الحسابي تماماً.
Link to this sectionتطبيقات العالم الحقيقي في الذكاء الاصطناعي#
لقد أتاحت القدرة على توجيه النماذج ديناميكياً تطورات كبيرة عبر خطوط أنابيب الذكاء الاصطناعي الحديثة:
- تعزيز سلامة الذكاء الاصطناعي: من خلال عزل متجه التوجيه المرتبط بـ "الرفض" أو "عدم الضرر"، يمكن للمهندسين إجبار النماذج على رفض التعليمات الضارة. بدعم من أبحاث محاذاة OpenAI ودراسات القابلية للتفسير من Anthropic، يمكن لتوجيه سمات محددة تغيير شخصية الذكاء الاصطناعي في المحادثة بشكل كبير وضمان حواجز حماية صارمة للسلامة.
- التحكم في نماذج التفكير: أظهرت الدراسات الحديثة حول بنيات التفكير المتقدمة أن متجهات التوجيه يمكنها تعديل سلاسل التفكير الداخلية. يمكن للممارسين زيادة ميل النموذج للتعبير عن عدم اليقين أو التراجع عن الأخطاء أثناء حل المشكلات المعقدة.
- تخفيف تحيز الذكاء الاصطناعي: من خلال استخراج المتجه الذي يمثل تحيزاً مجتمعياً محدداً، يمكن للمطورين طرح هذا الاتجاه أثناء التوليد. يؤدي هذا بفعالية إلى تحييد التحيز وتحسين العدالة دون إعادة تدريب، مع تقليل احتمالية الهلوسة في نماذج اللغة الكبيرة في الوقت نفسه.
- توجيه أنظمة الرؤية الحاسوبية: في نماذج الرؤية، يمكن تطبيق متجهات التوجيه على خرائط السمات لتعزيز حساسية الشبكة بشكل مصطنع تجاه الأهداف الحرجة. على سبيل المثال، يمكن توجيه نموذج كشف الأشياء لإعطاء الأولوية للعثور على المشاة في الظروف الجوية السيئة.
Link to this sectionتطبيق متجهات التوجيه باستخدام PyTorch#
فيما يلي مثال قابل للتشغيل لتطبيق تدخل توجيه التنشيط على نموذج Ultralytics YOLO26 أثناء التمرير الأمامي. باستخدام خطافات التمرير الأمامي في PyTorch، يمكنك حقن متجهات مخصصة مباشرة في الطبقات المخفية.
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()





