背景: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 的差异化竞争力

前面我们讲了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赋予的。

第一个是专用集群,当用户数据量较大时,我们可以提供多个完整集群让他使用,当用户的数据比较小的时候,可以多个用户共享集群,我们做了很好的多租户,用户的资源和数据隔离。

支持热升级,业务不中断,用户无感知。

支持主备自动切换的高可用,当服务量增大时,会自动加载新的实例,并自动负载均衡。

TI-ONE的用户有哪些?

最后我们看看用户,我们公司内外都有很多的用户,在公司内比如腾讯游戏、微信、应用宝、QQ音乐等等都是我们的用户。

最后发个福利,大家可以通过扫码来获得试用或者文档,谢谢大家。

腾讯技术工程官号

腾讯前沿技术 | 产品 | 行业信息交流发布平台

一篇文章搞懂腾讯云AI平台的人工智能IDE:TI-ONE相关推荐

  1. c++ 计算正弦的近似值_一篇文章搞懂正弦保真性

    本文介绍数字信号处理中"正弦保真性"这一概念,想要更好地理解本文所述内容,建议读者先阅读<一篇文章搞懂卷积>. 正弦保真性定义 一个正弦信号作为线性时不变系统的输入时, ...

  2. 一篇文章搞懂filebeat(ELK)

    一篇文章搞懂filebeat(ELK) https://www.cnblogs.com/zsql/p/13137833.html 目录 一.filebeat是什么 1.1.filebeat和beats ...

  3. 腾讯云AI平台张文杰:构建一站式机器学习服务平台

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 5月24日,以"无界数据无限智能"为主题的腾讯"云+未来"峰会AI大数据分论坛在广州拉开帷幕.此次分 ...

  4. 一篇文章搞懂架构师的核心技能

    " 这是架构师系列的第一篇:核心技能,希望这个系列能完全揭示架构师这个职位:我先从核心技能开始,后续还有架构师之路,架构实战等架构师系列文章. 本文作者 陈睿 优知学院创始人,前携程定制旅游 ...

  5. 一篇文章搞懂算法基础

    源码地址 https://github.com/javanan/DataStructure 目录 时间复杂度介绍 空间复杂度介绍 递归算法与非递归算法区别和转换 折半查找/二分查找算法 链表实现 反转 ...

  6. 一篇文章搞懂人脸识别的十个概念

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 作者:汪铖杰  首发于 腾讯云技术社区 由量子位编辑,仅用于学习交流分享,如有侵权请联系删除 ...

  7. 组件化开发实战_一篇文章搞懂什么是前端“组件化”开发

    学过网页的朋友都知道,制作一个网页离不开HTML.CSS和JavaScript技术.对于初学者来来说,掌握这3门技术就已经很不容易了,为什么前端为什么又要搞出来一个"组件化"开发的 ...

  8. reactrouter监听路由变化_一篇文章搞懂前端路由原理解析和实现方式

    在单页应用如此流行的今天,曾经令人惊叹的前端路由已经成为各大框架的基础标配,每个框架都提供了强大的路由功能,导致路由实现变的复杂. 想要搞懂路由内部实现还是有些困难的,但是如果只想了解路由实现基本原理 ...

  9. 【一篇文章搞懂】什么是分布式锁?为什么要用分布式锁?看这篇文章准没错!

    简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 dr ...

最新文章

  1. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
  2. 《统一沟通-微软-实战》-6-部署-2-中介服务器-1-定义中介服务器
  3. Glide 框架解析
  4. 安装 Cacti 监控
  5. Bean标签范围配置
  6. 微信小程序modal自定义文本框
  7. Nginx的主要函数调用关系分析
  8. python selenium firefox使用
  9. 信噪比:高端科研级相机的核心参数
  10. CATIA二次开发—漫谈开发环境
  11. 阿里云短信验证第三方接口(快速使用)
  12. 苹果手机如何分享wifi密码_WiFi密码破解器 v5.1.3手机版
  13. 如何理解实时频谱分析仪的几个“带宽”参数(1)——实时带宽(RTBW)
  14. 山东理工大学ACM平台题答案关于C语言 1177 C语言实验——时间间隔
  15. android手机拍摄视频格式,怎么用手机给自己拍摄的视频加上字幕?安卓手机视频编辑器给视频加字幕的方法...
  16. 对豆瓣电影Top250榜单的一些探索性分析
  17. java绘图机器猫_canvas哆啦A梦图形代码
  18. 2019年秋季校招前端面经
  19. polished_project 源码分析 知识点总结
  20. 使用信用卡会影响征信?那是你没注意这些地方!

热门文章

  1. 数据结构---队列C语言实现
  2. 如何提问问题?--《提问的智慧》再次推荐
  3. 向模态窗体传递参数和获取返回值
  4. HDU - 7008 水题(打表)
  5. 牛客 - Sixth Sense(贪心+二分)
  6. SDUT - 2623 The number of steps(概率dp)
  7. HDU多校4 - 6813 Last Problem(构造)
  8. 牛客多校 - 1 or 2(一般图最大匹配)
  9. 牛客 - Strange Bulbs(bitset优化拓扑)
  10. CodeForces - 1327D Infinite Path(图论综合)