Použití režimu Apprentice k trénování personalizace, aniž by to mělo vliv na vaši stávající aplikaci

Důležité

Od 20. září 2023 nebudete moct vytvářet nové prostředky personalizace. Služba Personalizace se vyřadí z provozu 1. října 2026.

Při nasazování nového prostředku Personalizace se inicializuje pomocí nenatrénovaného nebo prázdného modelu. To znamená, že se nenaučil z žádných dat, a proto nebude v praxi dobře fungovat. To se označuje jako problém "studený start" a v průběhu času se řeší trénováním modelu s reálnými daty z produkčního prostředí. Učňový režim je chování učení, které pomáhá zmírnit problém "studeného startu" a umožňuje získat jistotu v modelu předtím, než se rozhodne v produkčním prostředí, a to vše bez nutnosti jakékoli změny kódu.

Co je režim Naučte?

Podobně jako učňátku se může učit řemeslo pozorováním odborníka, vyučovací režim umožňuje personalizaci učit se tím, že sleduje rozhodnutí provedená aktuální logikou vaší aplikace. Model Personalizace se trénuje tak, že napodobí stejný rozhodovací výstup jako aplikace. Při každém volání rozhraní Rank API se personalizace může učit, aniž by to mělo vliv na stávající logiku a výsledky. Metriky dostupné na webu Azure Portal a rozhraní API vám pomůžou porozumět výkonu při učení modelu. Konkrétně, jak dobře personalizace odpovídá vaší stávající logice (označované také jako základní zásady).

Jakmile personalizace dokáže přiměřeně odpovídat stávající logice 60–80 % času, můžete změnit chování z režimu Výuka na online. V té době personalizace vrátí nejlepší akce v rozhraní Rank API, jak je určeno základním modelem, a může se naučit, jak dělat lepší rozhodnutí než vaše základní zásady.

Proč používat režim Výuka?

Vyučný režim poskytuje model způsob, jak napodobovat stávající rozhodovací logiku předtím, než provede online rozhodnutí používaná vaší aplikací. To pomáhá zmírnit výše uvedený problém se studeným startem a poskytuje vám větší důvěru ve službu Personalizace a jistotu, že data odesílaná do personalizace jsou cenná pro trénování modelu. To se provádí bez rizika nebo ovlivnění online provozu a zkušeností zákazníků.

Existují dva hlavní důvody použití režimu Výuka:

  • Zmírnění studených startů: Režim učňů pomáhá zmírnit náklady na trénování "nového" modelu v produkčním prostředí učením, aniž by bylo nutné provádět neinformovaná rozhodnutí. Model se naučí napodobovat stávající logiku aplikace.
  • Ověřování funkcí akcí a kontextu: Kontextové a akční funkce můžou být nedostatečné, nepřesné nebo neoptimálně navrženy. Pokud je příliš málo, příliš mnoho, nesprávných, hlučných nebo poškozených funkcí, přizpůsobení bude mít potíže s trénováním dobře výkonného modelu. Provádění vyhodnocení funkcí v režimu učňů vám umožňuje zjistit, jak efektivní jsou funkce na školení Personalizace a můžou identifikovat oblasti pro zlepšení kvality funkcí.

Kdy byste měli použít režim Výuka?

Pomocí režimu Apprentice můžete vytrénovat personalizaci, aby se zlepšila jeho efektivita prostřednictvím následujících scénářů a zároveň opustila prostředí uživatelů, kteří nejsou ovlivněni personalizacem:

  • Implementujete personalizaci v novém scénáři.
  • Provedli jste významné změny v kontextových funkcích nebo funkcích akcí.

Vyučovací režim ale není efektivní způsob měření dopadu personalizace na zlepšení průměrné odměny nebo klíčových ukazatelů výkonu vaší firmy. Dokáže vyhodnotit, jak dobře služba učí vaši stávající logiku vzhledem k aktuálním datům, která poskytujete. Chcete-li změřit, jak efektivní personalizace je vybrat nejlepší možnou akci pro každý hovor Rank, personalizace musí být v online režimu nebo můžete použít offline hodnocení v průběhu časového období, kdy personalizace byla v online režimu.

Kdo by měl používat režim Výuka?

Učňový režim je užitečný pro vývojáře, datové vědce a pracovníky s rozhodovací pravomocí:

  • Vývojáři můžou použít režim Apprentice k zajištění správné implementace rozhraní Rank and Rewards API v aplikaci a že funkce odesílané do personalizace jsou bez chyb a běžných chyb. Přečtěte si další informace o vytváření vhodných funkcí kontextu a akcí.

  • Datoví vědci můžou pomocí režimu Apprentice ověřit, že funkce jsou efektivní při trénování modelů Personalizace. To znamená, že funkce obsahují užitečné informace, které službě Personalizace umožňují naučit se stávající rozhodovací logiku.

  • Pracovníci s rozhodovací pravomocí můžou pomocí režimu Apprentice posoudit potenciál personalizace a zlepšit tak výsledky (tj. odměny) v porovnání s existující obchodní logikou. Konkrétně, jestli se personalizace může učit z poskytnutých dat před přechodem do online režimu. To jim umožní učinit informované rozhodnutí o ovlivnění uživatelského prostředí, kde jsou v sázce skutečné výnosy a spokojenost uživatelů.

Porovnání chování – režim učňů a online režim

Učení, když se v režimu Výuka liší od online režimu následujícími způsoby.

Plocha Začátečnický režim Online režim
Dopad na uživatelské prostředí Uživatelské prostředí a obchodní metriky se nezmění. Personalizace se vytrénuje tím, že sleduje základní akce aktuální logiky aplikace, aniž by to mělo vliv na ně. Prostředí uživatelů se může změnit, protože rozhodnutí provádí personalizace, a ne základní akce.
rychlost Učení Personalizace se bude při učení v online režimu učit pomaleji. Vyučovací režim se může učit pouze sledováním odměn získaných vaší výchozí akcí bez zkoumání, což omezuje, kolik se personalizace může naučit. Naučí se rychleji, protože může zneužít nejlepší akci z aktuálního modelu a prozkoumat další akce pro potenciálně lepší výsledky.
Učení účinnosti "Strop" Personalizace může pouze přibližný a nikdy nepřekročí výkon aktuální logiky vaší aplikace (celková průměrná odměna dosažená základní akcí). Je nepravděpodobné, že personalizace dosáhne 100% shody s logikou vaší aktuální aplikace a doporučuje se, aby se po dosažení 60%-80% shody přepnul personalizace do online režimu. Personalizace by měla překročit výkon standardní logiky aplikace. Pokud personalizace v průběhu času zastaví výkon, můžete provést offline vyhodnocení a vyhodnocení funkcí, abyste mohli pokračovat v dalších vylepšeních.
Návratová hodnota rozhraní API pro Rank API pro rewardsActionId Hodnota rewardsActionId bude vždy ID výchozí akce. To znamená, že akce, kterou odešlete jako první akci ve formátu JSON požadavku rozhraní Rank API. Jinými slovy, rozhraní Rank API neprovádí nic viditelného pro vaši aplikaci během režimu Výuka. RewardsActionId bude jedním z ID zadaných v následném volání rozhraní Rank API podle určení modelu Personalizace.
Hodnocení Personalizace udržuje porovnání součtů odměn přijatých vaší aktuální logikou aplikace a součty odměny Personalizace by získala, pokud by byla v online režimu v tomto okamžiku. Toto porovnání je k dispozici pro zobrazení v okně Monitorování prostředku Personalizace na webu Azure Portal. Vyhodnoťte efektivitu personalizace spuštěním offline vyhodnocení, které vám umožní porovnat celkový počet odměn Personalizace v porovnání s potenciálními odměnami standardních hodnot aplikace.

Mějte na paměti, že personalizace pravděpodobně nedosáhne 100% shody výkonu se základní logikou aplikace a nikdy ji nepřekročí. Shoda výkonu 60 %-80 % by měla být dostatečná pro přepnutí personalizace do online režimu, kde personalizace může získat lepší rozhodnutí a překročit výkon základní logiky vaší aplikace.

Omezení režimu učňů

Učňový režim trénuje model Personalizace tím, že se pokusí napodobit základní logiku stávající aplikace pomocí funkcí Kontext a Akce, které jsou přítomné ve voláních pořadí. Následující faktory ovlivní schopnost učit se v režimu učední.

Scénáře, ve kterých nemusí být režim učňů vhodný:

Redakční výběr obsahu:

V některých scénářích, jako jsou zprávy nebo zábava, může být položka směrného plánu přiřazena ručně redakčním týmem. To znamená, že lidé používají své znalosti o širším světě a chápou, co může být atraktivní obsah, zvolit konkrétní články nebo média z fondu a označit je jako "upřednostňované" nebo "hrdinové" články. Vzhledem k tomu, že tyto editory nejsou algoritmem a faktory, které editory považují, mohou být subjektivní a pravděpodobně nesouvisející s kontextovými nebo akčními funkcemi. V tomto případě může mít režim učňů potíže s predikcí základní akce. V těchto situacích můžete:

  • Test Personalizace v online režimu: Zvažte uvedení personalizace do online režimu na čas nebo do testu A/B, pokud máte infrastrukturu, a pak spusťte offline vyhodnocení, abyste posoudili rozdíl mezi směrnou logikou vaší aplikace a personalizátorem.
  • Přidejte jako funkce redakční aspekty a doporučení: Zeptejte se editorů, jaké faktory ovlivňují jejich volby, a podívejte se, jestli je můžete přidat jako funkce v kontextu a akci. Například editory v mediální společnosti můžou zvýraznit obsah, když je určitá celebrita často ve zprávách: Tato znalost by mohla být přidána jako kontextová funkce.

Faktory, které zlepší a urychlí režim učňů

Pokud se učňový režim učí a dosahuje odpovídajícího výkonu nad nulou, ale výkon se pomalu zlepšuje (nedostává se do dvou týdnů na 60 % až 80 % odměn), je možné, že do personalizace se odesílá příliš málo dat. Následující kroky vám můžou pomoct zrychlit učení:

  1. Přidání různých funkcí: Můžete provést vizuální kontrolu akcí ve volání pořadí a jejich funkcí. Má základní akce funkce, které jsou odlišné od ostatních akcí? Pokud vypadají převážně stejně, přidejte další funkce, které zvýší rozmanitost hodnot funkcí.
  2. Omezení akcí na událost: Personalizace použije nastavení %z volání pořadí, které se má použít k prozkoumání, ke zjištění předvoleb a trendů. Když má volání pořadí více akcí, pravděpodobnost, že se pro průzkum vybere nějaká konkrétní akce, bude nižší. Snížení počtu akcí odeslaných v každém volání Rank na menší číslo (pod 10) může být dočasná úprava, která může znamenat, jestli má režim Apprentice dostatek dat k učení.

Použití režimu Výuka k trénování s historickými daty

Pokud máte značné množství historických dat, která chcete použít k trénování personalizace, můžete pomocí režimu Apprentice znovu přehrávat data prostřednictvím personalizace.

Nastavte personalizaci v režimu Apprentice a vytvořte skript, který volá pořadí s akcemi a kontextovými funkcemi z historických dat. Volání rozhraní API pro odměnu na základě výpočtů záznamů v těchto datech. Možná budete potřebovat přibližně 50 000 historických událostí, abyste viděli, že personalizace dosáhne 60–80 % shody s logikou směrného plánu vaší aplikace. Možná budete schopni dosáhnout uspokojivých výsledků s menším nebo více událostmi.

Při trénování z historických dat se doporučuje, aby data odeslaná v [funkcích pro kontext a akce, jejich rozložení ve formátu JSON použitém pro žádosti o pořadí a výpočet odměny v této trénovací sadě] odpovídala datům [funkcím a výpočtu odměny] dostupným z vaší stávající aplikace.

Offline a historická data jsou obvykle neúplnější a hlučnější a můžou se lišit ve formátu od vašeho scénáře v produkčním (nebo online). I když je možné trénování z historických dat, výsledky z toho můžou být neprůkazné a nemusí nutně být dobrým prediktorem toho, jak dobře se Personalizace bude učit v online režimu, zejména pokud se funkce mezi historickými daty a aktuálním scénářem liší.

Použití vyučujícího režimu versus testy A/B

Je užitečné provádět testy A/B ošetření personalizace, jakmile je ověřena a učí se v režimu Online, protože v režimu Apprentice se používá pouze základní akce a stávající logika se naučí. To v podstatě znamená, že Personalizace vrací akci "ovládacího" ramene testu A/B, a proto test A/B v režimu Apprentice nemá žádnou hodnotu.

Jakmile budete mít případ použití personalizace a učení online, experimenty A/B vám umožní vytvářet řízené kohorty a provádět porovnání výsledků, které mohou být složitější než signály používané pro odměny. Příkladem otázky, na kterou může test A/B odpovědět, je: "Na maloobchodním webu personalizace optimalizuje rozložení a získá více uživatelů, aby si ho mohli prohlédnout dříve, ale snižuje se tím celkový výnos za transakci?"

Další kroky