人工智能时代前沿技术社区

首页 > 人工智能 > 热点

如何把一个团队的数据工程师变成AI专家?

尽管现在人人都在谈人工智能,但相信依然会有人疑惑:人工智能被众人说的那么玄乎,是能够真正落地成立并为大家带来价值的吗?来自第四范式的联合创始人胡时伟在飞马网举办的FMI人工智能&高峰论坛上面给出了答案,并告诉我们,在AI时代,企业该如何把数据工程师变成AI专家。

作者:谭盼雨 | 2017-08-15 14:53:03 | 来源:飞马网

尽管现在人人都在谈人工智能,但相信依然会有人疑惑:人工智能被众人说的那么玄乎,是能够真正落地成立并为大家带来价值的吗?

来自第四范式的联合创始人胡时伟在飞马网举办的FMI人工智能&高峰论坛上面给出了答案,并告诉我们,在AI时代,企业该如何把数据工程师变成AI专家。

1.png

胡时伟

胡时伟告诉我们,在今天,AI不仅已经可以在图象领域做一些识别、可以在下围棋或者打游戏等等一些方面有一些不错的尝试,而且在商业和工业商场领域也有着非常瞩目的表现,能够明显让人感受到的AI带来的便利效果。

2.png

AI为什么高效?

AI为什么会那么牛呢?据胡时伟老师介绍,主要是在一下这三个方向上来理解:

一、精细。人工智能系统对个性化和微观业务场景的分析和预测能力的要求已经超过传统企业的想象。传统的人工的粗放的分类、检测方法在大数据的今天已经显得低效、吃力;而如果我们用到AI的技术的话,是可以做到对个性化和微观业务场景的分析和预测能力,大大提高分析预测的准确率。

二、智能。过去,我们用传统的方式去做模型、去产生一些商业智能或者产生功能,通常用BI的手段,去对大数据进行分析或者对数据库里面的规律找一些比较强的变量,但随着时间的变化,比较强的变量,有可能会发生一定的改变;而如果用到机器学习或者人工智能的方式,基于数据如果做成一个系统,它本身是一个闭环,它能够用机器代替人,从广泛的数据当中筛选出规则,整个系统就具备了智能的能力。

三、高效。通常来讲,在过去,我们去做一些企业智能系统的时候,采用的方式都是出一些名单,特点就是我们可以批量地解决一个问题。但是实际上像在一些计算广告或者智能客服等领域,对实效性的要求也是会变高的,要求我们在几十毫秒之内对交易是否有问题,或者对客户对某一个商品的消费意愿进行判断,在某种意义上来讲,企业需要建立实时或准实时的数据采集传输、模型预测和响应决策能力,这样智能从批量性的阶段新的行为变成一个可以实时触达的行为。

大数据是白米饭,机器学习是电饭锅、AI是做出来的饭菜!

对于大数据和AI的关系,市场上也是众说纷纭了。胡时伟非常形象地说出了两者之间的关系:大数据就是白米饭,机器学习是电饭锅,人工智能就是做出来的可以直接来吃的饭菜。在AI领域,就是利用各领域大数据,加上机器学习的方式,来输出人工智能的能力。

构建商业AI能力的五要素

胡时伟为我们介绍,构建商业AI的能力又五大要素,分别是:大数据、外部反馈、算法、计算资源、需求。而其中有三个其实是在于企业的场景自身要解决的问题:有意义的过程数据、需求、外部反馈。

3.png

胡时伟老师通过点餐的例子为我们做了详细解释。

一、有意义的过程数据。即我们通常所讲的大数据,如果我是一个点餐的Pad的提供商,覆盖了很多的餐厅,也就是覆盖了一个时刻,可能他在不同的时间的一些足迹,我已经收集到了点餐的数据,这个点餐的数据应该收集成什么样子呢?就是我们讲的大数据的过程的部分。具体来讲我们要收集什么样的数据呢?那就是这个人实际上他点过什么样的菜,以及他当前这个餐馆里面的客流量是如何的,以及这个人历史的足迹是什么。

二、需求。我们只知道在这个点餐Pad里要做一些布局,实际的需求是什么呢?我们知道餐馆的具体的经营指标是翻拍率,上菜的时间,以及吃菜的时间,以及服务员基于Pad点餐的时候,我们要提升这个翻拍率,我上午已经做好了菜,并且给来就餐的人提供一些他比较喜欢的,这样可以降低他点餐的时间,同时可以减少厨房做菜推进的时间。这个过程我们就有需求,假设有25种菜,我给他推荐哪一种他尽可能的选择,如果推荐错的话,他不喜欢,不影响他的体验。这个需求我们可以把它转化为,当搜集了数据之后,如何用这些数据来判断某一个就餐的人对某一盘菜,某一个菜品他是不是喜欢。

三、外部反馈。为了让机器学习,输了搜集过程数据之外,我们还要收集外部反馈。比如今天给A这个人推了X这个菜,他喜欢,他选择了,我就得到1的反馈,如果不喜欢就是0的反馈,这三者其实对于今天的企业来讲,收集这三个在大量的场景当中都已经是准备好的。

而为什么说今天的AI能力没有广泛的用开?胡时伟认为其实是缺少两个因素,一个是算法,一个是计算资源。

那么问题来了,算法解决什么问题?

紧接上文点餐的例子,比如数据在数据库里,我最后希望产生一个服务,我问它A这个人在此时此刻,上下文的场景下,对B这个菜是不是喜欢,机器会给一个概率,今天没有一个好的算法的话,这个概率会变得不准。如果让这个概率变的准呢?对于今天比较可行的机器学习的算法,包括阿法狗,包括无人驾驶或者人脸识别其实都是用大量的资源来对数据进行计算,优秀的算法下层还要有很强的资源的支持。

那么在理想情况下,对于企业来说,如果要走向AI时代的话,应该有一个什么样的条件呢?而实际现实又是怎样的呢?

▲ 首先从如何利用数据的角度上来讲,理想的情况下是需要非常庞大的AI进行大规模的特征工程探索。但实际的现实情况却是建模人员进行少量的特征工程探索。

▲ 理想情况下的模型规模应该是几千万到数十亿的维度,实际情况却往往是几十到几千的维度。

▲ 在模型算法上,理想情况下是采用大规模机器学习算法,通过特征工程适应场景,但现实却是经常采用沈剑网络反复炼丹,通过模型变化适应场景。

▲ 在模型除错方面,理想情况下是老司机利用丰富经验带领团队排除掉建模过程中的各种风险;可现实却是经常出现穿越、过拟合图等问题,线下建模效果很好,但上线后却失望的现象。

如何把一个团队的数据工程师变成AI专家?(需要引入一些技术)

特征工程:把原始的数据通过一些方式能够把它衍生成,把人群能够足够的分成几千万组的这么一种变量衍生的方式。

使数据工程师能够有效探索出足够有效的特征集。

模型规模:引入一套支撑超高维模型训练的机器学习系统。

在模型的算法和除错方面,也需要一些成型的东西,让数据科学家,工程师直接调用它,产生如下的模型。使数据工程师能够快速了解到模型是否有错误并加以排除。

胡时伟在演讲中以第四范式的先知平台为例,为我们解释了在做先知平台过程中的一些思考:

4.png

胡时伟表示,机器学习,其实最重要的还是算法。这个算法的选择,就像图上工业界应用算法的4个象限,通常我们以前用左下方,或者用saas来做的一些逻辑回归的模型或者决策树,他的特点是变量比较少,层数也比较少,在数据量比较少的时候比较有用。

最右上角是一个微观特征和复杂模型,可以认为是一个,有多个模型进行集成的一个非常深度的网络,或者一个非常复杂的网络结构。同时我们使用大量的变量在这里面。其实今天,还做不到右上角的情况,是因为右上角我们需要几千台机器来去做一个问题,太贵了。

现在有两个方向的选择,一个是宏观的特征和复杂的模型。也就是说我们其实这个就是深度神经网络今天所走的路,这个网络的输入项可能只有几百个变量,但是网络的深度比较深,可以通过人去调试,来最后得到一个好的效果。

另外一条路其实是像谷歌和百度走的这个方向,微观特征和简单的模型。比如说我们依然是用逻辑回归的算法,但是我们把一个变量的数量提升到亿级别甚至几十亿级别,这样通过变量的组合,同样可以用线性模型表达非线性的问题,从而得到比较好的效果。

以下是胡时伟演讲现场与参会人员的Q&A:

Q:用神经网络的方式,来求全局最优的时候,我思考过用集成算法辅助来做全局最优的全值,但是发现效率比较低一些,您有没有效率比较高,或者效果比较好的方式推荐?

A:是这样,通常来讲今天我们会做很多的优化,比如说像您讲到的集成学习,或者做一些特征的折叠,做一些技术的抽样,其实这些问题都是为了解决一个工程上跑不出来的问题,您刚刚讲到的用一些集成学习的方式去解决这些事情,其实你是希望通过多个模型,或者说有前后测序的多个模型联合解决,最后达到一个好的结果,如果你的数据量足够大的情况下,其实是可以用一个单独的网络,并且通过提升它的维度和提升它模型训练的复杂度,来去得到一个比较好的模型。所以说通常来讲如果说我们在工业界当中去使用的话,通常会把这个问题转换成用一个期望高维的浅层的网络,比如说一层,像LR这种,再去用非常复杂的特征组合的方式,来去完成一个好的效果。其实你讲到的这个过程当中,如果是要用一些像您讲到的方式的话,可能还是要Case By case针对数据去看,如果你用刚才我讲到的方式的话,其实可能就是通过比较暴力的搜索的方式来去完成,是一个计算问题,而不是一个数学的问题。

Q:如果数据量不够,再加上集成算法去寻求全局最优的话,该怎么办?

A:如果数据量不太够的话,通常来讲,我会选择降低一些特征的规模,总的来讲是这样的,如果我们的数据量是不够的话,其实网络的结构越复杂,其实希望效果越不好,即使出来的效果好了,在监控的过程当中比较不稳定。数据的问题,如果是他数据量不是特别大的话,用一些传统的方式,甚至都会比神经网络的方式要好。

Q:我想请问一下先知平台其他同类平台相比,区别是什么?

A:是这样的,现在所有云的计算平台,AI平台,在产品的层面上要解决的问题是一样的,让大家通过一些拖拽的方式和简单的方式来完成机器学习的过程。但是在背后的算法上,其实大家采用不同的路线。对于其他的一些云的机器学习平台来讲,通常来讲他们会选择把一些开源的算法去集成,意味着其实你还是要去学会如何去创造一个好的网络结构,或者去选择一个好的算法,最后达成一个好的效果,对于先知平台极大的精力放在GDBT上面,其实叫做在相同的机器相同的时间内,我们可以用到5到6倍的数据,以及多到数十倍或者上百倍的规模,这样对计算力上对算法做出一个很好的保障。

我们由于底层的计算能力比较强,所以在这个基础上效果会比较好,同样自动的调参,对于我们来讲可能在单位的时间内完成数百次的调参,对于别的平台或者基于开源的,由于他的效率是GDBT几分之一,所以主要在这个层面上通过计算力的提升进一步的降低门槛,在这个平台上真的拖拽了之后,就能有一个初步比较好的结果,而不是我们用代码或者编写网络的结构。在界面之后的部分是最主要的。

另外先知平台是一个线上到线下全流程的过程,我们在线下做出的所有的模型,其实是可以一键发布成线上的应用服务的,这一点也是和其他的机器学习平台比较大的不同。

【责任编辑:谭盼雨】