Дербестендіру үлгілері
Дербестендіру модельдері
Дербестендіру - бұл деректер → модельдер → көрсету саясаты → әрекет → кері байланыс болатын жүйе. Мақсаты - шектеулерді (этика/RG, жиілік, әртүрлілік, жаңалық, SLA) сақтай отырып, инкременттік құндылықты (табыс/ұстап қалу/қанағаттану) барынша арттыру.
1) Деректер мен ұсынымдар
Шикізат: оқиғалар (шолулар/басулар/ойындар/сатып алулар/депозиттер), контент-каталог (атрибуттар), пайдаланушы профильдері, контексті (уақыт/гео/құрылғы/арна), сапа сигналдары (бот/фрод).
Фичтер:- User: RFM, санат артықшылықтары, баға сезімталдығы, тәулік уақыты, құрылғы.
- Item: жанр/санат, студия/провайдер, тіл, баға/құбылмалылық, «жаңалық».
- Context: dow/hod, промо/іс-шаралар, сессия, кіру арнасы.
- Эмбеддингтер: user/item (MF/Word2Vec2Rec/transformers), мультимодальды (мәтін/бейне) бірлескен кеңістіктер.
- Сапасы: point-in-time (тұлғасыз), UTC-уақыт, оқиғалардың ұқсастығы, PII бүркемелеу.
2) Базалық парадигмалар
1. Content-based - айтем белгілері мен пайдаланушының профилі бойынша жақындық.
2. Коллаборациялық сүзу (CF) - өзара іс-қимыл сигналдары бойынша ұқсас пайдаланушылар/айтемалар.
3. Матрицалық факторизация/эмбеддингтер - score үшін dot-product/MLP жасырын факторлары.
4. Learning-to-Rank (LTR) - тізімдерді (pairwise/listwise) ранжирлеуге арналған градиентті бустинг/нейрожелілер.
5. Re-ranking қабаты - әртараптандыруды/жаңалықты/шектеулерді ескере отырып, post-processing.
6. Контекст бандиттері - exploration-exploitation арқылы онлайн оқыту.
7. RL/seq-ұсынымдар - жолды/сессияны оңтайландыру (көп сатылы марапат).
3) Шешім қабылдау конвейері
1. Recall (кандидаттарды жылдам іріктеу, 200-5k): эмбеддинг бойынша ANN, ереже-бейс/санат, танымалдылық.
2. Rank (дәл скоринг, 20-200): Бай фичтері бар LTR/MLP.
3. Re-rank/Policy (фин. 5-30): көп мақсатты оңтайландыру + шектеулер және әртараптандыру.
4. Action: показ/пуш/е-mail/жеке витрина с капами и «тихими часами».
5. Feedback: implicit/explicit сигналдары → қайта оқыту/бандит-жаңарту.
4) Көп мақсатты мақсаттар мен шектеулер
Мақсаттары: CTR/CTCVR, ұстап қалу, түсім, маржа, LTV, қанағаттану, жылдамдық.
Шектеулер: контактілер жиілігі, RG/комплаенс, санаттардың әртүрлілігі, брендтер/провайдерлер квоталары, fairness.
[
\max \sum_i w_i \cdot \text{Objective}_i \quad
\text{s. t. } \text{caps, RG, diversity, SLA}
]
Практика: ережелермен біріктірілген policy-aware re-ranking (§ 7 қараңыз) жасаңыз.
5) Суық бастау және шағын деректер
Жаңа пайдаланушылар: сегмент/арна/гео бойынша танымалдылық, сауалнама/бірінші клик бойынша контент-based, кең ауқымды барлау бандиті.
Жаңа айтемалар: контент-эмбеддингтер (мәтін/тегтер), метадеректер, провайдер/жанр бойынша «look-alike».
Few-shot: эмбеддингтерді көшіру/мульти-тапсырма (shared tower).
6) Бағалау өлшемдері
Оффлайн
Жіктеу/саралау: AUC/PR-AUC, NDCG @k, MAP, Recall @k.
Бизнес: eCPM/eRPM, күтілетін кіріс/маржа, LTV прокси.
Көп мақсатты: өлшенген метриктер (мысалы, gain = құндылығы бар NDCG).
Калибрлеу: Brier, ECE (ықтималдық үшін).
Списки: coverage/diversity/novelty/serendipity.
Онлайн
A/B және бандиттік тесттер: CTR, CTCVR, кіріс/сеанс, D1/D7 ұстау, шағымдар/қайтарулар (guardrails), latency/SLA.
Инкремент: lift%, CUPED/квазиэксперименттер күрделі рандомизация кезінде.
7) Әртараптандыру және policy-aware re-ranking
MMR/PM-2/xQuAD: «релеванттылық × жаңалық» балансы.
Квоталар: жанрлары/провайдерлері/тәуекел санаттары бойынша min/max.
Fairness: жүйелі ауытқуларды болдырмау үшін үлестерді шектеу.
[
\textstyle \text{Score} = \alpha \cdot \hat{p}_{\text{click}} + \beta \cdot \text{Value} - \gamma \cdot \text{Fatigue} + \delta \cdot \text{Novelty}
]
Гистерезис: тізімдермен «жыпылықтамау»; инерциялы позицияларды жаңартыңыз.
8) Контекст бандиттері және RL
Бандиттер (LinUCB, Thompson): жылдам online-learn, бақылау exploration. Бірінші позиция/креатив/арна үшін жақсы.
Каскадты бандиттер: оңтайландыру top-k.
RL (DQN/Policy Gradient/SlateQ): сессиялық дербестендіру, көп сатылы награданы оңтайландыру (қайтару/түсім/ұзақ сессия).
Қауіпсіздік: бағалау полисі (IPS/DR), симуляторлар, зерттеуге арналған капалар, safe RL.
9) Себептік әсермен дербестендіру
Uplift-модельдері: кімге тиісу керек (persuadables), Qini/AUUC, uplift @k.
Treatment-aware ранжирлеу: «шикі» CTR орнына инкремент ықтималдығын қосыңыз.
Guardrails: Do-Not-Disturb сегменттері, RG-ережелер, fairness.
10) Архитектура және MLOps
Feature Store: онлайн/офлайн паритет, point-in-time, TTL сессия үшін.
Candidate services: ANN/FAISS/ScaNN, сегменттер бойынша кеширлеу/шардинг.
Ranker: градиенттік бустинг/MLP/Tower-сәулет, калибрлеу.
Policy/Re-rank: ережелер/шектеулер, әртараптандыру, бандиттік қабат.
Оркестрлеу: сұраныстардың теңсіздігі, p95 latency ≤ 100-300 мс, DLQ/ретра.
Байқалуы: трассалау 'correlation _ id', фич-дрифт (PSI), сапа метрикасы, «тоқта-кран».
11) Қауіпсіздік, құпиялылық, әдеп
PII-минимизация: токенизация, RLS/CLS, бүркемелеу.
Түсіндірілуі: top-features/көрсету себептері; апелляция жолы.
Этика/RG: жиіліктер, «тыныш сағаттар», осал топтарда агрессивті оффераларға тыйым салу.
Комплаенс: шешімдердің/логтардың аудиті, саясаттар мен креативтердің нұсқалары.
12) Паспорттар және decision tables
Ұсынушының паспорты (мысал)
ID/нұсқа: 'REC _ HYBRID _ RANK _ v5'
Recall: ANN (user/item embeddings), top-500
Ranker: LTR-GBM + MLP (features: user RFM, item meta, context)
Re-rank: PM-2 (diversity), брендтер квотасы, RG-сүзгілер, жиілік қақпақтары
Мақсаттары/өлшемдері: NDCG @ 10, eRPM, шағымдар ≤ Х, latency p95 ≤ 150 мс
А/В: 14 күн, CUPED; guardrails - RG/жеткізу
Иелері/Логин/Рунибук
Decision table (нобай)
13) Псевдо-код (скетч)
A. Гибридті recall + rank + re-rank
python
Recall cands_emb = ann. recall(user_embed, topk=500)
cands_rule = rule_based. popular_by_segment(user, k=200)
cands = dedup(cands_emb + cands_rule)
Rank features = featurize(user, cands, context) # user/item/context scores = ranker. predict(features) # CTR/Value score
Re-rank (policy-aware)
final = rerank(
cands, scores,
constraints=dict(diversity_min={'category':3},
brand_quota={'A':0. 3,'B':0. 3},
rg_filter=True,
freq_caps=per_user_caps(user)),
objective_weights=dict(ctr=0. 6, value=0. 3, novelty=0. 1)
)
return final[:N]
B. Thompson Sampling креативтерге арналған
python beta priors per creative: (α, β)
for creative in creatives:
p_hat = np. random. beta(alpha[creative], beta[creative])
chosen = argmax(p_hat)
show(chosen)
update(alpha, beta, reward=click)
14) Диагностика және мониторинг
Сапасы: NDCG/Recall @k, eRPM, coverage/diversity, калибрлеу.
Онлайн: CTR/CTCVR, кіріс/сеанс, ұстап қалу, шағымдар/жауап қайтару, latency/timeout.
Дрейф: PSI/KL негізгі саңылаулар бойынша, офлайн онлайн корреляциясының құлдырауы.
Шектеулер: квоталарды/diversity орындау, RG-сүзгілерге соққылар, жиілік қақпалары.
Рунибуки: recall деградациясы (ANN құлдырауы), шағымдардың өсуі, таймауттардың өсуі, апаттық фолбэк (popular-safe).
15) Жиі қателер
Инкремент/құндылық орнына «шикі CTR» оңтайландыру.
re-ranking қабаты жоқ → аз әртүрлілік, «көру туннелі».
Болашақтағы ликтер, TZ араластыру, сигналдардың келісілмеген анықтамалары.
Калибрлеу мен шектердің болмауы → бюджет пен жиілік қақпақтары «бүлінеді».
Ignor RG/этика және fairness → шағымдар, тәуекелдер, реттеуші проблемалар.
Несинхрон онлайн/офлайн → өнімдегі сәтсіздік.
16) Дербестендіруді шығару алдындағы чек-парақ
- Модель паспорты (мақсаттары, шектеулері, өлшемдері, иелері, нұсқалары)
- Recall/Rank/Re-rank таратылды; ANN және кэштер жылытылды
- PIT-фичтер және калибрлеу, оффлайн бенчмарктер (NDCG/PR-AUC) өтті
- A/B-дизайн және guardrails; decision-ready есебі (әсер және тәуекелдер)
- Шектеулер: RG/жиілік/diversity/квоталар - енгізілген және мониторингіленеді
- Бақылау, алерталар, «тоқтату-кран», фолбэктер (popular-safe)
- Құжаттама және рунибуктер, инкрементальдық жақсартулар жоспары
Жиынтығы
Дербестендіру модельдері тек қана policy-aware жүйесі ретінде тиімді: бай деректер және эмбеддингтер → Recall/Rank/Re-rank гибриді → онлайн бейімделу үшін бандиттер/RL → қатаң шектеулер мен әдеп бойынша көп мақсатты мақсаттар → тәртіпті MLOps және мониторинг. Мұндай контур тек «ұсынымдарды» ғана емес, ROMI, LTV және қанағаттанушылықты арттыратын басқарылатын шешімдерді - қауіпсіз, ашық және қайталанатын етіп береді.