包括 Embedding 和梯度等等大量 tensor 数据)性能远超传统 RPC 框架(如 gRPC、bRPC);GPU 之间通讯使用同为快手开源的 Bagua 训练加速框架,对 GPU 之间的集合通讯性能有显著提升,并能通过梯度压缩等算法进一步降低通讯开销;Embedding 在 PS 中通过特殊设计的数据结构 (Persia Embedding Array List...
离线模拟测试:如评测推荐结果的TopK的准确率,或者排序效果AUC。这些模型效果类指标,虽然不能代表最终关注的商业指标,但是两者之间一般存在一定的相关性。 在线对比测试:ABTest,即在线对比测试,分流量做真实的评测。这需要一个支持流量正交切分的 ABTest 框架。 用户访谈:用户调查 (2)常用指标 推荐系统的好坏 评分准确...
至于完整的推荐系统开源项目,由于其封装过于严密,比自己将大模块组合在一起要黑盒很多,因此在优化效果时,不是很理想,需要一定的额外学习成本,学习这个系统本身的开发细节,这个学习成本是额外的,不是很值得投入。 因此,推荐倾向于选择各个模块的开源项目,再将其组合集成为自己的推荐系统。这样做的好处是有下面几种。
目前推荐任务中评测指标多为TopK指标,计算这类指标时需要对每一个用户取其前K个结果,这一步是相当耗时的,针对这个问题,本框架尝试使用矩阵并行化这个过程,使用Mask和Padding技术将所有的评测样本构建在一个n×m的矩阵中,使用基于CUDA的Topk()方法来加速这个过程,之后再将使用NumPy广播机制来对比计算推荐矩阵和目标矩阵...
不过Mloss下倒是能找到其他一些推荐开源项目 http://mloss.org/software/tags/collaborative-filtering/ Python-recsys 一个非常轻量级的开源推荐系统,python开发,作者似乎只有一位, Python-recsys主要实现了SVD、Neighborhood SVD推荐算法, 这个项目麻雀虽小五脏俱全,评估数据(Movielens,Last.fm)、评估框架也都有 ...
基于Pytorch的多任务推荐系统开源框架 MTReclib是基于PyTorch开发的用于多任务推荐系统的开源框架。在MTReclib中,我们实现了诸多经典的多任务推荐模型,并且提供了4个多任务数据集以及相应结果。该框架易于扩展,基于该框架设计新的多任务模型或者尝试新的数据集十分方便。MTReclib地址:...
【RankSys:(Java)开源推荐系统框架】’RankSys - Java 8 Recommender Systems framework for novelty, diversity and much more' http://t.cn/RIOs0Oj GitHub: http://t.cn/RIOs0OY
ElasticCTR,即飞桨弹性计算推荐系统,是基于Kubernetes的企业级推荐系统开源解决方案。该方案融合了百度业务场景下持续打磨的高精度CTR模型、飞桨开源框架的大规模分布式训练能力、工业级稀疏参数弹性调度服务,帮助用户在Kubernetes环境中一键完成推荐系统部署,具备高性能、工业级部署、端到端体验的特点,并且作为开源套件,满足二...
高性能:在 Criteo 标准数据集上,相较其他流行的开源推荐模型训练框架,同样资源条件下 Persia 可达到一倍以上的性能提升。Persia 支持 CPU-GPU 异构训练,支持 GPU 与 GPU 直接通讯,显著降低训练成本。 可扩展性:Persia在高达 100 万亿模型参数训练的 scale 下保持高训练效率。同时在多数场景能够接近线性加速(投入 n...
因此,我倾向于选择各个模块的开源项目,再将其组合集成为自己的推荐系统。这样做的好处是有下面几种。 1、单个模块开源项目容易入手,学习成本低,性能好; 2、自己组合后更容易诊断问题,不需要的不用开发; 3、单个模块的性能和效果更有保证。 当然,还是那句话,实际问题实际分析,也许你在你的情境下有其他考虑和选择...