1.2 TI-ONE平台概述
智能钛机器学习平台是腾讯公司实现机器学习模型训练和运行的一站式平台化解决方案。该平台主要为模型训练、运行、评估与优化提供支持。用户可以上传标注的数据,利用平台切分成训练集、验证集以及测试集。训练模型的算法可以自行编写,也可以使用平台提供的,然后,在平台上设置相关参数,计算资源参数,并训练模型,模型的可用性也可以在平台上进行检测。
TI-ONE机器学习平台是智能钛机器学习平台的子平台之一,适合有一定机器学习经验的建模人员使用,TI-ONE平台支持使用编程语言实现数据处理、特征获取,可以使用可视化、模块化的建模工具,通过配置参数的方式构建机器学习模型训练工程,平台可以提供基本的机器学习和深度学习算法,计算资源由平台管理,用户只需要专注于业务场景相关的模型。
TI-ONE平台提供云端的具备高可用性的GPU分布式集群服务器,可以满足大规模深度学习模型训练的性能要求;平台内部兼容TensorFlow、Torch、Caffe等多种主流的机器学习框架,从而可以支持用户自编程代码的上传和运行,为用户提供了灵活性。
TI-ONE平台对GPU分布式集群服务器上的深度学习模型训练算法做了优化,能够大幅度地提升训练速度,从而大大地减少模型训练所花费的时间;平台提供了搭建好的机器学习开发环境,并且为用户管理计算资源,可以为用户节省这部分的时间,使用户的精力可以集中在业务相关的工作中。平台提供的沙箱能够帮助用户在保证数据安全和稳定的环境中,整合多方数据进行建模。
TI-ONE平台适合应用在所有需要使用机器学习或深度学习平台进行定制建模的场景中,典型的场景有风控、营销推荐、预测、非结构化数据处理、文本分析和关系挖掘等。平台可以通过接收原始数据的输入,训练各个场景下的不同模型,应用到对应的业务场景中。
TI-ONE平台的架构可以分为六个层次,从上到下依次是产品层、交互层、算法层、框架层、调度层以及资源层。产品层表示用户所接触的TI-ONE平台。交互层表示用户的交互方式,也就是图形化界面。算法层是平台开发团队实现的算法并且以组件的形式提供给用户使用,提供的算法有机器学习、深度学习以及图算法。框架层包含TI-ONE平台内部算法、实现所依赖的框架以及提供给用户的自编程功能可运行的框架:Spark、TensorFlow、Angel、Mariana、Caffe、Scikit-Learn、MXNet、PyTorch。调度层采用新一代的企业级容器平台GaiaStack,用于资源管理和调度。资源层可以提供计算资源以及存储资源,供用户自编程调用和各类组件调用。
TI-ONE是一站式机器学习平台,是专为AI初学者设计的机器学习平台,具有可视化操作界面、具象化的算法结果、拖曳式的任务流、可灵活自定义的特性以及内置的丰富模型算法与案例。该机器学习平台的特性如下。
(1)拖曳式任务流:拖曳式设计,各个元素可以自由地组合,以一种搭积木的方式绘制任务流。
(2)多实例调度:支持手工、定时、批量参数、重跑,可以方便用户在各个应用场景下的灵活需求。
(3)支持多机器学习语言和框架:Python、R、Spark、TensorFlow以及腾讯的Angel都可使用。
(4)内置机器学习算法:算法包括特征工程、机器学习、深度学习、图算法等,充分满足不同场景下的使用需求。
(5)数据可视化:提供可视化服务,模型训练效果可以悬浮呈现,用户无须烦琐操作就可以方便地辨别模型质量。
(6)模型的完整闭环:“一站式”机器学习平台体验,从模型训练、评估、服务部署到在线推理,覆盖全工作流程,形成机器学习训练的完整闭环。
在开始使用TI-ONE服务之前,首先需要开通TI-ONE与COS(Cloud Object Storage,云对象存储)服务,COS服务已接入TI-ONE产品,用于工程中的各环节。TI-ONE系列产品目前开放免费试用。
TI-ONE申请的流程如下:在产品介绍页单击“立即申请”按钮填写申请单后提交,进行线上白名单申请(需要到腾讯云平台)。接到服务申请后,腾讯云平台进行需求审核,并安排相应的工作人员进行初步需求确认、洽谈。审核通过后会发送审核结果给用户,用户可以根据指引在产品页进行试用体验。
TI-ONE平台提供了五大类的组件,如图1.1所示。从上至下依次是输入、组件、算法、模型以及输出。其中输入包括数据源、数据转换、公共数据集,数据源有COS数据集以及本地数据;组件下有三个选项,分别是统计分析、机器学习、深度学习,机器学习包括Spark组件和PySpark组件,深度学习包括PyCaffe组件、PyCaffe定制版组件、PyTorch组件、TensorFlow组件以及TensorFlow多机版组件;算法包含27个机器学习算法以及16个深度学习算法;模型即算法相关的组件;输出是机器学习输出用到的功能组件。
图1.1 TI-ONE平台的组件
PySpark组件面向使用Python的Spark用户,用户可以使用Python编写Spark程序,通过该组件来完成部署,这个组件支持Python脚本上传与实时修改,还支持PySpark的SQL功能,灵活性很强,很适合数据预处理,也适合偏好PySpark的ML库的使用者和Python使用者。在使用PySpark组件时,推荐使用PySpark中的DataFrame来替代Pandas中的DataFrame,这是由于前者是分布式执行的,而后者则是单机执行的。