【大咖分享】云上机器学习建模之旅,与智能钛TI-ONE的浪漫邂逅

百般思念 提交于 2020-01-15 06:48:50

原文链接:https://cloud.tencent.com/developer/article/1568874


点击观看大咖分享
据《中国ICT人才生态白皮书》研究分析,2018年底,我国人工智能人才缺口已突破100万,到2020年,这一数字将攀升到226万。但全球367所具有人工智能研究方向的高校每年在该领域毕业的学生仅约2万人,远远不能满足市场需求。
人才缺口大,腾讯云发布超新星AI人才培养计划,深耕高校教育生态。作为该计划中唯一的机器学习平台,腾讯云智能钛TI-ONE走进高校课堂,受到了老师和同学们的喜爱。
无论您是AI出入门者,还是AI专家,在智能钛机器学习平台TI-ONE上,都能找到适合您的建模方式。
本次腾讯云大学大咖分享课程邀请 余祖坤 腾讯云高级产品经理 分享关于“腾讯云机器学习平台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平台上使用可视化托拉拽的方式搭建模型。(注:智能钛TI-ONE已正式商业化,使用平台训练任务会产生费用,请注意合理使用。)
在开始使用智能钛TI-ONE前,需完成【注册与开通服务】,具体可以参考官方产品文档:https://cloud.tencent.com/document/product/851/39086

3.1泰坦尼克号生存预测模型
可视化工作流建模实践
背景:
1912年4月15 日,载着1316名乘客和861名船员的豪华巨轮泰坦尼克号与冰山相撞而沉没。这场海难被认为是20世纪人间十大灾难之一。1985年,泰坦尼克号的残骸在北大西洋两英里半的海底被发现。
1998年欣赏过好莱坞巨片《泰坦尼克号》,影片震撼的效果、唯美的画面和男女主人公凄美的爱情,曾一度引发青春的骚动。时隔多年,做为一个数据分析的入门学习者,从数据分析的角度来看待这场灾难,是否会有新的感触? 在灾难发生时,由于没有足够的救生艇给乘客和船员,能幸存下来的人是有一定的运气因素,但仍然可能是一些人比其他人更有可能生存。那么是什么样的人更可能在这场灾难中存活下来?存活下来的人都有哪些特性?这些特性在其他灾难现场是否也有助于生存?将以泰坦尼克号沉船事件为背景,利用乘客的多维度数据搭建模型,判断泰坦尼克号沉船事件中该乘客是否可以获救。您根据后续每个步骤进行演练,即可体验在 TI-ONE 控制台建立并成功运行工作流的全过程。
目标:
预测什么样的人在泰坦尼克号撞击冰山后更容易存活?

关于该模型的搭建步骤请查看官方文档:https://cloud.tencent.com/document/product/851/19069

3.2文本情感分类
可视化工作流建模实践
背景:
文本分类是自然语言处理中一项基础且重要的任务,其应用场景非常广泛,涵盖金融、商业、军事、政治等多个领域,例如:舆情监测,新闻分类、新闻极性分析、垃圾邮件识别、用户情感分析。文本分类模型具有重要的应用价值与商业价值,例如,商家可以通过判断用户对商品的情感态度,调整进货策略以提升销售额。
现有的文本分类算法主要包括两大类,分别是基于传统机器学习的方法和基于深度学习的方法。基于传统机器学习的方法通过预处理、特征提取、向量化以及常见的机器学习分类算法对文本进行分类,常用的算法包括 LR、SVM 等,模型效果受到特征提取质量的影响。基于深度学习的方法则是通过深度学习模型对数据进行训练,常用的算法包括 FastText、LSTM 等,模型效果主要受数据量以及迭代次数的影响。
目标:
利用 FastText 算法搭建深度学习文本分类模型,解决文本分类场景下的实际问题

关于该模型的搭建步骤请查看官方文档:https://cloud.tencent.com/document/product/851/35128

3.3使用TensorFlow实现鸢尾花分类
基于框架运行自定义代码建模
背景:
智能钛机器学习平台的 Tensorflow 框架为用户提供了基于 Python API 的 Tensorflow 运行环境,用户可将编写好的脚本及依赖文件上传至框架进行算法训练。我们将以鸢尾花分类任务为例,向用户演示,如何利用智能钛机器学习平台的深度学习框架 TensorFlow 运行自定义代码,如何通过工作流页面向自定义代码传参,如何查看代码日志/报错信息等。整个工作流运行耗时仅几十秒,训练完成后您可进行模型服务部署和在线测试。
目标:
使用自定义框架实现鸢尾花花朵分类任务

关于该模型的搭建步骤请查看官方文档:https://cloud.tencent.com/document/product/851/38592

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!