点击观看大咖分享
据《中国 ICT 人才生态白皮书》研究分析, 2018 年底, 我国人工智能人才缺口已突破 100 万, 到 2020 年, 这一数字将攀升到 226 万. 但全球 367 所具有人工智能研究方向的高校每年在该领域毕业的学生仅约 2 万人, 远远不能满足市场需求.
人才缺口大, 腾讯云发布超新星 AI 人才培养计划, 深耕高校教育生态. 作为该计划中唯一的机器学习平台, 腾讯云智能钛 TI-ONE 走进高校课堂, 受到了老师和同学们的喜爱.
无论您是 AI 出入门者, 还是 AI 专家, 在智能钛机器学习平台 TI-ONE https://cloud.tencent.com/product/tione?from=10680 上, 都能找到适合您的建模方式.
本次腾讯云大学大咖分享 https://cloud.tencent.com/edu?from=10680 课程邀请 余祖坤 腾讯云高级产品经理 分享关于 "腾讯云机器学习平台 TI-ONE" 课程的内容. 开启云上机器学习建模之旅, 与智能钛 TI-ONE 来一场浪漫的邂逅吧!
本次分享主要包括三个部分: TI-ONE 产品架构; TI-ONE 产品特性; 使用 TI-ONE 搭建模型.
1.TI-ONE 产品架构
1.1 机器学习概述
机器学习通过学习输入的数据来构建模型, 以对未来的新输入信息做出预测或识别.
机器学习就好比烧饭, 将大米 (数据) 放入电饭煲(机器学习), 选择不同的烹煮模式(不同的算法), 最后得到米饭或者粥(不同的模型).
目前, 机器学习已经拥有广泛的应用场景, 如图像识别, 金融风控, 智能投研, 精准推荐, 疾病诊断, 工程检测等等.
1.2 传统机器学习与深度学习
传统机器学习表现为完整的流水线, 包含以下几个环节:
1. 数据获取: 从数据源接入数据, 用于后续的算法训练.
2. 数据预处理: 如缺失值处理, 数据格式处理.
3. 特征提取: 在原始数据的基础上提取出会对训练结果有帮助的值的过程, 这个过程很大程度上依赖建模人员的经验, 尤其是对业务的理解.
4. 特征选择: 选择好的特征, 加入到模型训练过程中.
5. 选择算法: 模型的搭建可以选择不同的方法, 如随机森林算法, 决策树算法, 支持向量机算法等.
传统机器学习的特点是: 特征选择需要人工参与. 而深度学习在其衍生之后, 特征选择过程可以通过神经网络来完成.
今天我们课程所说的机器学习, 指的是广义的机器学习, 包括了传统机器学习和深度学习.
1.3 机器学习建模过程
过程: 用户数据 - 数据预处理 - 特征工程 - 机器学习算法 - 模型评估 - 生成离线或在线的服务.
生成的模型好不好, 需要有方法去评估, 好的模型要生成离线或在线的服务进入到实际的应用, 整个过程需要大量的计算资源支持.
智能钛 TI-ONE 提供以上环节的全流程算法开发及部署支持.
1.4 机器学习平台价值主张
前面我们已经了解了机器学习概念, 知道了机器学习搭建模型的整个过程. 现在谈下机器学习建模时算法工程师有两种选择:
一种是自建, 使用框架建模, 如 Caffee,PyTorch,TensorFlow 等.
另一种是直接使用机器学习平台, 比如智能钛 TI-ONE.
我们可以看下这两者的区别:
框架角度
对于自建, 每种框架都需要安装, 部署在机器上, 并进行相应的维护. 同时每种框架都有不同的版本, 兼顾维护各个框架版本的依赖环境就是一笔时间开销.
对于智能钛 TI-ONE, 我们已经将框架集成到平台, 并且调试好了, 提供的是平台级的算法建模服务,"开箱即用".
算法角度
对于自建框架的用户来说, 需要不断从开源社区去找一些算法拿来使用, 也会涉及到对算法 bug 的一些修改工作.
对于智能钛 TI-ONE, 我们已经将用得比较多的算法调试好, 部署在平台上, 用户可以直接托拉拽, notebook 或通过 SDK 的方式使用. 一些些工程性的建模支持服务, 平台已经为算法工程师准备好, 工程师可将注意力完全集中在模型搭建上.
模型角度
对于自建, 不同的框架有不同的特点, 包括模型的搭建和部署, 工程师熟悉一个框架之后还会有另一个框架, 存在上手门槛.
对于智能钛 TI-ONE, 平台做了封装, 变成页面可视化操作, 可以简化模型全生命周期的使用过程.
评估角度
对于自建, 使用框架, 你需要自己编码把数据打印出来, 才能看到模型效果.
对于机器学习平台, 可以实时动态可视化评估模型效果.
协作角度
对于自建, 通过监控脚本, 为单独运行的任务增加监控, 自行发现并处理异常. 通过拷贝代码或者 Git 的方式分享算法.
对于智能钛 TI-ONE, 多种监控配置, 具备完善的告警体系. 支持发布算法和模型, 可控分享粒度和级别.
1.5 用户定位
AI 是个大趋势, 各行各业都有应用 AI 的需求, 目前来看, 有算法建模产品需求的用户越来越多. 我们考虑的是:
算法初学者如何快速上手, 利用算法建立 AI 模型, 建立入门的信心?
算法新手, 虽然有一定经验, 如何降低使用门槛, 提高建模效率?
算法专家, 可能在性能和分布式算力需求上有更高的要求?
智能钛 TI-ONE 针对以上三种类型的用户, 都提供了适配的解决方案.
1.6TI-ONE 产品架构
资源层
数据存储上, 支持多种存储方式, 如分布式文件系统 HDFS,CEPH, 对象存储 COS, 文件存储 CFS. 计算资源上, 具备大量云上计算资源, 同时支持本地算力.
调度层
云上建模有大量用户, 有大量计算集群, 不同的训练任务需要有分布式调度工具. 分布式资源调度套件, 采用的是腾讯自研的资源调度平台, 能够支持大型的云集任务.
框架层
支持 Spark,TensorFlow,Angel,PyCaffee,Pyspark,Pytorch 等主流机器学习框架.
算法层
支持上百种机器学习算法, 包括传统机器学习算法, 图算法, 深度学习算法, 且在不断丰富中.
交互层
三种不同的交互方式, 满足不同的用户群体.
可视化建模
托拉拽方式搭建工作流, 简单易上手, 适合 AI 小白.
Notebook
交互式的数据探索和建模过程, 适合有一定算法基础的人群, 提供更大的灵活性.
SDK
更适合建模专家使用, 提供更大的粘合度.
1.7 机器学习平台 TI-ONE 逻辑架构
TI-ONE 采用经典的分层架构模型, 从上到下分别是交互层, TI 内核引擎层, 算力层和存储层.
交互层对外提供了不同的产品形态, 包含 DAG 拖拽式建模能力, AutoML 自动建模和 Notebook 交互式编程等不同的交互方式.
内核引擎主要包含了核心的训练调度引擎和模型服务引擎, 是 TI-ONE 的核心能力, 具备了高可用和高扩展性的特点, 并通过插件化的方式支持用户自定义算子, 对接多种算法框架, 支持不同的调度方式(并行, 串行和周期驱动等).
算力层是底层计算集群的抽象, 支持常见的算力集群资源(GaiaStack/K8S/Yarn), 并很容易扩展支持其他算力资源. 内置的算法都针对算力做了优化, 支持单机和分布式训练.
存储层抽象了不同的数据源, 目前 TI-ONE 支持 COS,HDFS,Cephfs, 本地文件和各种 JDBC 的数据源(GP\Hive\Kudu\Impala\ MySQL 等)
2.TI-ONE 产品特性
2.1 特性概览
2.2 拖拽式任务流设计
可视化拖拽
数据, 算法, 组件均可以直接拖拽, 所见即所得.
节点自动连线
自动连线, 数据输入输出自动生成, 简单高效.
自由绘制工作流
自定义工作流, 可多个模型并行训练, 事半功倍.
2.3 运行模式灵活
支持根据运行资源进行调度策略的设定, 包含并行, 串行.
支持参数设定, 提供数值型, 枚举型的参数运行设置.
支持周期性调度.
支持历史实例的详情查看, 模型对比, 续跑.
2.4 支持多种机器学习框架
覆盖 Spark,TensorFlow, PyCaffe,Pytorch 以及腾讯自研 Angel 框架, 提供多样化框架支持.
AI 建模场景很多, 若平台内置的算法不满足您的使用需求时, 可以使用自定义框架, 上传自己的脚本创建模型.
2.5 可视化分析
支持中间结果预览, 可以查看工作流中间节点的数据输出情况是否符合您的预期, 做到建模时心中有数.
丰富多样的图表展现形式; 多种模型评估方式; 图表悬浮即可呈现.
2.6 交互式建模 Notebook
Notebook 作为一个灵活的交互式开发工具, 非常适合于数据准备, 数据处理, 算法调试与模型训练. 平台对 Jupyter Lab 进行了封装, 在保留原有的交互特点上, 增加了资源监控特性, 可监控任务的资源消耗情况.
2.7AutoML 自动调参
支持机构化数据自动调参建模, 在不通过人为来设定参数的情况, 通过某些学习机制, 让系统智能地去调节这些超参数, 让整个机器学习训练流程做到自动化. 并且支持实时监控训练进度, 分析自动调参详情.
2.8 模型管理
模型仓库页面用于管理所有保存的模型. 支持以下功能:
对每个模型进行版本控制和切换.
通过自动生成的 TAG 对模型进行筛选.
创建基于模型的离线批量预测作业.
TI-ONE 未来也会整合云上的推理服务, 后续将推出模型一键部署到 TI-EMS 等功能.
2.9 全生命周期建模任务支持
回顾一下: 想要建立一个模型, 首先需要将数据接入, 对数据进行一些处理, 选择合适的算法构建模型, 开始训练模型, 模型训练完成后评估模型的效果, 好的模型保存到模型仓库, 同一模型可以保存不同的版本在模型仓库, 选择合适的模型合适的版本发布成在线服务.
接下来就是应用端调用模型, 调用一段时间后, 可以看一下模型的效果, 若效果不好, 可以调整训练的数据, 算法, 参数等, 对模型进行优化, 然后再重新发布新的模型, 进入下一个周期. 可以看出: 完整的建模包含的所有环节, 都在 TI-ONE 平台上得到了支撑.
3. 使用 TI-ONE 搭建模型
接下来大家可以尝试在 TI-ONE 平台 https://cloud.tencent.com/product/tione?from=10680 上使用可视化托拉拽的方式搭建模型.(注: 智能钛 TI-ONE 已正式商业化, 使用平台训练任务会产生费用, 请注意合理使用.)
在开始使用智能钛 TI-ONE 前, 需完成[注册与开通服务] , 具体可以参考官方产品文档:.
3.1 泰坦尼克号生存预测模型
可视化工作流建模实践
背景:
1912 年 4 月 15 日, 载着 1316 名乘客和 861 名船员的豪华巨轮泰坦尼克号与冰山相撞而沉没. 这场海难被认为是 20 世纪人间十大灾难之一. 1985 年, 泰坦尼克号的残骸在北大西洋两英里半的海底被发现.
1998 年欣赏过好莱坞巨片《泰坦尼克号》, 影片震撼的效果, 唯美的画面和男女主人公凄美的爱情, 曾一度引发青春的骚动. 时隔多年, 做为一个数据分析的入门学习者, 从数据分析的角度来看待这场灾难, 是否会有新的感触? 在灾难发生时, 由于没有足够的救生艇给乘客和船员, 能幸存下来的人是有一定的运气因素, 但仍然可能是一些人比其他人更有可能生存. 那么是什么样的人更可能在这场灾难中存活下来? 存活下来的人都有哪些特性? 这些特性在其他灾难现场是否也有助于生存? 将以泰坦尼克号沉船事件为背景, 利用乘客的多维度数据搭建模型, 判断泰坦尼克号沉船事件中该乘客是否可以获救. 您根据后续每个步骤进行演练, 即可体验在 TI-ONE 控制台建立并成功运行工作流的全过程.
目标:
预测什么样的人在泰坦尼克号撞击冰山后更容易存活?
关于该模型的搭建步骤请查看官方文档:
3.2 文本情感分类
可视化工作流建模实践
背景:
文本分类是自然语言处理中一项基础且重要的任务, 其应用场景非常广泛, 涵盖金融, 商业, 军事, 政治等多个领域, 例如: 舆情监测, 新闻分类, 新闻极性分析, 垃圾邮件识别, 用户情感分析. 文本分类模型具有重要的应用价值与商业价值, 例如, 商家可以通过判断用户对商品的情感态度, 调整进货策略以提升销售额.
现有的文本分类算法主要包括两大类, 分别是基于传统机器学习的方法和基于深度学习的方法. 基于传统机器学习的方法通过预处理, 特征提取, 向量化以及常见的机器学习分类算法对文本进行分类, 常用的算法包括 LR,SVM 等, 模型效果受到特征提取质量的影响. 基于深度学习的方法则是通过深度学习模型对数据进行训练, 常用的算法包括 FastText,LSTM 等, 模型效果主要受数据量以及迭代次数的影响.
目标:
利用 FastText 算法搭建深度学习文本分类模型, 解决文本分类场景下的实际问题
关于该模型的搭建步骤请查看官方文档:
3.3 使用 TensorFlow 实现鸢尾花分类
基于框架运行自定义代码建模
背景:
智能钛机器学习平台的 Tensorflow 框架为用户提供了基于 Python API 的 Tensorflow 运行环境, 用户可将编写好的脚本及依赖文件上传至框架进行算法训练. 我们将以鸢尾花分类任务为例, 向用户演示, 如何利用智能钛机器学习平台的深度学习框架 TensorFlow 运行自定义代码, 如何通过工作流页面向自定义代码传参, 如何查看代码日志 / 报错信息等. 整个工作流运行耗时仅几十秒, 训练完成后您可进行模型服务部署和在线测试.
目标:
使用自定义框架实现鸢尾花花朵分类任务
关于该模型的搭建步骤请查看官方文档:
来源: https://www.qcloud.com/developer/article/1570479