易用又强大的推荐算法框架伯乐公布二期啦!什么?你还不知道RecBole是啥?快点击下方链接相识一下吧~ 伯乐:一个易用、强大的 Pytorch 推荐系统开源库 历时两个月的继续开发、代码重构、bug修复以及社区维护,在开发人员和海内外众多开发者的配合努力下,今天RecBole二期终于来啦! 话不多说,直接来看看我们的的更新亮点、新特性以及社区维护事情吧! 更新亮点 1. 速度及效率优化 我们针对差别方面举行了速度和效率上的优化,详细如下: 优化偏向 优化措施 提升数据读取速率 数据列提前筛选 提升负采样速率 优化负采样方式 提高基于GNN的通用推荐模型效率 重构稀疏交互张量的结构 *例:数据方面优化前后速度对好比图: Speed optimization (Take ml-1m for example) Method Train Time (sec / epoch) Valid Time (sec / epoch) BPR 1.93 -> 1.87 7.43 -> 4.46 FM 19.33 -> 2.29 2.34 -> 0.13 Wide&Deep 26.13 -> 3.26 2.95 -> 0.13 GRU4Rec 7.78 -> 4.30 0.11 -> 0.04 KGAT 9.95 -> 7.08 8.63 -> 4.15 2. 添加12个新模型 在原有53个模型的基础上又添加了12个新的模型:4个支持基于AE的General类模型: CDAE, MacridVAE, MultiVAE, MultiDAE.6个Sequential类模型: RepeatNet, Fossil, HGN, SHAN, NPE, HRM.1个图嵌入方法模型: LINE.1个外部算法库模型: XGBoost,支持其数据接口、训练接口,以及相应预测及评估功效。 模型越发多样化,可以更好地满足用户对模型的需求。 3. 支持Context-aware推荐模型的排序评测方法 在一期中Context-aware模型并不支持排序评测,评测一般使用CTR方法和相应指标——AUC和LogLoss,在二期中我们使其支持了排序评测和相应的评测指标,例如MRR、NDCG等。
4. 添加Case study功效 为了利便用户分析模型的效果,我们添加了Case study功效。该功效使得用户可以针对特定的user id,利便地获取其对各商品的打分,以及给出topk的商品推荐。 *例如,训练好模型之后,以下接口通过给定一个user id序列、模型和测试集,可以获得模型在测试集上对这些用户关于所有商品的打分。
score = full_sort_scores(uid_series, model, test_data) 5. 添加CI (Continuous Integration)模块 我们将CI (Continuous Integration,连续集成)添加到RecBole中,提高了开发的效率和质量。 新特性添加 1. 参数更新benchmark_filename 为了支持读取提前划分好的数据,我们添加了该参数。用户可以通过设置设置文件或下令行使用该功效,例如在设置文件中写入: benchmark_filename: [pre-split dataset name]unused_col 该参数用来指令会在数据与处置惩罚中用到但不会在模型中用到的数据列。
此外,我们删除了 和 两个参数。用户可以在设置文件中写入: drop_filter_field rop_preload_weight unused_col: inter: [timestamp] 表现在数据预处置惩罚时会用到 timestamp 这一列,但在模型中不会用到。
在GRU4Rec模型实验历程中,使用这一参数能将训练速度提升近40%。training_neg_sample_distribution 该参数用来选择训练时的负采样计谋andloss_decimal_placemetric_decimal_place 该参数用于损失和计量效果控制小数点 2. 添加时间条功效 为了利便用户视察训练和评测的进度,我们添加了时间条功效。
此外,我们对data部门和evaluation部门的代码举行了重构,提升了框架运行速率,也提高了代码的可读性和可复用性;并修复了部门模型和框架中的bug。越发全面的二期事情如下图: 如果你想进一步相识,请移步下方链接: https://github.com/RUCAIBox/RecBole/releases/tag/v0.2.0 数据集 为了支持这个工具包的使用,我们收集整理了28个数据荟萃(提供当地拷贝),详细请见: https://github.com/RUCAIBox/RecSysDatasets,接待大家使用哦~ 社区维护 在RecBole一期上线至今仅两个多月的时间里,项目已获得了688个star,众多热心用户努力使用,并给出了很好的反馈。我们在GitHub上收到了共计63个issue,社区很是活跃。
我们也一直努力为大家解决问题,连续做出信息回复和代码调整。 下面。
本文来源:亚慱体育平台网页版-www.byzdhgs.com