Amazon SageMaker扫清了机器学习的障碍,给了我们一把开启智能时代的钥匙

人工智能是一大类泛泛的概念,而机器学习则有相对具体的理论和技术实现方法,近几年来,由于机器学习的突破性发展,人工智能技术应用越来越普遍了,手机APP里、、街头巷尾的视频监控里、银行的金融风控、和许多企业的业务管理系统里,人工智能的案例越来越多了。

人们对不了解的东西往往会感到恐惧和不安,在了解机器学习之前,我也认为机器学习那么高深的东西我是不可能看得懂的,但事实告诉我,机器学习的浪潮已经来了,有许多人在帮你解决这些问题:比如,谷歌推出了一系列入门概念普及性的教程,AWS有一系列的人工智能服务,能让你在享受机器学习带来的便利的同时,也有机会一窥机器学习究竟为何物。

在云厂商的服务列表里,有图像类、语音类、文本类的各种人工智能服务五花八门,但这都是别人训练好的模型在发挥作用,当前,这基本上是大多数云厂商人工智能服务的全部内容了,当然,还可以提供一些面向机器学习的基础设施服务。

而AWS除了提供上述内容,还是少数还可以提供机器学习训练环境的厂商,AWS提供的Amazon SageMaker是AWS人工智能服务的核心产品,它能解决机器学习过程中的许多问题,扫清了机器学习过程中的许多障碍,给了我们一把开启智能时代的钥匙。

1,这项功能让AWS的机器学习开发平台广受认可

2017年,AWS首次发布了Amazon SageMaker,此后经历了数不清的迭代,2018年,我曾尝试用SageMaker训练了一个简单的模型,当时对于SageMaker的主要印象是,这是一个托管了Jupyter Notebook的服务,可以调用AWS云的各种资源,但实际上我个人电脑上安装一个Anaconda集成的服务也能达到类似的效果。

2019年年末,AWS推出了Amazon SageMaker Studio之后,AWS的云上AI训练服务才有了应该有的样子,其中新增的SageMaker Autopilot(Autopilot-中文可译作自动驾驶)自动化的机器学习令人眼前为之一亮。

Gartner对于SageMaker Autopilot评价非常高,在Gartner发布《云AI开发者服务魔力象限》中,AWS被评为领导者,主要原因就是推出了广受好评的SageMaker Autopilot。

SageMaker Autopilot作为SageMaker的明星级功能,解决了从数据预处理、算法选择、训练到最后模型训练的全流程,只需输入需要用来训练的数据,选择要预测的是什么,然后一切都交给它自动来完成,过程中会自动生成很多模型。

SageMaker Autopilot的出现让什么都不懂的人也有机会自己训练一个模型,然后了解机器学习的原理,作为稍微了解一些机器学习的人,应该知道SageMaker Autopilot帮我们解决了很多繁琐的问题。

在数据准备阶段,通常需要做很多细致繁琐的操作,并不是所有数据天生就为了训练而生的,真实环境中的数据经常会有各种问题,比如有的数据会有缺失,有的数据可能是错乱的,有的数据格式不统一,由于不正确的数据会直接影响训练模型的效果,所以,出现的这些问题都要解决掉。

算法选择也是一个难题,根据不同的数据类型,不同的场景,不同的预测项目,适应的算法都不相同,如果不了解算法的特性,很难做出正确选择,训练完成后效果差强人意又浪费时间。

训练过程中,不停重复迭代的训练将模型调整到一个更好的值,比如,一个更高的准确度,训练本身可能会出一些问题,比如过拟合的问题,比如过度训练的问题,训练出来的模型对原有数据的预测准确度特别高,但是对新的数据的预测准确度就非常低,这样的模型要来有何用?所以,训练过程中除了不断调参数,还要提防这些问题。

模型部署阶段其实相对简单一些,将训练出来的模型部署在具有运行环境的主机上即可,主机要确保性能和稳定性即可。

SageMaker Autopilot自动化能力在这里充分得到了体现,在数据准备阶段能自动完成数据的处理,算法选择阶段会自动按照数据的特征来选择,训练过程中会记录训练的一些细节,可以自定义一些规则,比如当出现过拟合和过度训练后会报警提示。

SageMaker Autopilot会自动输出一个高质量的模型,生成过程对用户可见,而且可以控制和调整优化,生成的模型在一些工具支持下来实现可移植性,能部署在云端,也能部署在边缘端等任何想运行程序的地方。

SageMaker Autopilot让AWS的机器学习开发平台广受认可,这算是机器学习工具中非常高级的一种,但对于普通用户来说,SageMaker还有很多不那么惊艳,但很实用的技能。

2,SagaMaker扫清机器学习的障碍

自动驾驶不能取代人类司机,SageMaker Autopilot也并不能取代真正专业的数据科学家,数据科学家要求对整个机器学习的训练过程有更强的掌控能力,而SagaMaker能为数据科学家提供许多便利性,在我看来,大概有以下几点。

省去配置环境的麻烦。SagaMaker集成了完备的机器学习运行环境,支持各种主流的机器学习框架,包括工业界最常用的TensorFlow,学术界更喜欢的PyTorch,以及AWS更推崇的MXNET。AWS在托管的Jupyter NoteBook里提供这一集成环境,省去配置环境的麻烦。

召之即来的弹性资源。说到底,AWS还是出售资源服务的,AWS平台上能提供多种多样的资源,用于存储训练数据的S3,计算方面能提供各种实例,各种资源可以呼之即来,从使用的角度看,AWS不断优化资源分配的灵活性和便捷性,比如,可以随时轻松的调整托管Jupyter NoteBook实例的算力配置,而不用在本地不停的换计算设备,这点非常有吸引力。

一站式的机器学习开发环境。Amazon SageMaker Studio(以下简称Studio)是一个面向机器学习的集成开发环境,涉及SageMaker绝大部分功能,在Studio里,用户可以像所有IDE一样可以查看和组织源代码、依赖项、文档等,透过Studio用户,可以调用AWS的资源来组织Notebook和数据集,可以方便地进行讨论和协作,而且,在构建、训练、解释、检查、监视、调试和运行模型各方面都有许多实用功能,可以说是一个一站式的服务。

SageMaker能解决训练过程和模型部署时候的许多实际问题。

训练阶段,SageMaker Experiments可以跟踪记录机器学习模型的迭代,说白了就是记录修改一个参数或者数值的时候模型的变化,由于这种修改的次数很多,又没有一个便利记录系统,所以很不方便,SageMaker Experiments自动捕获输入参数、配置和结果,开发者可以浏览、回顾和比较实验结果,总之,SageMaker Experiments能帮助开发者快速迭代和开发模型。

训练阶段,SageMaker Debugger可以在模型训练期间进行调试和分析,让开发者更好地理解模型。机器学习的训练过程是不透明的,模型又无法解释,SageMaker Debugger在训练过程中会自动发出收集到的关键指标,用户能看到训练的准确性和性能,如果训练时候有问题,SageMaker Debugger会提供警告和补救建议,SageMaker Debugger也可帮助开发者解读模型是如何工作的,向神经网络的可解释性迈出了第一步。

推理阶段,SageMaker还有模型运行状态监控功能,其实主要就是概念漂移检测功能。所谓概念漂移通常是指当新输入的数据发生了变化,导致模型预测出现问题。比如,你用夏天的数据训练一个能预测超市里冰棍儿销量的模型,当冬天来了,这样的预测模型肯定会出问题,此时,SageMaker Model Monitor会给出报警提示,需要对数据、参数或者模型等进行调整。

SageMaker设计数据处理、训练、推理的全流程,用户只需边际调整自己的代码即可,作为一个云上AI开发平台,AWS的SageMaker从功能上来讲,可以说已经非常完备了,真正做到了让数据开发者专注于开发这件事本身。

3,用户价值,用户案例体现价值

2020年5月,AWS宣布Amazon SageMaker在中国宁夏和北京两个区可用,这是少有一次与全球几乎同步的产品发布,事实上,许多用户已经享受到了SageMaker带来的价值。

大宇无限是一家移动应用开发的初创企业,主要面向拉美、中东和东南亚等新兴市场国家提供移动短视频服务,由于大宇无限剥离自豌豆荚的海外事业部,在用户体验设计上有许多积累,主力产品Snaptube在用户对视频的搜索以及下载功能上提供了很好的用户体验,Snaptube月活用户已突破1亿,日活几千万。

短视频热潮爆发后,2019年上半年,大宇无限又开发了一个叫Zapee的短视频聚合APP,APP上除了观看视频,还能够去互动、分享,深受年轻人喜爱,在2019年11月份,它已经突破了百万的日活。

面对海量的数据与海量的用户,大宇无限想打造一个精准的个性化内容推荐系统,但对于一个初创企业来说,在人力和时间相当有限的情况下,要构建一个满足海量用户和千万级规模的视频推荐系统,要面临的挑战非常大。

大宇无限机器学习技术总监苏映滨表示:“SageMaker的出现,帮我们实现从0到1的突破。构建一个机器学习平台不仅需要非常专业的人,而且投入的人力、资金和时间都非常大,对于大宇无限来说,这不太现实。”

苏映滨还表示,SageMaker的出现极大地简化了整个机器学习的构建、训练和部署的流程,而且,SageMaker提供的很多算法优化得非常好,基本上可以直接用来做训练,直接调用接口、设置参数,基本上几个命令完成后,就可以直接部署上线了。

大宇无限在机器学习方面的经验并不多,在SageMaker的帮助下,他们用三个月时间就完成了整个系统的搭建。SageMaker不仅帮助大宇无限完成了搭建,而且,在使用过程中还发现它的训练成本远低于自己搭建一套系统,据苏映滨估计,平均下来能节省70%的训练成本。

在实际的机器学习训练过程中,不仅要切换不同算法,还要尝试不同框架,SageMaker作为一个机器学习平台,帮助大宇无限节省了非常多的时间和精力,而且,服务还非常稳定,如果要自己搭建一套系统,在稳定性的运维上也是一笔不少的投入。

结语

AWS首席云计算企业战略顾问张侠博士介绍说,亚马逊在人工智能、机器学习方面积累非常深厚,目前亚马逊有数千名工程师和数据科学家在从事与人工智能有关的工作,在电商系统各个环节,仓储管理、无人机配送、Amazon Echo智能音响、无人值守便利店Amazon GO等都有机器学习的身影。

AWS把在机器学习方面的经验积累包装成通用的产品和服务,把它提供给别人使用,把机器学习的能力交到每一位创建者的手中,这一做法跟设立AWS云服务的路径如出一辙。

在未来的发展中,我们相信机器学习将广泛、深入地改变我们的生活,我们看到SageMaker解决了机器学习中的许多难题,AWS还将继续提供更多类似的工具和服务,会有更多像大宇无限这样的企业将受益,而作为普通人,我们也应该意识到SageMaker给了我们一把打开智能时代的钥匙。