全部产品
Search
文档中心

人工智能平台 PAI:召回配置

更新时间:Jun 08, 2026

一、概述

PAI-Rec 推荐算法定制提供丰富的召回算法体系,覆盖从简单统计到深度学习的不同场景需求。本文介绍推荐算法定制支持的所有召回算法,并介绍 TorchEasyRec 环境下 DSSM 向量召回的功能特性。

召回算法分类:

  • 深度学习召回:DSSM 向量召回

  • 协同过滤召回:ETrec、Swing、SimRank

  • 统计召回:全局热门、分组热门

二、DSSM 向量召回(TorchEasyRec 版本)

2.1 算法原理

DSSM(Deep Structured Semantic Model)是深度双塔模型,将用户和物品分别编码为固定维度的向量,通过向量相似度进行召回。

    User Features         Item Features
         |                     |
   ┌─────┴──────┐        ┌─────┴─────┐
   │ User Tower │        │ Item Tower│
   │  (DNN)     │        │  (DNN)    │
   └─────┬──────┘        └─────┬─────┘
    user_embedding         item_embedding
         └──── dot product ────┘
               Match Score

2.2 核心优势

优势

说明

双塔解耦

Item 向量离线预计算建索引,User 向量在线实时计算

语义泛化

通过深度网络学习用户-物品的隐式语义匹配

高效检索

百万级候选毫秒级召回,支持本地 FAISS 向量检索

特征丰富

支持用户画像、物品属性、行为序列等特征

2.3 关键配置参数

参数

说明

典型值

model_name

模型名称

dssm

model_type

模型类型

dssm / mind(多兴趣)

negative_sampler

负采样策略

1024 个负样本

train_days

训练天数

30 天

embed_dim_policy

Embedding 维度策略

EMB_SQRT4_STEP4(详见下方计算公式)

is_online_mode

在线模式

true/false

2.4 Embedding 维度计算策略

embed_dim_policy 用于自动计算离散特征的 Embedding 维度,假设特征枚举数为 N:

策略名称

计算公式

说明

EMB_SQRT4_STEP8

round(N^(1/4) / 8) × 8

四次方根,步长为 8

EMB_SQRT4_STEP4

round(N^(1/4) / 4) × 4

四次方根,步长为 4(默认)

EMB_LN_STEP8

round(ln(N) / 8) × 8

自然对数,步长为 8

EMB_LN_STEP4

round(ln(N) / 4) × 4

自然对数,步长为 4

计算示例(假设特征枚举数 N = 10000):

  • EMB_SQRT4_STEP4: round(10000^0.25 / 4) × 4 = round(10 / 4) × 4 = 8

  • EMB_LN_STEP4: round(ln(10000) / 4) × 4 = round(9.21 / 4) × 4 = 8

2.5 TorchEasyRec 环境下的 DSSM 特性

在 TorchEasyRec 环境下,DSSM 具备以下特性:

特性

说明

训练框架

TorchEasyRec(PyTorch 后端)

训练平台

PAI-DLC(GPU 训练)

向量索引

FAISS(IVF 类型)

在线服务

EasyRec Processor(Torch 版本)

特征工程

FG 特征编码(离线/在线一致性)

模型热更新

支持 steady_mode 自动加载

负采样配置:

{
    "negative_sampler": {
        "sampler_type": "negative_sampler",
        "num_sample": 1024
    }
}

负采样对向量召回至关重要,通过动态采样负样本提升模型区分能力。

2.5 TorchEasyRec 在线服务架构

TorchEasyRec 服务组件:

  • FG 编码:保证离线/在线特征一致性

  • User Tower:Torch ScriptModule 实时推理用户向量

  • FAISS 索引:CPU 即可高效检索(部署在 PAI-EAS CPU 机型)

  • TorchEasyRec Processor:easyrec-torch-{version} ,参考版本列表

部署配置示例:

{
  "processor": "easyrec-torch-1.12",
  "model_config": {
    "fg_mode": "normal",
    "faiss_neigh_num": 500,
    "faiss_nprobe": 1000,
    "steady_mode": true,
    "period": 2880
  }
}

三、热门召回

3.1 全局热门召回

原理:基于全站用户行为统计,返回全局最热门的物品。

计算公式:

适用场景:

  • 新用户冷启动(无历史行为)

  • 兜底召回策略

  • 热门内容分发

配置要点:

参数

说明

行为权重

不同行为(曝光/点击/转化)赋予不同权重

时间衰减

近期行为权重更高

去重策略

按物品/作者/类目去重

3.2 用户分组热门召回

原理:将用户按属性(性别、年龄段、地域等)分组,统计各组内的热门物品。

适用场景:

  • 猜你喜欢首页

  • 不同人群偏好差异大的场景

优势:

  • 相比全局热门更个性化

  • 实现简单,无需用户历史行为

3.3 物品分组热门召回

原理:按物品属性(类目、标签等)分组,统计各组内的热门物品。

适用场景:

  • 详情页相关推荐,当协同过滤等算法得到的相关物品不够时(下面的ETrec I2I 召回),用分组热门补全

  • 基于当前物品的同类热门推荐


四、协同过滤召回

4.1 ETrec U2I 召回

参考文档:协同过滤etrec

原理:基于物品的协同过滤算法(Item-based CF)。通过统计用户-物品交互行为,计算物品之间的共现相似度,为用户推荐与其历史交互物品相似的其他物品。

核心特点:

  • 支持实时行为触发(U2I Trigger)

  • 时间衰减:近期行为权重更高

  • 多行为融合:点击、收藏、加购等行为加权

关键配置:

参数

说明

典型值

day_interval

行为时间窗口

15 天

decay_coeff

时间衰减系数

0.2

trigger_top_n

Trigger 选取数目

10

u2i2i_top_n

召回数目

500

recall_engine

召回引擎

FeatureStore / Hologres

4.2 ETrec I2I 召回

原理:基于物品的协同过滤,计算物品之间的相似度。

适用场景:

  • 相关推荐(看了又看)

  • 详情页相似物品推荐

相似度计算:

  • 基于共现:两个物品被同一用户交互的次数

  • 基于向量:物品 Embedding 的余弦相似度

4.3 Swing U2I 召回

参考文档:Swing算法工具

原理:改进的协同过滤算法,通过用户-物品二部图的 Swing 结构计算相似度。

核心思想:

  • 如果两个物品被大量共同用户交互,则它们相似

  • 引入用户活跃度惩罚:活跃用户权重降低

优势:

  • 缓解热门物品过度推荐问题

  • 发现长尾物品的关联关系

4.4 SimRank U2I 召回

参考文档:SimRank++相似度计算算法
⚠️ 资源提示:SimRank 计算涉及多次迭代和全图随机游走,资源消耗较大。建议使用 MaxCompute 包月资源以降低成本。

原理:基于图结构的相似度算法,通过随机游走计算节点相似度。

核心思想:

  • 如果两个用户交互的相似物品多,则他们相似

  • 如果两个物品被相似的用户交互,则它们相似

适用场景:

  • 用户行为稀疏的场景

  • 需要挖掘间接关联关系

特点:

  • 迭代计算,收敛较慢

  • 能捕捉多跳关联


五、场景划分:猜你喜欢 vs 相关推荐

5.1 为什么要分场景?

不同场景的用户意图和推荐目标不同,需要采用不同的召回策略:

维度

猜你喜欢

相关推荐

页面位置

首页/推荐流

详情页/内容页

用户意图

发现兴趣,浏览消费

深入了解,决策辅助

触发条件

用户画像 + 历史行为

当前浏览物品

推荐目标

个性化探索

相似/互补推荐

多样性要求

高(跨类目)

中(同类目相关)

5.2 猜你喜欢场景

适用算法:

  • DSSM 向量召回:核心算法,深度个性化

  • ETrec U2I:基于用户历史行为的协同过滤

  • Swing U2I:发现长尾兴趣

  • SimRank U2I:挖掘间接关联

  • 用户分组热门:冷启动兜底

配置特点:

  • 强调用户个性化

  • 多路召回融合

  • 多样性控制

5.3 相关推荐场景

适用算法:

  • ETrec I2I:基于物品相似度的协同过滤

  • 物品分组热门:同类目热门推荐

  • DSSM 向量召回:语义相似度匹配

配置特点:

  • 以当前物品为触发

  • 强调内容相关性

  • 同类目/同主题优先

5.4 算法-场景映射表

算法

猜你喜欢

相关推荐

DSSM 向量召回

✅ 核心

✅ 辅助

ETrec U2I

✅ 核心

❌

ETrec I2I

❌

✅ 核心

Swing U2I

✅

❌

SimRank U2I

✅

❌

全局热门

✅ 兜底

✅ 兜底

用户分组热门

✅

❌

物品分组热门

❌

✅


六、算法选型建议

6.1 按业务阶段选型

阶段

推荐算法

冷启动期

热门召回 + 分组热门

成长期

协同过滤(ETrec/Swing)

成熟期

DSSM 向量召回 + 多路融合

6.2 多路召回融合

生产环境通常采用多路召回策略:

融合策略:

  • 加权融合:各路召回设置不同权重

  • 去重融合:按物品 ID 去重,保留最高得分

  • 配额融合:每路召回固定配额数量


七、总结

PAI-Rec 推荐算法定制提供了完整的召回算法体系:

算法类型

代表算法

核心能力

适用场景

深度学习

DSSM(TorchEasyRec)

语义匹配、高效检索

大规模个性化

协同过滤

ETrec/Swing/SimRank

行为关联、长尾发现

中规模场景

统计召回

热门/分组热门

简单高效、冷启动

兜底/新用户

TorchEasyRec DSSM 核心优势:

  • PyTorch 后端训练,支持复杂模型结构

  • FAISS 向量索引,CPU 机型即可高效检索

  • EasyRec Processor(Torch)统一在线服务

  • FG 特征编码保证离线/在线一致性

  • steady_mode 支持模型热更新

EasyRec(TF)与 TorchEasyRec 向量索引对比:

框架

向量索引方案

说明

EasyRec(TensorFlow)

Hologres Proxima

不支持 FAISS,Item 向量存储在 Hologres 向量引擎

TorchEasyRec

FAISS

支持 FAISS 索引,索引文件与模型一起存储在 OSS,在服务启动后加载到内存

最佳实践:

  1. 以 DSSM 向量召回(TorchEasyRec) 作为核心深度召回

  2. 协同过滤 作为补充,挖掘行为关联

  3. 热门召回 作为兜底,保证覆盖率

  4. 按场景(猜你喜欢/相关推荐)选择合适算法组合