3. Embedding
3.1 Embedding
传统推荐算法:评分卡 LR,博闻强记,个性化差
扩展性:将细粒度的概念,拆解为一系列粗粒度的特征
依赖于特征工程 → 能否自动将概念拆解?
核心套路:无中生有的 Embedding,精确匹配 → 模糊查找
3.2 共享 or 独占
共享 Embedding:训练充分、节省存储空间
独占 Embedding:避免互相干扰
FM(共享):
FFM(特征爆炸 nfk):
Co-Action Network (CAN):使用网络结构进行特征交叉,item 拆解 × user 输入小型 MLP
3.3 Parameter Server 训练加速器
传统分布式计算的不足:master 容纳不下参数量、广播网络负载巨大
PS(分布式 KV 数据库):参数由一群 PS Server 节点存储读写,只需要传递非零特征参数
Data Parallelism:训练数据分布在各个 worker 节点
Model Parallelism:不会再同一特征的参数下产生竞争,worker 相对解耦
PS 中的并发策略
同步并发策略(Bulk Synchronous Parallel, BSP)
异步并发策略(Asynchronous Parallel, ASP):梯度时效(Stale Gradient)不严重,但 DNN 权重更新冲突
半同步半异步(Staleness Synchronous Parallel, SSP):允许一定迭代轮数之内保持异步
基于 ps-lite 实现分布式算法
更先进的 PS
阿里 XDL:ASP + 流水线机制,Server 节点也能部署训练模型(降维)
快手 Persia:同步异步混合,特征准入 + 特征逐出
Last updated