
Věděli jste o tom, že Netflix má obrovský tým výzkumníků a že až 80% z toho na co se na Netflixu díváte, je ovlivněno jejich systémem pro doporučování titulů? Zajímalo vás někdy jak doporučování funguje?
Doporučení, která vidíte jsou výsledek výkonných doporučovacích modelů. Původně každá sekce - např. “Pokračovat v přehrávání” a “Příště si nenechte ujít” měla svůj model, který sice bral data ze stejných zdrojů jako ostatní ale každý model byl trénovaný separátně. Údržba a vylepšování individuálních modelů se stávala čím dál náročnější a dražší.
Netflix se letos začíná posouvat k jednotnému a ucelenému systému – staví výkonný foundation model (základní model), který rozumí uživatelskému chování a preferencím a dokáže tato data sdílet napříč všemi doporučovacími systémy.
Z mnoha modelů jeden supermodel 👀
Původně měl Netflix spoustu menších modelů, každý trénovaný samostatně. Jeden si například pamatoval, co máte rádi v rámci akčních filmů, jiný zas doporučoval pořady, které jsou zrovna populární. Modely spolu ale nekomunikovaly. To způsobovalo problémy především při aktualizacích a když bylo třeba modely vylepšovat.
Nový přístup Netflixu je inspirován fungováním velkých jazykových modelů (= large language models, zkráceně LLMs). Místo budování spousty malých modelů teď staví jeden velký, který chápe vaše sledovací návyky jako celek. Tento model pak může pomáhat ostatním systémům tím, že sdílí, co se naučil — buď přímo, nebo skrze opakovaně použitelné embeddings.
Tokenizace = Přeměna sledovacích návyků na tokeny
Netflix je profesionální stalker. Sleduje každou vaši interakci: co sledujete, jak dlouho, co přeskočíte, dokonce i na jakém zařízení a v jakém jazyce. Jen surová (unlabeled) data sama o sobě ale nestačí. Netflix proto tyto (inter)akce převádí na tokeny (tokens) — jednotky chování, jako např. „Sledoval Stranger Things 40 minut na telefonu večer“.
Model je krmen těmito tokeny, aby se naučil, jak se uživatelé chovají v čase. Zde nastává další výzva - uživatelé dělají spoustu věcí. Netflix proto musí najít způsob jak rozhodovat, kolik detailů si zachová, ale zároveň musí zařídit, aby se data zpracovávala rychle.
Model se učí jako člověk, ne jen jako stroj
Jak už jsme zmínili, Netflix se inspiroval u LLMs, které předpovídají další slovo neboli token. Netflix chce ale předpovídat další akci, kterou by uživatel mohl udělat. Akcí je ale spousta a tak jim musí přikládat různou váhu - sledování celého filmu má například větší váhu a význam než když se podíváte na trailer, který má 3 minuty. Model se tedy učí vnímat, co je důležité a to mu umožňuje lépe doporučovat pořady, které by se vám mohly líbit.
Řešení problému „nový pořad“
Když vyjde nový film nebo seriál a nikdo ho ještě neviděl, jak ho Netflix může začít doporučovat?
Snaží se to řešit těmito dvěma způsoby:
- Incremental training (inkrementální trénování) – Novým titulům jsou přiřazeny embeddings (dalo by se říct iniciální data) na základě podobných existujících titulů v databázi a postupně se zařadí už na bázi reálných interakcí od uživatelů.
- Metadata – I když pořad ještě nikdo neviděl. Model zná žánr, jazyk, atmosféru a může na základě těchto informací odhadnout, kam ho nejlépe zařadit..
Díky tomu se úplně nové pořady mohou objevit ve vašich doporučeních hned první den. Nadále se ale už pořad bude zařazovat podle toho, jak s ním uživatelé budou interagovat.
Embeddings: tajná přísada
Embeddings jsou jako digitální otisky každého pořadu, uživatele nebo žánru. Zachycují jemné vzorce chování a preferencí. Tyto vektory se pak sdílejí s dalšími nástroji Netflixu — například při hledání podobných pořadů, predikci dalšího sledování, nebo personalizaci domovské stránky.
Ale má to háček: embeddings se mění při každém novém trénování modelu. Netflix proto používá speciální matematické transformace, které umožňují vzít staré embeddings a přetvořit je na nové, aby se tyto vektory zachovaly co nejstabilnější, a ostatní systémy s nimi mohly nadále pracovat.
Závěr
Cílem Netflixu je, abyste ideálně nemuseli vůbec nic hledat. Snaží se neustále objevovat věci za vás a brát v potaz vaše preference. Preference, které jsou tvořené na bázi toho, jak se chováte na Netflixu ale i na tom, jak se chovají uživatelé s podobnou historií.
Jejich “foundation model” představuje významný krok směrem k vytvoření jednotného systému místo mnoha malých nástrojů. Stojí na centralizaci dat, inspiraci principy LLMs a využití embeddings.
Model se lépe učí, přizpůsobuje se rychleji a poskytuje kvalitnější doporučení. Podobně jako velké jazykové modely změnily práci s textem, může i tento přístup proměnit způsob, jak fungují doporučovací systémy. Co to znamená pro nás? Přesnější doporučení a více pořadů, na které se opravdu můžeme a chceme dívat, aniž bychom je museli hledat.
Zdroje
https://netflixtechblog.com/foundation-model-for-personalized-recommendation-1a0bd8e02d39
https://help.netflix.com/en/node/100639
https://ojs.aaai.org/aimagazine/index.php/aimagazine/article/view/18140
Author

Sabina Balejikova
GeneralistI am a generalist interested in ops, business, software design, and programming. Currently building full-stack apps with NextJS and diving into computer science.