⼲货!腾讯云AI机器学习平台TI-ONE是什么?
背景:5⽉23-24⽇,以“焕启”为主题的腾讯“云+未来”峰会在⼴州召开,⼴东省各级
政府机构领导、海内外业内学术专家、⾏业⼤咖及技术⼤⽜等在现场共议云计算与
数字化产业创新发展。
腾讯云AI平台技术负责⼈王才华博⼠在腾讯“云+未来”峰会的「开发者专场」做了主题为“智能
钛·⼀站式机器学习 TI-ONE:腾讯云上的机器(深度)学习IDE”的技术内容分享。
最近⼤家有没有看漫威的《复仇者联盟3》?其中钢铁侠的战甲就是⽤⾦属钛制造的,钛具有质
量轻,⾼强度的特点,⽽TI-ONE是⼈⼯智能平台,因此我们⽤了科技感⼗⾜的名字“智能钛”来
形容它。
▌⾸先说说为什么需要TI-ONE?
⼈⼯智能的重要性不需要我再强调,Andrew Ng 在Spark Summit 2017上提出《AI: The new Electricity》.
各⼤公司也相争提出⾃⼰的机器学习平台,⽐如说微软的CNTK,Google的Tensorflow等等。但是回答为什么需要TI-ONE这个问题,还要从云计算的特点和机器学习的⽣
命周期出发。在云上,我们偏向云服务化,基础设施服务化,平台服务化,算法服务化,机器
学习算法也不例外。
但是机器学算法有⼀个漫长的⽣命周期,从数据获取到数据预处理再到选择⼀个框架并编写算
法,然后训练得到⼀个模型,最后⽤这个模型进⾏预测。在云上我们还要对模型进⾏服务化。
如此漫长的过程,所以我们需要加速机器学习的⽣命周期,加速模型的服务化,这就是我们需
要TI-ONE的原因。
具体⽽⾔,TI-ONE提供了如下功能:
⾸先整合了数据预处理平台,提⾼数据预处理效率。
⽀持主流机器学习框架,内置常⽤算法,以拖拽的⽅式就能完成算法开发。
⽀持⾃动调参,⽀持多个层⾯的协作,⽀持了⼀键模型部署和服务化,还有在线推理。
⽤开发者的语⾔来说, TI-ONE就是腾讯云上的机器学习IDE。
▌什么是TI-ONE?
我将从架构,⼯作流,调参,协作,部署等这⼏个⽅⾯进⾏分享。
TI-ONE是⼀个层次架构,最下层是COS存储层,存储层之上是GaiaStack资源调度
层,GaiaStack赋予TI One很多商业特性,后⾯我会展开分享。调度层之上是架构层,我们整合
了Tensorflow,PyTorch,XGBoost,Angel和Spark等,其中Angel是腾讯⾃研的,Spark是腾
讯增强的。算法⽅⾯,我们集成了⼤量的常⽤算法,既有CNN、RNN、DBN等深度学习算法,
也有的GBDT、FFM等传统机器学习算法。⽤户可以⽤这些算法训练⾃⼰的模型,⽀持业务,⽐
如图象识别、语⾳识别、精准推荐和实时风控等等。
TI-ONE为⽤户提供了⼀个图形化开发界⾯,以拖拽⽅式就能开发⼀个机器学习算法,这⾥我给
⼀个例⼦,
从COS层或本地⽂件系统中获得数据
对数据进⾏预处理
对数据进⾏切分,这⾥需要指出的是,这⾥是将数据切分成训练集和验证集,⽽不是测试集
然后⽤拖拽的⽅式选择⼀种算法,以逻揖回归为例
设置算法需要的参数
训练得到模型人工智能ai正则化使用方法
如果要验证这个算法也很简单,只要:
从存储层中获得数据
对数据进⾏预处理
输⼊到模型
算法评估
运⾏完成后会给出混淆矩阵和AUC值。
调参是机器学习的重要环节,⽽且⾮常具有技巧性,TI-ONE提供了⾃动化的调参⼯具,特点是通过参数组合产⽣多个实例,然后并⾏运⾏这些实例,从这些实例中选出效果最好的⼀个。
举个例⼦,假设你要训练⼀个随机森林,你要决定森林中树的棵数和训练每棵树所需要的特征数,只要给定⼀个参数组合,然后交给TI-ONE,TI-ONE可以帮你选择最好的组合。在另⼀些情况下,我们可能需要对⼀些正则化超参调优,我们只要给定⼀个范围,然后交给TI-ONE,TI-ONE就可以帮助我们选择最优的参数。
协作对于机器学习也很重要,TI-ONE提供了多个层⾯的协作。
第⼀是模型层⾯的分享,训练好的模型可以分享给你的同事。⽐如你们俩同时对同⼀个业务开发算法,想⽐较谁的精度更⾼,就可以互相分享这个模型。
第⼆是⼯作流层⾯的分享,⼯作流就是机器学习⽣命周期,分享⼯作流,就是分享整个机器学习⽣命周期。假设你前⾯做了⼀个⽪肤推荐的任务,后来要做装备推荐的任务,基本上只要⼩改动就可以了。
第三是服务层⾯的共享,模型部署好后还可以共享,你可以把模型分享给后台⼈员,让他(她)帮你定位问题。
部署和服务是云上机器学习和传统学习的不同之处。TI-ONE提供了⼀键式部署⼯具。我们可以将训练好的模型部署成Application, 然后装载成多个实例,⼀个实例中还允许有不同版本。第三⽅的⽤户和模型的开发者就可以⽤REST API去调⽤,⾮常⽅便。
前⾯我们讲了TI-ONE的特点,开发者肯定想知道它背后的设计之道。我喜欢⽤冰⼭理论来解释事物背后的原理,前⾯看到的不管是⼯作流,还是调参,协作和部署⼯具,这些只是冰⼭⼀⾓,⽔下⾯是什么呢?
我们认为⼀部分原因是整合,我们整合了COS存储,整合了GaiaStack调度,整合了常⽤的机器学习框架和算法,但是仅仅整合还是不够,我们还需要⾃主研究构建差异化的竞争⼒,这个就是TI-ONE的特别之处。
第⼀个特别之处是Angel,Angel腾讯⾃研的机器学习的框架,它克服了Spark将模型放在单个节点的不⾜,通过对底层数学库的优化,它可以⽀持万亿级参数的模型,放眼业界,能⽀持如此⼤模型的计算框架也是凤⽑菱⾓。
算法⽅⾯,我们实现了常⽤的传统机器学习算法,⽐如逻辑回归,SVM等等,其中还有⼀些是我们原创的, 如LAD* 就是我们发表在VLDB上的成果。
性能⽅⾯,我们⽐较了Angel和Spark, XGBoost等平台,发现Angel性能表现⾮常强悍。有些算法的性能是Spark的20+倍。
第⼆个特别之处是图计算算法,我们知道图计算领域有三个主要玩家,即Pregel,GraphLab,和GraphX,⽽Pregel是⾕歌闭源,GraphLab是商业软件,只有GraphX是开源软件。但是GraphX更新慢,算法少,鉴于这种情况,我们就基于GraphX增加了很多图计算算法,有节点评价算法,社区发现算法,统计特征算法,经过细致的优化,这些算法都⽀持了千亿级规模的关系链。
第三个特别之处是⽀持⽤户⾃定义算法,前⾯提到我们集成了⾮常多的算法,有深度学习算法,也有传统学习机器算法,有回归算法,有分类算法,推荐算法等等,但是对于⼀些⾼级⽤户来说还是不够,所以我们允许⽤户⾃定义算法到TI-ONE执⾏,虽然是⼀个⼩功能,但是给⽤户带来很⼤的灵活性。
前⾯我们谈到了TI-ONE的功能和特别之处,现在要谈⼀谈商业⽤户⽐较关⼼的性质,严格来讲这个性质不是TI-ONE本⾝的,⽽是GaiaStack赋予的。
第⼀个是专⽤集,当⽤户数据量较⼤时,我们可以提供多个完整集让他使⽤,当⽤户的数据⽐较⼩的时候,可以多个⽤户共享集,我们做了很好的多租户,⽤户的资源和数据隔离。⽀持热升级,业务不中断,⽤户⽆感知。⽀持主备⾃动切换的⾼可⽤,当服务量增⼤时,会⾃动加载新的实例,并⾃动负载均衡。
最后我们看看⽤户,我们公司内外都有很多的⽤户,在公司内⽐如腾讯游戏、、应⽤宝、QQ⾳乐等等都是我们的⽤户。
最后发个福利,⼤家可以通过扫码来获得试⽤或者⽂档。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。