随着全球新一轮科技革命的到来,人工智能已经成为企业发展的新焦点和互联网变革浪潮的新引擎。
如果说 2017 年是人工智能技术爆发的“元年”,那么 2018 年则是人工智能技术的“落地之年”。人们的关注点也会从下围棋等比赛型活动慢慢转移到利用人工智能真正解决世界面临的问题。在这个背景下,不少人工智能创业公司面临挑战,但大浪淘沙后活下来的公司和成功转型的传统企业可能会成为未来人工智能产业的领导者。
5 月 15 日,TIC 大会“当 AI 遇上 Cloud:人工智能的应用实践专场”聚焦人工智能的实际应用和实践,来自 UCloud、驭势科技、第四范式、北京褚时科技的资深专家和技术负责人,现场探讨了如何利用云计算技术助推机器学习、深度学习、视觉计算等 AI 技术和应用迅速落地。本文整理了讲师现场演讲的干货内容,希望为大家提供一些思考和借鉴。
随着人工智能产业的兴起,人工智能技术已经逐渐被运用于各行各业。但是无论是对初涉人工智能应用的传统互联网企业,亦或人工智能领域创业公司,如何快速、高效地落地 AI 应用都成为了巨大的挑战。UCloud 人工智能技术专家宋翔结合 UCloud 在公有云领域多年的积累,提出 UCloud 的 AI 落地解决方案,通过提供简单易用、稳定、高性价比的 AI PaaS 平台来帮助快速调研、开发和部署 AI 应用。
如何将 AI 技术与具体的产业应用结合起来,找到实际场景落地对于企业的发展来说非常关键,宋翔结合 UCloud 实际经验提出了 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 的发展对于 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,如下图所示:
PVANet 把原来的标准卷积变成了两部分,一部分是正常卷积,另一部分则把卷积结果取反再和原来卷积结果进行拼凑。这样既省了一半的计算量,又能得到两倍计算量维度的特征图。由此驭势科技在 PVANet 网络上进行了人车检测的性能测试,测试发现,对于比较密集的场景,PVANet 可以把所有的人、车检测出来,而不需要几百层,甚至上千层的网络。所以,把像 PVANet 级别的网络应用到自动驾驶中完成实时的人车检测是完全可行的。
第二个为 MobileNet,如下图所示:
它的基本原理是把三维的卷积和分解成两个部分。第一部分对每个输出的 map 进行二维的卷积,使三维卷积变成二维卷积,降低计算量。图中列了计算量降低的倍数,分子是 MobileNet 的分解后的计算量,分母是原始的标准卷积的计算量,可以发现,它的计算量是原来基础上的 DK 方之一,再加 N 分之一,也就是说,若用一个 3×3 的卷积,通过 MobileNet 方式,就会变成原来九分之一的计算量,同时它还能够保证达到和原来同样精度的效果。
云计算的发展加快机器学习的落地,机器学习除了对云计算有算力的需求之外,如何基于云计算构建一个可靠的机器学习系统是每个企业都需要考虑的。UCloud 高级研发总监叶理灯,以在线推测系统为例,展示一套机器学习平台的设计及实现方案,包括资源的管理,架构设计及实现。
Serverless 指的是由开发者实现的服务端逻辑运行在无状态的计算容器中,它由事件触发, 完全被第三方管理,其业务层面的状态则被开发者使用的数据库和存储资源所记录。如下图所示:
图中上半部分描述的是互联网应用传统架构的模型:用户客户端 APP 与部署在服务器端的常驻进程通信,服务端进程处理该应用的大部分业务逻辑流程。下半部分则描述了 Serverless 架构模型。与传统架构模型最大的不同在于,互联网应用的大部分业务逻辑流程被转移到客户端上,客户端通过调用第三方服务接口来完成诸如登录、鉴权、读取数据库等通用业务场景;高度定制化的业务逻辑则通过调用第三方 FaaS 平台执行自定义代码来完成。总体上看,Serverless 架构将传统架构中的服务器端的整串后台流程拆分成在客户端上执行一个个第三方服务调用或 FaaS 调用。
在 Serverless 架构中,软件开发者和运维工程师们不再需要关心服务器的部署、架设、伸缩,这些问题交给云平台商来解决,程序员们得以将精力投入用代码来实现业务逻辑中,而不是管理服务器。Serverless 并不意味着不再需要服务器了,只是服务器资源的申请、使用、调度、伸缩由云服务商自动实现,应用开发者无需关心。
基于 Serverless 不用管理,可弹性扩用、高可用和按需付费的四个方面的特性,可以构建一个公司 AI 的系统,主要分为三步:
第一步,建设一个底层的计算平台。
第二步,上层 APP 管理,方便用户去管理模型。
第三步,提供 SDK。方便用户在不同的框架上使用系统。
那么怎么构建一个满足 Serverless 的计算平台呢,首先需要考虑两个问题。
第一,希望用户使用这个计算平台时,是不用运维这个计算平台的。
第二,希望用户使用这个计算平台的时候,是按照实际消耗的计算资源来计费的,而不是按照配置来计费。
下图是一个简单的 PUC 的示意图:
假设在构建这个系统时,对外提供两个能力,一个能力是允许用户通过把算法打包成 docker 上传,另一个能力是允许用户提交任务、计算任务。指定 API 上传到 docker 仓库的路径,然后把计算的结果通过 API 返回。
下图为中央平台的详细架构:
这是个完全基于 IaaS 平台搭建出来的计算平台的架构,具备跨可用区容灾、按 Set 部署、灰度发布及所有模块可以平行扩展的优点。
搭建这个系统之后,需要在计算平台上面加 APP Engine 层,利用这层,可以去创建一个 APP,这个 APP 对应的算法就是你的 docker 镜像,可以通过它来管理,也可以切换不同的版本的访问。
有了计算平台和 APP Engine 这两层服务之后,其实机器学习的 Inference 的系统基本上就出来了,下图为整个框架的系统最后的示意图,当请求过来后,希望 Inference 代码的 AI 模型是直接打包进来放到计算平台,业务可以通过 APP Engine 提供的路口直接访问,也可以访问一个 model。
强 AI 时代,人们对活跃于各行各业的智能客服的期待也越来越高。第四范式智能客服负责人邢少敏介绍第四范式人工智能技术在客服领域的应用实践,包括分享智能客服工作原理,使用的相关自然语言处理、机器学习、深度学习等技术以及研发智能客服的技术难点。
为什么要有客服呢?为什么要有智能客服呢?相信大家都会有了解。在很多行业里面,其实都有一个客服问题,无论是授权的咨询还是售后的服务等等,大量的问题都具有重复性,这些重复性的问题则会浪费大量人的成本。而大量有价值的数据例如聊天记录、历史记录是闲置的,没有被利用起来。所以这种情况下就有了智能客服。
智能客服比较典型的常见功能,总结一下为三类:
第一类,单轮问答。
第二类,多轮对话。
第三类,人机协作。
而智能客服的工作原理,基本上各家智能客服厂商的做法都大同小异,都是类似的方向,如下图所示:
首先需要语音识别模块,把客户的语音识别成文字,然后做文字的理解,接着做意图识别,最后再在对话管理系统里面进行分配。
具体来说,智能客服的工作原理分为以下几个模块:
1、自然语音处理,比如说分词、分句、词性标注、句法分析、指代消解,句子的权重,语意相似度等,还有问句的类型、句型等。这些会在第一步对用户的问题做一个全面的分析,然后保存下来。
2、意图识别,借助前面自然语言处理的一些结果,分为两种方式,一个是模板方式,另一个是分类器的方式。模板的方式很简单,通过与模板的对比进行意图分析。而分类器的方式,是通过收藏某个领域大量的数据后,进行人工标注,再训练成为一个分类器进行意图识别。这两种方式各有优劣,模板方式的问题在于,它虽然很精准,但它的画画能力比较弱,分类器的方式画画能力强,但缺少很多数据。
3、知识库,知识库其实是智能客服系统最主要的一种模式,它的做法基本上与做一个搜索引擎比较类似,基本上分两步。
第一步是侯选集的召回。从知识库里召回一些可能跟问题相似的一些侯选集。
第二步是重排序。用文本相似度、句子相似度解锁相关度,或者用神经网络的相似度模型或者用多模型融合。
4、知识图谱,知识图谱与知识库的区别是,知识库是一种问答的结构或者是一种树形的结构,而知识图谱是一种图状的结构。
知识图谱常见的工具有 Neo4j、OrientDB、Titan 等等。
5、对话技术,对话技术也有 3 种方式,第一种是有限状态机填槽,第二种是 MDP 的方式,第三种是学术界经常用的端到端的模型,希望用一个巨大的模型解决出现的所有问题。
如下图所示:
左边是装载机的一个示意图,右边这张是 MDP,就是马尔可夫决策过程的示意图。
6、聊天机器人。实际上也是两种做法,一种是用神经网络的方式,主流的是用神经网络,或者说用统计模型之类的,通过收集大量的语料训练出模型,只要语料足够多,它的效果就足够好。另一种是模型的方式,但所带来的问题是不精准且需要大量的语料。
多数情况下,没有足够数据训练模型
SaaS 服务涉及到不同领域,数据不足问题更加突出
通用语科训练模型,数据增长后再优化模型
先用规则系统,数据到了一定量,在用模型
多领域对话仍然是难题:
逐个领域做对话成本太高
通用对话管理效果不理想
场景切换无法平滑进行
不允许切换场景显得死板
允许切换场景复杂度大幅度提升
现有方式仍然是机器人为辅
机器人回答不了,人回答
机器人推荐答案给人
探索让机器人为主,人工为辅
提高机器人回答准确率
提高机器人自学习能力
除了常见的智能客服,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 媲美。
知识点建立知识图谱。
试题标签:知识点,难度,题型,考察能力等。
根据模考结果的数据分析,可以更精准的为不同能力的学生提供个性化备考计划,推送和及时调整学习路径。
自适应测试:Item Response Theory(IRT),根据难度,区分度等建模,比较少的题目,测的更准。
以下几个领域是褚时科技一直关注的几个方向(目前还不能很好的产品化,预计未来突破)。需要和 K12 培训机构或者公立学校合作。
手写公式识别:可以参考美国 MyScript 这个公司,已经趋于成熟。但是存在换行等问题。
数学等主观题识别:手写公式,字母识别还有汉字识别准确度提升,趋于成熟。
数学应用题解题和批改:趋于成熟。
初高中数学几何题目解题和批改:解题准确度还有提升空间,目前准确度已经超过 70%;批改趋于成熟。
如果你喜欢这篇文章,或希望看到更多类似优质报道,记得给我点赞并分享哦!
┏(^0^)┛明天见!