如何做召回dssm,fm,Mind,youtube等模型

时间:2022-01-29 01:11:28

DSSM可以用于粗排,而且其优化的目标就是CTR,因此做排序是自然而然的。但用来做召回也是可以的,因为可以将DSSM分割成user_model和item_model,然后user和item特征分别过模型,分别得到全部的user和item的向量,然后进行faiss召回,这样得到的召回top item 与过整个模型是否有差别呢?下面进行试验,用事实说话。采用EasyRec来做。【后面发现split分割后存储不了模型,因此召回模型全部采用另一个框架来做(附最后)】

1、DSSM模型分割

先将模型分割成两个模型,模型包含各个特征的embedding部分以及DNN部分,分别为User和item模型。下面是实现的步骤:

python  ../easy_rec/python/tools/split_model_pai.py --model_dir ../conf/dssm/_ckpt/export/final/  --user_model_dir ../conf/dssm/userModel/ --item_model_dir ../conf/dssm/itemModel/
Traceback (most recent call last):
  File "../easy_rec/python/tools/split_model_pai.py", line 276, in <modul