Utwórz środki ochrony danych wejściowych i wyjściowych

W celu zapewnienia odpowiedzialnego działania modelu aplikacje generatywnej AI często korzystają z filtrowania danych wejściowych i wyjściowych, które czasem określa się jako safeguards. Techniki filtrowania danych wejściowych i wyjściowych służą do sprawdzania danych, które trafiają do modelu lub go z niego wychodzą.

Zabezpieczenia i standardowe klasyfikatory bezpieczeństwa

Nawet jeśli wcześniej dostosujesz ustawienia pod kątem bezpieczeństwa i dobrze zaprojektowany szablon promptów, model nadal będzie mógł generować treści, które wyrządzą niezamierzoną szkodę. Aby jeszcze bardziej ograniczyć problem, klasyfikatory treści mogą dodać kolejną warstwę zabezpieczeń. Klasyfikatory treści można stosować zarówno do danych wejściowych, jak i wyjściowych.

Klasyfikatory wejściowe są zwykle używane do filtrowania treści, które nie są przeznaczone do użytku w Twojej aplikacji i które mogą spowodować naruszenie zasad bezpieczeństwa przez model. Filtry wprowadzania danych są często kierowane na ataki wrogie, które mają na celu obejście zasad dotyczących treści. Klasyfikatory wyjściowe mogą dodatkowo filtrować dane wyjściowe modelu, wychwytując niezamierzone generacje, które mogą naruszać zasady bezpieczeństwa. Zalecamy stosowanie klasyfikatorów obejmujących wszystkie politykę treści.

Firma Google opracowała gotowe klasyfikatory zabezpieczeń treści, których można używać do filtrowania danych wejściowych i wyjściowych:

  • Perspective API to bezpłatny interfejs API, który wykorzystuje modele systemów uczących się do oceny postrzeganego wpływu komentarza na rozmowę. Wskazuje on prawdopodobieństwo tego, czy komentarz jest toksyczny, obraźliwy, nie na temat itp., groźby itp.
  • Usługa moderowania tekstu to interfejs Google Cloud API, który można używać poniżej określonego limitu użytkowania. Systemy uczące się analizują dokument pod kątem listy atrybutów bezpieczeństwa, w tym różnych potencjalnie szkodliwych kategorii i tematów, które mogą zostać uznane za kontrowersyjne.

Ważne jest, aby ocenić, w jakim stopniu standardowe klasyfikatory spełniają Twoje cele zasad, i jakościowo ocenić przypadki niepowodzenia. Warto też pamiętać, że nadmierne filtrowanie może również spowodować niezamierzone szkody, a także zmniejszyć użyteczność aplikacji. Dlatego należy też sprawdzić, kiedy może dojść do nadmiernego filtrowania. Więcej informacji o takich metodach oceny znajdziesz w artykule Ocenianie modelu i systemu pod kątem bezpieczeństwa.

Tworzenie niestandardowych klasyfikatorów bezpieczeństwa

Jeśli Twojej zasady nie obsługuje ogólnodostępny interfejs API lub chcesz utworzyć własny klasyfikator, efektywną strukturę zapewnią efektywne techniki dostrajania, takie jak dostrajanie promptów i LoRA. W ramach tych metod zamiast dostrajać cały model, możesz użyć ograniczonej ilości danych do wytrenowania niewielkiego zestawu ważnych parametrów modelu. Dzięki temu model może uczyć się nowych zachowań, takich jak klasyfikacja pod kątem nowego przypadku użycia związanego z bezpieczeństwem, przy stosunkowo małej ilości danych treningowych i mocy obliczeniowej. Umożliwia to opracowanie spersonalizowanych narzędzi bezpieczeństwa dla własnych użytkowników i zadań.

Aby pokazać, jak to działa, w ramach ćwiczenia z programowania pokazujemy kod potrzebny do stworzenia „elastycznego klasyfikatora”. Ćwiczenie z programowania pokazuje etapy pozyskiwania danych, formatowania ich pod kątem LLM, trenowania wag LoRA oraz oceny wyników. Gemma pozwala na budowanie tych zaawansowanych klasyfikatorów za pomocą kilku linijek kodu. Bardziej szczegółowe omówienie wyników badań znajdziesz w naszym artykule badawczym „Towards Agile Text Classifiers for Everyone” (w języku angielskim) pokazującym, jak korzystać z tych technik do trenowania różnych zadań w zakresie bezpieczeństwa i osiągania najnowocześniejszych wyników dzięki zaledwie kilkuset przykładom szkoleniowym.

W tym przykładowym samouczku możesz wytrenować klasyfikator pod kątem szerzenia nienawiści, korzystając ze zbioru danych ETHOS – dostępnego publicznie zbioru danych do wykrywania wypowiedzi szerzących nienawiść, który jest oparty na komentarzach z YouTube i Reddita. W przypadku trenowania na mniejszym modelu Gemma tylko na 200 przykładach (czyli mniej niż 1⁄4 zbioru danych) uzyskuje wynik F1 wynoszący 0,80, a ROC-AUC – 0,78. Ten wynik wypada korzystnie na tle najnowszych wyników w tabeli wyników. Po trenowaniu na 800 przykładach, podobnie jak w przypadku innych klasyfikatorów w tabeli wyników, elastyczny klasyfikator oparty na Gemma uzyskuje wynik F1 83,74 i wynik ROC-AUC 88,17. Możesz użyć tego klasyfikatora od razu lub dostosować go za pomocą samouczka Gemma Agile Classifier.

Samouczki Gemma Agile Classifier

Rozpocznij ćwiczenia z programowania Uruchom Google Colab

Sprawdzone metody konfigurowania środków ochrony

Zdecydowanie zalecamy korzystanie z klasyfikatorów bezpieczeństwa. Jeżeli treść zostanie zablokowana, model generatywny nie wygeneruje żadnych wyników dla użytkownika z powodu barier. Aplikacje muszą być dostosowane do tego przypadku. Najpopularniejsze czatboty obsługują to, oferując szablony odpowiedzi („Przepraszamy, jestem modelem językowym i nie mogę Ci w tym pomóc”).

Znajdź równowagę między przydatnością a nieszkodliwością: korzystając z klasyfikatorów bezpieczeństwa, pamiętaj, że mogą popełnić błędy.Mogą to być zarówno wyniki fałszywie pozytywne (np. stwierdzenie, że dane wyjściowe są niebezpieczne, gdy nie są), jak i fałszywie negatywnych (gdy tak nie jest). Oceniając klasyfikatory według wskaźników takich jak F1, precyzja, czułość i AUC-ROC, możesz określić, jak lepiej porównać błędy fałszywie dodatnie i fałszywie negatywne. Zmiana progu klasyfikatorów pozwala znaleźć idealną równowagę, która pozwoli uniknąć nadmiernego filtrowania wyników, a jednocześnie zapewnić odpowiedni poziom bezpieczeństwa.

Sprawdzaj klasyfikatory pod kątem niezamierzonych uprzedzeń: klasyfikatory zabezpieczeń, podobnie jak inne modele systemów uczących się, mogą propagować niezamierzone uprzedzenia, takie jak stereotypy społeczne i kulturowe. Zgłoszenia muszą być odpowiednio oceniane pod kątem potencjalnie problematycznych zachowań. W szczególności klasyfikatory bezpieczeństwa treści mogą się pojawiać w przypadku treści związanych z tożsamościami, które częściej są celem obraźliwego języka w internecie. Na przykład: gdy po raz pierwszy wprowadziliśmy Perspective API, model zwrócił wyższe wyniki toksyczności w komentarzach odnoszących się do określonych grup tożsamości (blog). Dzieje się tak, ponieważ komentarze, które wspominają hasła dotyczące tożsamości i używają częściej grup docelowych (np. „czarne”, „muzułmańskie”, „feministyczne”, „kobiety”, „gejowskie” itp.), mają często bardziej toksyczny charakter. Gdy w zbiorach danych używanych do trenowania klasyfikatorów występuje znaczna brak równowagi między komentarzami zawierającymi pewne słowa, klasyfikatory mogą nadmiernie uogólnić komentarze z tymi słowami jako potencjalnie niebezpieczne. Przeczytaj, jak zespół Jigsaw ograniczył tę niezamierzoną tendencyjność.

Zasoby dla deweloperów