1. Zanim zaczniesz
W tym laboratorium kodowym zastosujesz sprawdzone metody z nowego wydania przewodnika People + AI Research (PAIR), aby zaprojektować nowy produkt z AI. Skupisz się na praktykach dotyczących danych, które są zorientowane na użytkownika, oraz na odpowiednim skalibrowaniu zaufania użytkowników.
Wymagania wstępne
- Podstawowa wiedza o tym, czym jest AI.
- Znajomość przepływu pracy związanego z opracowywaniem produktów.
Czego się nauczysz
Z tego modułu dowiesz się, jak korzystać z przewodnika Google Research „People + AI Guidebook”, aby tworzyć godne zaufania usługi AI, które są zorientowane na użytkownika.
W ramach tego szkolenia:
- Dowiedz się, co nowego w drugim wydaniu Przewodnika PAIR.
- Wykonaj serię ćwiczeń, które zwrócą uwagę na możliwości w procesie rozwoju AI, aby skalibrować zaufanie użytkowników, ze szczególnym uwzględnieniem danych i wyjaśniania działania technologii użytkownikom.
- Poznaj szerszy zestaw materiałów i zasobów, które możesz wykorzystać do dalszego zgłębiania tematu.
Czego potrzebujesz
- Przeglądarka
- konto Google, aby wyświetlić notatnik Colaboratory (np. Analiza nastawienia za pomocą BERT)
2. Rozpocznij
Podczas tegorocznej konferencji Google I/O przedstawimy drugie wydanie Przewodnika PAIR. Pierwsza edycja została wydana 2 lata temu i od tego czasu korzystało z niej ponad 250 tys. osób na całym świecie, które zajmują różne stanowiska (programiści, projektanci, menedżerowie produktów, studenci itp.). Wprowadzamy teraz zestaw aktualizacji, które sprawią, że będzie on jeszcze bardziej przydatny.
W tej drugiej edycji wprowadzamy nowy sposób poruszania się po przewodniku i wyszukiwania treści według zadań. Przygotowaliśmy listę najważniejszych pytań, które mogą pojawić się u Ciebie i Twojego zespołu podczas tworzenia produktu z wykorzystaniem AI w sposób skoncentrowany na użytkowniku. Pomoże Ci ona znaleźć potrzebne treści w odpowiednim momencie:
- Kiedy i jak należy używać AI w usłudze?
- Jak odpowiedzialnie tworzyć zbiór danych?
- Jak mogę pomóc użytkownikom budować i kalibrować zaufanie do mojego systemu AI?
- Jak wdrożyć użytkowników w nowe funkcje oparte na AI?
- Jak wyjaśnić użytkownikom działanie mojego systemu AI?
- Jak znaleźć odpowiednią równowagę między kontrolą użytkownika a automatyzacją?
- Jak mogę pomóc użytkownikom, gdy coś pójdzie nie tak?
Po wybraniu pytania otrzymasz odpowiednie treści w mniejszych, bardziej praktycznych jednostkach.
Zaktualizowaliśmy też Przewodnik PAIR, dodając do niego nowe treści:
- Zestaw wzorców projektowych AI
- Studia przypadków
- Zaktualizowane rozdziały
- Nowe ćwiczenia i zestaw warsztatowy
W tym ćwiczeniu z programowania zobaczysz niektóre z tych wzorców projektowych w działaniu w przepływie pracy podczas tworzenia nowej funkcji z użyciem AI.
Zaczynajmy!
3. Przekształcanie potrzeb użytkowników w problemy związane z AI
Wyobraź sobie taką sytuację:
Tworzysz aplikację do oglądania filmów i chcesz zapewnić użytkownikom lepsze i dostosowane do ich potrzeb wrażenia, aby mogli łatwiej znajdować filmy, które im się spodobają.
Strona docelowa aplikacji zawiera obecnie te sekcje:
- Lista nowych filmów uporządkowana według daty premiery
- Katalog wszystkich filmów uporządkowanych według gatunku
- pole wyszukiwania, w którym użytkownicy mogą wyszukiwać według tytułu filmu, obsady itp.;
Aplikacja do filmów bez spersonalizowanych rekomendacji
Chcesz dodać nową sekcję z rekomendacjami filmów dla użytkownika i uważasz, że AI może być dobrym rozwiązaniem do wdrożenia tej funkcji. Zanim zaczniesz wdrażać jakiekolwiek zmiany, wykonaj te czynności:
- Przeanalizuj obecne procesy: jak użytkownicy obecnie wchodzą w interakcje z aplikacją i jak Twoim zdaniem można ulepszyć ich doświadczenia?
- Określ, czy AI może wnieść unikalną wartość: czy Twój problem można dobrze rozwiązać za pomocą AI i czy AI prawdopodobnie poprawi wrażenia użytkowników Twojego produktu?
W rozdziale Potrzeby użytkowników i definiowanie sukcesu w przewodniku PAIR Guidebook sprawdzasz listę przypadków użycia, w których AI jest prawdopodobnie dobrym rozwiązaniem, i stwierdzasz, że potrzeby użytkowników mieszczą się w tych kategoriach problemów:
- rekomendowanie różnych treści różnym użytkownikom;
- Personalizacja zwiększa wygodę użytkowników
- Wyświetlanie treści dynamicznych jest bardziej efektywne niż przewidywalny interfejs
Zapoznaj się też z listą przypadków, w których AI prawdopodobnie nie jest lepszym rozwiązaniem.
Teraz, gdy widzisz, że rozwiązanie oparte na AI wydaje się dobrym kandydatem do zaspokojenia potrzeb użytkowników, musisz ocenić, czy rzeczywiście zapewni lepsze wrażenia.
Wzór:
Zanim zaczniesz tworzyć z wykorzystaniem AI, upewnij się, że produkt lub funkcja, którą chcesz opracować, wymaga AI lub będzie dzięki niej ulepszona.
AI sprawdza się w przypadku takich zastosowań:
- polecanie różnym użytkownikom różnych treści, np. sugestii filmów;
- Prognozowanie przyszłych zdarzeń, takich jak zjawiska pogodowe czy zmiany cen lotów
- Rozumienie języka naturalnego
- Rozpoznawanie obrazów
Rozwiązanie oparte na regułach lub heurystykach może być lepsze, gdy:
- Ważne jest zachowanie przewidywalności
- Użytkownicy, klienci i deweloperzy potrzebują pełnej przejrzystości
- Użytkownicy nie chcą, aby zadanie było zautomatyzowane
Więcej informacji o tym, kiedy warto korzystać z AI, a kiedy nie, znajdziesz w rozdziale Potrzeby użytkowników.
Link do pełnego wzorca: https://pair.withgoogle.com/guidebook/patterns#determine-if-ai-adds-value
Możesz zwiększyć wartość aplikacji, wyświetlając każdemu użytkownikowi filmy, które mogą mu się spodobać. Dzięki temu zapewnisz mu lepsze wrażenia niż w przypadku wyświetlania tylko najnowszych lub najlepiej ocenianych filmów. Podejrzewasz też, że dzięki tej funkcji możesz zaoszczędzić im czas na przeglądanie szybko rosnącego katalogu filmów.
Skoro zdecydowałeś(-aś) się na wdrożenie rozwiązania opartego na AI, możesz zacząć planować kolejne kroki.
4. Tworzenie zbioru danych na potrzeby zadania
Aby wytrenować system rekomendacji, który będzie podsuwał użytkownikom propozycje filmów, musisz przygotować zbiór danych, na podstawie którego będzie się uczyć model AI.
Najpierw musisz dopasować potrzeby użytkowników do potrzeb w zakresie danych.
Korzystając z ćwiczenia dopasowywania z rozdziału Zbieranie i ocena danych w przewodniku PAIR, możesz określić:
- Użytkownik: widzowie (użytkownicy aplikacji do oglądania filmów).
- Potrzeba użytkownika: łatwiejsze i szybsze znajdowanie filmów, które mu się podobają.
- Działanie użytkownika: wybieranie i oglądanie filmów w aplikacji.
- Dane wyjściowe systemu AI: które filmy sugerować i dlaczego (etykiety lub tagi sentymentu).
- Uczenie się systemu AI: wzorce zachowań związane z akceptowaniem rekomendacji filmów, oglądaniem całych filmów, pisaniem recenzji filmów i przyznawaniem im wysokich ocen.
- Potrzebne zbiory danych: dane o oglądaniu filmów z aplikacji, informacje o filmach oraz oceny i opinie o filmach.
- Kluczowe funkcje potrzebne w zbiorze danych: preferencje widzów dotyczące filmów i historia oglądania, informacje o filmach (np. gatunek, obsada), oceny filmów, recenzje filmów.
- Kluczowe etykiety potrzebne w zbiorze danych: współczynnik akceptacji lub odrzucenia sugestii aplikacji przez widza, współczynnik obejrzenia filmu do końca przez widza, oceny i opinie widza oraz opinie widza na temat tego, dlaczego odrzucił sugestię.
Po wykonaniu tego ćwiczenia możesz zacząć dostrzegać kilka potencjalnych źródeł danych:
- dane użytkownika z aplikacji (określone preferencje i historia oglądania);
- informacje o filmie z aplikacji (tytuł, rok, czas trwania, obsada itp.),
- recenzje filmów i informacje o ocenach z innych źródeł, takich jak IMDB i MovieLens;
Gdy będziesz mieć już pomysł na to, jakich danych potrzebujesz, zapoznaj się z zasadami Google dotyczącymi AI i metodami odpowiedzialnego korzystania z AI.Są to przykłady ramowych wytycznych, które pomogą Ci rozważyć kluczowe kwestie, takie jak prywatność (np. umożliwiać powiadomienia i wyrażanie zgody) oraz sprawiedliwość (np. „przeprowadzaj iteracyjne testy z udziałem użytkowników, aby uwzględnić ich zróżnicowane potrzeby w cyklach programowania”.
Podczas przygotowywania zbioru danych do trenowania zadbaj o to, aby zawierał on realistyczne dane, które odzwierciedlają „zaszumione” dane występujące w rzeczywistości. Na przykład uwzględnij recenzje filmów z błędami ortograficznymi, skrótami, emoji oraz nietypowymi lub nieoczekiwanymi znakami, ponieważ użytkownicy Twojej aplikacji najprawdopodobniej będą w przyszłości dodawać podobne, prawdziwe i „zaśmiecone” recenzje, a nie idealnie sformatowane.
Wzór:
Podczas tworzenia zbioru danych treningowych nie staraj się, aby był on idealnie dopracowany. Zamiast tego dodaj trochę „szumu”, aby dane były jak najbardziej podobne do rzeczywistych danych, które chcesz uzyskać od użytkowników. Pomoże Ci to uniknąć błędów i rekomendacji o niskiej jakości po wdrożeniu modelu w rzeczywistym świecie.
Aby to zrobić, zastanów się, jakich typów danych oczekujesz od użytkowników, a następnie upewnij się, że te dane są reprezentowane w zbiorze treningowym.
Na przykład w przypadku systemu rozpoznawania obrazów zastanów się, jakie dane możesz uzyskać od użytkowników. Jeśli prawdopodobnie nie będą mieli czasu na zrobienie zdjęć wysokiej jakości, a Twój model będzie musiał pracować z rozmazanymi zdjęciami ze smartfona, uwzględnij w danych treningowych rozmazane zdjęcia.
Link do pełnego wzorca: https://pair.withgoogle.com/guidebook/patterns#embrace-noisy-data
Gdy potrzeby użytkowników zostaną przypisane do problemu związanego ze sztuczną inteligencją i do potrzebnych zbiorów danych, możesz wytrenować AI, aby dostarczała rekomendacje i etykietowała filmy dla użytkowników Twojej aplikacji. W tych ćwiczeniach z programowania nie będziemy omawiać tej części procesu, ale więcej informacji o systemach rekomendacji i analizie sentymentu znajdziesz w tych materiałach:
- Kurs samokształceniowy Systemy rekomendacji w Google Developers
- Samouczek Klasyfikacja tekstu na potrzeby analizy nastawienia za pomocą BERT na stronie TensorFlow.org
5. Informowanie o możliwościach i ograniczeniach systemu
Projektując interfejs aplikacji, zaplanuj proces wprowadzania użytkowników w nową funkcję opartą na AI i pomóż im odpowiednio dostosować oczekiwania. Użytkownicy nie powinni bezwarunkowo ufać Twojemu systemowi AI, ale raczej odpowiednio kalibrować swoje zaufanie.
Ustalanie oczekiwań użytkowników to przemyślany proces, który rozpoczyna się jeszcze przed pierwszą interakcją z Twoją usługą. Wyjaśnienia powinny być dostępne w różnych miejscach i na różne sposoby, zarówno w ramach usługi, jak i poza nią:
- Wyjaśniaj na bieżąco. W odpowiednich przypadkach podaj powody danej prognozy, rekomendacji, sugestii itp.
- Podaj dodatkowe wyjaśnienia w usłudze. Wykorzystuj inne momenty w usłudze, np. wprowadzenie, aby wyjaśniać działanie systemów AI.
- Wyjdź poza doświadczenie związane z produktem. Informacje w usłudze mogą nie wystarczyć, ale możesz je uzupełnić różnymi dodatkowymi materiałami, takimi jak kampanie marketingowe zwiększające świadomość, materiały edukacyjne i kampanie promujące umiejętność korzystania z usługi, które pomogą w budowaniu modeli mentalnych.
Przykład: użytkownik zalogował się w aplikacji i wybrał polecany film z nowej listy, która została dodana do jego strony docelowej. Oprócz zwykłych informacji o filmie, które użytkownicy mogą tam znaleźć, warto dodać wyjaśnienie, dlaczego ten konkretny film znajduje się na liście rekomendacji.
W przewodniku PAIR możesz wyszukać odpowiedź na pytanie „Jak wyjaśnić użytkownikom działanie mojego systemu AI?”. Znajdziesz tam następującą wskazówkę: wyjaśniaj, aby użytkownicy zrozumieli, a nie po to, aby przekazać im wszystkie informacje.
Wzór:
Wyjaśniając rekomendacje systemu AI, skup się na udostępnianiu informacji, które są potrzebne użytkownikom do podejmowania decyzji i dalszego działania. Nie próbuj wyjaśniać wszystkiego, co dzieje się w systemie.
Często uzasadnienie konkretnej prognozy jest nieznane lub zbyt złożone, aby można je było podsumować w prostym zdaniu. Użytkownicy mogą też nie chcieć, aby podczas korzystania z produktu przytłaczały ich lub rozpraszały zbędne wyjaśnienia.
W rozdziale Wyjaśnialność + zaufanie znajdziesz przykłady różnych podejść do tworzenia zwięzłych i przystępnych wyjaśnień, w tym wyjaśnień częściowych, stopniowego ujawniania informacji i wyświetlania poziomu ufności modelu.
Jeśli chcesz udostępnić dłuższe lub bardziej szczegółowe wyjaśnienia dotyczące działania całego systemu, zrób to poza aktywnym przepływem użytkownika, np. w materiałach marketingowych lub treściach wprowadzających.
Link do pełnego wzorca: https://pair.withgoogle.com/guidebook/patterns#explain-for-understanding
Stosując sprawdzone metody opisane w tym wzorcu, decydujesz się wyświetlić wyjaśnienie, które wygląda tak:
Rekomendacja filmu wraz z uzasadnieniem
W tym przykładzie wyjaśnienia stosujesz wskazówki z przewodnika PAIR w sekcji Wyjaśnialność i zaufanie oraz używasz źródeł danych, aby przekazać użytkownikowi wyjaśnienie z 3 najwyżej ocenionymi opiniami.
Dodatkowo wyróżniasz konkretne słowa, które w największym stopniu przyczyniły się do pozytywnego wydźwięku tego filmu, co ma znaczenie dla użytkownika przy wyborze filmu. Więcej informacji o analizowaniu klasyfikatora sentymentu znajdziesz w tej wersji demonstracyjnej narzędzia Language Interpretability Tool (LIT) od PAIR.
Zrzut ekranu narzędzia do analizowania interpretowalności (LIT)
LIT pomaga sprawdzać działanie modelu przetwarzania języka naturalnego za pomocą wizualnego, interaktywnego i rozszerzalnego narzędzia, które umożliwia testowanie hipotez i weryfikowanie ich na zbiorze danych za pomocą odpowiednich danych i lokalnych wyjaśnień (np. map istotności i wizualizacji prognoz). Zespoły ds. produktów mogą używać LIT w tych przykładowych przypadkach:
- Przed wdrożeniem modelu
- Testowanie pod kątem sprawiedliwości
- Debugowanie poszczególnych prognoz
- Porównywanie nowego modelu ze starym
6. Określanie sposobu wyświetlania poziomu ufności
Innym sposobem na określenie oczekiwań użytkowników może być wyświetlanie w rekomendacjach pewności modelu. Zamiast wyjaśniać, dlaczego lub w jaki sposób AI podjęła daną decyzję, wyświetlanie poziomu ufności modelu pokazuje, jak bardzo AI jest pewna swojej prognozy, oraz alternatywne rozwiązania, które rozważała. Większość modeli może generować klasyfikacje n-best i wskaźniki ufności, więc wyświetlanie ufności modelu jest często łatwo dostępnym wyjaśnieniem.
Zanim dodasz poziom ufności do stron z rekomendowanymi filmami wyświetlanych użytkownikowi, musisz określić, czy jest on dla niego przydatny, a jeśli tak, to w jaki sposób najlepiej go wyświetlać.
Wzór:
W niektórych sytuacjach możesz pomóc użytkownikom ocenić, w jakim stopniu mogą zaufać wynikom działania AI, korzystając z poziomu ufności modelu wyświetlającego informacje o tym, jak bardzo AI jest pewna swojej prognozy, oraz o rozważanych alternatywach.
W innych kontekstach jednak wyświetlanie poziomu ufności może być trudne do zrozumienia dla użytkowników.
Jeśli zdecydujesz się na ich użycie, przetestuj różne typy wyświetlaczy na wczesnym etapie procesu tworzenia produktu, aby dowiedzieć się, co sprawdza się najlepiej w przypadku Twoich użytkowników.
Link do pełnego wzorca: https://pair.withgoogle.com/guidebook/patterns#how-to-show-model-confidence
W rozdziale Wyjaśnialność + zaufanie w przewodniku PAIR znajdziesz te zalecane podejścia do wyświetlania poziomu ufności:
- N najbardziej prawdopodobnych klasyfikacji
- Poziom ufności w postaci liczbowej
Na stronie docelowej w aplikacji wyświetlasz użytkownikowi listę polecanych filmów, więc wybierasz listę uporządkowaną, na której n najbardziej prawdopodobnych filmów jest wyświetlanych w odpowiedniej kolejności.
Karuzela polecanych filmów, na której najpierw wyświetlają się najbardziej prawdopodobne rekomendacje
7. Umożliwienie użytkownikowi wyjścia z błędu
W ostatnich kilku krokach poznaliśmy sprawdzone metody dotyczące określania oczekiwań i wyjaśniania użytkownikom, jak budować i kalibrować zaufanie do produktu.
Kolejne ważne pytanie, na które musisz odpowiedzieć, to: jak wygląda interakcja użytkownika, gdy wystąpi błąd? Równie ważne jest to, jak użytkownicy przechodzą dalej. Skupienie się na tym, co użytkownicy mogą zrobić po awarii systemu, zwiększa ich możliwości i utrzymuje użyteczność produktu.
Jak wyjaśniono w rozdziale Błędy i grzecznościowe wycofywanie się w przewodniku PAIR, zacznij od zdefiniowania, czym jest błąd w przypadku Twojej usługi i jakiego jest rodzaju (błąd użytkownika, systemu lub kontekstu).
Oto przykłady:
- Użytkownik otrzymuje rekomendację filmu, który już widział w kinie. Chociaż ta rekomendacja może nie być wyłączona, nie jest też zbyt pomocna dla użytkownika.
- Użytkownik otrzymuje rekomendację filmu, który już widział w kinie i który mu się nie podobał. W zależności od preferencji użytkownika dotyczących filmów ta rekomendacja może zostać uznana za błąd.
- Użytkownik otrzymuje rekomendację filmu z gatunku, który zwykle mu się nie podoba. Użytkownik może uznać to za błąd.
- Użytkownik otrzymuje rekomendację filmu, który nie jest już dostępny w aplikacji. Jest to oczywisty błąd systemu.
W drugim i trzecim przykładzie powyżej AI podała rekomendację, która nie jest przydatna dla tego użytkownika. W takich przypadkach warto dać użytkownikowi możliwość przekazania opinii na temat prognozy i poinformować go o czasie, w jakim prognoza może mieć wpływ na jego życie. Zalecamy to w rozdziale Opinie i kontrola w przewodniku PAIR.
Wzór:
Jeśli system oparty na AI zachowuje się w sposób, którego użytkownik nie oczekuje lub nie chce, upewnij się, że ma on możliwość przesłania opinii. W miarę możliwości wykorzystuj te opinie do ulepszania modelu.
Opinie w systemach AI mogą przyjmować różne formy, w tym
- Ocenianie rekomendacji
- Ukrywanie niechcianych rekomendacji
- Oznaczanie lub zgłaszanie problematycznych rekomendacji
- Bardziej tradycyjne sposoby przesyłania opinii, w których użytkownik ręcznie zgłasza problem za pomocą formularza lub innego mechanizmu
Gdy użytkownik prześle opinię, potwierdź, że została ona przez Ciebie otrzymana. Jeśli to możliwe, poinformuj użytkowników, jak system zareaguje na ich opinię.
Link do pełnego wzorca: https://pair.withgoogle.com/guidebook/patterns#let-users-give-feedback
W przypadku Twojej aplikacji może to wyglądać tak:
Użytkownicy mogą przekazywać opinie o rekomendacjach...
...i otrzymują powiadomienie o tym, co się stanie dalej.
8. Gratulacje
Gratulacje! Właśnie zapoznałeś(-aś) się z przykładowym przepływem pracy, który pokazuje, jak korzystać z niektórych nowych zasobów Przewodnika PAIR.
Podsumowanie
Z tego modułu dowiedzieliśmy się, jak:
- Przekształcanie potrzeb użytkowników w problemy związane z AI
- Tworzenie zbioru danych na potrzeby zadania
- Wprowadzenie użytkowników do nowej funkcji
- Wyjaśnij działanie systemu i określ oczekiwania użytkowników
- Umożliwienie użytkownikowi wyjścia z błędu
- Zbieranie opinii w celu ulepszania usługi
Co dalej?
Wszystkie materiały wymienione w tych ćwiczeniach z programowania i wiele innych znajdziesz pod tymi linkami: