@liuhui0803
2017-01-13T10:35:18.000000Z
字数 8952
阅读 3297
人工智能
机器学习
云计算
深度学习
摘要:
作为这一系列文章的第三篇,本文将介绍大型科技公司2016年在机器学习和深度学习领域的举措。
正文:
本篇是2016年度机器学习和深度学习系列文章的第三篇。第一篇中,我们介绍了这一领域的重要趋势,例如有关偏见的担忧,互操作性,深度学习技术的爆发性增长,更加平易近人的超级计算,以及机器学习云平台的涌现。在第二篇中,我们介绍了开源机器学习项目,例如R、Python、Spark、Flink、H2O、TensorFlow等的进展。
本文将介绍大型科技公司在机器学习和深度学习领域的举措,这些行业领军公司在软件开发和市场营销方面往往有更充沛的预算。本文要介绍的大型公司包括:
— SAS,分析预测技术领域软件收入最高的企业,具备一种独一无二,自成一派的业务模式。
— 诸如IBM、微软、Oracle、SAP以及Teradata等公司,在数据仓库市场上占据优势地位,除Teradata之外其他几家公司均提供了获得广泛应用的商业智能软件。这些公司具备为现有客户群开发、营销,以及交叉销售各类机器学习软件所需的财务优势,只要愿意,就能在市场中产生极大的反响。
— 戴尔和HPE作为高级分析市场的新手,已在2016年黯然退场。
第一篇曾介绍过谷歌和Amazon Web Services。虽然这两家公司目前在业务分析领域尚无太大建树,但正在向着这个方向发力。为了涉足这个市场,谷歌今年已经设立了Google Cloud Machine Learning这一独立产品组,亚马逊也已提供了一个名为QuickSight的业务分析服务。
熟悉我的读者都知道,我更喜欢开源软件,大部分数据科学家也是如此。在本篇将要介绍的诸多公司中,IBM和微软已经对开源模式做出了大量承诺,包括直接向开源软件项目提交贡献。这样的举措值得鼓励。Teradata开始对Presto SQL进行投入,这一行为值得为之鼓掌。Oracle和SAP在自己的解决方案中使用了开源软件,但并未作出太大贡献。SAS拥抱开源的姿态总给人造成一种“视死如归”的感觉。
在第四篇文章中,我将介绍几个机器学习领域的初创公司,并公布之前年度调查的结果。
根据IDC调查,在高级和预测式分析软件市场中,SAS的软件许可收入居于首位。该公司有一大批统计学、精算师、生命科学家,以及其他在工作中需要严重依赖统计分析结果的用户。
通过与IBM合作,SAS依托为IBM System/360大型机开发软件的优势,在二十世纪七十年代正式开门营业。为了吸引用户使用自己的硬件,IBM当时曾向自己的企业客户推荐SAS的软件。目前SAS依然在为大型机开发软件,大部分收入依然来自大型机用户。IBM的一些大型机客户甚至专门为了运行SAS的软件而继续使用大型机。
二十世纪九十年代,SAS成功地转型为多架构软件供应商,开始针对大量其他硬件平台和操作系统移植自己的软件。这期间SAS通过行业优势和企业级软件树立了自己的声誉,采取了与SPSS这种专注于为桌面开发更易用软件的厂商截然不同的做法。
乍看起来,SAS正在极力从基于服务器的计算软件供应商向着最新的分布式架构和云计算时代转型。过去十年来,为改善自家产品的性能和缩放性,该公司公布了多项举措,但结果有好有坏。4月,SAS公布了Viya,这是该公司第三次企图为分布式MPP架构提供高级分析软件。
SAS Viya是什么?与SAS以往提供的高性能软件有何不同?宣传册里有介绍:
云就绪,弹性,可缩放
SAS Viya的开发充分考虑到私有和公有云环境的弹性和可缩放性。内存中分析运算已针对更自由的环境进行优化,但也可通过调整融入受到各种限制的环境中。弹性处理能力可自动适应不同需求和可用资源的数量,并可按需对计算容量进行扩大或缩小。弹性缩放能力使得用户能够快速针对不同使用场景进行实验,并对更大数量的流数据应用更复杂的方法。
嗯,任何软件都是“云就绪”的,就好像无论在本地或云中运行,Linux实例始终就Linux实例。当然在将任何软件部署到虚拟装置,例如Amazon Machine Image中之后,任何软件都将具备弹性,SAS 9.4也不例外。虽然SAS在2014年将其称之为“云就绪”,但就算更老版本的SAS也可以部署在AWS中,尽管SAS并不为其提供官方支持。
然而如果你想构建这样的软件实例,还必须具备软件许可。对于Python、R或Spark这样的开源软件来说,许可完全不是一个问题,想搭建几个实例都行,完全不需要担心是否会违反许可协议。商业化软件就复杂多了,必须为想要运行的实例支付许可费用。一些供应商,例如HPE和Teradata曾经尝试通过自己的云平台与Amazon Web Services进行竞争,并最终悲惨地失败了。其他一些厂商,例如Oracle则选择与AWS合作在云平台提供自己的软件,例如使用捆绑的托管式服务,或选择“自带许可(Bring Your Own License,BYOL)”模式。
换句话说,如果没有灵活的许可模式,就无法用商业化软件获得弹性计算能力。但灵活的许可模式会对SAS这样的供应商造成一个问题:如果客户只为自己使用的东西付费,毫无疑问他们最终支付的费用会远远少于常规许可方式的费用。这是因为大部分商业化软件的客户实际上是过度许可的:会为大量自己根本没有使用的软件付费。整个软件行业在本地部署软件许可费用的收入减少幅度远大于从云订阅中所获得收入的增速。云环境真正实现了“付出更少,做的更多”。
底线是:除非Viya提供更灵活的定价模式,否则没人会关心它的“云就绪,弹性,可缩放”。
如果想找点乐子,下次当你的SAS客户代表鼓吹Viya的弹性时,不妨问问对方这软件每使用一小时,软件许可需要花多少钱,然后欣赏一下对方纠结的表情吧。
开放的分析开发环境
SAS Analytics使得数据科学家可以轻松地使用各种编程语言,无论Python笔记本、Java客户端、Lua脚本接口或SAS,数据建模人员和数据科学家都可以轻松地使用SAS完成各种数据操作、高级分析和分析报表任务。
我们都在期待通过Lua运行SAS的能力。
适应性架构和有保障的故障转移
具体做法取决于,并且需要具备足够的分析处理能力。必须确保所有分析运算可以不被打断顺利完成。SAS Viya的容错设计可自动检测故障的服务器,甚至可支持多平台处理环境,并能根据需要对处理任务进行分布。同时该技术可在处理群集内维持数据的多个副本。如果群集中某台计算机不可用或故障,还可从其他机器获取所需数据,快速恢复处理任务。这些自治愈机制确保了可提供不打断处理工作,可自动恢复的高可用性。
“可在Hadoop上运行。”
在接受福布斯的采访时,SAS CEO Jim Goodnight提到了Viya的优势:
我们已经面向大数据做好了准备…(我们)刚刚发布了全新架构Viya的第一个版本,主要面向大规模并行计算领域,可将数据分散到数十台服务器上,随后使用这些服务器的所有处理器内核并行处理数据。也许同一时间可以并行通过500个内核处理这些数据,这种能力使得我们的产品可以应对某些非常非常大规模,以前根本无法解决的问题,例如逻辑回归。
也许有人可以为G博士提供更充分的论据。顺便要提一下,在大规模并行(MPP)环境中运行的商业化逻辑回归软件早在1989年就已问世。目前有很多软件包提供了分布式逻辑回归功能,包括SAS五年前发布的软件包。
逻辑回归(非线性模型)是一种迭代的过程。基本上就是在试着估算模型的参数(Parameter),然后随便进行一下猜测,并通过猜测跑完整个数据,随后对模型进行优化并再次猜测,然后再次跑完整个数据,相同的过程一次次重复进行,直到参数实现汇聚或者根本再无太大变化。这可能要对整个数据集进行25次到30次运算。以前我们还必须多次读取数据,现在数据可以保存在内存中。放在内存中的数据将始终留在内存里,并分散给500个处理器内核,每个内核只需要处理少量数据,这样就可以在几分钟里完成25次迭代,以往这一过程需要数小时。
其实和Spark差不多,但需要具备许可。
(Viya)其实是我们第三代大规模并行计算产品。七年前我们就开始着手研究这个问题,这是研究成果的第三次突破,终于把所有问题都解决了。
等到2018年,估计他会说用了九年时间终于实现了第四次突破。
在高性能分析领域,Viya也许会比SAS的前几次突破实现更好的效果。然而他们所面临的障碍本身也不大,SAS迫切需要证明他们高成本专有分布式框架比Apache Spark更优秀,而Spark正在快速成为企业大数据平台的新标准。
虽然SAS的多个产品均支持机器学习技术,但缺乏深度学习能力。SAS营销团队针对深度学习制作了一些有用的内容,但仔细看看这些内容你会发现,根本没有什么能真正提供深度学习能力的产品。没错,我知道SAS Enterprise Miner支持多层感知器(Multilayer perceptron),但SAS不支持GPU、Xeon Phi、Intel Nervana,或任何其他能够让你不用等到老就能完成深度神经网络训练任务的高性能架构。
如果你认为用一台服务器运行一款18岁高龄的产品就足以胜任你的深度学习项目,那你说的一定是SAS。然而要注意,NVIDIA的DGX-1,这款借助GPU加速的深度学习硬件设备具备250台传统服务器运算能力的强大性能,这是有原因的:你真的需要这么强大的运算能力。
SAS的其他业务似乎发展的挺顺利。庞大的现有客户群所产生的续订、升级,以及超售行为可以让他们在2016年实现比较低的个位数收入增长率,考虑到IBM、Oracle,以及Teradata的业务下滑,这样的成绩不算很差。
根据IDC最新的全球软件市场份额报告,本节介绍的五家公司在业务分析软件方面每年至少赚到十亿美元销售额。然而他们的大部分收入来自数据仓库和商业智能软件,其实都沿袭了SAS在预测分析领域的收入模式。
然而“软件许可收入”是一种容易造成误导的指标,因为现在开源软件的应用越来越普遍。例如IBM、微软,以及Oracle都在大量使用开源的机器学习软件对自家的数据仓库和商业智能平台进行扩展,而这些领域都是他们的强项。IBM使用Spark作为自己众多产品的基础。微软也已将R集成在SQL Server和PowerBI中,并积极地向自己的企业客户推广R。Oracle也采取了类似做法。
与SAS不同,日渐衰弱的科技巨头IBM从未给自家的旗舰级高级分析软件SPSS开发过任何专有的分布式框架。相反,这家公司选择使用数据库内引擎(DB2、Netezza和Oracle)以及开源框架(MapReduce和Spark)。
IBM对Apache Spark有贡献,并将其用在自己的很多产品中,此外还对Apache SystemML有贡献。IBM Research开发了SystemML的核心,并在2015年将其捐献给Apache。IBM还通过各种教育和培训对Spark社区做出了大量贡献。
2016年,IBM依然以2007年收购而来的SPSS Statistics和SPSS Modeler为主要营销目标。SPSS Modeler的Release 18版本于3月发布,包含诸多改进,例如为DB2提供了对机器学习的支持,以及在BigInsights中提供了针对IBM General Parallel File System(GPFS)的支持。然而没几个数据科学家关心这些,貌似只有150多个企业的CIO依然笃信没人会因为买了IBM的产品而被炒鱿鱼。
第一篇文章曾经提过,IBM的机器学习产品正在逐渐迁入IBM的云平台,用莎士比亚的名言代表我的想法吧:无事生非(Much Ado About Nothing)。
微软今年在机器学习和深度学习领域收获不错。正如在第一和第二篇文章中提到的,2016年,微软通过Azure发布了一系列涵盖视觉、语音、知识,以及搜索的认知API,并通过Azure HDInsight提供了Spark托管服务,同时还完善了Azure机器学习,并以Microsoft Cognitive Toolkit为名发布了2.0版深度学习框架。
这才只是开始。
1月,微软发布了Microsoft R Server,该产品源自微软2015年收购的Revolution Analytics。Microsoft R Server包含一套增强的R发行版,一个可缩放的后端,以及其他集成工具。这一年里,微软发布了R Server的两个重大版本,第8版中增加了与Spark的Push-down集成,第9版更新了适用于Spark 2.0的Spark集成,并增加了MicrosoftML,这是一个适用于机器学习的新版R软件包。
微软3月发布的SQL Server 2016内含SQL Server R Services。在Revolutions博客上,David Smith报道了此次发布的新版,同时Tomaž Kaštrun解释了SQL Server中的R服务所能实现的用途。
11月,经过进一步预览后,微软正式发布了适用于Azure HDInsight的R Server,这是一种专门针对HDInsight打造的,可横向缩放,能与Spark群集集成的R。
微软还为Azure提供了一个Linux版本的Data Science Virtual Machine(DSVM)。这种针对数据科学家提供的虚拟机以前只能运行Windows实例,DSVM内含Revolution R Open、Anaconda、Visual Studio Community Edition、PowerBI Desktop、SQL Server Express以及Azure SDK。
PowerBI是一套功能强大的微软数据可视化工具,该工具于8月开始支持R。ComputerWorld的R用户Sharon Machlis对此感到极为激动。此外Revolutions博客对此也进行了介绍。
R Tools for Visual Studio在3月发布了公开预览版,并于9月正式发布。同样在9月,微软还发布了Microsoft R客户端,这是一款免费的数据科学家工具,可配合Microsoft R Open和ScaleR分布式后端运行。
微软数据科学家Gopi Krishna Kumar、Hang Zhang以及Jacob Spoelstra联手开发了一种适用于数据科学家的方法论,并在9月举行的2016年度微软机器学习和数据科学峰会中进行了介绍。David Smith对此有报道。发明者们将该方法称之为Team Data Science Process,提供了一种可使用诸如Git等系统管理项目内容的标准化目录结构,此外还包含为整个过程提供支持的开源工具。
除此之外,雷德蒙特这一年在其他方面都较为平淡。
对于严重依赖Oracle产品的用户,Oracle提供了一系列极为强大的机器学习工具,包括:
— Oracle Data Mining(ODM),一种可作为原生SQL函数在Oracle Database中运行的机器学习算法套件。
— Oracle Data Miner,适用于ODM的客户端应用程序,并提供了适用于业务用户的界面。
— Oracle R Distribution(ORD),一个增强的免费R发行版。
— Oracle R Enterprise(ORE),Oracle R Distribution程序包,提供了将R与Oracle Database集成的工具。
— Oracle R Advanced Analytics for Hadoop(ORAAH),一系列包含原生算法和Spark接口的R binding。
Oracle宣称ORAAH的原生算法比Spark速度更快,但ORAAH只有两种算法,所以也没人会在乎。Oracle有一家合作的OEM厂商Cloudera,因此这个版本的Spark至少也算是一个比较重要的版本。
除了上文列出的这些产品,Oracle在2016年貌似也没别的什么重大产品发布。
SAP发布了新版的预测式分析产品,并将其更名为SAP Business Objects Predictive Analytics 3.0。该产品包含两套相互独立的自动化功能,一套名为Predictive Factory,另一套名为HANA Automated Predictive Library。Predictive Factory与SAS Factory Miner类似,是一种脚本工具,可以帮助数据科学家创建模型管道,并对其执行进行调度,但该工具无法对数据科学流程本身实现自动化。HANA Automated Predictive Library是一系列可包含在SQL脚本中的函数调用。
HANA Automated Predictive Library是一系列可包含在SQL脚本中的函数调用,但该产品可能只适合SAP HANA的狂热用户,并不适合其他人。
SAP在2014年收购了KXEN以及该公司旗下的InfiniteInsight软件。根据Gartner的调查,该公司的客户满意度已跌至谷底,SAP也已落后于所有其他高级分析产品供应商。以前的InfiniteInsight用户开始产生两个阵营:(a)IT部门已经开始大量投资SAP产品的用户,以及(b)其他所有用户。前者似乎对这些软件的依赖性很强,而SAP已经开始将其集成于自家产品中;后者则在争先恐后地逃离。
日渐衰败的数据仓库供应商Teradata认为自己可以提供极为强大的分析能力。实际上,该公司的大部分收入来自数据仓库业务,在这个领域,诸如Gartner等分析师给出了较高的评价。
也许可以说Teradata在整个栈的底层有着居高临下的地位。
Teradata的高管们(如果可以这样称呼他们的话)彻底忽视了Hadoop和云计算的影响力。相反,他们笃定地认为Teradata这个品牌是IT高管们的挚爱,用户还会大批大批地购买他们的设备。这种狭隘的世界观导致该公司现在的市值已缩水至五年前的三分之一。他们的产品销量已经连续十季度下滑,并连着七个季度遭遇两位数的下滑。
经历了低靡的一季度后,Teradata的董事会炒掉了接受了CEO Mike Koehler的辞呈,并由董事会长期成员Victor Lund接任CEO职务。9月的Teradata合作伙伴大会上,Lund宣布了Teradata会将自己重新定位为一家“分析解决方案”公司。
这还怎么与SAS友好地“在一起”?作为Teradata在高级分析软件方面的主要合作伙伴,SAS也将自己定位为一家“分析解决方案”公司。当然,不同之处在于,SAS在提供这种解决方案方面已经有很久远的历史,并与用户企业的高管建立了一定的“街头信誉”,毕竟他们的业务解决方案还是挺成熟的,包含实用的软件和自己的知识产权,而Teradata除了“改变世界的伟大想法”和PowerPoint幻灯片,似乎什么都没有。
给Teradata的管理层支个招:嘴上说要向着价值链的上游进军,并不意味着你就有这样的能力。
其他方面,该公司宣布Aster终于可以支持Spark了,但早在两年前就没人在乎这事啦。Teradata还宣布Aster的分析功能已经可以部署到Hadoop。Hadoop上的Aster就是一把无刃还无柄的刀,这个商业化的机器学习库可是要与无数开源的库血拼的。Aster还要与Teradata的另一个合作伙伴Fuzzy Logix竞争,该公司的dbLytix库比Teradata库的功能丰富六倍,还更成熟。
如果有人提议押赌这套“解决方案”并解绑Aster,也许可以挽回Teradata的颓势,但一定要考虑地够周密。
此外还有两家巨头:戴尔和HPE,不过他们就是“打酱油”的。
HPE宣布将公司旗下软件资产(包括Vertica和Haven)作价25亿美元现金出售给英国公司Micro Focus。按照交易协议,Micro Focus同时会将价值63亿美元的股权直接转让给HPE股东。HPE过去十年来为了这些资产付出了将近200亿美元。估价仅为收入的大约2.4倍,这意味着双方都认为该业务只有很少,甚至毫无增长潜力。Micro Focus以裁人缩减成本而著称,因此如果你正在为Haven或Vertica工作,也许该考虑更新一下自己的简历了。
3月,HPE宣布Haven OnDemand将可用于Microsoft Azure。Haven是一种将Autonomy、Vertica、ArcSight以及HP Operations Management松散拼凑在一起的软件组合机器学习套件,最初名为HAVEn,是HP在2013年6月发布的。2015年,HP通过自家目前已黯然离场的云平台Helion公有云发布了Haven。因此三月的发布等于是将这款软件重新进行了“重发布”。
在三年的产品生命周期里,Haven并没能得到数据科学家的青睐。KDnuggets 2016数据科学家软件使用情况调查中,2,895位受访者仅两人称在使用该软件,O’Reilly 2016数据科学家薪资调查中甚至无人使用该软件。更难堪的是,Haven甚至没能上榜KDnuggets的机器学习API Top 50榜单,而甚至Ersatz、Hutoma,以及Skyttle这样的产品都已上榜。
在分析需求比较简单,SQL即可满足需求的少数数据爱好者群体中,Vertica还占有着一席之地。根据DB-Engines的调查,目前Vertica在关系型数据库领域的流行度排名第28位,与Netezza和Greenplum的表现相当,略好于Aster。在被Micro Focus接手后,预计排名很快会大幅下跌。
戴尔在2014年收购了Statsoft并开始涉足高级分析业务,但这一举措根本无人问津。2016年,戴尔将自己的软件部门卖给私募投资者并黯然离场。
再见,戴尔。我们几乎快不认识你了。
作者:Thomas W. Dinsmore,阅读英文原文:THE YEAR IN MACHINE LEARNING (PART THREE)