Udostępnij za pośrednictwem


Tworzenie odpowiedzialnych aplikacji i funkcji sztucznej inteligencji w systemie Windows

Ten dokument zawiera omówienie zalecanych odpowiedzialnych praktyk programistycznych do użycia podczas tworzenia aplikacji i funkcji w systemie Windows z generowaniem sztucznej inteligencji.

Wskazówki dotyczące odpowiedzialnego opracowywania generowanych aplikacji i funkcji sztucznej inteligencji w systemie Windows

Każdy zespół firmy Microsoft stosuje podstawowych zasad i praktyk w celu odpowiedzialnego tworzenia i dostarczania sztucznej inteligencji, w tym systemu Windows. Więcej informacji na temat podejścia firmy Microsoft do odpowiedzialnego rozwoju można przeczytać w Raporcie o Przejrzystości Odpowiedzialnej Sztucznej Inteligencji firmy Microsoft. System Windows opiera się na podstawowych filarach rozwoju RAI — zarządza, mapuje, mierzy i kontroluje — które są dostosowane do ram zarządzania ryzykiem AI opracowanych przez Krajowy Instytut Standardów i Technologii (NIST).

Zarządzanie — zasady, praktyki i procesy

Standardy są podstawą procesów zapewniania ładu i zgodności. Firma Microsoft opracowała własne Standard odpowiedzialnej sztucznej inteligencji, w tym sześć zasad, których można użyć jako punktu wyjścia do opracowania wytycznych dotyczących odpowiedzialnej sztucznej inteligencji. Zalecamy tworzenie zasad sztucznej inteligencji na koniec cyklu projektowania, a także procesów i przepływów pracy w celu zapewnienia zgodności z przepisami i przepisami dotyczącymi prywatności, zabezpieczeń i odpowiedzialnej sztucznej inteligencji. Obejmuje to wczesną ocenę każdej funkcji sztucznej inteligencji przy użyciu narzędzi takich jak lista kontrolna sprawiedliwości sztucznej inteligencji i wytyczne dotyczące interakcji Human-AI — Microsoft Research, do monitorowania i przeglądania testów porównawczych sztucznej inteligencji, testowania i procesów przy użyciu narzędzi takich jak karta wyników odpowiedzialnej sztucznej inteligencji, do publicznej dokumentacji funkcji i ograniczeń funkcji sztucznej inteligencji oraz ograniczeń i kontroli — zwróć uwagę, zgoda, zbieranie danych i przetwarzanie informacji itp. — zgodnie z obowiązującymi przepisami dotyczącymi prywatności, wymaganiami prawnymi i zasadami.

Mapa — identyfikowanie ryzyka

Zalecane rozwiązania dotyczące identyfikowania czynników ryzyka obejmują:

Kompleksowe testowanie

Kompleksowe testowanie ocenia cały system sztucznej inteligencji od początku do końca, aby upewnić się, że działa zgodnie z oczekiwaniami i jest zgodny z ustalonymi standardami. To kompleksowe podejście może obejmować:

Red teaming (analiza zagrożeń lub symulacja przeciwnika)

Termin red teaming historycznie opisywał systematyczne ataki przeciwnika na potrzeby testowania luk w zabezpieczeniach. Ostatnio termin ten wykracza poza tradycyjne cyberbezpieczeństwo i ewoluował we wspólnym użyciu, aby opisać wiele rodzajów sondowania, testowania i atakowania systemów sztucznej inteligencji.

Zarówno w przypadku dużych modeli językowych (LLM), jak i małych modeli językowych (SLM), zarówno nieszkodliwe, jak i wrogie użycie może prowadzić do potencjalnie szkodliwych rezultatów, które mogą przybierać wiele form, w tym mowę nienawiści, podżeganie lub gloryfikowanie przemocy, czy też treści seksualne. Dokładne testy penetracyjne pozwalają przetestować system i udoskonalić strategię treści, aby zmniejszyć prawdopodobieństwo, że system wyrządzi szkodę.

Wszystkie systemy sztucznej inteligencji powinny być poddawane czerwonym testom zespołowym, w zależności od funkcji i celu, zarówno w systemach wysokiego ryzyka, które korzystają z generowania sztucznej inteligencji, jak i systemów o niższym ryzyku, które używają niegeneracyjnych sztucznej inteligencji:

  • Formalne red teaming: Niezależne red teaming powinno zostać przeprowadzone dla wszystkich systemów wysokiego ryzyka, które wykorzystują generatywną sztuczną inteligencję przy użyciu dużych modeli językowych (LLMs). Formalne red teaming obejmuje rekrutację specjalistów spoza organizacji do uczestniczenia w działaniach red teaming.

  • Wewnętrzne testy red teamingu: Co najmniej zaplanuj wewnętrzne testy red teamingu dla wszystkich systemów sztucznej inteligencji o niższym ryzyku. Można to zrobić przez osoby w organizacji.

Dowiedz się więcej na temat operacji typu red teaming i sposobu oceniania potrzeb związanych z operacjami red teaming w systemie: Microsoft AI Red Team

Ocena modelu

W ramach kompleksowego testowania ważne jest, aby ocenić sam model.

  • Karta Modelu: W przypadku modeli dostępnych publicznie, takich jak te na platformie HuggingFace, można sprawdzić Kartę Modelu każdego modelu jako przydatne źródło informacji, aby dowiedzieć się, czy model jest odpowiedni dla Twojego przypadku użycia. Przeczytaj więcej na temat kart modelu.

  • Testowanie ręczne: Ludzie wykonujący testy krok po kroku bez skryptów są ważnym składnikiem oceny modelu, który obsługuje...

    • Mierzenie postępu dla niewielkiej liczby priorytetowych kwestii. W przypadku łagodzenia określonych szkód najczęściej najbardziej produktywne jest ręczne sprawdzanie postępu w odniesieniu do małego zestawu danych, dopóki szkoda nie zostanie już zaobserwowana przed przejściem do zautomatyzowanego pomiaru.

    • Definiowanie i raportowanie metryk aż automatyczny pomiar będzie wystarczająco niezawodny, aby można było stosować go samodzielnie.

    • Sprawdzanie punktowe okresowo w celu pomiaru jakości pomiarów automatycznych.

  • zautomatyzowane testowanie: Automatyczne testowanie jest również ważnym składnikiem oceny modelu, które wspiera...

    • Pomiar na dużą skalę ze zwiększonym pokryciem w celu zapewnienia bardziej kompleksowych wyników.

    • Ciągły pomiar w celu monitorowania jakiejkolwiek regresji w miarę zmian w systemie, użyciu i środkach zaradczych.

  • Wybór modelu: Wybierz model, który jest odpowiedni dla Twojego celu i wykształć się, aby zrozumieć jego możliwości, ograniczenia i potencjalne wyzwania bezpieczeństwa. Podczas testowania modelu upewnij się, że generuje wyniki odpowiednie do użycia. Aby rozpocząć pracę, miejsca docelowe dla źródeł modeli firmy Microsoft (i innych niż Microsoft/open source) obejmują:

Miara — ocena ryzyka i środki zaradcze

Zalecane rozwiązania obejmują:

  • Assign a Content Moderator: Content Moderator sprawdza tekst, obraz i zawartość wideo pod kątem materiałów potencjalnie obraźliwych, ryzykownych lub w inny sposób niepożądanych w zawartości. Dowiedz się więcej: Wprowadzenie do Modułu Moderatora Treści (Szkolenie Microsoft Learn).

    • Użyj filtrów bezpieczeństwa zawartości: Ten zespół wieloklasowych modeli klasyfikacji wykrywa cztery kategorie szkodliwych treści (przemoc, nienawiść, seks i samookaleczenia) odpowiednio na czterech poziomach ważności (bezpieczne, niskie, średnie i wysokie). Dowiedz się więcej: Jak skonfigurować filtry zawartości za pomocą usługi Azure OpenAI Service.

    • Zastosuj metakomunikat: Meta-prompt jest komunikatem systemowym zawartym na początku monitu i służy do przygotowania modelu z kontekstem, instrukcjami lub innymi informacjami istotnymi dla danego przypadku użycia. Te instrukcje służą do kierowania zachowaniem modelu. Dowiedz się więcej: Tworzenie skutecznych barier zabezpieczających za pomocą metaprompt / inżynierii komunikatów systemowych.

    • Korzystanie z list zablokowanych: Blokuje użycie określonych terminów lub wzorców w wierszu polecenia. Dowiedz się więcej: Użyj listy blokowania w Azure OpenAI.

    • Zapoznaj się z pochodzeniem modelu: Pochodzenie to historia własności modelu, czyli kto-co-gdzie-kiedy, i jest bardzo ważna do zrozumienia. Kto zebrał dane w modelu? Kogo dotyczą dane? Jakiego rodzaju dane są używane? Gdzie zebrano dane? Kiedy zebrano dane? Poznanie, skąd pochodzą dane modelu, może pomóc ocenić jego jakość, niezawodność i uniknąć nieetycznego, niesprawiedliwego, stronniczego lub niedokładnego użycia danych.

    • Użyj standardowego potoku: zastosuj jeden potok moderowania treści zamiast składania części z fragmentów. Dowiedz się więcej: Omówienie potoków uczenia maszynowego.

  • Zastosujinterfejsu użytkownikaśrodki zaradcze: Zapewniają one użytkownikowi ważną jasność co do możliwości i ograniczeń funkcji opartej na sztucznej inteligencji. Aby ułatwić użytkownikom i zapewnić przejrzystość funkcji, możesz:

    • Zachęcanie użytkowników do edytowania danych wyjściowych przed ich zaakceptowaniem

    • Wyróżnianie potencjalnych niedokładności w danych wyjściowych sztucznej inteligencji

    • Ujawnianie roli sztucznej inteligencji w interakcji

    • Przytaczaj odwołania i źródła

    • Ogranicz długość danych wejściowych i wyjściowych tam, gdzie jest to konieczne

    • Zdefiniuj strukturę danych wejściowych i wyjściowych — polecenia muszą być zgodne z standardowym formatem

    • Przygotuj wstępnie określone odpowiedzi na kontrowersyjne pytania.

  • Implementowanie pętli opinii klientów: Zachęcaj użytkowników do aktywnego angażowania się w pętle opinii:

    • Poproś o opinię bezpośrednio w aplikacji/produkcie, używając prostego mechanizmu zbierającego opinie, który jest dostępny w kontekście jako część doświadczenia użytkownika.

    • Zastosuj techniki słuchania społecznościowego w kanałach używanych przez klientów do wczesnych rozmów dotyczących problemów z funkcjami, obaw i możliwych szkód.

Zarządzanie — ograniczanie ryzyka związanego ze sztuczną inteligencją

Zalecenia dotyczące ograniczania ryzyka związanego ze sztuczną inteligencją obejmują:

  • monitorowanie nadużyć: Ta metodologia wykrywa i zmniejsza liczbę wystąpień cyklicznej zawartości i/lub zachowań, które sugerują, że usługa została użyta w sposób, który może naruszać Kodeks postępowania lub inne obowiązujące postanowienia dotyczące produktu. Dowiedz się więcej: Monitorowanie nadużyć.

  • etapowe dostarczanie: stopniowe wdrażanie rozwiązania sztucznej inteligencji w celu zarządzania napływającymi raportami i problemami.

  • plan reagowania na zdarzenia: w przypadku każdego ryzyka o wysokim priorytecie należy ocenić, co się stanie i jak długo potrwa reagowanie na zdarzenie i jak będzie wyglądać proces reagowania.

  • możliwość wyłączania funkcji lub systemu: zapewnij możliwość wyłączenia funkcji, jeśli zdarzenie ma lub miało miejsce, co wymaga wstrzymania działania w celu uniknięcia dalszych szkód.

  • Kontrola dostępu użytkowników/blokowanie: tworzenie sposobu blokowania użytkowników, którzy nieprawidłowo korzystają z systemu.

  • opinie użytkowników: korzystanie z mechanizmów wykrywania problemów po stronie użytkownika.

    • Poproś o opinię bezpośrednio w produkcie z prostym mechanizmem opinii dostępnym w kontekście typowego przepływu pracy.

    • Zastosuj techniki słuchania społecznościowego w kanałach używanych przez klientów do wczesnych rozmów dotyczących problemów z funkcjami, obaw i możliwych szkód.

  • Odpowiedzialne wdrażanie danych telemetrycznych: identyfikowanie, zbieranie i monitorowanie sygnałów wskazujących zadowolenie użytkowników lub możliwość korzystania z systemu zgodnie z oczekiwaniami, zapewniając przestrzeganie odpowiednich przepisów dotyczących prywatności, zasad i zobowiązań. Użyj danych telemetrycznych, aby zidentyfikować luki i poprawić system.

Narzędzia i zasoby