ML平台_PAI参考
阿里云机器学习PAI(Platform of Artificial Intelligence)是一款一站式的机器学习平台,包含数据预处理、特征工程、常规机器学习算法、深度学习框架、模型的评估以及预测这一整套机器学习相关服务。得益于底层的飞天计算平台的CPU集群以及GPU集群,PAI可以为用户提供PB级别数据的高效计算保证。人工智能综合了多门学科的技术,对人才要求极其高,除了懂统计学中各种复杂的机器学习算法,还要懂实现逻辑以及分布式架构理论。PAI可以大幅的降低人工智能的门槛以及开发成本。从操作界面来看,PAI没有繁琐的公式和复杂的代码逻辑,用户看到的是各种分门别类被封装好的算法组件。每一个实验步骤都提供可视化的监控页面。在深度学习黑箱透明化方面,PAI也同时集成了各种可视化工具。
最近几年,催生机器学习快速发展的主要因素包含:
- 第一个因素是数据的因素。互联网上每天生成海量的数据,有图像、语音、视频、还有各类传感器产生的数据,例如各种定位信息、穿戴设备;非结构化的文本数据也是重要的组成部分。数据越多,深度学习越容易得到表现好的模型。
- 第二个因素是大规模分布式高性能计算能力的提升。这些年来,GPU高性能计算、分布式云计算等计算平台迅猛发展,让大规模的数据挖掘和数据建模成为可能,也为深度学习的飞跃创造了物质基础;
- 第三个因素是指算法上的创新。随着数据和计算能力的提升,算法本身也有了很大的进展,尤其在深度学习方面,譬如从脑神经学上得到的灵感,在激活函数上进行了稀疏性的处理,等等。
基于上述三点,人工智能又迎来了它的第二个春天。人工智能将以更快的速度进入我们的生产和生活中来,成为我们的眼睛,我们的耳朵,帮助我们更快捷地获取信息,辅助我们做出决策。机器学习平台产品也因此而产生,加速迭代过程,助力技术的发展。
平台目标
阿里智能平台,其目的是为了加速整个创新过程,提高工作效率。
基于阿里云的云计算平台,具有处理超大规模数据的能力和分布式的存储能力,同时整个模型支持超大规模的建模以及GPU计算。此外,该平台还具有社区的特点:实验结果可共享、社区团队相互协作
终极目标:打造一站式的人工智能开发、发布与分享平台。通过对数据、计算和数据人的连接,让人工智能变的触手可及,使所有人都能使用人工智能来开展创新。
PAI整体框架图
- 最底层是基础设施层,包括CPU和GPU集群;
- 其上一层是阿里提供的计算框架,包括MaxCompute的MapReduce/SQL/MPI等计算方式; MPI(Message Passing Interface 消息传递接口,是高性能计算领域开发并行应用的标准API)
- 中间一层是模型算法层,包含数据预处理,特征工程,机器学习算法等基本组件,帮助使用者完成简单的工作;
- CNN(Convolutional Neural Network 卷积神经网络)、
- DNN(deep Neural Network 深度神经网络)、
- RNN(Recurrent Neural Network 循环神经网络)、
- LSTM(Long Short-Term Memory 长短期记忆网络)
- 平台化产品主要是项目管理、算法模型分享,以及一些特定的需求;
- 最上层是应用层,阿里内部的搜索、推荐、蚂蚁金服等项目在进行数据挖掘工作时,都是依赖PAI平台产品。
目前依托于PAI机器学习平台,提供基本组件,通过拖拽的操作,完成工作流程的整体布局;同时在垂直场景下,提供一些更为专业的组件,例如在文本分析方面,我们提供了一套完整的文本分析的算法组件。
系统特点:
- 参数服务器:其主要思想是不仅仅是进行数据并行,同时将模型分片,将大的模型分为多个子集,每个参数服务器只存一个子集,全部的参数服务器聚合在一起拼凑成一个完整的模型。如下图:
- 该系统主要的创新点在于失败重试的功能,在分布式系统上,上百个节点协同工作时,经常会出现一个或几个节点挂掉的情况,如果没有失败重试机制,任务就会有一定的几率失败,需要重新提交任务到集群调度。
- 失败重试是将每个节点的状态备份到相邻(前后)的节点,当个别节点死掉后,重启一个新的节点,同时从原节点相邻的节点获取所存储的状态,理论上可以实现任务的100%完成。
- 还有一个功能是异步迭代,无需等待全部节点完成任务,当大部分节点完成任务时,就可以直接更新对应的模型,这样可以不需要等待慢机的结果,从而摆脱慢机的影响,提升效率。
- 编程接口完全兼容深度学习框架:Tensorflow、Caffe以及MXNet,用户只需要将自己本地编写的代码文件上传至云端就可以执行。
- Tensorflow、Caffe和MXNet是目前全球主流的深度学习开源框架。Tensorflow开源算法和模型最丰富;Caffe是经典的图形领域框架,使用简单;MXNet分布式性能优异。
- 对于底层计算资源,PAI2.0提供了强大的云端异构计算资源,包含CPU、GPU、FPGA。在GPU方面,PAI2.0可以灵活实现多卡调度
小结:阿里云机器学习平台既支持深度学习,又支持CPU、GPU任务混合调度。接下来发展的方向,是数据智能的方向,一是提供智能化的组件,例如将参数调优的工作也替用户完成;另一个就是开发垂直应用领域需要的算法组件,逐渐形成行业解决方案。
应用案例
- 应用推荐系统,主要是参数服务器在推荐系统内的应用。
- 当在淘宝购物时,经查询显示的商品一般都是非常个性化的推荐,它是基于商品的信息和用户的个人信息以及行为信息三者的特征提取。这个过程中形成的特征一般都是很大,在没有参数服务器时,采用的是MPI实现方法,MPI中所有的模型都存在于一个节点上,受限于自身物理内存上限,它只能处理2000万个特征;通过使用参数服务器,我们可以把更大模型(比如说2亿个特征的模型),分散到10个或者是100个参数服务器上,打破了规模的瓶颈,实现了性能上的提升。
参考资料:
- https://yq.aliyun.com/articles/57677
- https://help.aliyun.com/product/30347.html
- http://tech.it168.com/a2015/0819/1755/000001755737.shtml
ML平台_PAI参考的更多相关文章
- ML平台_Angel参考
Angel 是腾讯开源基于参数服务器(Parameter Server)理念的机器学习框架(为支持超大维度机器学习模型运算而生).核心设计理念围绕模型,它将高维度的大模型切分到多个参数服务器节点,并通 ...
- ML平台_Paddle参考
PaddlePaddle源自于 2013 年百度深度学习实验室创建的 “Paddle”.当时的深度学习框架大多只支持单 GPU 运算,对于百度这样需要对大规模数据进行处理的机构,这显然远远不够,极大拖 ...
- ML平台_设计要点
如果说机器是人类手的延伸.交通工具是人类腿的延伸,那么人工智能就是人类大脑的延伸,甚至可以帮助人类自我进化,超越自我.人工智能也是计算机领域最前沿和最具神秘色彩的学科,科学家希望制造出代替人类思考的智 ...
- ML平台_小米深度学习平台的架构与实践
(转载:http://www.36dsj.com/archives/85383)机器学习与人工智能,相信大家已经耳熟能详,随着大规模标记数据的积累.神经网络算法的成熟以及高性能通用GPU的推广,深度学 ...
- ML平台_微博深度学习平台架构和实践
( 转载至: http://www.36dsj.com/archives/98977) 随着人工神经网络算法的成熟.GPU计算能力的提升,深度学习在众多领域都取得了重大突破.本文介绍了微博引入深度学 ...
- ML平台_饿了么实践
(转载至:https://zhuanlan.zhihu.com/p/28592540) 说到机器学习.大数据,大家听到的是 Hadoop 和 Spark 居多,它们跟 TensorFlow 是一个什么 ...
- <转>ML 相关算法参考
转自 国内外网站如果你想搜索比较新颖的机器学习资料或是文章,可以到以下网站中搜索,里面不仅包括了机器学习的内容,还有许多其它相关领域内容,如数据科学和云计算等.InfoWord:http://www. ...
- How To Build Kubernetes Platform (构建Kubernetes平台方案参考)
Architecture Architecture Diagram Non-Prod Environment Prod Environment Cluster Networking Container ...
- API 开发平台 dreamfactory,参考SAWAGGER,国外厂家,开源,本地与云部署
API 开发平台,参考SAWAGGER,国外厂家,本地与云部署:参考 http://swagger.io/commercial-tools/ 1.dreamfactory 梦工厂公司 https: ...
随机推荐
- JAVA数组与List相互转换
1.数组转成List 数组转成List可以用方法 :Arrays.asList,一起来了解一下 System.out.println(Arrays.asList(new String[] { &quo ...
- css3渐变 两边透明中间高亮
颜色自己可以调节 如图: 采集器管理下面的那条线就是 css代码: .linear{ width:100%; height:2px; ...
- APP注册&登陆 逻辑细节
前言:有多少用户愿意注册登陆,决定了一款产品的最大活跃度. 用户登陆注册系统分为两大类: 自建用户系统:邮箱/手机号/用户名/二维码/人脸识别/指纹 第三方授权用户系统:微信/微博/支付包/豆瓣/Fa ...
- 训练 の Bessie的体重问题
Bessie的体重问题 题目描述 Bessie像她的诸多姊妹一样,因为从Farmer John的草地吃了太多美味的草而长出了太多的赘肉.所以FJ将她置于一个及其严格的节食计划之中.她每天不能吃多过H ...
- linux 将一个文件分解成多个不同名文件
1.通过c直接实现 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include & ...
- 启发式搜索A-Star算法 【寻找 最短路径 算法】【地理几何位置 可利用的情况】
在处理最短路径问题时,有一种启发式算法是我们应该了解的,由于其有着优秀的探索效率在各自现实项目中多有应用,它就是 A-star 算法,或 A* 算法. 个人观点: A* 算法并不保证找到的路径一 ...
- 【leetcode】21-MergeTwoSortedLists
problem MergeTwoSortedLists 一种方法是迭代,一种方法是递归: code /** * Definition for singly-linked list. * struct ...
- Python之路,第六篇:Python入门与基础6
python 列表 序列类型简介(sequence) 字符串str 列表list 元祖tuple 概念: ...
- 软工实践——结对作业2【wordCount进阶需求】
附录: 队友的博客链接 本次作业的博客链接 同名仓库项目地址 一.具体分工 我负责撰写爬虫爬取信息以及代码整合测试,队友子恒负责写词组词频统计功能的代码. 二.PSP表格 PSP2.1 Persona ...
- (1)MySQL(入门操作安装\基本指令)
什么是MySQL MySQL本质上就是用来管理数据的---用来做增.删.改.查 使用MySQL后管理数据就相对简单方便 数据库软件的种类: 1.什么是关系型数据库(关系型数据库特点就是对数据格式可以有 ...