Steering Vectors
Yönlendirme vektörleri, çıkarım sırasında eklendiklerinde modelin davranışını değiştiren aktivasyon uzayındaki yönlerdir; yeniden eğitim gerekmez. Yöntemleri ve kodu ele alır.
Yönlendirme vektörü, sinir ağının etkinleştirme uzayında olumlu duygu, ret veya dalkavukluk gibi bir kavram ya da davranışa karşılık gelen bir yöndür. İleri geçiş sırasında vektörün ölçeklenmiş bir kopyasını ağın gizli etkinleştirmelerine eklemek çıktıyı o davranışa yaklaştırır; çıkarmak ise davranıştan uzaklaştırır ve model ağırlıkları değişmeden kalır. Etkinleştirme mühendisliğine ait olan bu teknik çoğunlukla büyük dil modellerine (LLM'ler) uygulanır. Yüksek düzeyli birçok kavramın artık akışında, yani her Transformer katmanının okuduğu ve yazdığı etkinleştirmelerin toplamında, kabaca doğrusal yönler olarak temsil edildiği gözlemine dayanır.
Yönlendirme Vektörleri Nasıl Oluşturulur ve Uygulanır#
En yaygın yöntem, ortalamaların farkını kullanmaktır. Araştırmacılar, biri davranışı gösteren diğeri göstermeyen karşıt girdi çiftlerini modelden geçirir, seçilen bir katmandaki etkinleştirmeleri kaydeder ve farkların ortalamasını alır. Alexander Matt Turner ve çalışma arkadaşlarının 2023'te tanıttığı Activation Addition (ActAdd), "Love" ve "Hate" gibi tek bir çiftin GPT-2-XL'in duygu yönünü değiştirebildiğini gösterdi. Contrastive Activation Addition (CAA), birden fazla seçenekli pek çok çiftin ortalamasını alarak Llama 2 Chat'i dalkavukluk, halüsinasyon ve ret gibi davranışlara yöneltir veya bu davranışlardan uzaklaştırır; vektörü kullanıcının isteminden sonraki her belirteç konumuna ekler. Yönler doğrusal sondalardan, farkların temel bileşenlerinden veya bir seyrek otomatik kodlayıcının özelliklerinden de elde edilebilir.
Çıkarım sırasında bir kanca, seçilen katmanın çıktısına katsayı ile vektörün çarpımını ekler. Genellikle ara katmanlar en iyi yönlendirmeyi sağlar; katsayı ise etkinin gücünü belirler: çok küçük olduğunda gözle görülür bir etki yaratmaz, çok büyük olduğunda metni tekrara veya anlamsızlığa sürükler.
ActAdd deneyi, Hugging Face Transformers içindeki 124 milyon parametreli GPT-2 ile birkaç satır PyTorch kodunda yapılabilir. Bir ileri geçiş kancası, model düşmanca bir istemi tamamlarken "Love" ile "Hate" vektörlerinin farkını 6. bloğun çıktısına ekler:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
layer = 6
def activation(text):
"""Return the last token's activation at the output of the steering layer."""
with torch.no_grad():
outputs = model(**tokenizer(text, return_tensors="pt"), output_hidden_states=True)
return outputs.hidden_states[layer + 1][0, -1]
# Steering vector: activation difference between a contrastive pair of prompts
steering_vector = activation(" Love") - activation(" Hate")
prompt = tokenizer("I hate you because", return_tensors="pt")
for coeff in [0.0, 1.0]:
# Add the scaled vector to the layer's output at every position while generating
hook = model.transformer.h[layer].register_forward_hook(
lambda module, args, output: output + coeff * steering_vector
)
tokens = model.generate(**prompt, max_new_tokens=16, do_sample=False, pad_token_id=tokenizer.eos_token_id)
hook.remove()
print(f"coeff={coeff}: {tokenizer.decode(tokens[0])}")Yönlendirme uygulanmadığında model "I hate you because I hate you. I hate you because I hate you." diye devam eder. Vektör 1.0 katsayısıyla eklendiğinde aynı açgözlü kod çözme "I hate you because you are a good person. I love you. I love you." diye devam eder. Her iki çalıştırmada da ağırlıklar aynıdır; yalnızca tek bir katmanın etkinleştirmeleri değişmiştir.
Yönlendirme Vektörleri ve İlgili Kavramlar#
- Görev vektörleri: İnce ayar uygulanmış ve özgün ağırlıklar arasındaki farktır; bir beceriyi aktarmak için modele eklenir. Görev vektörleri ağırlıkları bir kez düzenlerken yönlendirme vektörleri her ileri geçişte etkinleştirmeleri düzenler.
- Temsil mühendisliği (RepE): Bir modeli iç temsilleri üzerinden okuma ve denetleme yaklaşımının genel adıdır. Yönlendirme vektörleri bu yaklaşımın başlıca denetim aracıdır.
- İstem mühendisliği: Davranışı girdi metni üzerinden yönlendirir. Yönlendirme, iç etkinleştirmeler üzerinde çalıştığından modelin iç yapılarına erişim gerektirir ve yalnızca açık ağırlıklı modellerde veya sağlayıcının kendi sistemlerinde kullanılabilir.
- İnce ayar: Ağırlıkları gradyan inişiyle eğiterek davranışı kalıcı olarak değiştirir. Bir yönlendirme vektörü oluşturmak için yalnızca birkaç ila birkaç yüz örnekte ileri geçiş yapmak yeterlidir.
- Mekanistik yorumlanabilirlik: Modellerin hesaplamayı nasıl yaptığını açıklar. Yönlendirme, bulunan bir yönün gerçekten davranışa neden olup olmadığını sınamak için kullanılan araçlardan biridir.
Gerçek Dünya Uygulamaları#
Yönlendirme vektörleri bir denetim yöntemi olduğu kadar yapay zekâ güvenliği için de bir araştırma aracıdır. Parametre sayısı 72 milyara kadar çıkan 13 açık sohbet modelinde, reddetme davranışına tek bir yön aracılık eder: bu yön silindiğinde model zararlı istekleri reddetmeyi bırakır, eklendiğinde ise zararsız istekleri reddeder. Bu, açık modellerde ağırlık düzeyindeki güvenlik eğitiminin ne kadar kolay bozulabildiğini gösterir.
Doğrulukla ilgili yönler halüsinasyonları azaltır. Çıkarım Zamanı Müdahalesi, birkaç dikkat başlığının etkinleştirmelerini bu tür yönlerde kaydırarak Alpaca modelinin TruthfulQA kıyaslamasındaki doğruluğunu %32,5'ten %65,1'e yükseltir. Anthropic'in kişilik vektörleri, aynı fikri dalkavukluk, halüsinasyon eğilimi ve kötü niyet gibi karakter özelliklerine uygular; bu özellikleri dağıtım sırasında izler, onları güçlendirecek eğitim verilerini işaretler ve ince ayar sırasında bunlara karşı yönlendirme yapar. Akıl yürütme modellerinde, DeepSeek-R1-Distill modellerinden çıkarılan vektörler belirsizlik ifade etme, örnekleri sınama ve geri adım atma gibi akıl yürütme davranışlarını denetler.
Görüntü modelleri de kavramları yönler olarak kodlar; aynı yaklaşım bilgisayarlı görü ağının özellik haritalarına uygulanabilir. Ultralytics YOLO26 içinde model.embed(), seçilen herhangi bir katmandan her görüntünün ortalama havuzlanmış etkinleştirmelerini döndürür. Böylece gündüz ve gece sahneleri gibi iki görüntü kümesi arasındaki ortalama fark yönünü hesaplamak için gereken görüntü başına etkinleştirmeler elde edilir.
Sınırlamalar#
Yönlendirme, en iyi gösterimlerin düşündürdüğünden daha az güvenilirdir. Daniel Tan ve çalışma arkadaşlarının yönlendirme vektörlerinin genellenebilirliği ve güvenilirliği üzerine yaptığı bir çalışma, yönlendirilebilirliğin girdiden girdiye büyük ölçüde değiştiğini, karşılaştırmalı istemlerdeki ilgisiz özelliklerin etki yaratabildiğini ve istemdeki küçük, makul değişikliklerin vektörün çalışmasını durdurabildiğini buldu. Yönlendirme akıcılıktan da ödün verir: ActAdd makalesindeki duygu deneylerinde, yönlendirilmiş metnin karmaşıklık temelli akıcılık kaybı yönlendirilmemiş metninkinin 1,5 ila 3 katıydı.










