咚咚咚!你期待的RecBole三期来了!
导读
RecBole 你用过了吗?是否通过它体验到了轻松复现推荐模型的爽快?是否因为它而跳过了数据处理的纷繁复杂?是否通过它快速入门推荐系统?
易用又强大的推荐算法框架伯乐(RecBole)发布全新版本啦!
什么?你还不知道RecBole是啥?快点击下方链接了解一下吧~
伯乐:一个易用、强大的PyTorch推荐系统开源库
易用又强大的伯乐二期来啦!
不知不觉,距离上次伯乐二期发布,已经过了半年之久。在这期间,我们的用户数量持续增长,社区活跃度也迅速提升,我们的GitHub repro已经获得了1.2k个star和198个fork。同时,我们的工作也于今年8月份被CIKM2021 Resource Track 正式录用[1]。
这些成果持续激励着我们的团队不断进步,向着国际一流推荐系统工具库的目标迈进!
在认真总结了用户的反馈后,我们的团队前后召开了三十多次会议进行讨论。最终,我们决定对现有的伯乐框架进行重新设计,并花费近2个月时间进行了一次大规模的代码重构!在伯乐团队和海内外众多开发者的共同努力下,今天,RecBole三期(v1.0.0)终于来啦!
话不多说,直接来看看本次的更新内容吧!
更新亮点
1. 代码结构优化
我们对Dataloader, Sampler, Evaluation等模块进行了优化和重构:
Module | Old | New |
Dataset | 数据划分模式较为固定,只支持三段式划分(train-validation-test), 且Sequential Dataset不支持按比例划分。 | 数据划分模式更加灵活,支持train-valid, train-test两段式划分,Sequential Dataset也可以支持按比例划分。 |
Dataloader | 21个类,较为冗余。 | 简化为8个类,便于开发维护。 |
Sampler | 仅使用静态数表生成随机数,随机性不足且存在潜在Bug;难以扩展客制化的采样策略。 | 调整随机数生成算法,同时使用Alias Table进行采样速度优化,并支持更好地支持多种客制化采样策略。 |
Evaluation | 全排序评测和采样评测流程独立,用户无法添加客制化指标,评测加速逻辑存在局限性。 | 统一了全排序评测和采样评测流程,支持用户客制化的指标开发并添加了non-accuracy的评测指标,优化了加速逻辑。 |
2. 支持数据集文件自动下载
在旧版本中,用户运行模型前需要自行准备数据集文件。尽管我们已经预处理了28个常用的推荐数据集并将他们的原子文件上传至网盘供用户下载,但这仍然不够便捷。在新版本中,用户在运行模型时会自动触发我们的数据集下载模块,帮助用户自动下载我们预处理好的数据集原子文件,下载流程对用户透明,也极大的节约了用户的时间。
在新版本中,我们基于TensorBoard对模型运行结果进行了可视化,方便用户更直观的分析实验情况。
在新版本中,我们对使用文档进行了优化。我们调整了文档结构,并添加了更多的使用示例,方便用户快速上手RecBole。我们添加和更新了“如何加载预训练参数”,“如何保存和加载模型”,“如何使用新数据集”,“如何运行新模型”等使用场景的例子,具体目录如下:
更新详情
本次更新主要为新特性添加(New Features),问题修复(Bug Fixes)和代码重构(Code Refactor)三类,更新详情如下表:
更详细的信息请参考我们的GitHub项目的Release Note。
社区维护
截至2021年9月16日,RecBole已经收获1.2k个star,198次fork,并解决了146个issue,RecBole已经成为一款知名度较高的推荐算法库。
RecBole的不断成长离不开我们的开发团队。本次伯乐三期开发团队名单如下(同类别排名按拼写首字母排序):
Lead developer: 陈昱硕,潘星宇
Core developer: 冯志超,侯宇蓬,林子涵,田长鑫
Participant: 田震,徐澜玲,岳文静,张景森
我们的团队一直保有着认真负责的工作态度和不怕吃苦的工作精神,并一直向着将RecBole打造为国际知名推荐算法库的目标而努力奋斗。我们仍将继续公开招募开发团队成员,从贡献单一代码到核心模块的开发,都欢迎大家的加入。欢迎小伙伴们联系recbole@outlook.com加入我们~
RecBole的不断更迭也离不开社区用户的支持和帮助,在这半年内,我们持续关注着用户的反馈,积极地在GitHub社区中回复issue和discussion,并认真汲取着用户的建议和意见。同时,我们也收到了许多用户的积极评价。
在这里我们感谢下列GitHub开发者,他们或是我们提出了非常深刻有用的建议,或是向我们的项目提交了很棒的代码,为RecBole的成长做出了很大贡献。他们是: @Tokkiu,@juyongjiang。我们也衷心感谢所有向我们提出问题,指明发展方向和提供发展建议的朋友们,RecBole的蓬勃发展离不开每个用户的支持,希望RecBole可以在大家的帮助和敦促下越做越好。
以上就是RecBole三期的主要更新内容啦!还在等什么呢?点击阅读原文,马上安装RecBole框架,体验一下船新版本吧!
Reference
[1]Wayne
Xin Zhao, Shanlei Mu, Yupeng Hou, Zihan Lin, Kaiyuan Li, Yushuo
Chen,Yujie Lu, Hui Wang, Changxin Tian, Xingyu Pan, Yingqian Min,
Zhichao Feng,Xinyan Fan, Xu Chen, Pengfei Wang, Wendi Ji, Yaliang Li,
Xiaoling Wang, andJi-Rong Wen. 2020. RecBole: Towards a Unified,
Comprehensive and Efficient Framework for Recommendation Algorithms.
arXiv preprint arXiv:2011.01731(2020).