前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fregata: Spark上支持万亿维机器学习模型

Fregata: Spark上支持万亿维机器学习模型

作者头像
CSDN技术头条
发布2018-02-12 15:15:48
5870
发布2018-02-12 15:15:48
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条

大规模机器学习工程上最大的挑战是模型的规模。在计算广告,推荐系统的场景下,运用Logistic Regression算法时常需要做特征交叉。原来两组,三组特征的数量可能并不是太大,但是通过交叉后可能会特征数会爆炸。例如,用户特征数1万,广告特征数1万,那么交叉后总特征数就是1亿,如果再与几十个广告位特征交叉,总特征数就会达到几十亿。有些情况下,特征交叉后,总数甚至能达到上千亿。特征数量的爆炸,也带来模型规模的爆炸,这给机器学习带来的挑战比庞大的训练数据量更大。

通常认为,当模型的规模超过单节点的容量后,基于MapReduce计算模型的Spark, Hadoop MapReduce就无法支持了。为了解决这一问题,Parameter Server应运而生,目前是大规模机器学习研究方面的前沿。目前Parameter Server还在发展的过程中,其使用,开发门槛相较于Spark来说都是较高的,而且在大数据平台中再引入一套新的计算平台,对整个体系的管理,运维都将带来更大点挑战。

Fregata致力于在Spark上解决大规模机器学习的问题,Fregata目前已经公开发布的版本已经能支持亿级维度的模型,而目前内部最新版本已经在一个月内连续突破了10亿,100亿,1000亿和10000亿4个台阶。在模型规模提高了4个数量级的同时保持了训练的高效性。下面是 Fregata的Logistic Regression算法在511412394个样本的训练集下的训练时间:

从上表可以看出,对于5亿多样本的训练集,在仅使用48个Executor的情况下,千亿维度以内的问题,都可在500秒内完成,而且每个Executor仅需最多2G内存。对于万亿维度的问题,训练时间也仅需800秒多一点,只是Executor的内存加到了8G。Fregata最近的突破,打破了在Spark上无法支持超大规模模型的瓶颈,将进一步降低大规模机器学习的使用门槛和成本。

Fregata 项目地址:https://github.com/TalkingData/Fregata

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSDN技术头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档