Modele generatywnej sztucznej inteligencji to zaawansowane narzędzia, ale nie bez ograniczeń. Ich uniwersalność i stosowność mogą prowadzić do nieoczekiwanych wyników, np. niedokładnych, stronniczych lub obraźliwe treści. Przetwarzanie końcowe i rygorystyczna ocena ręczna są kluczowe ograniczają ryzyko szkód takich jak dane wyjściowe.
Modele dostarczane przez interfejs Gemini API mogą być wykorzystywane w wielu różnych zastosowaniach zastosowania generatywnej AI i przetwarzania języka naturalnego (NLP). Korzystanie z tych funkcje są dostępne tylko w interfejsie Gemini API lub w przeglądarce Google AI Studio . Korzystanie z Gemini API podlega również niedozwolonemu wykorzystaniu generatywnej AI Policy oraz Warunki korzystania z Gemini API.
Częścią przydatności dużych modeli językowych (LLM) jest to, które obsługują wiele różnych zadań językowych. Niestety, Oznacza to również, że duże modele językowe mogą generować dane wyjściowe, których nie ma włącznie z tekstem. które są obraźliwe, niestosowne lub niepoprawne merytorycznie. Co więcej, dlatego niezwykła uniwersalność tych modeli utrudnia także dokładnie przewidzieć, jakie będą niepożądane rezultaty. Natomiast Gemini API został zaprojektowany z wykorzystaniem AI od Google zgodnie z naszymi zasadami, ciąży na deweloperów odpowiedzialnego stosowania tych modeli. Aby pomóc deweloperom w tworzeniu bezpiecznych, odpowiedzialnych Gemini API ma wbudowane funkcje filtrowania treści które można dostosować w 4 wymiarach zagrożenia. Zapoznaj się z przewodnik po ustawieniach bezpieczeństwa, by dowiedzieć się więcej.
W tym dokumencie omawiamy niektóre zagrożenia dla bezpieczeństwa, które mogą wystąpić, za pomocą LLM oraz rekomendować nowe projekty i rozwój zabezpieczeń o zaleceniach. (Pamiętaj, że przepisy i regulacje prawne mogą też nakładać ograniczenia, jednak wykraczają one poza zakres tego przewodnika).
Podczas tworzenia aplikacji przy użyciu LLM zalecamy wykonanie tych czynności:
- Zapoznanie z zagrożeniami związanymi z bezpieczeństwem aplikacji
- Rozważanie korekt w celu ograniczenia ryzyka związanego z bezpieczeństwem
- przeprowadzanie testów bezpieczeństwa dostosowanych do konkretnego przypadku użycia;
- Zbieranie opinii użytkowników i monitorowanie użycia
Etapy dostosowywania i testowania powinny następować iteracyjnie, aż osiągniesz wydajność odpowiednią do danej aplikacji.
Poznaj zagrożenia związane z bezpieczeństwem Twojej aplikacji
W tym kontekście bezpieczeństwo definiuje się jako zdolność LLM do uniknięcia krzywdzenie użytkowników, na przykład przez generowanie toksycznego języka lub treści; promujący stereotypy. Modele dostępne przez interfejs Gemini API zostały stworzone z myślą o zasadach Google dotyczących AI. a korzystanie z niej podlega niedozwolonym zastosowaniom generatywnej AI Zasady. Interfejs API zawiera wbudowane filtry bezpieczeństwa, które pomagają radzić sobie z niektórymi często używanymi modelami językowymi problemy, takie jak toksyczny język i szerzenie nienawiści oraz dążenie do inkluzywności; i unikania stereotypów. Każda aplikacja może jednak zawierać inny zestaw użytkowników na całym świecie. Zatem jako właściciel aplikacji odpowiadasz za poznanie użytkowników i potencjalnych szkód, które może spowodować aplikacja; aby Twoja aplikacja używała modeli LLM w sposób bezpieczny i odpowiedzialny.
W ramach tej oceny należy wziąć pod uwagę prawdopodobieństwo wyrządzenia szkody i określenia ich wagi oraz działań, które należy podjąć. Na przykład to aplikacja, która generuje wypracowania na podstawie faktów, powinna zachować ostrożność. unikania nieprawdziwych informacji – w przeciwieństwie do aplikacji, która generuje w materiałach rozrywkowych. Dobry sposób na rozpoczęcie badania potencjalnych zagrożeń jest zbieranie informacji o użytkownikach i innych osobach, na które z wynikami wyszukiwania aplikacji. Może to przybierać różne formy, np. w ramach badania stanu badania nad sztuką w domenie aplikacji, obserwowanie, jak użytkownicy korzystają z podobnych aplikacji, lub przeprowadzanie badań opinii użytkowników, ankiet lub nieformalnych rozmów potencjalnych użytkowników.
Wskazówki dla zaawansowanych
- Rozmawiaj ze zróżnicowaną grupą potencjalnych użytkowników w Twojej grupie docelowej o Twojej aplikacji i przeznaczeniu, aby uzyskać szerszą perspektywę na potencjalne zagrożenia i dostosować różnorodność według potrzeb.
- Platforma zarządzania ryzykiem AI (AI) wydanego przez rząd USA National Institute of Standards and Technology (NIST) zapewnia szczegółowe wskazówki i dodatkowe zasoby szkoleniowe dotyczące zarządzania ryzykiem związanym z AI.
- DeepMind publikuje etyczne i społeczne ryzyko szkód spowodowanych przez modele językowe szczegółowo opisuje, w jaki sposób model językowy mogą powodować szkody.
Rozważ wprowadzenie poprawek, aby ograniczyć ryzyko związane z bezpieczeństwem
Znasz już zagrożenia, możesz więc zdecydować, jak zminimalizować ryzyko . To określanie, które ryzyko należy potraktować priorytetowo i w jakim stopniu należy podjąć próbę rozwiązania problemu jest to poważna decyzja, podobnie jak klasyfikowanie błędów w oprogramowaniu. w projektach AI. Po określeniu priorytetów możesz zacząć typów środków zaradczych, które będą najbardziej odpowiednie. Proste zmiany często przyczyniają się do zmian i zmniejszają ryzyko.
Podczas projektowania aplikacji warto na przykład wziąć pod uwagę te kwestie:
- Dostosowujemy dane wyjściowe modelu, aby lepiej odzwierciedlały to, co jest akceptowane kontekstu aplikacji. Dostrajanie może zwiększyć dane wyjściowe modelu przewidywalne i spójne, dzięki czemu mogą pomóc zminimalizować niektóre zagrożenia.
- Udostępniamy metodę przesyłania, która zapewnia bezpieczniejsze dane wyjściowe. Dokładne dane wejściowe. które przekażesz LLM, może wpłynąć na jakość danych wyjściowych. Eksperymentując z promptami związanymi z danymi wejściowymi, aby sprawdzić, co działa najbezpieczniej jest tego warte, bo możesz zapewnić wrażenia użytkowników, aby to ułatwić. Można na przykład ograniczyć wybór użytkowników tylko do z listą podpowiedzi do wprowadzania danych lub zaproponuj wyskakujące sugestie opisowy i wyrażenia, które są bezpieczne w kontekście Twojej aplikacji.
Blokowanie niebezpiecznych danych wejściowych i filtrowanie danych wyjściowych, zanim zostaną wyświetlone użytkownika. W prostych sytuacjach listy zablokowanych mogą służyć do identyfikowania i blokowania niebezpieczne słowa lub wyrażenia w promptach i odpowiedziach albo wymagają weryfikacji manualnej; ręcznie modyfikować lub blokować takie treści.
używanie wytrenowanych klasyfikatorów do oznaczania każdego promptu potencjalnych zagrożeń lub z kontrowersyjnymi sygnałami. Można zastosować różne strategie rozpatruje żądanie na podstawie typu wykrytej szkody. Jeśli na przykład parametr ma jawnie kontrowersyjny lub obraźliwy charakter, mogą zostać zablokowane zwraca predefiniowaną odpowiedź.
Wskazówka dla zaawansowanych
-
Jeśli sygnały wskazują, że dane wyjściowe są szkodliwe,
aplikacja może oferować następujące opcje:
- Podaj komunikat o błędzie lub gotowe dane wyjściowe.
- Spróbuj ponownie, na wypadek, gdyby alternatywne bezpieczne dane wyjściowe to ponieważ czasami ten sam prompt wywoła różne dane wyjściowe.
-
Jeśli sygnały wskazują, że dane wyjściowe są szkodliwe,
aplikacja może oferować następujące opcje:
Wdrożyć środki ochrony przed celowym niewłaściwym użyciem, takie jak przypisywanie niepowtarzalnego identyfikatora i ograniczenia liczby zapytań, które można przesłać w danym okresie. Innym zabezpieczeniem jest skorzystanie i chroni przed możliwym wstrzykiwaniem promptów. Wstrzykiwanie promptów, podobnie jak w SQL wstrzykiwania to sposób, aby szkodliwi użytkownicy zaprojektowali prompt wejściowy, manipuluje danymi wyjściowymi modelu, na przykład przez wysyłanie promptu wejściowego który instruuje model, aby ignorował wszystkie wcześniejsze przykłady. Zobacz Zasady dotyczące niedozwolonych zastosowań generatywnej AI .
Dostosowywanie funkcjonalności do działania, które z natury zmniejsza ryzyko. Zadania o węższym zakresie (np. wyodrębnianie słów kluczowych z fragmentów tekstu) lub które są pod większym wpływem człowieka (np. przez generowanie krótkich treści, które są sprawdzane przez człowieka), często wiążą się z mniejszym ryzykiem. Dlatego w przypadku instancji, zamiast tworzyć aplikację do pisania odpowiedzi możesz ją ograniczyć do konturu lub sugerowania alternatywnych sformułowań.
Przeprowadzaj testy bezpieczeństwa odpowiednio do swojego przypadku użycia
Testowanie to kluczowy element tworzenia solidnych i bezpiecznych aplikacji. zakres i strategie testowania będą się różnić. Na przykład zabawne haiku będzie wiązał się z mniejszym ryzykiem niż dla kancelarii prawnych do tworzenia podsumowań dokumentów prawnych i przygotowywania umów. Ale z generatora haiku może korzystać więcej osób, co oznacza, ryzyko kontradyktoryjnych prób, a nawet niezamierzonego, szkodliwego wprowadzania danych większa wartość. Znaczenie ma również kontekst implementacji. Na przykład aplikacja z wynikami, które przed podjęciem działań są weryfikowane przez ekspertów można uznać za mniejsze prawdopodobieństwo wygenerowania szkodliwych wyników niż identyczne bez takiego nadzoru.
Nierzadko trzeba przejść kilka iteracji wprowadzania zmian i testowania przed wdrożeniem, nawet w przypadku aplikacji, które są stosunkowo niewielkie. Dwa rodzaje testów są szczególnie przydatne w przypadku AI aplikacje:
Testy porównawcze dotyczące bezpieczeństwa obejmują opracowywanie wskaźników bezpieczeństwa, które odzwierciedlają sposobów, w jakie aplikacja może być niebezpieczna w kontekście prawdopodobieństwa, że będzie ona jak wykorzystać użytkowników, a następnie testować wydajność aplikacji na podstawie wskaźników za pomocą zbiorów danych do oceny. Dobrze jest zastanowić się nad minimalnym akceptowalnych poziomów bezpieczeństwa przed testem, aby 1) można było ocenić wyniki testu pod kątem tych oczekiwań oraz 2) znaleźć informacje, zbiór danych do oceny na podstawie testów oceniających istotne dla Ciebie wskaźniki większość z nich.
Wskazówki dla zaawansowanych
- Uważaj na nadmierne poleganie na nieszablonowych rozwiązaniach, ponieważ może się to musisz utworzyć własne testowe zbiory danych z pomocą osób weryfikujących, w pełni pasowały do kontekstu aplikacji.
- Jeśli masz więcej niż jeden rodzaj danych, musisz określić sposób kompensować, jeśli zmiana prowadzi do poprawy jednego wskaźnika na poziomie krzywdzenie innej osoby. Podobnie jak w przypadku innych metod inżynierii wydajności, może skupić się na złym przypadku skuteczności podczas oceny skuteczności reklam, a nie ich średniej.
Testy kontradyktoryjne obejmują aktywne próbować aplikacji. Celem jest zidentyfikowanie słabych punktów, aby umożliwić kroków, by rozwiązać te problemy. Testy kontradyktoryjne mogą dużo czasu/wysiłku weryfikatorów mających doświadczenie w związku z Twoim wnioskiem – ale im więcej robisz, tym większe ryzyko wyłapywania problemów, zwłaszcza te występujące rzadko lub po wielokrotnym uruchomieniu aplikacji.
- Testy kontradyktoryjne to metoda systematycznej oceny systemów uczących się
z zamiarem uczenia się, jak zachowuje się po udostępnieniu
szkodliwe lub nieumyślnie szkodliwe dane wejściowe:
- Dane wejściowe mogą być szkodliwe, jeśli są wyraźnie zaprojektowane tak, generować niebezpieczne lub szkodliwe dane wyjściowe, na przykład prosić o tekst model generatywny do generowania nienawistnej narracji na temat religii.
- Dane wejściowe mogą być nieumyślnie szkodliwe, gdy same dane wejściowe mogą być jest nieszkodliwy, ale generuje szkodliwe działania, np. z zapytaniem o tekst model generacyjny służący do opisania osoby z określonej grupy etnicznej że otrzymują rasistowskie treści.
- Tym, co odróżnia test kontradyktoryjny od standardowej oceny, jest
jaka jest struktura danych
wykorzystywanych do testowania. W przypadku testów kontradyktoryjnych wybierz
danych testowych, które z największym prawdopodobieństwem doprowadzą do problematycznych wyników
w modelu. Oznacza to sondowanie zachowania modelu w przypadku wszystkich typów
możliwe szkody, w tym rzadkie lub nietypowe przykłady
przypadki skrajne istotne dla zasad bezpieczeństwa. Powinny też zawierać
zróżnicowania pod względem różnych wymiarów zdania, takich jak struktura,
znaczenia i długości. Zapoznaj się z artykułem na temat odpowiedzialnej AI opracowanej przez Google
praktyki w
obiektywność
, aby dowiedzieć się, co należy wziąć pod uwagę podczas tworzenia testowego zbioru danych.
Wskazówki dla zaawansowanych
- Używaj testowanie automatyczne zamiast tradycyjnej metody rekrutowania ludzi do „czerwonych drużyn” aby spróbować zepsuć aplikację. W testach automatycznych „czerwona drużyna” to kolejny model językowy, który znajduje tekst wejściowy, wywoływania szkodliwych danych wyjściowych z testowanego modelu.
- Testy kontradyktoryjne to metoda systematycznej oceny systemów uczących się
z zamiarem uczenia się, jak zachowuje się po udostępnieniu
szkodliwe lub nieumyślnie szkodliwe dane wejściowe:
Monitoruj pod kątem problemów
Niezależnie od tego, jak bardzo się udajesz, i eliminujesz zmiany, nigdy nie można zagwarantować doskonałości, planuj z góry, jak wykrywać i rozwiązywać pojawiające się problemy. Powszechny obejmuje skonfigurowanie monitorowanego kanału, w którym użytkownicy mogą dzielić się opiniami (np. przyznawanie kciuka w górę/w dół) i przeprowadzanie badania opinii użytkowników w celu zapobiegawczego nakłaniania opinie zróżnicowanej grupy użytkowników, co jest szczególnie przydatne, jeśli wzorce użytkowania od oczekiwań.
Wskazówki dla zaawansowanych
- Opinie użytkowników na temat usług AI mogą znacznie poprawić AI wydajności i wrażeń użytkownika w czasie, np. pomagając wybrać lepsze przykłady dostrajania promptów. Rozdział dotyczący opinii i kontroli w przewodniku Google: Ludzie i AI podkreśla kluczowe kwestie, które należy wziąć pod uwagę podczas projektowania mechanizmów opinii.
Dalsze kroki
- Zapoznaj się z przewodnik po ustawieniach bezpieczeństwa, gdzie dowiesz się więcej o możliwościach dostosowania. ustawień bezpieczeństwa dostępnych w interfejsie Gemini API.
- Zapoznaj się ze wprowadzeniem do wysyłania próśb, aby: zaczął pisać swoje pierwsze prompty.