众所周知,在当下,数据科学是一个蓬勃发展的领域,为什么会蓬勃发展呢?首先是因为大数据的发展。我们现在拥有了越来越多的数据,这为数据科学的应用创造了肥沃的土壤,进而使得一个又一个奇迹的创造成为可能。拿大家都耳熟能详的AlphaGo作为例子。
十年以前,人们说计算机要在围棋上打败人类需要50年到100年的时间,但是10年内计算机就做到了这一点。为什么?就是因为可以获取的棋谱的数据逐步线上化,基于这些数据和一些更新的方法,而不是靠计算量解决这个问题。基于大数据,很多影响人们生活的技术已经被孕育出来,比如计算广告、推荐系统,现在还正在蓬勃发展的无人驾驶车等等。
在TalkingData,我们每天都处理大量的数据。目前在我们的平台上,日活是2.5亿、月活是6.5亿。每天我们能够收到14TB的数据,处理370亿条消息,收到35亿个位置定位点。这么庞大的数据基础,加上和TalkingData的合作伙伴进行数据交换整合,我们形成了以人为中心的从里到外的三层数据,包括人的数据、基本属性、兴趣爱好,以及人经常出现的场景,在这些场景上的动作、行为。
基于这样的数据海洋,我们的数据科学工作在各个层次、各个领域也是全面开花。为了支持在庞大的数据上去挖掘深度价值,我们在大规模机器学习方面做了很多工作。基于算法技术,我们支撑了很多数据挖掘的实际应用,努力把数据科学、算法的能力融入到DataCloud、MarketingCloud这些公司重量级战略性产品里面。
相关厂商内容
Amazon ECS运行应用程序所使用的范式和工具大解密
亚马逊AWS首席云计算技术顾问费良宏做客InfoQ在线课堂
如何更好地设置、管理和扩展你的Amazon ECS
相关赞助商
更多AWS最新精彩内容和活动,请关注AWS专区!
同时,我们也会基于数据挖掘的能力以及相应的应用和产品,帮助我们的客户去创造更大的价值。现在我们在银行、地产、互联网金融、零售里面都有很多成功的案例。在这里就不一一介绍了。
讲完了目前数据科学的现状,我们来讲讲数据科学面临的挑战。我们看到最大的挑战是数据量的迅速膨胀。看到这样一个报告:在2015年全球存储的数据是不到8ZB(1ZB相当于100万个PB的数据)。到了五年之后的2020年,这个数字将达到35ZB,数据的膨胀速度是非常快的。这就带来了两个大问题,其中一个是计算的瓶颈。虽然现在一般的大数据技术已经能够处理很大的数据量了,但是在数据科学领域,很多机器学习算法有这样的特性,当数据增长一倍的时候,相应计算量要增加4倍或8倍,也就是呈几次方的速率来增长。可以想像,数据量的膨胀对于计算资源的需求是会呈几何级数的扩大的。
据美国的报道,到2018年整个美国可能会有19万数据科学家的缺口。因为我们数据膨胀很快,带来了很多新的数据的问题,也带来相应的新的探索机会。但是数据科学家的队伍的发展和培养是没有那么快的。在美国2018年的缺口是19万,以中国的体量来看,肯定会有更多、更大的缺口。
计算的瓶颈,人的瓶颈都是我们面临的挑战。我们今天就来说说TalkingData是怎么去解决这两个难题的。
突破计算的瓶颈
首先是怎么去突破计算上的瓶颈。刚才也谈到了计算上的瓶颈,在这里说的更细一点,为什么计算量是随着数据超线性增长的?这边引用了非常有名的Machine Learning一篇文章,里面总结了机器学习的十大算法的复杂度。M是数据量,N是数据的维度,可以看到所有的算法要么是跟维度乘平方或三次方的关系,或者是跟M是平方或三次方的关系。
在小数据上不太突出的问题,比如在算法上需要多次迭代,在大数据的情况下,由于必须把数据放在HDFS上面, I/O的代价是非常庞大的。我们自己测算过一些,实际上真正计算的开销仅仅占到全部开销的5%到10%,90%到95%的时间都花在I/O上面。