M7-079M7: Retrieval, Ranking & RecSysMulti-Objective Ranking & OptimizationMedium
Mastery:
Multi-Objective Ranking & Optimization: 解释业务约束在排序中的实现。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 硬约束(多样性/合规/库存)不适合放进排序模型;用'重排阶段的规则/约束优化'或'可微的约束层'实现。
📌 Key Takeaways
- •硬约束:多样性/去重/合规/库存/广告位/时效
- •实现层次:重排阶段的规则、约束优化、或可微约束层
- •为什么不放排序模型:会扭曲主目标(CTR),且难保证严格满足
📐 Mathematical Derivations
数学机理:<strong>约束的类型</strong>——(1) <strong>硬约束(hard constraints)</strong>——<strong>必须严格满足</strong>:(a) <strong>合规</strong>(不能出现违规内容);(b) <strong>库存</strong>(不能推荐缺货商品);(c) <strong>去重</strong>(不能重复推荐同一物品);(d) <strong>广告位/坑位</strong>(必须包含 N 个广告);(e) <strong>多样性下限</strong>(至少 3 个不同类别);(f) <strong>时效</strong>(不能推荐过期内容)。(2) <strong>软约束(soft constraints)</strong>——<strong>尽量满足</strong>:(a) 多样性目标(提升多样性但不强制);(b) 探索配额(给新品一定曝光)。<strong>实现的层次</strong>——(1) <strong>召回/过滤层</strong>——<strong>最简单的硬约束</strong>在召回阶段过滤:(a) 过滤违规内容;(b) 过滤缺货;(c) 过滤已看过的;<strong>优点</strong>——简单、严格;<strong>缺点</strong>——只适合'单物品的约束'(不能处理'列表级'约束如多样性)。(2) <strong>排序模型内</strong>——把约束作为<strong>特征</strong>或<strong>损失项</strong>:(a) 特征(如'是否违规');(b) 损失惩罚(如多样性惩罚);<strong>缺点</strong>——(i) <strong>无法保证严格满足</strong>(模型可能学不好);(ii) <strong>扭曲主目标</strong>(多样性惩罚会降低 CTR 学习);故<strong>不适合硬约束</strong>。(3) <strong>重排阶段(最常用)</strong>——在'精排之后'用<strong>规则/约束优化</strong>调整列表:(a) <strong>规则</strong>('同一类别最多 2 个'、'必须包含 1 个新品');(b) <strong>约束优化</strong>(max 相关性 s.t. 多样性 ≥ 阈值);(c) <strong>MMR/DPP</strong>(多样性与相关性的权衡);(d) <strong>贪心 + 约束检查</strong>(逐个选择,检查约束);<strong>优点</strong>——(i) <strong>可保证严格满足</strong>(规则是确定性的);(ii) <strong>不扭曲排序模型</strong>(排序只管相关性、重排管约束);<strong>缺点</strong>——可能降低相关性(因为约束会'打乱'最优顺序)。(4) <strong>可微约束层</strong>——把约束写成'可微的形式',端到端训练(如用 softmax 松弛'必须包含');<strong>优点</strong>——端到端;<strong>缺点</strong>——实现复杂、'松弛'可能不严格。<strong>哪些约束放哪里</strong>——(a) <strong>单物品的硬约束</strong>(违规/缺货/去重)→ <strong>过滤层</strong>(最前);(b) <strong>列表级的硬约束</strong>(多样性/坑位/广告位)→ <strong>重排阶段</strong>;(c) <strong>软约束</strong>(多样性目标/探索配额)→ <strong>排序模型的损失</strong>或<strong>重排的加权</strong>。<strong>保证严格满足的手段</strong>——(a) <strong>规则引擎</strong>(确定性);(b) <strong>约束求解</strong>(如整数规划的近似);(c) <strong>后验检查 + 修正</strong>(若违反则调整)。<strong>与其他问题的关系</strong>——(a) 与'多目标'(约束是'多目标'的一种形式——'主目标 + 约束');(b) 与'重排的多样性'(多样性是典型的列表级约束);(c) 与'位置偏置'(坑位约束影响位置)。<strong>实践建议</strong>——(a) <strong>硬约束放过滤层 + 重排</strong>(不放排序模型);(b) <strong>单物品约束用过滤</strong>(最前、最简单);(c) <strong>列表级约束用重排</strong>(规则/MMR/约束优化);(d) <strong>软约束用损失/加权</strong>;(e) <strong>保证严格满足</strong>(规则引擎 + 后验检查);(f) <strong>监控约束满足率与相关性损失</strong>。<strong>度量</strong>——(a) 约束满足率(必须 100% 对硬约束);(b) 相关性/CTR 的损失(约束的代价);(c) 多样性的提升。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'硬约束不放排序模型'是核心原则</strong>——因为排序模型无法保证严格满足且会被扭曲;面试中能指出这一点是深度理解的标志。② <strong>'单物品约束放过滤层、列表级约束放重排'</strong>——这是清晰的分层原则。③ <strong>'约束有代价'</strong>——多样性约束会降低相关性;故需量化'约束的相关性损失'。④ <strong>'规则引擎保证严格满足'</strong>——硬约束必须确定性(不能靠模型学);故用规则。⑤ <strong>'可微约束层'是研究前沿</strong>——端到端但复杂;实践中规则更可靠。⑥ <strong>面试要点</strong>——被问'业务约束怎么实现',应给出'<strong>硬约束(合规/库存/多样性/坑位)vs 软约束 + 实现层次(过滤/排序/重排/可微层)+ 分层原则 + 保证严格满足</strong>';能指出'硬约束不放排序模型'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕把硬约束塞进排序模型的损失(无法保证满足)
- ✕不量化约束带来的相关性损失
🎯 Interviewer Follow-ups
- ?哪些约束该放排序、哪些放重排?
- ?如何保证'严格满足'约束?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.