随着全球新一轮科技革命的到来,人工智能已经成为企业发展的新焦点和互联网变革浪潮的新引擎。
如果说2017年是人工智能技术爆发的“元年”,那么2018年则是人工智能技术的“落地之年”。人们的关注点也会从下围棋等比赛型活动慢慢转移到利用人工智能真正解决世界面临的问题。在这个背景下,不少人工智能创业公司面临挑战,但大浪淘沙后活下来的公司和成功转型的传统企业可能会成为未来人工智能产业的领导者。
5月15日,TIC大会“当AI遇上Cloud:人工智能的应用实践专场”聚焦人工智能的实际应用和实践,来自UCloud、驭势科技、第四范式、北京褚时科技的资深专家和技术负责人,现场探讨了如何利用云计算技术助推机器学习、深度学习、视觉计算等AI技术和应用迅速落地。本文整理了讲师现场演讲的干货内容,希望为大家提供一些思考和借鉴。
如何利用公有云快速落地AI应用
随着人工智能产业的兴起,人工智能技术已经逐渐被运用于各行各业。但是无论是对初涉人工智能应用的传统互联网企业,亦或人工智能领域创业公司,如何快速、高效地落地AI应用都成为了巨大的挑战。UCloud人工智能技术专家宋翔结合UCloud在公有云领域多年的积累,提出UCloud的AI落地解决方案,通过提供简单易用、稳定、高性价比的AI PaaS平台来帮助快速调研、开发和部署AI应用。
AI落地的技术挑战
如何将AI技术与具体的产业应用结合起来,找到实际场景落地对于企业的发展来说非常关键,宋翔结合UCloud实际经验提出了AI落地的技术挑战。
第一,基础环境。基础环境不仅涉及到AI的框架,还涉及到算法库、各种各样的硬件设备及多类存储。这些方面的选择交叉会产生一个非常复杂的环境。如何控制基础环境,并使开发人员更方便地使用环境,是第一个挑战。
第二,AI系统的建设。AI的落地需要一个成体系的AI系统,能否更好地兼容各类AI框架和算法,能否使平台具备横向拓展能力,支持业务规模的不断扩大,以及是否具备弹性伸缩能力和容灾能力等,这都对算法的兼容性、平台的扩展性、分布式化、纵向拓展系统提出更高的要求。
第三,投入产出。怎样以较小的投入得到较高的回报,是AI投资商都要考虑的问题。比如在调研阶段怎么以较轻的资源和较少的投入去验证想法,在开展AI应用时怎么压缩研发的成本,使研发人员更专注于算法,以及怎么降低资源成本和运营成本等。
AI落地技术挑战的解决思路
针对AI落地技术面临的问题,宋翔提出了UCloud的解决思路。在UCloud看来,最核心的方法是平台化。实现平台化则需要做到环境分离、分布式化、可扩展性和资源共享四个维度共同发展。
环境分离
首先是环境分离,环境分离分为3个主要的方向:
第一,通过容器的封装把AI软件层的软件栈和基础资源进行隔离,其次通过CPU云主机、GPU云主机、物理云主机和底层的GPU资源或者CPU资源进行隔离,最后通过软件接入层把存储和计算进行隔离,让更多的存储资源接入到AI环境中去。
容器技术以层层隔离的方式进行分离。以下图的软件栈为例,最底层为基础环境,中间层为计算库,例如CPU或GPU,然后在此基础上累加不同的AI框架,增加AI算法和代码的实现。
· 封装。运行环境完全隔离,不同任务之间不会产生软件冲突。
· 预装。基础镜像内置各类基础软件环境,减少使用者环境准备开销。
· 自由。可以自由安装各类软件包,封装各类算法。
· 可重用。算法的容器镜像可以重复使用。
· 兼容性。GPU容器镜像可以在任意类型GPU节点运行。 CPU容器镜像可以在任意类型CPU节点运行。
数据接入技术则需提供本地存储和NFS两种接口,使得上层的计算节点访问各类的数据层,通过数据接入层做接口转移、带宽控制甚至权限控制等功能。
· 封装。计算节点逻辑不需要支持各种存储接口,仅需要通过2-3种(例如本地存储、NFS)接口就可以对接各类存储类型。
· 灵活。通过拓展数据接入层可接入的存储类型,也就可以拓展AI平台的数据接入类型。
· 稳定。数据接入层可以做数据流量控制,确保各个任务的SLA,同时对后端的数据存储系统进行带宽、流量保护。
· 安全。数据访问权限控制,确保数据安全性。
分布式化
进行软件分离后,就可以考虑搭建一个训练平台,包括任务调度、资源管理、容灾容错的能力。
同时,也可以搭建一个在线推理平台,通过此平台快速的部署自己分布式的在线任务。
可拓展性
当平台搭建完成后,就很容易做横向拓展和纵向拓展。比如纵向拓展,可以通过平台的管理系统管理CPU集群、GPU集群,并可快速的增加自己的资源池。
在搭建完成的平台上可以统一的管理CPU、GPU还有存储的集群,在不同的业务组或者不同的公司之间共享这些资源,使得资源的使用率变得更高。
公有云在AI落地环境扮演的角色
作为国内最早成立的一批公有云创业公司,AI的发展对于UCloud可以说是大势所趋,也是水到渠成。那么,公有云在AI落地环境重扮演什么样的角色呢?
总体来说,利用公有云来做AI落地,首先享受到的是IaaS的服务
· 资源。充足的计算资源、存储资源、网络资源
降低AI研发过程资源采购、维护的成本
· 基础环境。提供虚拟机镜像、容器镜像等服务。
降低AI研发、应用过程中AI环境部署的难度。
· 基础服务。提供诸如负载均衡(ULB)、分布式存储等基础服务。
降低AI应用产品化过程的研发成本。
其次还可以享受以用公有云的PaaS服务:
· 环境封装。提供预置AI基础环境,包括NV GPU驱动、Cuda、TensorFlow/MXNet等框架,用户无需进行复杂的环境安装、配置工作;
· 分布式。提供AI训练平台和AI在线服务平台,提供一站式AI, 用户无需自行搭建复杂的AI平台;
· 横向拓展。提供充足CPU/GPU资源,可自由横向拓展,用户无需担心资源问题;
· 纵向拓展。通过多种计算、存储网络资源类型,用户可自由选择合适组合;
· 计费灵活。基于秒级分钟级的计费规则,按需收费, 用户无需担心资源浪费。
嵌入式设备上的实时深度学习方法实践
除了软件技术,人工智能的落地应用,也必然离不开硬件设备的支持。驭势科技的人工智能技术负责人潘争,现场讲解了嵌入式设备上的实时深度学习方法实践,包括视觉识别在自动驾驶中的需求和挑战以及效率精度平衡的卷积网络。
视觉感知特点
随着汽车自动驾驶技术的发展,车载光学系统和车载雷达系统在保证行车安全上显得尤为重要。
当前,提到自动驾驶汽车环境感知技术,很多人会首先想到激光雷达。的确,相较于摄像头、毫米波雷达等车载传感器,激光雷达具有高精度、高分辨率的优势,但受制于价格高昂的因素尚未普及开来。因此,在已有激光雷达方案之余,如何找到一种成本更低的环境感知解决办法成了很多企业关心的问题。针对这个难题,视觉感知应运而生。
视觉感知包含以下的特点:
一,信息更丰富。以激光雷达为主的传感器,主要做一些云的感知和深度的感知,但是物体的颜色、纹理它是无法感知的。比如前方有一个障碍物,激光雷达传感器无法判断到底是一辆车还是一个人,只是知道一个形状信息,并不知道一些纹理的信息。但是通过视觉感知,就可知道它具体的颜色属性及具体的纹理表现,潜在的得到更多的信息,辅助决策和控制。
二,视野更宽阔。激光雷达的上下视野为30度到60度,而且最多只有64个像素的感知。可以想象,如果一个图片上下只有64个象素,这张图片则是非常模糊的。但是通过摄像头来感知周围的环境,上下则有720个像素感知周围的世界,能够帮助你捕捉更多的信息。
三,基建更配合。道路设计、障碍物、各种各样的信号灯、交通标志其实都是为了视觉信息而设计传达的。
四,硬件更便宜。激光雷达是一个非常昂贵的设备,相对于一个摄像头,它的成本是几十倍,甚至上百倍的价格,少则几万块,动辄几十万。而视觉感知则可拥有民用级、够实用的产品需求。
效率精度平衡的卷积网络
基于视觉感知的特点,驭势科技非常重视视觉识别算法的开发,希望用嵌入式的GPU平台去完成所有视觉感知所需要的计算。这就需要做很多网络压缩优化的工作,使效率和精度能够取得一个比较平衡的网络选择。
比较近几年比较有名的网络会发现,若想提高大概10%的正确率,就要付出大几十倍的计算量,那么必须使用精度最高的网络才能达到自动驾驶的精度需求么?
潘争介绍了两个速度较快的网络,第一个为PVANet,如下图所示:
基于云计算构建机器学习系统的实践
云计算的发展加快机器学习的落地,机器学习除了对云计算有算力的需求之外,如何基于云计算构建一个可靠的机器学习系统是每个企业都需要考虑的。UCloud高级研发总监叶理灯,以在线推测系统为例,展示一套机器学习平台的设计及实现方案,包括资源的管理,架构设计及实现。
Serverless产品及架构
Serverless指的是由开发者实现的服务端逻辑运行在无状态的计算容器中,它由事件触发, 完全被第三方管理,其业务层面的状态则被开发者使用的数据库和存储资源所记录。
如下图所示:
在Serverless架构中,软件开发者和运维工程师们不再需要关心服务器的部署、架设、伸缩,这些问题交给云平台商来解决,程序员们得以将精力投入用代码来实现业务逻辑中,而不是管理服务器。Serverless并不意味着不再需要服务器了,只是服务器资源的申请、使用、调度、伸缩由云服务商自动实现,应用开发者无需关心。
构建在线推测系统
基于Serverless 不用管理,可弹性扩用、高可用和按需付费的四个方面的特性,可以构建一个公司AI的系统,主要分为三步:
第一步,建设一个底层的计算平台。
第二步,上层APP管理,方便用户去管理模型。
第三步,提供SDK。方便用户在不同的框架上使用系统。
那么怎么构建一个满足Serverless的计算平台呢,首先需要考虑两个问题。
第一,希望用户使用这个计算平台时,是不用运维这个计算平台的。
第二,希望用户使用这个计算平台的时候,是按照实际消耗的计算资源来计费的,而不是按照配置来计费。
下图是一个简单的PUC的示意图:
下图为中央平台的详细架构:
搭建这个系统之后,需要在计算平台上面加APP Engine层,利用这层,可以去创建一个APP,这个APP对应的算法就是你的docker镜像,可以通过它来管理,也可以切换不同的版本的访问。
强AI时代,人们对活跃于各行各业的智能客服的期待也越来越高。第四范式智能客服负责人邢少敏介绍第四范式人工智能技术在客服领域的应用实践,包括分享智能客服工作原理,使用的相关自然语言处理、机器学习、深度学习等技术以及研发智能客服的技术难点。
智能客服工作原理
为什么要有客服呢?为什么要有智能客服呢?相信大家都会有了解。在很多行业里面,其实都有一个客服问题,无论是授权的咨询还是售后的服务等等,大量的问题都具有重复性,这些重复性的问题则会浪费大量人的成本。而大量有价值的数据例如聊天记录、历史记录是闲置的,没有被利用起来。所以这种情况下就有了智能客服。
智能客服比较典型的常见功能,总结一下为三类:
第一类,单轮问答。
第二类,多轮对话。
第三类,人机协作。
而智能客服的工作原理,基本上各家智能客服厂商的做法都大同小异,都是类似的方向,如下图所示:
具体来说,智能客服的工作原理分为以下几个模块:
1、自然语音处理,比如说分词、分句、词性标注、句法分析、指代消解,句子的权重,语意相似度等,还有问句的类型、句型等。这些会在第一步对用户的问题做一个全面的分析,然后保存下来。
2、意图识别,借助前面自然语言处理的一些结果,分为两种方式,一个是模板方式,另一个是分类器的方式。模板的方式很简单,通过与模板的对比进行意图分析。而分类器的方式,是通过收藏某个领域大量的数据后,进行人工标注,再训练成为一个分类器进行意图识别。这两种方式各有优劣,模板方式的问题在于,它虽然很精准,但它的画画能力比较弱,分类器的方式画画能力强,但缺少很多数据。
3、知识库,知识库其实是智能客服系统最主要的一种模式,它的做法基本上与做一个搜索引擎比较类似,基本上分两步。
第一步是侯选集的召回。从知识库里召回一些可能跟问题相似的一些侯选集。
第二步是重排序。用文本相似度、句子相似度解锁相关度,或者用神经网络的相似度模型或者用多模型融合。
4、知识图谱,知识图谱与知识库的区别是,知识库是一种问答的结构或者是一种树形的结构,而知识图谱是一种图状的结构。
知识图谱常见的工具有Neo4j、OrientDB、Titan等等。
5、对话技术,对话技术也有3种方式,第一种是有限状态机填槽,第二种是MDP的方式,
第三种是学术界经常用的端到端的模型,希望用一个巨大的模型解决出现的所有问题,如下图所示:
6、聊天机器人。实际上也是两种做法,一种是用神经网络的方式,主流的是用神经网络,或者说用统计模型之类的,通过收集大量的语料训练出模型,只要语料足够多,它的效果就足够好。另一种是模型的方式,但所带来的问题是不精准且需要大量的语料。
智能客服技术难点
5. 数据缺失问题:
· 多数情况下,没有足够数据训练模型
· SaaS服务涉及到不同领域,数据不足问题更加突出
数据冷启动方法:
· 通用语科训练模型,数据增长后再优化模型
· 先用规则系统,数据到了一定量,在用模型
多轮对话:
· 多领域对话仍然是难题:
· 逐个领域做对话成本太高
· 通用对话管理效果不理想
· 场景切换无法平滑进行
· 不允许切换场景显得死板
· 允许切换场景复杂度大幅度提升
人机协作:
· 现有方式仍然是机器人为辅
· 机器人回答不了,人回答
· 机器人推荐答案给人
· 探索让机器人为主,人工为辅
· 提高机器人回答准确率
· 提高机器人自学习能力
AI技术在教育领域的应用
除了常见的智能客服,AI近年来在教育领域也大放异彩,北京褚时科技 CEO李曙光现场通过AI在口语测评和作业批改等领域的解决方案分享,深入浅出解析了“图像”、“语音”、“自然语言处理”等技术在应用层的技术实践。
自动口语评测
现在市面上普遍可以看到的产品,基于的评测技术主要是两类。
基于GOP(Goodness of Pronunciation):(例如英语流利说、少儿领域的英语趣配音)
其主要技术为:
· 强制对齐, 语音模型分数对比,发现有问题读音;韵律,语速和流利度;
· 加入语音识别;
· 深度学习:CNN,DNN,优缺点,
· 移动端。
Freetalk口语评测技术:(应用于托福或者雅思的开放式题目)
其主要技术为:
· 语音分析:对发音,重音,语调,语速和流利度等方面进行分析和特征提取。
· 语音识别:针对英语非母语者的语音识别,使用深度学习方法,识别准确率对于提取口语内容关键。
· 自然语言处理分析:对识别内容在话题相关性,语义连贯性,语法错误,词汇使用,用词搭配等多维度上进行分析和特征提取。
· 自动打分:多模型融合,大量口语训练语料。
应用场景:
1、托福和雅思口语考试自动打分和批改: 目前在打分上可以取代人工,平均误差在2分左右(30分满分),大幅降低教师重复劳动。
2、斩托福和斩雅思:流量题库产品,覆盖80%以上的出国考生。累计百万学生使用,
自动作文评测
主要的评测技术为:
· 语法错误检查:主谓一致,动词形式的使用,词组的搭配,冠词使用、词性、选词、介词用法,动词时态等方面,Spelling,专有名词大小写和句首字母大小写等。
· 自然语言处理分析特征提取:分析和统计学生作文中的文本特征,包括用词复杂度,用词搭配使用,语篇组织结构,论述连贯性和是否离题,对于议论文能否支持论点论述等等。
· 自动打分引擎:针对特定的考试类型,我们使用机器学习算法(分类,排序),动态调整以上各个方面所占权重和最终的评分标准,训练相应的打分模型,最终系统可以在多个纬度给出详细的分析报告和反馈;
· CNN等方法融合。
应用场景:
1、初高中,托福雅思等作文自动打分和批改: 取代人工打分,平均误差在2分左右(30分满分),类似ETS的e-rater;
2、基于海量人工批改数据研发;在语法错误检测数量和精准度上远远领先于同类产品,可以和全球用户量最大的的批改引擎Grammarly媲美。
AI的更多应用
自适应学习技术
· 知识点建立知识图谱。
· 试题标签:知识点,难度,题型,考察能力等。
· 根据模考结果的数据分析,可以更精准的为不同能力的学生提供个性化备考计划,推送和及时调整学习路径。
· 自适应测试:Item Response Theory(IRT),根据难度,区分度等建模,比较少的题目,测的更准。
6. 手写板场景
以下几个领域是褚时科技一直关注的几个方向(目前还不能很好的产品化,预计未来突破)。需要和K12培训机构或者公立学校合作。
· 手写公式识别:可以参考美国MyScript这个公司,已经趋于成熟。但是存在换行等问题。
· 数学等主观题识别:手写公式,字母识别还有汉字识别准确度提升,趋于成熟。
· 数学应用题解题和批改:趋于成熟。
· 初高中数学几何题目解题和批改:解题准确度还有提升空间,目前准确度已经超过70%;批改趋于成熟。