DSSM向量召回

本文为您介绍推荐解决方案生成的DSSM(Deep Structured Semantic Model)向量召回。

前提条件

已运行推荐解决方案-特征工程工作流模板生成向量召回的数据集,具体操作请参见特征工程

  • rec_sln_demo_user_table_preprocess_all_feature_v2

  • rec_sln_demo_item_table_preprocess_all_feature_v2

  • rec_sln_demo_behavior_table_preprocess_v2

实现向量召回

  1. 进入PAI-Designer页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在工作空间页面的左侧导航栏选择模型开发与训练 > 可视化建模(Designer),进入Designer页面。

  2. 构建工作流

    1. Designer页面,单击预置模板页签。

    2. 在模板列表的推荐解决方案-向量召回区域,单击创建

    3. 新建工作流对话框,配置参数(可以全部使用默认参数)。

      其中: 工作流数据存储配置为OSS Bucket路径,用于存储工作流运行中产出的临时数据和模型。

    4. 单击确定

      您需要等待大约十秒钟,工作流可以创建成功。

    5. 在工作流列表,双击推荐解决方案-向量召回工作流,进入工作流。

    6. 系统根据预置的模板,自动构建工作流,如下图所示。image..png

      组件编号

      描述

      1

      DSSM_Recall向量召回模型样本。

      2

      使用FG模块编码样本,产出DSSM_Recall向量召回模型的样本。

      3

      创建正样本表,负采样时使用正样本参与训练。

      4

      统计数值类特征的等频分箱,用于设置模型的boundaries(边界)。

      5

      统计枚举类特征的唯一值数,用于设置模型的embedding_dimhash_bucket_size

      6

      使用FG编码Item特征。

      7

      使用FG编码User特征。

      8

      汇总rec_sln_demo_dssm_recall_30d_binning

      _v1表和rec_sln_demo_dssm_recall_30d_

      count_v1表结果,计算Feature配置信息和Step配置信息。

      9

      创建物品表用作负采样。

      10

      打散DSSM_Recall模型的30天样本数据形成训练样本。

      11

      根据组件编号8节点的计算结果,在EasyRec配置文件中填充配置信息。

      12

      模型训练需要先执行一次组件编号11节点,生成EasyRec配置文件。

      13

      使用切分后的物品模型,对物品特征表进行推理。rec_sln_demo_dssm_recall_item_feature_fg_encoded_v1,得到物品向量。

      14

      使用切分后用户模型,推理用户特征表 rec_sln_demo_dssm_recall_user_feature_fg_encoded_v1,得到用户向量。

      15

      创建序列表,用做hit_rate评估。

      说明

      评估当天出现的新用户及新商品不参与评估。

      18

      召回模型使用hit_rate@top200进行评估,用于评估推荐系统的召回阶段的性能。

  3. 运行工作流并查看输出结果。

    1. 单击画布上方的运行

    2. 工作流运行结束后,查看输出结果。

      • 右键单击画布中组件编号为18的组件(18_rec_sln_demo_recall_total_hit_rate_v1_2),在快捷菜单,单击查看数据 > hit_rate_detail。即可查看向量召回评估详情结果hit_rate_detailimage.png

      • 右键单击画布中编号为18的组件(18_rec_sln_demo_recall_total_hit_rate_v1_2),在快捷菜单,单击查看数据 > total_hit_rate,即可查看向量召回评估值total_hit_rateimage.png