人工智能算法
目前,AI(人工智能)已经成为科技产业大趋势。各个行业都与“AI”密切相关。与AI相关的领域如下图所示,其中包括与AI强相关的领域和AI间接赋能的的领域。那么究竟什么是人工智能、人工智能的应用以及人工智能系统将在之后一一介绍。
人工智能发展的80年,实现了从图灵测试到全民换脸。机器是通过人工智能像人一样来回答问题、创作或者计算分析的,在一些领域,计算机已经能够做的和人一样优秀。例如在2019年网络上的“全民换脸”都是基于人工智能中的深度学习及神经网络等技术的广泛应用的结果。
目前,人们生活中以及工业生产中都有很多“AI”技术的应用,用来代替人类的工作。例如比较流行的“ELON MUSK’S”能够模拟人的大脑工作。但随着人工智能的快速发展,也出现了一些对人工智能的反思和一些“假冒AI”。
人工智能AI在发展过程中面临了一系列的事件,其中有比较严重的假冒伪劣AI骗取2亿融资的事件。那么人工智能究竟是什么以及它的用途主要有哪些是接下来要重点讨论的问题。
在学术界,人工智能的定义也有所差异。人工智能是接受输入的信息,通过信息的整理判断,像人一样对输入的信息做出一系列理性行为和决策。它的主要特征就是“理性的行动”。
在这个“感知”到“决策”的反馈中,如何感知外部世界信息成为人工智能能否去行动的关键。既然是要模拟人的大脑,那人去感知的过程其实是一个认识和学习的过程。那也就是人工智能中“深度学习”所要解决的问题。
深度学习
只有将外部信息(视频,文字,口令等)转换成机器语言才能被人工智能所接受并作出反应。这个问题的思考早在人工智能初期就被科学家所考虑和研究。
在这之后人们开始讨论如何通过视觉感知来完成信息的输入,并做了很多研究。2012年,加拿大多伦多大学的ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,更多的更深的神经网络被提出,比如优秀的vgg,GoogLeNet。这对于传统的机器学习分类算法而言,已经相当的出色。
AlexNet开始的深度学习历程
通俗的说,就是在大量的物体中,准确地识别我们指令中需要的物体。这个模型的应用使得图像识别领域取得了突飞猛进的发展,并被广泛应用。
神经网络这种分层学习的模式跟我们人类大脑一样,随着不断地学习,神经网络也变得越来越复杂。假设要在百万级的图片信息中找已标注的信息“猫”,然后把编辑好的视觉网络的模型在一个非常大的数据集中训练。通过模型的迭代实现更复杂的训练。
目前,比较普遍使用的“RestNet模型”,深度在一百多层,并加入了一些最新的科研成果,例如最下面图中如拱桥部分的快速链接,可以有效快速的训练如此深的网络。最终解决视觉领域的“感知”问题。
阿里云:智慧航空机坪管理
通过人工智能来识别机种,登机门,机场车辆,并与实际地图结合起来,以及了解飞机在飞行过程中的运行轨迹等等,这些信息都可以作为输入的信息来通过人工智能管理,使得机场运转更加快捷和高效。
上面所说的,深度学习是感知的一个重要形式和方法。深度学习算法主要组成:
- 数据标注
- 算法模型开发
- 高性能分布式训练
- 模型调优
- 模型部署
人工智能在“感知”之后,另一个需要做的就是“决策”。深度学习是一个黑箱操作,能够很好地学习和感知外部信息,但是不能给出反馈及如何解释自己感知的问题究竟是什么原因。那就需要“决策”来分析和反馈。
传统机器学习的榜样是决策树算法和逻辑回归。例如,银行发放贷款的过程就是一个权衡各方面因素之后的一个决策过程。可以通过决策树的形式,进行“Yes”或“No”的判断来最终决定是否发放贷款。而逻辑回归,指的是两类数据之间的相互关系,通过数学的方式精确求解。
其实,深度学习和机器学习是一种互补的状态。深度学习非常好地解决了感知的问题(计算机视觉,语音等等),可以用神经网络的架构来解决非常多的“感知”的问题,但它需要解释这些感知的东西。而传统机器学习则没有这么人性化的感知功能,但它的模型相对较小,我们可以直接解释(例如金融,风控等)。
人工智能很早便被应用在广告领域中。早在宋朝就有广告,用来帮助来招揽生意。
目前比较典型的广告场景是淘宝广告。厂家首先通过消费者个人的浏览信息了解用户的喜好是什么,然后再通过智能推荐系统来推送消费者所搜索的相关产品。这样的一些智能算法的广泛应用使得用户的信息浏览更加高效和精细化。
无论是感知还是决策,都和算法相关。
- 感知。与深度学习算法相关,涉及到数据标注、算法模型开发、高性能分布式训练、性能调优、模型部署等。
- 决策。传统机器学习算法以及深度学习算法相关,涉及到行业行为数据采集、结构化/非结构化数据处理、数据和算法的组合建模、算法开发训练和调优、模型部署和实时训练反馈等。
人工智能系统
在算法发展迅猛的今天,相应的基础设施支持也显得尤为重要,这就需要人工智能系统的支持。构建人工智能或者机器学习系统的两个不可或缺的因素是算法和算力,算法创新的背后是算力的突破。
截止到2019年,人工智能对于算力的需求如下图所示。相较于AlphaGo Zero,AlexNet对于算力的需求已经有了30万倍的增长。这种情况下解决算法迭代和算法落地的问题,给系统提出了更高的要求。
AlexNet在2013年的时候所谓的系统如下图所示,简单的一台机器加GPU,当时的训练成本大约是七天每天500瓦,也就是业务模型的迭代周期是一周左右。
在业务需要飞速发展的今天,比如广告推荐,一周的模型迭代周期是远不能满足需求的。因此,目前越来越多的人关注如何通过大规模集群或者芯片的方式来为人工智能系统提供更好的算力。MIT在2014年的时候做了一个对比,一个人在一分钟内大概可以处理77张图片,单个GPU相同的时间内可以处理230张,尽管单个GPU的处理速度与人的处理速度相差不大,但是其可以通过GPU集群的方式实现更大规模更快速的计算,比如下图中512个GPU的集群,可以在一分钟内处理60000张图片。
人工智能系统在设计的过程中需要关注怎么样做高性能存储,怎么样实现机器之间的快速通信,怎么样保持分布式集群的稳定性。今天,阿里云内部有一个Eflops平台,可以实现三钟内1018次的计算,耗电128千瓦每分钟。这是在2015年以前是无法想象的能力,这一能力的实现主要归功于大规模集群,还有系统底层芯片的伸缩性。
目前国内很多家企业致力于更高性能芯片的研发,阿里也不例外。2019年,阿里发布了全球最高性能的AI推理芯片含光800,并在城市大脑和航空大脑的实际测试场景中进行了测试,峰值性能可以达到将近80万张图片每秒,这与上一代的芯片相比,实现了40倍左右的性能提升。
系统复杂度上升后,会带来一系列的问题,包括软件复杂度、硬件复杂度、资源管理复杂度、调度效率复杂度、全系统优化复杂度,这在系统发展过程中是比较共性的挑战。
需要强调的是,AI集群不等于通用集群。AI在做训练的时候需要子任务周期性同步,不同机器之间需要有高性能的通信,很多时基于GPU或NPU专用部件。不同的计算模型,不同的交互模式目前对于AI训练有比较大的挑战。
阿里的各种业务场景都可以用到AI,因此可以通过AI实践打磨平台设计,比如手淘-拍立淘的百万分类模型、淘宝网的语音+NLP和阿里妈妈广告推荐等。
打磨后的飞天AI平台分为三层,从最底层的基础硬件,到中间的训练和推理框架,再到开发平台。对于AI平台来讲很重要的平台有以下三个:
- 轻量级AI开发平台:帮助算法和数据科学家实现一键式开发、调试部署
- AI和大数据协同开发平台:帮助更加迅速地开发面向大数据型业务的系统
- AI推理服务平台:解决推理需要的计算资源问题、模型训练、部署和效果监测
以上三个平台支撑了算法API的输出和垂直领域平台以及大脑的解决方案。
深度学习领域,斯坦福大学推出了一个名为DAWNBench的测试基准,相比于之前的最有结果,阿里云机器学习实现了性能百分之十左右的优化。
AI技术能力在今天对于提升资产利用率、解决不同场景需求具有重要意义。综合的AI技术能力主要涉及以下几方面:
- 基础硬件:用于提供通用的算力以及AI所需要的计算能力,通过IaaS提供云的能力
- AI云服务:最基础的PaaS层,通过容易拉起的软硬件环境向绝大多数用户提供适合AI的算力
高性能计算:提供核心AI计算引擎加速 - AI系统框架:提供AI计算模式的完整抽象以及跨体系结构的建模迭代和部署
- AI托管平台:提升算法研发共享部署和输出的效率,以及具有用户粘性的开发平台
智能计算和数据计算
AI是智能计算,大数据领域是数据计算,二者是相辅相成不可或缺的关系。
数据支撑AI
刚才提到的算法和算力背后需要大量数据的支撑,数据是体现算法和算力价值的重要部分。
下图分别展示了2005年和2013年教皇登基的场景。当前手机互联网的发展导致了数据的指数型增长,这也可以给深度学习带来性能的提升。
1998年的一个小系统MNIST的训练数据仅有 10MB,2009年的ImageNet有200G,2017年的WebVision有3TB,而典型的产品视觉系统有1PB。海量的数据帮助阿里几乎线性地提升其性能。
举一个的生活中的场景来说明数据量对于性能的提升作用。在X光片医学识别领域,有研究显示,医生在X光片上识别病症的效果和其所看过的X光片数量成正比。看的越多,正确率越高。同理,目前的医疗引擎系统可以通过大规模的计算机系统训练更多的数据,实现更加精准的医疗识别。
AI驱动大数据走向智能化
下图展示了Forum对大数据领域做的趋势总结,当前大数据领域需要提取更多的信息,要实现实时的计算,实现AI平台和在线预测等,都体现了大数据走向智能化的趋势。
多个数据源不同类型的数据,如结构化、半结构化和非结构化,落到数仓后如何发挥其价值,答案是智能计算。以广告推荐场景为例,数据源是用户在淘宝上的点击、浏览和购买行为数据,通过数据集成离线或实时同步、离线或实时ETL的方式将其落到数仓中,再通过数仓或数据湖的解决方案生成各种数据模型对数据进行训练,最后通过数据服务的方式对训练结果进行输出。可以发现,该过程中对于数据的理解和使用方式开始变得智能化。
几年前的HTAP,包括OLTP和OLAP两部分,OLAP可以进一步分解为大数据的分析,离线、实时分析,基于数据量的不同选择不同的引擎。而目前数据服务也变得越来越重要,在一些智能客服场景中,需要依赖数据提炼模型,来做实时人工智能推理服务和应用,因此如何把analytics和service结合也很关键。这也是现在考虑在做的HSAP,通过人工智能驱动离线、实时数仓数据价值提取,通过数据服务推送给用户。
阿里在自己本身的应用中沉淀出了AI加持的大数据方法论和解决方案,在双十一大促中的离线计算(批处理)、实时计算(流计算)、交互式分析和图计算等场景,和飞天AI平台相结合,为用户提供了AI加持的完整的新一代飞天大数据产品。
大数据和AI一样,也非常注重性能。2019年阿里云大数据平台MaxCompute和EMR分别在TPC上的计算性能和性价比优势明显。具体测试结果如下图所示。
阿里的阿里小蜜目前为用户提供了智能化的的语音客服交互方式,其应用了深度学习和智能感知的AI技术,同时需要和背后的大数据业务系统紧密联系,如物流、用户数据等,才能实现最后的智能化效果。
那么作为一个企业应该如何拥抱AI呢。简单来讲,人工智能需要落地,应该从应用需求出发,逐渐追求技术创新,就像爱迪生发明电灯一样。通过云提供低成本、到高性能和高稳定性的基础设施,但关键应该明确需求是什么。
前面几年,AI一直在做算法的创新,做Demo,但这是远远不够的。
AI算法只是系统中的一环,怎样收集数据,获取有用特征,怎样进行验证,怎样进行过程管理、资源管理等等,都是企业在拥抱AI需要考虑的问题。
AI不是万能的,但是忽略AI是万万不能的。当企业拥抱AI的时候,最重要的还是从业务出发。随着数据量越来越大,算法越来越多,核心是需要建立懂业务的数据工程师、算法工程师的队伍,这是当前智能化企业致胜的关键。而前面提到的算法、算力和数据,都可以利用目前云上提供的服务和解决方案来实现,其可以帮助企业更快速的实现AI的落地。