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، يمكن لتوجيه ميزات محددة أن يغير بشكل جذري شخصية محادثة الذكاء الاصطناعي ويضمن حواجز حماية صارمة للسلامة.
- التحكم في نماذج التفكير: أظهرت الدراسات الحديثة حول بنى التفكير المتقدمة أن متجهات التوجيه يمكنها تعديل سلاسل التفكير الداخلية. يمكن للممارسين زيادة ميل النموذج للتعبير عن عدم اليقين أو التراجع عن الأخطاء أثناء حل المشكلات المعقدة.
- تخفيف انحياز الذكاء الاصطناعي: من خلال استخراج المتجه الذي يمثل انحيازاً مجتمعياً محدداً، يمكن للمطورين طرح هذا الاتجاه أثناء التوليد. هذا يحيد الانحياز بفعالية ويحسن العدالة دون إعادة التدريب، مع تقليل احتمالية الهلوسة في LLMs في الوقت نفسه.
- توجيه أنظمة الرؤية الحاسوبية: في نماذج الرؤية، يمكن تطبيق متجهات التوجيه على خرائط الميزات لتعزيز حساسية الشبكة بشكل اصطناعي للأهداف الحرجة. على سبيل المثال، يمكن توجيه نموذج اكتشاف الأشياء لإعطاء الأولوية لإيجاد المشاة في الظروف الجوية السيئة.
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()





