Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 20 września 2023 r. nie będzie można tworzyć nowych zasobów usługi Personalizacja. Usługa Personalizacja jest wycofywana 1 października 2026 r. Zalecamy migrację do projektu open source microsoft/learning-loop.
Podczas wdrażania nowego zasobu Personalizer jest on inicjowany z niewytrenowanym lub pustym modelem. Oznacza to, że nie nauczył się z żadnych danych i dlatego nie będzie działać dobrze w praktyce. Jest to nazywane problemem "zimny start" i jest rozwiązywane wraz z upływem czasu przez trenowanie modelu przy użyciu rzeczywistych danych ze środowiska produkcyjnego. Tryb praktykanta to zachowanie szkoleniowe, które pomaga wyeliminować problem z "zimnym startem" i umożliwia uzyskanie zaufania do modelu przed podjęciem decyzji w środowisku produkcyjnym, a wszystko to bez konieczności zmiany kodu.
Co to jest tryb praktykanta?
Podobnie jak praktykant może nauczyć się rzemiosła, obserwując eksperta, tryb praktykanta umożliwia funkcji Personalizer uczenie się przez obserwowanie decyzji podejmowanych przez logikę Twojej aplikacji. Model personalizacji trenuje, naśladując te same dane wyjściowe decyzji co aplikacja. Przy każdym wywołaniu Rank API, Personalizer może się uczyć bez wpływu na istniejącą logikę i wyniki. Metryki dostępne w portalu Azure i interfejsie API pomagają zrozumieć wydajność w miarę poznawania modelu. W szczególności, jak dobrze Personalize odpowiada istniejącej logice (znanej również jako polityka bazowa).
Kiedy Personalizer będzie w stanie sensownie odtworzyć istniejącą logikę w 60–80% przypadków, możesz zmienić zachowanie z trybu praktykanta na tryb Online. W tym czasie Personalizer zwraca najlepsze akcje w Rank API, jak określono przez bazowy model, i może nauczyć się podejmować lepsze decyzje niż polityka bazowa.
Dlaczego warto używać trybu praktykanta?
Tryb praktykanta umożliwia modelowi naśladowanie istniejącej logiki decyzyjnej przed podjęciem decyzji online używanych przez aplikację. Pomaga to wyeliminować wyżej wymieniony problem z zimnym startem i zapewnia większe zaufanie do usługi Personalizacja i zapewnienie, że dane wysyłane do usługi Personalizacja są przydatne podczas trenowania modelu. Robi się to bez ryzyka i wpływu na ruch online i doświadczenia klientów.
Oto dwa główne powody korzystania z trybu praktykanta:
- Łagodzenie zimnych startów: tryb praktykanta pomaga zmniejszyć koszty trenowania "nowego" modelu w środowisku produkcyjnym, ucząc się bez konieczności podejmowania nieinformowanych decyzji. Model uczy się naśladować istniejącą logikę aplikacji.
- Weryfikowanie funkcji akcji i kontekstu: funkcje kontekstu i akcji mogą być nieodpowiednie, niedokładne lub nieoptymalnie zaprojektowane. Jeśli jest zbyt mało, zbyt wiele, niepoprawnych, hałaśliwych lub źle sformułowanych cech, Personalize będzie miało trudności z trenowaniem dobrze działającego modelu. Przeprowadzenie oceny funkcji w trybie 'Apprentice', umożliwia ustalenie, jak skuteczne są funkcje w trenowaniu Personalizera i może identyfikować obszary do poprawy jakości funkcji.
Kiedy należy używać trybu praktykanta?
Użyj trybu praktykanta, aby wytrenować usługę Personalizacja, aby poprawić jego skuteczność w następujących scenariuszach, pozostawiając środowisko użytkowników bez wpływu na usługę Personalizacja:
- Wdrażasz Personalizer w nowym scenariuszu.
- Wprowadzono istotne zmiany w funkcjach Kontekst lub Akcja.
Jednak tryb ucznia nie jest skutecznym sposobem mierzenia wpływu, jaki Personalizer może mieć na poprawę średniej wartości nagrody lub wskaźników wydajności KPI firmy. Może ona ocenić, jak dobrze usługa uczy się istniejącej logiki, biorąc pod uwagę bieżące dane, które udostępniasz. Aby zmierzyć, jak skuteczny jest Personalizer w wybieraniu najlepszej możliwej akcji dla każdego wywołania Rank, Personalizer musi być w trybie online lub można użyć ewaluacji offline w okresie, gdy Personalizer był w trybie online.
Kto powinien używać trybu praktykanta?
Tryb praktykanta jest przydatny dla deweloperów, analityków danych i osób podejmujących decyzje biznesowe:
Deweloperzy mogą używać trybu praktykanta, aby upewnić się, że interfejsy API rankingu i nagród są prawidłowo implementowane w aplikacji, a funkcje wysyłane do Personalizer są wolne od błędów i typowych pomyłek. Dowiedz się więcej o tworzeniu dobrych funkcji kontekstowych i akcji.
Analitycy danych mogą używać trybu praktykanta, aby sprawdzić, czy funkcje są skuteczne podczas trenowania modeli personalizacji. Oznacza to, że funkcje zawierają przydatne informacje, które umożliwiają personalizacji poznanie istniejącej logiki decyzyjnej.
Osoby podejmujące decyzje biznesowe mogą korzystać z trybu praktykanta, aby ocenić potencjał personalizacji w celu poprawy wyników (czyli nagród) w porównaniu z istniejącą logiką biznesową. W szczególności, czy Personalizer może uczyć się na podstawie podanych danych przed przejściem do trybu online. Dzięki temu mogą podjąć świadomą decyzję o wpływie na środowisko użytkownika, gdzie zagrożone są rzeczywiste przychody i zadowolenie użytkowników.
Porównywanie zachowań — tryb ucznia i tryb online
Nauka w trybie ucznia różni się od trybu online w następujący sposób.
| Obszar | tryb praktykanta | Tryb online |
|---|---|---|
| Wpływ na środowisko użytkownika | Środowisko użytkownika i metryki biznesowe nie zostaną zmienione. Personalizer jest trenowany poprzez obserwowanie bazowych działań obecnej logiki aplikacji, bez wpływania na nie. | Doświadczenie użytkowników może ulec zmianie, ponieważ decyzję podejmuje Personalizer, a nie akcja punktu odniesienia. |
| Szybkość nauki | Personalizer będzie uczyć się wolniej, gdy jest w trybie ucznia, w porównaniu z uczeniem się w trybie online. Tryb praktykanta może uczyć się tylko przez obserwowanie nagród uzyskanych przez domyślną akcję bez eksploracji, co ogranicza zakres uczenia się przez Personalizatora. | Szybsze uczenie się, ponieważ może zarówno wykorzystać najlepsze działanie z bieżącego modelu, jak i eksplorować inne działania dla potencjalnie lepszych wyników. |
| Maksymalna efektywność nauki | Personalizer może jedynie przybliżać i nigdy nie przekraczać wydajności bieżącej logiki aplikacji (łączna średnia nagroda osiągnięta przez działanie odniesienia). Jest mało prawdopodobne, że usługa Personalizacja osiągnie 100% dopasowania do logiki bieżącej aplikacji i zaleca się, aby po osiągnięciu dopasowania 60%-80% usługa Personalizacja powinna zostać przełączona do trybu online. | Personalizer powinien przekraczać wydajność bazowej logiki aplikacji. Jeśli wydajność Personalizatora zatrzymuje się z upływem czasu, możesz przeprowadzić analizę w trybie offline i ocenę funkcji, aby umożliwić dalsze ulepszenia. |
| Klasyfikacja wartości zwracanej przez interfejs API dla identyfikatora rewardActionId | Identyfikator rewardActionId będzie zawsze identyfikatorem akcji domyślnej. To oznacza, że pierwsza akcja wysłana w kodzie JSON żądania Rank API. Innymi słowy, interfejs API rangi nie jest widoczny dla aplikacji w trybie praktykanta. | RewardActionId będzie jednym z identyfikatorów podanych w wywołaniu interfejsu Rank API, określonym przez model personalizacji. |
| Oceny | Personalizator prowadzi porównanie sum nagród otrzymanych przez bieżącą logikę aplikacji oraz sumy nagród, które Personalizator otrzymałby, gdyby w tym momencie był w trybie online. To porównanie jest dostępne do wyświetlenia w bloku Monitor Twojego zasobu Personalizer w portalu Azure. | Oceń skuteczność Personalizera, uruchamiając oceny w trybie offline, co pozwala porównać łączną nagrodę osiągniętą przez Personalizera z potencjalnymi nagrodami bazowej aplikacji. |
Należy pamiętać, że mało prawdopodobne jest, aby Personalizer osiągnął 100% wydajności zgodności z logiką bazową aplikacji i nigdy jej nie przekroczy. Dopasowanie poziomu wydajności w zakresie 60%-80% powinno wystarczyć, aby przełączyć Personalizer na tryb online, w którym Personalizer może uczyć się lepszych decyzji i przewyższyć wydajność logiki bazowej aplikacji.
Ograniczenia trybu praktykanta
Tryb Ucznia szkoli model personalizacji, próbując naśladować logikę bazową istniejącej aplikacji, wykorzystując funkcje Kontekst i Akcja występujące w wywołaniach Rank. Następujące czynniki będą mieć wpływ na zdolność trybu praktykanta do nauki.
Scenariusze, w których tryb praktykanta może nie być odpowiedni:
Wybrana redakcyjnie zawartość:
W niektórych scenariuszach, takich jak wiadomości lub rozrywka, element odniesienia może być ręcznie przypisany przez zespół redakcyjny. Oznacza to, że ludzie wykorzystują swoją wiedzę na temat szerszego świata i rozumieją, co może być atrakcyjne, aby wybrać konkretne artykuły lub multimedia z puli i oznaczyć je jako "preferowane" lub "hero". Ponieważ te edytory nie są algorytmem, a czynniki rozważane przez redaktorów mogą być subiektywne i prawdopodobnie niezwiązane z funkcjami Kontekst lub Akcja. W takim przypadku tryb praktykanta może mieć trudności z przewidywaniem akcji punktu odniesienia. W takich sytuacjach można wykonać następujące czynności:
- Testowanie usługi Personalizacja w trybie online: rozważ umieszczenie usługi Personalizacja w trybie online na czas lub w teście A/B, jeśli masz infrastrukturę, a następnie uruchom ocenę offline, aby ocenić różnicę między logiką punktu odniesienia aplikacji a usługą Personalizacja.
- Dodaj uwagi redakcyjne i zalecenia jako funkcje: Zapytaj redaktorów, jakie czynniki wpływają na ich wybory, i sprawdź, czy możesz dodać te elementy jako funkcje w kontekście i akcji. Na przykład redaktorzy w firmie medianej mogą wyróżniać zawartość, gdy pewna gwiazda jest często w wiadomościach: tę wiedzę można dodać jako funkcję kontekstową.
Czynniki, które poprawią i przyspieszą tryb praktykanta
Jeśli tryb praktykanta uczy się i osiąga zgodną wydajność powyżej zera, ale wydajność poprawia się powoli (nie osiąga 60% do 80% dopasowanych nagród w ciągu dwóch tygodni), możliwe, że do usługi Personalizer trafia zbyt mało danych. Poniższe kroki mogą pomóc w szybszym uczeniu się:
- Dodawanie funkcji różnicujących: możesz przeprowadzić wizualną inspekcję akcji w wywołaniu rankingu i ich cechach. Czy akcja bazowa ma cechy, które różnią się od innych akcji? Jeśli wyglądają one głównie tak samo, dodaj więcej funkcji, które zwiększą różnorodność wartości funkcji.
- Zmniejszenie liczby akcji na zdarzenie: usługa Personalizer użyje ustawienia "% wywołań rangi do użycia do eksploracji", w celu odkrycia preferencji i trendów. Gdy wywołanie funkcji Rank ma więcej akcji, prawdopodobieństwo wybrania konkretnej akcji do eksploracji maleje. Zmniejszenie liczby akcji wysyłanych w każdym wywołaniu Rank do mniejszej liczby (poniżej 10) może być tymczasową korektą, która może wskazywać, czy tryb Apprentice Mode ma wystarczające dane do nauki.
Używanie trybu praktykanta do trenowania przy użyciu danych historycznych
Jeśli masz znaczną ilość danych historycznych, których chcesz użyć do trenowania usługi Personalizacja, możesz użyć trybu praktykanta, aby odtworzyć dane za pomocą usługi Personalizacja.
Skonfiguruj usługę Personalizer w trybie ucznia i utwórz skrypt, który wywołuje funkcję Rank z akcjami i funkcjami kontekstowymi na podstawie danych historycznych. Wywołaj API programu Reward na podstawie dokonanych obliczeń rekordów w tych danych. Może być konieczne około 50 000 zdarzeń historycznych, aby zobaczyć, jak Personalizer osiąga 60–80% zgodność z podstawową logiką twojej aplikacji. Może być możliwe osiągnięcie zadowalających wyników z mniej lub większą liczbą zdarzeń.
Podczas trenowania na danych historycznych zaleca się, aby dane wysyłane w [cechy kontekstu i działań, ich układ w formacie JSON używanym do zapytań rankingowych oraz obliczanie nagrody w tym zestawie danych treningowych], odpowiadały danym z [cechy i obliczanie nagrody] dostępnych w istniejącej aplikacji.
Dane offline i historyczne zwykle są bardziej niekompletne i bardziej hałaśliwe i mogą się różnić formatem od scenariusza produkcyjnego (lub online). Chociaż trenowanie z danych historycznych jest możliwe, wyniki z tego mogą być niejednoznaczne i niekoniecznie są dobrym wskaźnikiem, jak skutecznie Personalizer będzie uczyć się w trybie online, zwłaszcza jeśli funkcje różnią się między danymi historycznymi a bieżącym scenariuszem.
Korzystanie z trybu praktykanta a testów A/B
Jest to przydatne tylko do przeprowadzania testów A/B opcji personalizacji po zweryfikowaniu jej i rozpoczęciu nauki w trybie online, ponieważ w trybie ucznia używana jest tylko akcja bazowa, a nabywana jest istniejąca logika. Zasadniczo oznacza to, że Personalizer zwraca akcję części kontrolnej testu A/B; w związku z tym test A/B w trybie praktykanta nie ma wartości.
Gdy masz aplikacyjny scenariusz z użyciem usługi Personalizer i uczenia się online, eksperymenty A/B umożliwiają tworzenie kontrolowanych kohort i przeprowadzanie porównań wyników, które mogą być bardziej złożone niż sygnały używane przy przyznawaniu nagród. Przykładem pytania, na które może odpowiedzieć test A/B, jest: "W witrynie internetowej sprzedaży detalicznej Personalizer optymalizuje układ, co sprawia, że więcej użytkowników dokonuje zakupów wcześniej, ale czy zmniejsza to całkowity przychód z transakcji?"
Następne kroki
- Dowiedz się więcej o aktywnych i nieaktywnych zdarzeniach