Güvenlikle ilgili yol gösterici bilgiler

Büyük dil modellerini (LLM) bu kadar kullanışlı kılan unsurlardan biri, birçok farklı dil görevine yanıt verebilen yaratıcı araçlar olmalarıdır. Ne yazık ki bu durum, büyük dil modellerinin rahatsız edici, duyarsız veya yanlış bilgiler içeren metinler de dahil olmak üzere beklemediğiniz çıktılar oluşturabileceği anlamına da gelir. Dahası, bu modellerin olağanüstü çok yönlülüğü de tam olarak ne tür istenmeyen sonuçlar üretebileceklerini tahmin etmeyi zorlaştırıyor. Gemini API, Google'ın yapay zeka ilkeleri göz önünde bulundurularak tasarlanmıştır ancak bu modelleri sorumlu bir şekilde uygulama sorumluluğu geliştiricilere aittir. Geliştiricilerin güvenli ve sorumlu uygulamalar oluşturmasına yardımcı olmak için Gemini API'de bazı yerleşik içerik filtrelemelerinin yanı sıra 4 zarar boyutunda düzenlenebilir güvenlik ayarları bulunur. Daha fazla bilgi edinmek için güvenlik ayarları kılavuzuna bakın.

Bu belgenin amacı, LLM'leri kullanırken ortaya çıkabilecek bazı güvenlik risklerini tanıtmak ve yeni güvenlik tasarımı ve geliştirme önerileri önermektir. (Yasa ve yönetmeliklerin de kısıtlama getirebileceğini unutmayın, ancak bu tür konular bu kılavuzun kapsamı dışındadır.)

LLM içeren uygulamalar oluştururken aşağıdaki adımlar önerilir:

  • Uygulamanızın güvenlik risklerini anlama
  • Güvenlik risklerini azaltmak için ayarlamalar yapmayı düşünme
  • Kullanım alanınıza uygun güvenlik testleri gerçekleştirme
  • Kullanıcılardan geri bildirim isteme ve kullanımı izleme

Ayarlama ve test aşamaları, uygulamanız için uygun performansa ulaşana kadar tekrarlanmalıdır.

Model uygulama döngüsü

Uygulamanızın güvenlik risklerini anlayın

Bu bağlamda güvenlik, bir LLM'nin, sakıncalı dil veya basmakalıp örnekleri teşvik eden içerikler oluşturarak kullanıcılara zarar vermekten kaçınma becerisidir. Gemini API aracılığıyla sunulan modeller, Google'ın yapay zeka ilkeleri göz önünde bulundurularak tasarlanmıştır ve bu modelleri kullanımınız Üretken Yapay Zeka Yasaklanan Kullanım Politikası'na tabidir. API, zehirli dil ve nefret söylemi gibi yaygın dil modeli sorunlarının çözülmesine, kapsayıcılık sağlanmasına ve stereotiplerden kaçınılmasına yardımcı olacak yerleşik güvenlik filtreleri sunar. Ancak her uygulama, kullanıcıları için farklı riskler oluşturabilir. Dolayısıyla uygulama sahibi olarak kullanıcılarınızı ve uygulamanızın neden olabileceği olası zararları bilmekten ve uygulamanızın LLM'leri güvenli ve sorumlu bir şekilde kullanmasını sağlamaktan siz sorumlu olursunuz.

Bu değerlendirme kapsamında, zararın gerçekleşme olasılığını göz önünde bulundurmalı ve sorunun ciddiyetini ve etkilerini hafifletme adımlarını belirlemelisiniz. Örneğin, gerçeğe dayalı olaylara dayalı makaleler üreten bir uygulamanın, eğlence amacıyla kurgusal hikayeler oluşturan bir uygulamaya kıyasla, yanlış bilgilendirmeden kaçınma konusunda daha dikkatli olması gerekir. Potansiyel güvenlik risklerini araştırmaya başlamanın iyi bir yolu, son kullanıcılarınızı ve uygulamanızın sonuçlarından etkilenebilecek diğer kişileri araştırmaktır. Bu; uygulama alanınızdaki sanat durumunu araştırmak, kullanıcıların benzer uygulamaları nasıl kullandığını gözlemlemek, kullanıcı araştırması veya anket yapmak ya da potansiyel kullanıcılarla gayriresmî görüşmeler yapmak gibi pek çok farklı biçimde olabilir.

Gelişmiş ipuçları

  • Potansiyel riskler hakkında daha kapsamlı bir bakış açısı edinmek ve çeşitlilik ölçütlerini gerektiği gibi ayarlamak için hedef popülasyonunuzdaki potansiyel kullanıcıların birbirinden farklı bir karışımına uygulamanız ve uygulamanızın amacı hakkında konuşun.
  • ABD hükümetinin Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından yayınlanan AI Risk Yönetimi Çerçevesi, AI risk yönetimi için daha ayrıntılı rehberlik ve ek öğrenme kaynakları sağlar.
  • DeepMind'ın dil modellerinden kaynaklanan zararın etik ve sosyal riskleri konulu yayınında, dil modeli uygulamalarının zarar verebilecek yanları ayrıntılı olarak açıklanmaktadır.

Güvenlik risklerini azaltmak için düzenlemeler yapma

Artık riskleri anladığınıza göre bunları nasıl azaltacağınıza karar verebilirsiniz. Hangi risklere öncelik verileceğini ve bunların önüne geçmek için ne kadar çaba sarf etmeniz gerektiğini belirlemek, tıpkı yazılım projelerinde olduğu gibi kritik bir karardır. Öncelikleri belirledikten sonra, en uygun çözüm türleri üzerine düşünmeye başlayabilirsiniz. Basit değişiklikler çoğu zaman fark yaratabilir ve riskleri azaltabilir.

Örneğin, bir uygulama tasarlarken şunları göz önünde bulundurun:

  • Uygulama bağlamınızda kabul edilebilir unsurları daha iyi yansıtmak için model çıkışını ayarlama. İnce ayarlar, model çıktısını daha öngörülebilir ve tutarlı hale getirerek belirli risklerin azaltılmasına yardımcı olabilir.
  • Daha güvenli çıkışlar sağlayan bir giriş yöntemi sağlama. LLM'ye verdiğiniz girdinin aynısı, çıktının kalitesinde fark yaratabilir. Kullanım alanınızda en güvenli şekilde çalışan yöntemi bulmak için giriş istemleriyle denemeler yapmak, çabaya değer çünkü daha sonra bunu kolaylaştıran bir kullanıcı deneyimi sunabilirsiniz. Örneğin, kullanıcıların yalnızca giriş istemleri içeren bir açılır liste listesinden seçim yapmasını kısıtlayabilir veya uygulama bağlamında güvenli olduğunu düşündüğünüz açıklayıcı kelime öbeklerini içeren pop-up önerileri sunabilirsiniz.
  • Güvenli olmayan girişleri kullanıcıya göstermeden önce engelleme ve çıkışları filtreleme. Basit durumlarda, engellenenler listeleri istem veya yanıtlardaki güvenli olmayan kelimeleri ya da ifadeleri tanımlayıp engellemek veya gerçek kişi olan incelemecilerin bu tür içeriği manuel olarak değiştirmesini ya da engellemesini zorunlu kılmak için kullanılabilir.

  • Her istemi olası zararlarla veya olumsuz sinyallerle etiketlemek için eğitilmiş sınıflandırıcılar kullanma. Ardından, tespit edilen zararın türüne göre isteğin nasıl ele alınacağına dair farklı stratejiler uygulanabilir. Örneğin, giriş açıkça saldırgan veya kötüye kullanım amaçlıysa engellenebilir ve bunun yerine önceden yazılmış bir yanıt verilebilir.

    İleri düzey ipucu

    • Sinyaller çıkışın zararlı olduğunu belirlerse uygulama aşağıdaki seçenekleri kullanabilir:
      • Bir hata mesajı veya hazır bir çıkış sağlayın.
      • Bazen aynı istem farklı çıkışlar oluşturabileceğinden alternatif bir güvenli çıkışın üretilmesi ihtimaline karşı istemi tekrar deneyin.

  • Her kullanıcıya benzersiz bir kimlik atamak ve belirli bir dönemde gönderilebilecek kullanıcı sorgusu hacmine sınır getirmek gibi kasıtlı kötüye kullanımlara karşı önlemler alma. Başka bir önlem ise olası istem ekleme işlemine karşı korunmaktır. SQL yerleştirmeye benzer şekilde istem ekleme de kötü amaçlı kullanıcıların modelin çıkışını değiştiren (örneğin, modele önceki örnekleri yoksaymasını bildiren bir giriş istemi göndererek) giriş istemi tasarlaması için kullanılan bir yöntemdir. Kasıtlı hatalı kullanım hakkında ayrıntılı bilgi için Üretken Yapay Zeka Yasaklanan Kullanım Politikası'na bakın.

  • İşlevleri doğası gereği daha düşük riske sahip olacak şekilde ayarlamak. Kapsamı daha dar olan (ör. metin pasajlarından anahtar kelimeler çıkarma) veya daha fazla insan denetimine sahip olan (ör. bir insan tarafından incelenecek kısa içerikler üretmek) genellikle daha düşük risk taşır. Dolayısıyla, örneğin, sıfırdan e-posta yanıtı yazmak için bir uygulama oluşturmak yerine, uygulamayı bir özete göre genişletmeyle veya alternatif ifadeler önerecek şekilde sınırlandırabilirsiniz.

Kullanım alanınıza uygun güvenlik testleri yapın

Test, sağlam ve güvenli uygulamalar oluşturmanın önemli bir parçasıdır, ancak testin kapsamı, kapsamı ve stratejileri değişiklik gösterir. Örneğin, yalnızca eğlence amaçlı bir haiku oluşturucunun, yasal belgeleri özetlemek ve sözleşme taslağına yardımcı olmak için hukuk firmaları tarafından kullanılmak üzere tasarlanmış bir uygulamadan daha az ciddi riskler teşkil etmesi muhtemeldir. Ancak haiku oluşturma aracı daha geniş çeşitlilikte kullanıcılar tarafından kullanılabilir. Bu da, karşıt girişimler ve hatta istenmeyen zararlı girişler için daha fazla potansiyel olabileceği anlamına gelir. Uygulama bağlamı da önemlidir. Örneğin, çıktıları herhangi bir işlem yapılmadan önce gerçek kişiler tarafından incelenen çıktılara sahip bir uygulamanın, zararlı çıktılar üretme olasılığı, bu tür bir gözetim olmadan aynı uygulamadan daha düşük olarak değerlendirilebilir.

Nispeten düşük risk taşıyan uygulamalar için bile, lansmana hazır olduğunuzdan emin olmadan önce birkaç kez değişiklik ve test yapmak olağan dışı bir durumdur. AI uygulamaları için özellikle faydalı olan iki tür test vardır:

  • Güvenlik karşılaştırması, uygulamanızın güvenli olma olasılığı bakımından güvensiz olma yöntemlerini yansıtan güvenlik metrikleri tasarlamayı ve ardından değerlendirme veri kümeleriyle uygulamanızın metriklerde ne kadar iyi performans gösterdiğini test etmeyi içerir. Testten önce kabul edilebilir minimum güvenlik metrikleri düzeylerini düşünmek iyi bir uygulamadır. Böylece 1) test sonuçlarını bu beklentilere göre değerlendirebilir ve 2) en çok önem verdiğiniz metrikleri değerlendiren testlere dayalı olarak değerlendirme veri kümesini toplayabilirsiniz.

    Gelişmiş ipuçları

    • Uygulamanızın bağlamına tamamen uygun olması için gerçek kişi olan derecelendirmeciler kullanarak kendi test veri kümelerinizi oluşturmanız gerekebileceğinden, "kullanıma hazır olmayan" yaklaşımlara aşırı güvenmemeye dikkat edin.
    • Birden fazla metriğiniz varsa bir değişiklik bir metrikte iyileşme sağlayarak diğerinin zararına yol açarsa nasıl ödün vereceğinize karar vermeniz gerekir. Diğer performans mühendisliklerinde olduğu gibi, ortalama performans yerine değerlendirme kümenizdeki en kötü durum performansına odaklanmak isteyebilirsiniz.
  • Zorluk testleri, proaktif bir şekilde uygulamanızı bozmaya çalışmayı içerir. Amaç, zayıf noktaları tespit etmek ve bunları uygun şekilde gidermek için gerekli adımları atmaktır. Zorlayıcı testler, uygulamanızda uzman olan değerlendirmecilere önemli ölçüde zaman ve çaba sarf edebilir. Ancak ne kadar fazla işlem yaparsanız, özellikle nadiren veya yalnızca uygulamanın tekrar tekrar çalıştırılmasından sonra ortaya çıkan sorunları tespit etme şansınız da o kadar artar.

    • Tersaklı test, bir makine öğrenimi modelini kötü amaçlı veya yanlışlıkla zararlı girdiyle sağlandığında nasıl davranacağını öğrenmek amacıyla sistematik olarak değerlendirmek için kullanılan bir yöntemdir:
      • Bir giriş, güvenli olmayan veya zararlı bir çıktı üretmek üzere açıkça tasarlanmışsa (örneğin, bir metin oluşturma modelinden belirli bir din hakkında nefret içerikli bir hakaret üretmesini istemek) zararlı olabilir.
      • Bir girdi zararsız olabilecekken zararlı çıktıya yol açtığında (ör. bir metin oluşturma modelinden belirli bir etnik kökene sahip bir kişiyi tanımlamasını istemek ve ırkçı bir sonuç almak gibi) girdi istenmeyen biçimde zararlı olur.
    • Zıt içerikli bir testi standart değerlendirmeden ayıran özellik, test için kullanılan verilerin bileşimidir. Zıt içerikli testler için, modelden sorunlu çıktı alma olasılığı en yüksek olan test verilerini seçin. Bu, nadir veya alışılmadık örnekler ve güvenlik politikalarıyla ilgili uç durumlar da dahil olmak üzere, modelin davranışını olası her türlü zarara karşı inceleme anlamına gelir. Ayrıca cümlenin yapı, anlam ve uzunluk gibi farklı boyutlarında çeşitliliği de içermelidir. Test veri kümesi oluştururken dikkate alınması gerekenler hakkında daha ayrıntılı bilgi için Google'ın adaletle ilgili Sorumlu AI uygulamalarına bakabilirsiniz.

      Gelişmiş ipuçları

      • Uygulamanızı kırmak için insanları "kırmızı ekiplere" dahil eden geleneksel yöntem yerine otomatik test yöntemini kullanın. Otomatik testte "kırmızı ekip", test edilen modelden zararlı çıktılar alan giriş metinlerini bulan başka bir dil modelidir.

Sorunları izleme

Ne kadar test edip hafifletirseniz yapın mükemmelliği asla garanti edemezsiniz. Bu nedenle, ortaya çıkan sorunları nasıl tespit edip ele alacağınızı önceden planlayın. Yaygın yaklaşımlar arasında, kullanıcıların geri bildirim paylaşmaları için izlenen bir kanal oluşturma (ör.beğenme/beğenmeme) ve çeşitli kullanıcılardan proaktif olarak geri bildirim istemek için bir kullanıcı çalışması yürütme bulunur. Bu, özellikle kullanım alışkanlıkları beklentilerden farklıysa faydalıdır.

Gelişmiş ipuçları

  • Kullanıcılar yapay zeka ürünlerine geri bildirim verdiğinde bu özellik, zaman içinde yapay zeka performansını ve kullanıcı deneyimini önemli ölçüde iyileştirebilir. Örneğin, hızlı ayarlama için daha iyi örnekler seçmenize yardımcı olabilir. Google'ın İnsanlar ve Yapay Zeka kılavuzunun Geri Bildirim ve Kontrol bölümü, geri bildirim mekanizmaları tasarlarken dikkate alınması gereken önemli noktaları vurgular.

Sonraki adımlar

  • Gemini API üzerinden kullanılabilen düzenlenebilir güvenlik ayarları hakkında bilgi edinmek için güvenlik ayarları kılavuzuna bakın.
  • İlk istemlerinizi yazmaya başlamak için isteme giriş bölümüne bakın.