Guardrails
Yapay zekâ guardrail'leri
- Okunuşu
- gard reylz
Kısaca
Guardrails, bir yapay zekâ modelinin girdisini ve çıktısını denetleyip güvensiz, konu dışı ya da bozuk biçimli istek ve cevapları engelleyen kontrollerdir.
Yapay zekâ guardrail'leri nedir?
Guardrails, bir uygulamanın dil modelini sınırlar içinde tutmak için çevresine ördüğü kurallar ve kontrollerdir. Girdi guardrail'leri bir isteği modele ulaşmadan önce inceler; örneğin zararlı ya da konu dışı soruları reddeder, kişisel verileri ayıklar ya da olası bir prompt injection girişimini işaretler. Çıktı guardrail'leri ise cevabı kimse görmeden ya da ona göre işlem yapılmadan önce denetler: zehirli (toxic) metni engelleyebilir, sızan gizli bilgileri yakalayabilir, cevabın getirilen kaynaklarla desteklendiğini kontrol edebilir ya da çıktının beklenen biçimde geçerli bir JSON olduğundan emin olabilir.
Genellikle en ucuzdan başlayarak katmanlar hâlinde kurulurlar. Düz kod; izin listeleri, kart numaraları için bir düzenli ifade ya da bir JSON şeması denetimi gibi kesin kuralları üstlenir. Meta'nın Llama Guard'ı gibi güvenlik sınıflandırıcıları metni zarar kategorilerine göre güvenli ya da güvensiz olarak etiketler; ikinci bir LLM de üslup ya da cevabın konudan sapıp sapmadığı gibi daha ince şeyleri değerlendirebilir. NVIDIA NeMo Guardrails gibi açık kaynak araç setleri ve büyük bulut sağlayıcılarının yapay zekâ güvenliği hizmetleri bu denetimleri hazır paketler hâlinde sunar.
Yapay zekâ ajanlarında guardrail'ler eylemleri de sınırlar: model hangi araçları çağırabilir, ne kadar harcama yapabilir ve hangi adımlar bir insanın onayını gerektirir. Dağ yolundaki bariyerler gibi direksiyonu çevirmezler; bir şeyler ters gittiğinde en kötü sonuçları önlerler. Her denetim gecikme ve maliyet ekler, fazla katı olanlar da meşru kullanıcıları engeller; bu yüzden ekipler onları gerçek trafiğe ve kendi eval'lerine göre ayarlar.
Guardrail'ler çoğu zaman hizalama (alignment) ve system prompt ile karıştırılır. RLHF gibi hizalama eğitimleri modelin kendisini değiştirerek iyi davranmaya yatkın hâle getirir; system prompt ise modelden, yine de görmezden gelebileceği kurallara uymasını ister. Guardrail'ler modelin dışında durur ve uygulamanın koduyla uygulanır; bu da onları prompt injection'a ve halüsinasyona karşı önemli bir katman yapar, ama ikisi için de tam bir çözüm değildir, çünkü saldırganlar filtrelerin kaçırdığı ifadeleri bulmaya devam eder.
Önemli noktalar
- Guardrail'ler bir yapay zekâ modelinin çevresindeki denetimlerdir, modelin parçası değildir.
- Girdi guardrail'leri istekleri, çıktı guardrail'leri ise gösterilmeden ya da kullanılmadan önce cevapları denetler.
- En ucuzdan başlayarak kod kurallarını, güvenlik sınıflandırıcılarını ve LLM yargıçlarını birleştirirler.
- Ajanlarda araçları, harcamayı ve insan onayı gerektiren eylemleri de sınırlarlar.
- Prompt injection ve halüsinasyon risklerini azaltırlar ama ortadan kaldıramazlar.
Örnek
def answer(question: str) -> str:
# Input guardrail: a small, fast classifier screens the request first
if safety_classifier.is_unsafe(question) or is_off_topic(question):
return "Sorry, I can only help with questions about your account."
reply = llm.generate(system=SYSTEM_PROMPT, user=question)
# Output guardrails: enforced in code, whatever the model was told
if contains_personal_data(reply) or not supported_by_sources(reply):
return "I can't answer that reliably. A support agent will follow up."
return replySık sorulan sorular
Guardrail'ler ile system prompt arasındaki fark nedir?
System prompt modele verilen bir talimattır; model genellikle uyar ama ikna edilerek bundan vazgeçirilebilir. Guardrail'ler ise model ne yaparsa yapsın çalışan, uygulamanın kodundaki denetimlerdir; bu yüzden talimatlar işe yaramadığında da geçerli kalırlar.
Guardrail'ler prompt injection'ı durdurur mu?
Yardımcı olurlar ama tamamen durduramazlar. Girdi filtreleri bilinen pek çok saldırı kalıbını yakalar, çıktı ve eylem denetimleri de bir saldırı geçtiğinde zararı sınırlar; bu yüzden en az ayrıcalık ilkesi ve hassas eylemler için insan onayıyla birlikte kullanılırlar.
Guardrail'ler bir yapay zekâ uygulamasını yavaşlatır mı?
Her denetim, özellikle başka bir modeli çağırıyorsa, biraz gecikme ve maliyet ekler. Ekipler önce hızlı kod denetimlerini çalıştırır, model tabanlı denetimleri mümkün olduğunda ana çağrıyla paralel yürütür ve en ağır denetimleri riskli isteklere saklar.
İlgili sayfalar
- Prompt InjectionGüvenlik, s. 34Prompt injection, saldırganın metni talimat sayılınca dil modelinin kurallarını yok saydığı, veri sızdırdığı ya da araçları kötüye kullandığı saldırıdır.
- HalüsinasyonYapay Zekâ ve Makine Öğrenmesi, s. 26Halüsinasyon, bir LLM gibi yapay zekâ modelinin kendinden emin bir şekilde kulağa makul gelen ama yanlış, uydurma ya da kaynaksız bilgi üretmesidir.
- Yapay Zekâ HizalamasıYapay Zekâ ve Makine Öğrenmesi, s. 57Yapay zekâ hizalaması, yapay zekânın tasarımcılarının amaçladığı hedef ve değerlere uyup yardımsever, dürüst ve güvenli davranmasını sağlama alanıdır.
- System PromptYapay Zekâ ve Makine Öğrenmesi, s. 45System prompt, uygulamanın sohbet başlamadan önce dil modeline verdiği talimatlardır; modelin rolünü, kurallarını, üslubunu ve kullanacağı bilgileri belirler.
- Yapay Zekâ AjanıYapay Zekâ ve Makine Öğrenmesi, s. 56Yapay zekâ ajanı, hangi araçları çağıracağına karar verip sonuçları gözlemleyerek çok adımlı görevleri planlayan ve yürüten, LLM kullanan bir sistemdir.
- LLMYapay Zekâ ve Makine Öğrenmesi, s. 30LLM, çok büyük metin yığınlarıyla eğitilmiş ve bir sonraki en olası metin parçasını tekrar tekrar tahmin ederek dil üreten bir makine öğrenmesi modelidir.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin