速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

腾讯云 AI 机器学习平台 TI-ONE 是什么?

  • 2019-10-28
  • 本文字数:2786 字

    阅读完需:约 9 分钟

腾讯云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 层或本地文件系统中获得数据

  • 对数据进行预处理

  • 对数据进行切分,这里需要指出的是,这里是将数据切分成训练集和验证集,而不是测试集

  • 然后用拖拽的方式选择一种算法,以逻揖回归为例

  • 设置算法需要的参数

  • 训练得到模型


如果要验证这个算法也很简单,只要:


  • 从存储层中获得数据

  • 对数据进行预处理

  • 输入到模型

  • 算法评估

  • 运行完成后会给出混淆矩阵和 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 音乐等等都是我们的用户。



本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接:


https://mp.weixin.qq.com/s/aOgkKW3lUmzKTOd3CDdoag


2019-10-28 17:152023

评论

发布
暂无评论
发现更多内容

扫码出入登记小程序

清风

小程序

高尚小区

escray

生活记录 8月日更

使用Redisson优雅关闭订单

码农参上

redission 8月日更

Vue进阶(五十三):vue-cli 脚手架 webpack.prod.conf.js 配置文件详解

No Silver Bullet

Vue 8月日更

【LeetCode】压缩字符串Java题解

Albert

算法 LeetCode 8月日更

模块五作业

seawolflin

架构训练营

Android开发:新建后缀为txt的文件并且使用的步骤

三掌柜

8月日更 8月

手撸二叉树之合并二叉树

HelloWorld杰少

8月日更 数据结构算法

【六顶思考帽】蓝色思考帽

LeifChen

8月日更 创新思维 蓝色思考帽

在线BMI身体质量指数计算器

入门小站

工具

架构训练营第一模块作业(1)微信业务构架图学习

Laintime

架构实战营

四种常见的 POST 提交数据方式

一个大红包

8月日更

ShardingSphere源码解析 初步准备

Java 源码 ShardingSphere

zookeeper集群怎么搞?

卢卡多多

zookeeper 8月日更

面试篇:虚拟机栈5连问,一听心里就乐了

阿Q说代码

面试 JVM 8月日更 虚拟机栈

模块一课后作业

穿裤子的云

架构实战营

IDEA2020.1构建Spring5.2.x源码

4ye

Java spring 源码 后端 8月日更

Yarn资源调度框架

Geek_qsftko

YARN

ansible 循环

耳东@Erdong

ansible 8月日更 ansible 循环

如此爱国,必然自毁长城

箭上有毒

8月日更

vue入门:vuex概括与使用

小鲍侃java

8月日更

Golang协程之了解管道的缓存能力

Regan Yue

协程 Go 语言 8月日更

Java技术开发专题系列之【Guava Collections】实战使用相关Guava不一般的集合框架

洛神灬殇

Java Guava 8月日更 Guava Collections

磁场消灭癌细胞,是一种新的抗癌方案吗?

脑极体

云与AI真的能互相成就?还是最好各自独立行走?

白洞计划

几种常用设计模式的简单示例

编程三昧

JavaScript 大前端 设计模式 8月日更

Android EditText输入框实现下拉且保存最近5个历史记录

Andy阿辉

android Android 小菜鸟 编程思想 8月日更

Android.mk

Changing Lin

8月日更

CSS的设计模式(二)BEM与SMACSS

Augus

CSS 8月日更

Linux之uniq命令

入门小站

Linux

模块一作业2(毕设构架设计)

Laintime

腾讯云AI机器学习平台TI-ONE是什么?_AI&大模型_王才华_InfoQ精选文章