【企服干货】一篇文章,看全AWS的AI功能!

7月28日,由启迪协信、3W企服、企服行业头条共同举办的企服Open Forum活动——  “AI+”行业应用如何落地活动在重庆正式举办,来自AWS的解决方案架构师刘旭东先生,为大家带来主题为《AWS的人工智能平台和服务》主题演讲。以下内容整理自刘旭东现场发言,企服行业头条(微信ID:wwwqifu)根据内容,进行了些许删改。

 微信图片_20180729111150.jpg

AWS的解决方案架构师刘旭东

说到机器学习,大家肯定不陌生了,因为人工智能已经从传统的学术范畴变成了真正用在不同行业并且带来收益的技术。

机器学习在十几年前就用于亚马逊各个业务板块。最早是电商,从根据用户浏览习惯或者购买记录智能推荐用户感兴趣的商品,这里面就用了经典的机器学习领域的协同过滤算法,通过算法尽量推荐一些商品,引起浏览者的兴趣,从而带来更多的销售机会。

亚马逊的仓储和物流,基本都是机器人运维,通过机器学习策略控制它的行走路线,把货架运到发货仓库里,所有这些都是基于机器学习训练进行的对应线路规划运营策略。 

无人机,大家在网站订购的商品,通过无人机能够在30分钟之内送到指定的停机地方。

智能语音助手,包括非常多的人工智能的技术,我们跟音响交互时,音响要能够听懂我们讲的每一个字是什么含义。这里面会涉及到语音识别、自然语言理解等功能,是机器学习的范畴。而且音响可以把结果通过语音的方式给我们形成反馈,形成一个语音交互过程。

通过这样一个设备,里面聚集有大量的机器学习的技术在后面,这后面也有非常多数据来支撑我们模型不断演进。大家在使用音响过程中,交互过程会越来越自然,一开始用非常生硬、机械化东西进行交互,以后不需要完全事先设定好对话的方式来跟它交互,它能够理解你的意图,能够给你产生你想要的反馈。

无人值守商店,只需要打开手机AP在门口闸机扫描一下二维码就能进去了,可以自选任何东西,拿到东西以后不需要单独结算。亚马逊利用计算机视觉就可以把人进入商店,选取了哪些商品识别出来。顾客也可以带一个同伴进入商店,两个人拿着所有商品都计入扫描进门的顾客帐户里面。

AWS将整个机器学习分为三个层次

最底层是框架切口。更多是资源层面的东西。有一套自己成型框架只是需要们计算资源,让我能够训练开发的模型,希望能够缩短我训练的时间,能够加快我上线部署的效率。

中间的平台层会将一些基本的机器学习的服务打包成平台服务,使用机器学习过程中不需要自己从头开发,只要有数据,选择一个对应的算法就能够得到一个对应结果。 

再往上是应用层,针对特定的某一个机器学习的具体领域,比如计算机视觉会提供对图象、视频的识别处理分析,对语音识别和文字转语音或者自然语言理解,针对这种语言类别的应用提供应用层服务。 

越往上层,所使用、集成的方式也越简单。当然越往上层针对的特定业务场景也是具体的。如果是业务需求通过应用层服务能够满足需求,通过最上层应用层服务集成把这个功能快速集成在里面,如果需要有一些特别的应用场景,应用层不提供,这种时候就需要自己来构建一些深度学习或者机器学习的模型进行训练。

如果是用户框架非常特别,场景非常特别,这个时候,通过底层框架接口层提供服务支持。

首先框架接受层,提供对应的计算资源,除了常用的CPU资源之外,还提供的GPU资源。我想强调的是,通过一个P3事例最多提供8块GPU显卡,不是通过总线方式,是通过NVLINK2.0的方式可以给掉非常大的带宽。进行深度学习的模型训练,往往会有带大量运算操作并且是并发的,通过这样一些能力,能够提供运行的效率,运行一个结果、模型,最终达到我想要的结果。

除了硬件之外,通过AWS这样一个虚拟镜象把主流的深度学习框架集成进这个镜象,大家在使用GPU事例的时候,如果没有这个镜像往往要做很多初始化操作。

通过环境可以切换到不同的框架,而且环境和环境之间不会有干扰。这里面的工程实践主要是亚马逊来完成对于不同的框架的支持。

这就是框架和接口的服务,对于更多专业的用户,它的需求是在自己的数据中心训练模型的人,如果想平滑迁移到云是这一步,大家不需要做太多的变更就可以使用云上的资源。

在平台服务层,主要是通过几个服务来实现这种平台化服务。

这里我们提供托管机器学习的服务,主要是通过二进制或者逻辑回归方式提供三种算法。提供模型训练,或者最终进行预测的数据,解决模型的训练部署问题,最终可以在线使用。

对于这几种类型的算法来说,可以解决我们一些业务过程中具体的应用场景,比如去识别所有的交易记录里,某一条交易是不是属于欺诈性质,我们可以基于它的特征值进行判断。 

再比如有组数据需要进行分类,比如一个电商网站希望对用户的属性进行分类,是城市白领还是空巢老人、蓝领,通过一堆特征。基于现成的托管的机器学习服务,就能够直接做这个事情。

而且所有的预测其实是可以在线的,就意味着不需要先准备好数据,批量离线做这个事情,这一切都可以在线完成。

举一个例子,在线审批借款的网站,用户的借款申请越快,得到响应用户体验越好,通过这样的在线方式服务,能够让网站快速得到某一个用户的授信范围。

还有一个SagemMaker,是为更多需要进行深度学习训练的专业用户提供生命周期过程中的便利,通过几行代码就能够启动资源,进行模型训练。通过这个服务能够建构到模型训练的结果,模型训练好的进行模型部署,也不需要手动去启动下面一堆资源。

亚马逊还有一款土耳其机器人,它不是人工智能服务,但是能够连接任务、完成任务。比如标注一组数据或者给一组数据打标签,然后把这些数据发布到平台,让我们同需求方到真正人之间建立这样的供需关系的平台。

最终,这是我们的愿景,前面提到非常多的深度学习服务,用户首先要有深度学习或者机器学习的理论基础,要有对应开发能力,要有对应数据才能进行深度学习真正的应用。

亚马逊想通过我们提供的各个层次的服务,来减轻大家开发深度学习应用或者机器学习应用的难度,让大家尽快能够上手,把这些人工智能或者深度学习的功能集成进自己的应用系统里。

亚马逊深度学习开发过程中的几个阶段

构建阶段,亚马逊提供了内置算法给大家,不用从头开始去构建。内制算法都可以直接用,而且这些算法是经过亚马逊工程实践的,我们能够通过这些算法对于规模非常大的数据提供稳定的性能支撑。不使用这些算法,我们也可以自己构建这些算法。

另外,SageMaker有非常多框架支持,如果我们应用开发使用到这些框架,它能够提供或者简化开发工作流程,通过框架集成,用户只需要派生出对应的子类,实现对应的方法,就能够让它进行模型训练或者模型部署的操作。 

训练阶段,“一键训练”,可以在控制台点一下鼠标,让它开始执行训练,用户能够监控训练的结果,也可以通过函数调用让它直接开始训练到设定的结果,结果可能是希望达到的精度或者是不再提高,让它提前结束这个训练,也可以设置训练任务最长时间,在这个时间范围之内不断去训练。 

除此之外,还能够提供超参数优化功能。在座有专门做深入学习的应用开发的朋友,应该就知道模型建立过程中需要调整参数,方法是通过手动方式,通过超算数优化功能。

SageMaker可以并行启动多个数据,基于我优化的目的,可以选择最佳的参数出来,反馈给用户,让用户知道超参数在这样一个设置下的结果离我的需求最近。通过自动化方式,可以极大降低我们的时间。一方面是得益于SageMarer参数也得益于云的弹性,数据在哪个地方,起一个集群、十个集群最后成本是一样的。

大家有没有算过我在一台机器跑一个任务,假设一个小时,要搜索1000种参数组合需要1000小时,云上面可以允许我并发1000个集群,最后还是一个小时运行完,最后花的费用也是1000×1。如果把这些事情放到自己的数据中心来做事非常困难的,因为我们本身的硬件资源是非常有限的。

最后,部署阶段。sageMaker通过一个函数能够真正实现一键部署,部署出来的,形成一个服务锻炼端点,并且能够自动扩展,达到某一个阈值能够自动增加后端端点的数量。过了峰值期能够自动减资源。

这是SageMaker容器,假设通过深度学习框架写出来的应用,已经构建好模型,要做的完成这部分方法改造成SageMaker所要求的格式,做一部分少量的工程上的改动,可以自动指定下面需要用到什么样的框架,什么样的帮助代码,这个时候SageMaker服务层会自动去选择对应的容器跑我们的代码进行训练或者进行推理。

不一定要SageMaker支持的框架,对于自定义,完全可以从头开始构建这个容器,向科学领域用到R语言封装到一个容器,就能够通过SageMaker服务对它进行管理,自动一个或者多个容器,把数据直接灌给它,进行操作。

这是一个设备,更多地是提供给大家快速上手的套件,让我们快速开发深度学习的应用,包括摄像头、通过互联网联网训练模型,训练好模型可以自动部署到这个设备去,通过这个设备应硬件能力提供的模型,最终对模型准确性、性能各个方面进行判断。

回到应用层,对图象处理,语音语言以及交互应用需求所提供支持的服务。对图象、视频进行处理分析的服务,叫Rekognition。

第一种对象、场景检测,通过服务识别出一个图片、视频里有深的对象,比如有人,有自行车。场景是什么样子,我是海外、山上或者什么样子。还可以对活动进行检测,主要是对视频进行处理,能够跟踪一个人,能够知道产生什么样的行为、动作。 

除此之外还可以进行人脸识别,可以一从堆背景里里面人脸出现的位置,可以对面部进行分析,可以得到我眼睛在什么位置,鼻子在什么位置,嘴巴在什么位置这样一些面部特征,还可以对人员进行跟踪,包括还可以对名人识别,对文字进行识别。

这里面有一个例子,通过前面提供的服务,我们做了一个具体应用场景。这是对监控视频进行分析,能够自动识别出来这个画面里出来的人物,并对他行走路径进行跟踪。比较有意思的地方是,人还没有出现在这个画面的时候,只有一个头露出来就能够识别出来这个人。

还有一种可以对人脸进行比对,能够自动识别出来画面里出现的人脸与提前的数据库进行比对,出现匹配的人脸可以通过颜色一标识出来,不匹配的人脸可以通过另外的颜色标识出来。

其实,对视频进行处理,要比对图象处理难很多,一张图片因为是静止的,可以通过不同深入学习算法不断分析象素跟象素的关系。视频怎么做呢?是对每一帧的图象进行处理分析吗?这是有难度的。把一段图象拆成一张一张图片,它的信息会丢失的。

对视频进行处理的功能也是去年大概11月份的时候增加出来的,通过这个功能,大家不用对视频转图象做对应的预处理,就能够直接使用到这里面集成的功能。

也许大家说我有一个具体需求,比如我想识别出来照片里面出现多少个品牌,出现多少个品牌的LOGO,分别是什么,抱歉,现在还没有提供这样的服务。大家的需求在我们提供的功能之外,这些功能可能是需要自己去准备模型、数据进行训练的。

接下来的服务叫做Transcribe语言转成文字。大家初听起来差不多,第一个能够支持多人语音,我是一段对话,存在两个人、多个人进行交互,识别出来每个人分别讲什么话。

而且Transcribe支持电话音频,我们平时听的歌往往在64K或者124K,而电话语音只有8K。采用率要达到比较好的识别效果,需要服务本身对它进行支撑。

具体应用场景,呼叫中心有很多客服人员,进行分析转成文本,知道这通电话大概交互内容是什么,我可以分析出来用户打完这个电话的态度是积极的,是消极的,最终的诉求是什么,这通电话讨论主题是什么,涉及到哪些关键点,都可以通过这样的服务分析出来,最后可以通过BI工具展现出来。

传统的有许多的指标比如电话接通的延迟,最终还会有一个类似发短信问卷调查,这些其实都是旁录的,我们没有办法获得最终用户跟我们的呼叫中心之间交互内容的深入的信息。通过这样一个服务,我们是可以洞悉最终用户反馈出来真实情况是什么样子,关心什么内容什么功能不满意。

接下来,Translate是一个翻译服务。

有一个应用场景,我们会有多个不同语言的用户,他们之间通过自己的母语进行交互,发一个中文过去,终端可能是讲英语,可以通过通过这个服务把不同的语言翻译成对方的语言。

语言朗朗,由POLLY来提供,我输入一堆文字,让它发音,类似与人类的发音方式,看一下效果吧。大家听到这句,会存在多个多音字,大家看一下怎么处理。    

而且这个功能甚至还可以反馈回来,假设一个人读这个词的时候,嘴角是怎样调位,对于玩儿游戏的人来说,跑半天碰到一个IPC,朗诵出来一段话,这个嘴就是一张一合完全没有表情。

前面是文字准语音,还有一个comprehend文本信息进行处理和分析,可以得到一个文档里面的实体,时间是什么、地点是什么,出现了哪些商品品牌。

我可以分析出这段话重要思想,可能是篇新闻报道,或者分析出来重要语言是什么。我可能一段话里面包括阿拉伯数字也可能包括少量英语单词,分析出来的就是主要的语言。

还有对情绪进行对应分析,能够得到这段文本是积极的,是消极的,或者是中性、或者混合的。

回到前面的数据中心的录音文件处理分析是一样的,把音频转成对应文本之后可以对它进行一些对应分析。这个人打电话过来是什么事情,最后对于处理结果是不是满意的。通过这样一个架构,我的Comprehend,比电话接通率更能够跟我业务新关联。  

AWS提供非常多层次,不同类型的深入学习服务,主要就是为了满足不同用户不同的需求,如果大家觉得服务太多,LOGO太多,需要有一个具体需求的时候,是可以找到我们就具体需求进行深入探讨。

分享到

点赞(3)

说点什么

全部评论