oryx介绍

Hadoop软件供应商Cloudera去年收购了一家总部位于伦敦的新兴企业Myrrix——但在此之后无论是买家还是卖家在机器学习技术方面都开始归于沉寂。不过无论如何,Myrrix公司的技术方案加上其创始人Sean Owen可能已经足以值回票价。

  Owen目前的正式头衔为数据科学部门主管,目前他正专注投身于名为Oryx的开源机器学习项目当中。(Oryx意思是剑羚、属于非洲羚羊的一类分支,Cloudera在售的产品中则有一款名为Impala——即黑斑羚)。Oryx的开发意图在于帮助Hadoop用户构建机器学习模式并将其加以部署,这样我们就能够以实时方式查询并获取其结果——例如将其作为垃圾邮件过滤器或者推荐引擎的组成部分。在理想状态下,Oryx能够在接纳输入数据流的同时对自身进行更新。

  Owen将此称为Hadoop传统探索性分析(即利用数据寻找可资利用的模式)与运营性分析在最佳有效点方面的区别。“一旦弄清了网站运作的既定模式,我可能会希望利用这部分资源实现其它诉求,”他解释道。“……我们应该在Hadoop当中建立一系列规模化模式,同时也对这些模式进行规模化实施。”

  作为Hadoop当中实现机器学习模式创建的传统途径,Apache Mahout“已经走到了发展道路的尽头,”Owen指出。它还停留在第一代MapReduce所采用的纯批量处理时代,而且要求用户承担起大量工作以保证工作系统能够落实到位。“Myrrix(属于Mahout的重新编写成果)实现了我长久以来对Mahout的种种期望,”他表示,并补充称如果Mahout真的运作良好、那么Cloudera可能根本不会决定收购Myrrix。Oryx项目当中约有九成代码取向Myrrix,当然其中也包含一部分在被Cloudera收购后才添加进去的代码。

  开放而且简便的推荐引擎

  比起构建一套体积庞大的机器学习算法库,Owen将精力主要放在了四大要素身上——回归、分类、聚类与协同过滤(又名推荐)。Owen表示最后一项也是目前人气最高的设计特性,而且他也与Cloudera的多位客户展开合作、希望利用Oryx实现推荐系统。事实上,约有80%的Oryx用户都希望借此建立自己的推荐引擎。

  将Oryx作为创建推荐系统的标准化工具为该项目带来了极高人气。当然,在Netflix、Amazon以及几乎其它任何一个知名网站上,推荐系统都属于标准配置——不过目前标准类型的数量少得惊人,而开源工具的意义就在于弥合这种欠缺。

  目前的状况还称不上是什么竞赛,但确实已经有多方参与到标准推荐机制的开发工作中来。举例来说,云计算新兴企业Mortar Data目前正在寻求合作伙伴、希望通过十五家企业联手(免费)在多位知名数据科学家的帮助下建立起定制化推荐引擎。该公司的这一项目于去年正式启动,他们计划借此找到足以改进其开源推荐框架的最佳实践方案。而Expect Labs等其它企业虽然没有选择开源道路,但也同样在尝试通过人工智能API实现自动推荐效果。

  还只是个项目而非产品

  Owen认为Cloudera的所有客户(基本上都属于Hadoop用户)都希望能够最终获得运营性机器学习方案——而非仅仅满足于推荐引擎——Oryx则很可能成为帮助他们实现愿望的关键性工具。不过他同时强调称,“在某种程度上,Oryx仍然属于实验性项目。”

  举例来说,目前Owen正将大量时间投入到Apache Spark的代码贡献工作当中,因为他打算通过重新编写Oryx使Spark成为一套足以取代MapReduce的首选处理框架。“从机器学习的角度来看,Spark拥有大量极具吸引力的特性,”他表示。“……我更愿意把自己的主要精力放在这里。”

  他的决定其实代表了很多技术人员的心声。正如我们之前所说,Spark正在逐步成为下一代大数据应用程序当中的代表性方案,而包括Cloudera以及Hortonworks在内的多家企业正积极将其打造为代表Hadoop未来的重要解决方案。Cloudera公司CEO Tom Reilly将联同其它大数据企业CEO、数据科学家以及CIO共同参加今年三月的结构数据大会,探讨Hadoop平台的下一步发展方向以及Spark在其中扮演的角色、外加足以转变业务及社交模式的机器学习实际应用。

  不过虽然作出这么多承诺,Owen却并不认为Oryx能在短时间之内在Cloudera的Hadoop改造版或者相关产品当中发挥实际作用。“客户需要指导、服务以及培训,而这些需求将以软件形式予以交付,”他表示。不过就目前来看:“这些距离真正实现还有很长的路要走。”

  “现在要让庞大的Hadoop消费市场接受数据科学都还为时过早,”他解释道,“更不用说运营性实时机器学习方案了。


参考:
http://storage.chinabyte.com/134/12873634.shtml