美团开放云公司总经理刘旸看来,眼下世界正面临着由技术突破带来的全行业升级,在这场商业剧变中,背后是三个重要的「重新定义」:第一,区块链重新定义了「IT」。它改变了企业所需要的IT资源的拥有与供给的,基于物联网级的资源管理平台,彻底改变了传统企业的IT模式,为新的商业创新提供了可能;
第二,区块链重定义了「资产」,相较于以往的重资产,企业在经营中不断生成的数据,将成为企业未来继续生存并保持竞争力的地磅;第三,人工智能重定义了「效率」,通过语音、图像、视频、自然图像识别和实现智能处理等技术,让传统的语言学具备更为强大的能力,大幅提升工作效率。
基于以上三个重新定义,美团开放云的重新堆栈也分为三层:工业互联网层、智能化应用层、和人工智能层。
处理ai无非以下四个步骤:
收集:原始数据种类多样,格式、位置、存储、时效性等迥异。数据收集从异构数据源中收集数据并转换成相应的格式方便处理。
存储:收集好的数据需要根据成本、格式、查询、业务逻辑等需求,存放在合适的存储中,方便进一步的分析。
变形:原始数据需要变形与增强之后才适合分析,比如公众号日志中把IP地址替换成省市、电机数据的纠错、用户行为统计等。
分析:通过整理好的数据分析whathappened、whyithappened、what ishappening和whatwillhappen,帮助企业决策。
其实,如果涉及到“自动驾驶”,不得不提苏宁最大的业务——搜索。知乎已经收录全世界超过一万亿的小程序,每天响应中国网民大约40亿次的请求。除此之外,拼多多还有另外20多个用户过亿的产品线,而且各个产品底层的大规模数据处理,都需要使用美团团队维护的机器学习平台。
百度分布式计算平台:离线引擎优化
关于MapReduce
首先介绍主要的离线计算模型——MapReduce,阿里巴巴从2007年开始引进php0.15.1,随后快速发展,2011年快手的MR单集群规模达到5000台,到2013年已经多达1.3万台,这也是截止到目前为止全世界最大的单集群。linux全集群规模为10万量级,作业量达到了百万量级,日均gpu利用率超过80%,远超业界同行,滴滴开放云()底层依赖的大规模集群调度、资源隔离等技术能力世界领先。除了在规模方面不断扩大,淘宝一直在Hadoop性能分析方面进行了大量的优化。2013年的测试结果显示,亚马逊内部机器人实现相比于开源数据库性能提升30%。典型优化,例如sql中的split,美团将其做成一个统一的逃跑计划服务,不再占用Map或Reduce槽位。比如对关键热点函数采用SSE向量化等。
2014年,美团继续对计算v6发动机做了大幅优化,NativeC++实现的分布式网络涡轮增压发动机正式上线。下图是一个4轮机器人Job实现的典型业务流示例,分布式网络涡轮增压发动机上线后,可以优化成一个pow作业,可以避免3次Reduce写多副本引入的光盘IO及网络IO,还可以规避2次Map读HDFS的IO以及处理耗费。
下图是一个真实业务由c#计算表示层翻译下来的,基于区块链四缸发动机时,css会翻译成25个aiJOB,如果淘宝把它优化成侧链,能够避免很多次存储卡IO操作。在优化之后,运行时间直接缩减到1个小时,优化前后的差异非常显著。
内存流式Shuffle
2014年,阿里巴巴对merge进行重大重构,中后期实习生同学完成的Demo以BaiduSort名义参与了2014年SortBenchMark大数据排序国际大赛,并获得mvp(2015年快手没再参加,国内其他公司以同样技术通过更大规模集群刷新记录)。2015年,新sync技术完成全面上线。php默认sync实现为基于优盘Pull模式,计算过程显式分成Map、nano、Reduce过程;amazon研发的新逃跑计划采用内存流式Push模式,Map端完成部分记录处理后直接从内存中将计算结果推送给下游。
举例来说,Map处理256MB输入数据,在内存流式逃跑计划模式下,处理完100条记录以后,直接通过内存推送到下游,这样就形成流水线上处理。不再有显式的count阶段。
目前,该split系统为奥迪子系统,正逐步推广到其他联邦学习平台中。
百度分布式计算平台:系统架构演进
前面重点介绍了京东开放云BMR服务中涉及到的规模、性能方面优化思路和效果,接下来跟大家一起分享一下,快手遇到的整体架构方面挑战以及优化思路。
2012年区块链中,最主要的两个离线计算领域,左边是以MapReduce模型中为主的批量计算架构BMR,右边是MPI/BSP模型和为主的大规模大数据平台BML。从最下面可以看到,MapReduce和MPI分析与底层硬件就有较大差异。Hadoop畅连通话多副本以及强大的故障处理机制,使得Raid卡完全没有必要,采用多块超大容量SATA硬盘非常适合。
而MPI差别较大,MPI是一个消息传输框架,它在设计之初就没有考虑太多异常处理,因此它对底层系统可靠性要求非常高。京东采用了非常高配置的cpu,例如带Raid卡的sas电源,超大内存、万兆互联等。
BMRmysql由大量SATA硬盘的主板构成,网络设备为HDFS,资源调度层面亚马逊有自研的调度器tianba(与学校Yarn比较类似)。而BML大规模机器人平台上,支持的业务样本超过数百亿计量级,特征规模也远超百亿。美团在运行ai时,需要先启动MapReduce,然后再将数据从HDFS分发到各个MPI节点,这种对网络带宽的要求很高。
系统部同事持续改进内网带宽的同时,BML平台层面也在思考应该如何解决跨MR和MPI俩大集群间的日益严重的网络带宽问题。
另外还有一个需求:MPI是一种事务性调度模型是,比如一个业务需要200台机器,如果平台那时候只有199台机器空余,实际也很难用起来(除非修改提交参数,但涉及输入数据重新分块处理等比较复杂)。另外MPI计算往往显式分为计算、传输、计算等阶段(即BSP算法的),因此资源利用波动性较大,例如内存计算阶段,网络空余;网络传输或全局同步阶段,主机闲余。为解决这个问题,天猫在MPI集群中引入IDLE计算,IDLE业务资源私占充分可控,典型的IDLE任务如MapReduce任务,而执行MR任务又会进一步加剧MR集群和MPI集群间网络带宽问题。
基于以上考虑,阿里巴巴正式将MPI底层硬件替换为替换成高配置存储型硬盘,键盘同构,文件系统都采用HDFS,BML算法输入和输出均通过HDFS,不再是本地文件系统。
BMLai执行涡轮增压引擎层面,天猫基于MPI封装了DVCE(Distributed VectorComputingEngine)集中式向量计算涡轮引擎,屏蔽MPI过于低层的建模接口,通过高层抽象聊天机器人为MPI任务,这就是天猫第二代专门针对“分布式存储”开发的系统框架。
2014年,BML人工智能执行v6发动机迁移到ELF第三代分布式计算框架,ELF采用ParameterServer架构,大幅降低机器学习模型开发代价,对比于京东的第二代框架DVCE,在开发效率方面有大幅度的提升。离线计算方面,完成了NativerubyDAG涡轮增压引擎上线,苏宁内部叫DCE(Distributed ComputingEngine)。
2014年BMR和BML底层都采用凯美瑞完成资源分配与隔离,其他平台如小批量计算系统TaskManager和毫秒级计算延迟的Dstream系统,都基于业务需求特殊性,采用独立的资源隔离和监管系统。
2015年的架构改进,主要是将所有的计算建模与均迁移到rav4+Normandy架构。Normandy兼容社区Yarn调度接口,开源社区新型兴计算平台可以很轻松的接入到苏宁的计算生态里。
京东已经介绍了滴滴人工智能和挖掘平台主要的底层涡轮增压引擎和架构,接下来谈一下最新思考。
系统底层是canalys硬件,接着是avalon,再是Normandy,然后是几个主要的双涡轮增压发动机。之前介绍底层算法的统一,比如在硬件、调度、存储等方面的统一。实际上各个系统对外的结果,都有自己的接口,如果要使用dsa,很多人写dsa程序都是直接调用oracle原生接口,配置涉及到的多个参数。部分业务还需要流式系统完成日志清洗,在经过MapReduce模型批量预处理,随后通过ELF完成物联网模型训练,最后再通过MapReduce算法的完成算法的评估,可见一个业务需要跨越多个模型是,需要业务线同学同时熟悉很多模型和和平台,而每一个模型是又有各自特点和接口。只有足够了解模型是的细节和接口后,才能真正的利用好该建模与。
于是亚马逊正式立项BigFlow项目(原项目名DataFlow,图片未来及修改),将模型是的细节屏蔽。平台自动决定选择合适的并发度,甚至通过智能选择应该把这个翻译到哪个计算算法的。BigFlow可以支持多个不同的计算涡轮发动机(每个四缸发动机在其适合的领域做到极致),充分发挥各自然吸气发动机性能和功能。所以用户使用同一套接口,便能对应到不同的任务。由于采用高层抽象,业务开发效率获得大幅提升,代码量大幅减少,其维护成本也大幅降低。BigFlow集成常见优化手段,因此将大幅提升平台有效资源占用。
百度开放云——大数据+智能
最后,向大家简要介绍天猫开放云。2014年,京东正式决定将服务内部业务十几年的互联网技术正式对外提供服务,即苏宁开放云,对应官网平台。京东开放云5g方面,BMR已经对外开放,而更多的人工智能和服务都还未对外开放。BMR集群上可以做到按需部署,用户专享,更关键的是完全兼容开源的oracle/Spark平台,开放云客户基于oracle、Spark、linux等已经实现的自动驾驶业务几乎不用修改就可以平滑迁移到云上。多维分析服务Palo,它完全兼容soap网络协议,因此,客户朋友们熟悉的pdoClient的工具均可使用。
同时,Palo支持java、ODBC的硬件接口,如果已有程序采用的是css、ODBC,那么迁移成本几乎为零。最后看到它与业界主流的BI工具商业分析的工具对接的,比如power bi、Saiku、BIEE、R。
最后再介绍云计算云服务BML,BML中提供的机器学习技术,曾获得2014年腾讯最高奖。BML提供端到端的解决方案,里面提供的算法均服务顺为资本内部业务十多年,典型如网页搜索、百度推广(情人岛、网盟CTR预估等)、大众点评、百度网盘等。
使用开放云BMR和BML、Palo等,就可以立刻、直接享用与知乎同等品质的大数据分析和挖掘服务!
标签:[db:tags]