Używanie trybu praktykanta do trenowania usługi Personalizacja bez wpływu na istniejącą aplikację
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.
Podczas wdrażania nowego zasobu usługi Personalizacja jest inicjowany przy użyciu nietrenowanego lub pustego modelu. 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 w jaki sposób praktykant może nauczyć się rzemiosła, obserwując eksperta, tryb praktykanta umożliwia personalizacji uczenie się przez obserwowanie decyzji podjętych przez bieżącą logikę aplikacji. Model personalizacji trenuje, naśladując te same dane wyjściowe decyzji co aplikacja. Przy każdym wywołaniu interfejsu API rangi usługa Personalizacja może uczyć się bez wpływu na istniejącą logikę i wyniki. Metryki dostępne w witrynie Azure Portal i interfejsie API pomagają zrozumieć wydajność w miarę poznawania modelu. W szczególności, jak dobrze personalizuj jest zgodna z istniejącą logiką (znaną również jako zasady punktu odniesienia).
Gdy usługa Personalizacja będzie w stanie rozsądnie dopasować istniejącą logikę 60–80% czasu, możesz zmienić zachowanie z trybu praktykanta na tryb online. W tym czasie usługa Personalizacja zwraca najlepsze akcje w interfejsie API rangi określone przez bazowy model i może dowiedzieć się, jak podejmować lepsze decyzje niż zasady punktu odniesienia.
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. Odbywa się to bez ryzyka lub wpływu na ruch online i środowiska 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 istnieje zbyt mało, zbyt wiele, niepoprawnych, hałaśliwych lub źle sformułowanych funkcji, personalizowanie będzie miało trudności z trenowanie dobrze działającego modelu. Przeprowadzenie oceny funkcji w trybie praktykanta umożliwia ustalenie, jak skuteczne są funkcje w ramach trenowania usługi Personalizacja i mogą identyfikować obszary 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 usługę Personalizacja w nowym scenariuszu.
- Wprowadzono istotne zmiany w funkcjach kontekstowych lub akcji.
Jednak tryb praktykanta nie jest skutecznym sposobem mierzenia wpływu usługi Personalizacja może mieć wpływ na poprawę średniej nagrody lub wskaźników 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ć, w jaki sposób skuteczny jest personalizacja, wybierając najlepszą możliwą akcję dla każdego wywołania rangi, usługa Personalizacja musi być w trybie online lub można użyć ocen w trybie offline w okresie, w którym usługa Personalizacja była 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 rangi i nagrody są prawidłowo implementowane w aplikacji, a funkcje wysyłane do usługi Personalizacja są wolne od błędów i typowych błędów. 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 niezależnie od tego, czy usługa Personalizacja 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 ucznia | Tryb online |
---|---|---|
Wpływ na środowisko użytkownika | Środowisko użytkownika i metryki biznesowe nie zostaną zmienione. Personalizacja jest trenowana przez obserwowanie akcji punktu odniesienia bieżącej logiki aplikacji bez wywierania na nie wpływu. | Środowisko użytkowników może ulec zmianie w miarę podejmowania decyzji przez usługę Personalizacja, a nie akcję punktu odniesienia. |
Szybkość nauki | Personalizacja będzie uczyć się wolniej, gdy w trybie praktykanta w porównaniu z uczeniem się w trybie online. Tryb ucznia może uczyć się tylko przez obserwowanie nagród uzyskanych przez domyślną akcję bez eksploracji, co ogranicza ilość możliwości uczenia się usługi Personalizacja. | Dowiedz się szybciej, ponieważ może wykorzystać najlepszą akcję z bieżącego modelu i eksplorować inne akcje w celu uzyskania potencjalnie lepszych wyników. |
Efektywność nauki "Sufit" | Usługa Personalizacja może być przybliżona i nigdy nie przekraczać bieżącej logiki aplikacji (łączna średnia nagroda osiągnięta przez akcję punktu 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. | Usługa Personalizacja powinna przekraczać wydajność logiki aplikacji bazowej. Jeśli wydajność usługi Personalizator jest opóźniona z upływem czasu, możesz przeprowadzić ocenę w trybie offline i ocenę funkcji, aby kontynuować dodatkowe ulepszenia. |
Rank API return value for rewardActionId (Klasyfikacja wartości zwracanej przez interfejs API dla identyfikatora rewardActionId) | Identyfikator rewardActionId będzie zawsze identyfikatorem akcji domyślnej. Oznacza to, że akcja wysyłana jako pierwsza akcja w kodzie JSON żądania interfejsu API rangi. 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 API rangi określonego przez model personalizacji. |
Oceny | Personalizator utrzymuje porównanie sum nagród otrzymanych przez bieżącą logikę aplikacji, a suma nagród Personalizator będzie otrzymywać, gdyby była w trybie online w tym momencie. To porównanie jest dostępne do wyświetlenia w bloku Monitorowanie zasobu Personalizacja w witrynie Azure Portal. | Oceń skuteczność personalizacji, uruchamiając oceny w trybie offline, co pozwala porównać łączną nagrodę usługi Personalizacja osiągniętą z potencjalnymi nagrodami punktu odniesienia aplikacji. |
Należy pamiętać, że usługa Personalizacja jest mało prawdopodobne, aby osiągnąć 100% zgodności wydajności z logiką punktu odniesienia aplikacji i nigdy nie przekroczy jej. Dopasowanie wydajności 60%-80% powinno wystarczyć, aby przełączyć usługę Personalizacja na tryb online, w którym usługa Personalizacja może poznać lepsze decyzje i przekroczyć wydajność logiki bazowej aplikacji.
Ograniczenia trybu praktykanta
Tryb ucznia szkoli model personalizacji, próbując naśladować logikę linii bazowej istniejącej aplikacji przy użyciu funkcji Kontekst i akcja znajdujących się w wywołaniach rangi. 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 zbliża się do 60% do 80% dopasowanych nagród w ciągu dwóch tygodni), możliwe, że do usługi Personalizacja jest zbyt mało danych. Poniższe kroki mogą pomóc w szybszym uczeniu się:
- Dodawanie funkcji różnicowych: możesz przeprowadzić wizualną inspekcję akcji w wywołaniu rangi i ich funkcjach. Czy akcja punktu odniesienia 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 Personalizacja użyje ustawienia "% wywołań rangi do użycia do eksploracji", aby odnaleźć preferencje i trendy. Gdy wywołanie rangi ma więcej akcji, prawdopodobieństwo wybrania konkretnej akcji do eksploracji staje się niższe. Zmniejszenie liczby akcji wysłanych w każdym wywołaniu rangi do mniejszej liczby (poniżej 10) może być tymczasową korektą, która może wskazywać, czy tryb praktykanta 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ę Personalizacja w trybie ucznia i utwórz skrypt wywołujący funkcję Rank z akcjami i funkcjami kontekstowymi z danych historycznych. Wywołaj interfejs API programu Reward na podstawie obliczeń rekordów w tych danych. Może być konieczne około 50 000 zdarzeń historycznych, aby zobaczyć, jak usługa Personalizacja osiągnie 60–80% dopasowanie z logiką punktu odniesienia aplikacji. Może być możliwe osiągnięcie zadowalających wyników z mniej lub większą liczbą zdarzeń.
Podczas trenowania z danych historycznych zaleca się, aby dane wysyłane w [funkcje kontekstu i akcji, ich układ w formacie JSON używany do żądań rangi oraz obliczanie nagrody w tym zestawie danych treningowych] odpowiadały danym [funkcje i obliczenie nagrody] dostępne w istniejącej aplikacji.
Dane offline i historyczne zwykle są bardziej niekompletne i bardziej hałaśliwy i mogą się różnić w formacie od scenariusza w środowisku produkcyjnym (lub online). Chociaż trenowanie z danych historycznych jest możliwe, wyniki z tego mogą być niejednoznaczne i niekoniecznie są dobrym predyktorem tego, jak dobrze personalizacja 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 zabiegów personalizacji po zweryfikowaniu i uczeniu się w trybie online, ponieważ w trybie praktykanta jest używana tylko akcja bazowa, a istniejąca logika jest poznana. Zasadniczo oznacza to, że usługa Personalizacja zwraca akcję ramienia "sterującego" testu A/B, dlatego test A/B w trybie praktykanta nie ma wartości.
Gdy masz przypadek użycia przy użyciu usługi Personalizacja i uczenie się w trybie 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 do nagród. Przykładem pytania, na które może odpowiedzieć test A/B, jest: "W witrynie internetowej sprzedaży detalicznej usługa Personalizacja optymalizuje układ i pobiera więcej użytkowników do wcześniejszego wyewidencjonowania , ale czy zmniejsza to całkowity przychód na transakcję?"
Następne kroki
- Dowiedz się więcej o aktywnych i nieaktywnych zdarzeniach