当前课程知识点:大数据平台核心技术 > 第九讲 大规模数据的分布式机器学习平台 > 主讲人:褚葳 > 大规模数据的分布式机器学习平台(主讲人:褚葳)
各位同学大家好
我是IDST褚葳
今天我给大家介绍一下
我们在机器学习方法平台上的
一些工作
我会从大数据的特点
和潜在的价值谈起
介绍在阿里的业务场景中
常用到的机器学习的算法
以及我们采用的分布式
机器学习的框架
最后介绍一下我们的PAI
算法平台
和最近的天池大赛
我们正在步入大数据的时代
大数据至少具备以下四个特点
第一个特点是海量的样本
数据的规模巨大
描述样本的特征非常得多
并且新的数据每时每刻
都在继续产生
80年以来
大约每40个月数据量就翻一倍
这个速度还在增加
如何存储和有效的利用
这些海量的数据
都是巨大的挑战
第二个特点是内容多样
每天产生的数据里
有图像语音视频
还有各类传感器产生的数据
例如各种定位的信息
穿戴设备
我们在互联网上的浏览
网购的行为也会被记录下来
形成庞大的日志文件
非结构化的文本数据
也是重要的一个组成部分
第三个特点是时效性强
数据实时更新
包括突发的事件
以及用户的短期行为
这要求我们需要实时检索
和计算的能力
第四个特点是质量不均匀
由于数据的采集渠道很多
包括精准的传感器数据
也包括随机性很强的
用户行为的数据
数据质量参差不齐
这对数据分析
提出了不同的要求
17世纪英国杰出的
唯物主义哲学家
科学家弗朗西斯·培根说过
知识就是力量
大数据里就蕴藏着丰富的知识
如何使大数据成为知识和力量
这是数据挖掘科学家的使命
数据挖掘这一术语含义广泛
概指一些通常
由软件实现的机制
目的是从海量数据中
提取出信息
数据挖掘的方法又被称做算法
在海量样本里
我们可以更加准确地发现
事件间的关联关系
对未知的事件
有精准预测的能力
帮助我们做出更合理的决策
在电子商务领域
数据挖掘正在广泛地应用于
精准营销
风险控制成本管理等方方面面
大数据挖掘的基础
就是分布式的大规模
机器学习的能力
这张照片是阿里云的机房
海量的数据就存储其中
阿里有7.6亿的商品
日均访问量10亿次
占C2C市场90%以上
占50%以上的B2C市场
第三方支付的50%
在数据平台事业部的服务器上
积累了超过100PB
已处理过的数据
相当于4万个西雅图中央图书馆
580亿本藏书
机器学习在阿里广泛地应用
在淘宝的主页上
搜索技术里的
对搜索关健词的理解和重写
结果内容的排序
广告投放的点击率的预估
商品的聚类和去重
还有相关商品的推荐技术等等
在蚂蚁金服的业务中
图像识别技术广泛应用到
证件智能审核和人脸识别
规则挖掘技术也运用在
风险控制上
在客服业务里
语音识别技术广泛地应用
下面我简单地介绍一下
在阿里业务中经常使用的
机器学习的算法
通常我们把机器学习的算法
分为三大类
有监督学习无监督学习
和强化学习
有监督学习里
我们重点介绍
逻辑回归和决策树
无监督学习里
我们重点介绍聚类算法
由于深度学习
在阿里业务中的广泛地应用
我们也会简单地介绍一下
常见的深度学习的模型
逻辑回归广泛地运用
在二分类的问题
基于多个输入变量
来估计某一事件发生的概率
在CTR预估的任务中
我们最常用到的
线性逻辑回归的模型
输入变量描述上下文
可以包含广告质量信息
与搜索关键字的相关性
历史记录中的点击情况
以及用户的个人信息
像年龄教育程度等等
我们利用日志中的上一次的
历史事件
学习一个线性模型
来拟合用户的点击行为
这个线性模型的输出值
通过一个logit model
把一个实数映射到零一之间
成为一个概率值
通常我们假定样本
是互不相关的
利用几大四软法
来优化线型模型的权重
根据具体的情况
我们还会加上正则项
来获得相对更简单的模型
其它的多分类的问题
序数回归的问题
也可以转化为
二分类的问题来求解
所以逻辑回归
适用范围非常得广
K-Means是一个常用的聚类算法
把样本按照空间位置
划分成K个类
K事先设定
目标是把空间位置相近的样本
聚在同一个类里
样本可以是用户
也可以是商品
或者照片等等
每个样本由一组特征来描述
我们通过损失目标函数最小化
来优化每个聚类中的中心位置
和各个样本的所属类
这个算法的大致过程是这样的
我们初始化每个聚类的中心
简单的方法
可以随机的选K个样本作为中心
然后计算每个样本
达到K个中心点的距离
距离可以是欧式空间距离
也可以是其它距离
每个样本选择距离
最近的中心点
作为该样本的所属类
之后根据该类里面所有样本
来更新该类的中心点位置
可以就是样本的平均值
根据新的各类中心点位置
再决定每个样本的归属类迭代
直到结果不再变化
这样我们最终获得了K个类
每个类里面都有很相似的样本
还有其它的无监督学习的算法
例如谱聚类和LDA等等
我们就不一一介绍了
决策树也是一种监督学习
就是给定一堆样本
每个样本都有一组属性
和一个类别
这些类别是事先确定的
通过学习得到一个分类器
这个分类器能够
对新出现的对象
给出正确的分类
决策树是一种树型的结构
其中每个内部结点
表示一个属性上的测试
每个分枝代表了一个测试输出
每一个叶结点代表一个类别
特征和分类点
由信息熵的增益来决定
随机森林是一个包含
多个决策树的分类器
并且其输出的类别
是由个别树输出的类别的
众数而定
我们建立多棵决策树
各个决策树之间没有关联
分别学习部分训练样本
而最终的结果由投票决定
GBDT的全称是
Gradient Boost Decision
Tree
和随机森林一样
是由多棵决策树组成的
我们依次生成决策树
各个决策树之间是有关联的
因为下一颗树
是在现有模型的残差的基础上
生成的
最终的结论由累加的
各个决策树结果来决定
在生成一颗新树的时候
目标值设定为当前模型的梯度
然后按照常规的方法
来建立决策树
深度学习是最近的热点
核心还是神经元网络模型
随着近年来
并行分布式计算能力的发展
使得在海量数据上
训练复杂模型成为了现实
实践也证明
复杂的神经元网络模型
在高难度的学习任务上
表现优异
例如图像识别
语音识别机器翻译等领域
神经元网络模型
包括一个输入层
由输入特征决定
一个输出层
由学习目标来决定
还有至少一个隐藏层
深度学习研究的模型
一般都包含多个隐藏层
形成比较复杂的网络结构
常用的网络结构
有用于图像识别的
CNN卷积神经元网络
用于语音和翻译的RNN
还有深度置信模型DBN
下面我简单地介绍一下CNN
这是经典的LeNet5结构图
图中的卷积网络工作流程
是这样的
输入层有32乘32的
感知结点组成
接受原始图像
然后计算流程在卷积
和子抽样之间交替进行
第一个隐藏层进行卷积
它有八个特征映射组成
每个特征映射有28乘28的
神经元组成
每一个神经元
指定一个5乘5的接受域
第二个隐藏层实现
子抽样和局部平均
它同样由8个特征映射而成
但每个特征
映射由14乘14的神经元组成
每个神经元
具有一个2乘2的接受域
一个可训练系数
一个可训练偏置
和一个sigmoid激活函数
训练系数和
偏置控制神经元的操作点
第三隐藏层进行第二次卷积
它有20个特征映射组成
每个特征映射由10乘10的
神经元组成
该隐藏层中的每个神经元
可以具有和下一个隐藏层
几个特征映射相连的突触连接
它以与第一个卷积层的
相似的方式来操作
第四个隐藏层
进行第二次子抽样
和局部平均计算
它由20个特征映射组成
但每个特征映射由5乘5的
神经元组成
它与第一次抽样
相似的方式进行
第五个隐藏层
实现卷积的最后阶段
它由120神经元组成
每个神经元指定
一个5乘5的接受域
最后是一个全连接层
得到输出的向量
下面介绍两个主要的
分布式积极学习的计算框架
一个是基于
消息传播接口的MPI框架
另一个是参数服务器框架
这是阿里的
数据生态圈的示意图
底层的存储层是ODPS
中间层是计算层
搭载着MapReduce Spark
Graph还有MPI和参数服务器
最上层是应用层
支持阿里各个BU的业务
包括广告 搜索
淘宝 天猫 聚划算和蚂蚁金服
MPI是1994年5月
发布的一种消息传播接口
它实际上是一个
消息传播函数库的标准说明
吸收了众多
消息传递系统的优点
是目前国际上最流行的
并行编程环境之一
MPI具有许多的优点
具有可移植性和易用性
有完备的异步通信的功能
有正式和详细的精确定义
在基于MPI编程模型中
计算是由一个或多个
彼此通过调用库函数进行消息
收发通信的进程所组成
在绝大部分MPI实现中
一组固定的进程
在程序初始化的时候产生
一般情况下
一个处理器只生成一个进程
这些进程
可以执行相同或不同的程序
进程间的通信
可以是点到点
也可以是集合的
MPI提供了一个并行环境库
通过调用MPI的库函数
来达到并行的目的
目前流行的实现
包括MPICH和OpenMPI
MPI提供C语言和FORTRAN语言的接口
支持迭代
非常适合
实现分布式机器学习算法
这个示意图是关于MapReduce数据分片
每个结点只处理一部分数据
通过增加处理结点
减少每个结点的计算工作量
从而完成大规模的
数据处理任务
MPI框架支持结点间的通信
一般结点0就担当汇总的结点
推动其它结点
进行迭代计算的工作
参数服务器是谷歌的一个
大规模分布式的计算平台
用来训练深度学习的模型
这个架构支持模型分片
可以把一个超大规模的模型
分解成很多的小部分
一个参数服务器
只负责模型的一小部分
可以通过增加
参数服务器的数目
来提升模型处理的规模
在数据分片方面和MPI是一样的
可以通过增加结点
来提升数据处理的规模
另外这个框架还支持异步迭代
和Failover机制
框架会保存每一个结点的状态
当任何一个结点任务失败以后
框架会启动一个新的任务
继续跑未跑完的任务
这里讲一下
K-Means的分布式
实现作为一个例子
其它的算法的实现
也可以依此类推
在MPI框架下
结点0保存当时各个聚类的
中心点的信息
每一个结点从结点0
把当前各个聚类的
中心点信息拉下来
然后计算分到的样本
到这些中心点的距离
根据最短的距离获得所属类
并累计本地的中心点的信息
遍历所有的样本
将本地的中心点的信息
推送到结点0
结点0收集到所有信息之后
更新当前的各个类的
中心点的信息
这一步就是同步迭代
各个结点继续各自的计算
直到收敛
也就是各个中心点的位置
不再变化
当特征维度非常高的时候
如10亿以上
结点0可能没有
足够的内存资源
来保存中心点的信息
参数服务器
正好可以解决这样的难题
首先模型分片
参数服务器们
分别保存当前类
中心点的一部分特征维度
每一个结点从参数服务器上
拉下来中心点的部分特征
累计每个样本
到各个中心点的距离
再从参数服务器上
拉下来另外一部分特征
继续计算到各个中心点的距离
直到得到完整的本
地中心点的信息
之后将本地中心点的信息
推送到参数服务器
参数服务器
搜集到所有的信息之后
更新当前的各个类的
中心点的信息
这一步还是同步迭代
各个结点继续各自的计算
直到收敛
接下来
介绍一下PAI算法平台的
设计理念和天池大赛
这是PAI算法平台的
一个Snapshot
PAI算法平台将提供Web服务
支持拖拽的图形见面操作
在授权的基础上
所有的算法模块都可以共享
所有的实验记录都可以复用
我们希望营造一个
算法的生态圈
每一个社区成员
都可以做出他的共享
最后介绍一下由PAI算法平台
支持的天池大赛
阿里于2014年
正式推出了天池大赛
天池大赛基于
ODPS和PAI算法平台
向学术界提供了科研数据
和开放的数据处理服务
天池数据竞赛
旨在借助社会的力量
来挖掘数据的价值
促进大数据领域的发展
2014年第一届大数据竞赛
天猫推荐算法大挑战
引起了社会的巨大关注
共有60余家媒体先后报道
大赛第三赛季
设置了实战双11环节
参与第三赛季的六个
90后的选手
在双11当天的算法效果
超过了天猫现有算法的17%
百万大奖挑战成功
2015年3月份
我们重磅推出了
天池大数据竞赛黄金联赛
三个有意思的数据命题组成了
年度最顶尖的数据挖掘竞赛
悬赏100万奖金
寻找最顶尖的
新生代数据科学家
希望大家踊跃参赛
谢谢大家
-主讲人:武永卫
-主讲人:程永
-QUIZ--作业
-大纲
-初步认识大数据对分布式存储系统的需求
-理解大数据对分布式存储系统的需求
-具体说明大数据对分布式存储系统的需求
-大规模分布式存储的挑战
-小概率事件-Raid卡故障
-分布式存储系统举例
-分布式存储系统重要功能设计要点剖析
-链式写正常流程
-写流程的另一种常见方式:主从模式
-链式写异常流程
-写异常处理的另一种方法-Seal and New
--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)
-读正常流程
-读流程优化-BackupRead
-IO QoS
-数据正确性:checksum
-数据可靠性-Replication
-数据均衡-Rebalance
-垃圾回收-Garbage collection
--垃圾回收-Garbage collection(主讲人:姚文辉)
-Erasure coding
-Erasure coding(3,2)写入和读取过程
--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)
-元数据管理的高可用性和可扩展性
-元数据管理的高可用性
-Paxos概要
-Raft
-元数据管理的可扩展性
-不同存储介质的特性
-盘古混合存储
-QUIZ--作业
-阿里云飞天分布式调度
-任务调度
-资源调度
-容错机制
-规模挑战
-安全域性能隔离
-分布式调度的发展方向
-QUIZ--作业
-数据格式和抽象
-分布式编程模型
-MapReuduce编程模型
-关系型数据编程模型
-分布式图计算模型
-分布式编程未来展望
-QUIZ--作业
-分布式事务
-分布式一致性算法
-两阶段提交与三阶段提交
-实践--介绍
-关系型计算基本原理_1
-关系型计算基本原理_2
-分布式环境中的连接计算和聚合计算
-其他计算和物理优化
-QUIZ--作业
-提纲
-课程背景介绍
-前序知识
-分布式节点距离计算法则
-数据分布策略
-分布式计算调度
-数据就近原则计算如何容错
-ODPS跨集群数据依赖
-QUIZ--作业
-主讲人:谢德军
--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)
-增量计算和流式计算
-与批量计算的区别
-业界典型系统技术概要分析
-核心技术
-消息机制
-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制
--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)
-StreamSQL
-QUIZ--作业
-软硬件趋势、分布式计算简史与内存计算
-分布式计算
-内存计算
-统一的计算框架
-业界经典系统技术分析-spark&flink
--业界经典系统技术分析-spark&flink(主讲人:强琦)
-QUIZ--作业
-主讲人:褚葳
-QUIZ--作业
-分布式环境下的新问题
-工程实现范例
-课程设计相关问题