算法统治世界。
好吧,最起码算法统治互联网。但是鉴于互联网即将统治世界,所以这句话也没错。算法决定了你用Google搜索的结果,算法决定了新浪微博侧栏向你展示的话题,算法决定了Netflix向你推荐的电影,算法决定了你QQ对话窗弹出的横幅广告。技术巨头花费了大量时间来研究新算法以及调整旧算法。但是有些现成的算法却罕有人知晓—那些学院的计算机科学研究人员花费数年开发的算法,哪怕对工程师们非常有用,在学术圈以外却很少有人能看到。
在微软帮助开发Excel、Power Pivot等工具的数据分析功能的Diego Oppenheimer太清楚了这一点了。他一直在寻找更好的算法以便集成到应用中,最后却是众里寻她千百度,那人却在灯火阑珊处—往往答案就在微软研究院那里。于是他感慨,很多别人已经研究多年的算法自己却从未听说过。
而另一方面,Oppenheimer正在南加州大学攻读人工智能博士学位的大学好友Kenny Daniel却有另一种苦衷:尽管自己已经发表了多个深受学术界欢迎的算法,但这些算法却没什么机会应用到实际中。因此两人一拍即合,决定搭档解决双方的共同问题。组建一个算法的“应用商店”—Algorithmia。
其想法是让算法发明者有机会将自己的工作运用到实际环境中,并且拿到钱,同时也能让其他没有微软、Google那么多资源的公司更容易进入算法开发的世界里,为自己的问题找到最佳解决方案。
当前,此前已经有一些算法市场了,比方说提供广告投放算法的DataXu,专门卖预制预测模型的SnapAnalytics,以及专注于机器学习算法的Algorithms.io。但Algorithmia的不同之处在于它接受并销售所有类型的算法。另一个就是而Stephen Wolfram鼎鼎大名的Mathematica Online,这个云服务版的数学软件也集成了许多算法,不过它更多的是自行开发的算法。
机制
算法也能卖吗?这个东西如何避免被复制?
建立一个算法市场并非易事。实际上,哪怕你在学术论文上能找到想用的算法,但是算法的实现往往很难。而且授权算法给用户使用也是个问题。
Algorithmia靠云服务解决这两个问题。一旦用户找到想用的算法,只需添加几行简单的算法查询代码到应用中,Algorithmia的服务器就会引导应用查询给算法实现,返回结果,从而避免了要把集成算法进应用的需要。查询的成本则要看算法作者的定价。
此外,算法作者也可以选择将自己的算法开源,这样开发者就可以直接把算法集成到自己的应用中,不过Algorithmia希望云服务的便利性能更令其值得用户付钱。不过这么做的缺点是用户必须把数据发送给Algorithmia的服务器进行处理。因此这一方面会有数据暴露的隐患,另外就是数据量大的话可能会有性能的问题。
Algorithmia的做法是向若干云服务提供商要资源,比方说Amazon、Rackspace等,这样可以保证大部分用户的性能。此外,他们也计划向一些有数据中心的公司提供本地版。
算法的Yelp
分析顾问兼培训师Ajay Ohri期待类似的东西已有多年。现在很多移动应用的开发者都可以通过应用商店赚到大钱,但是尽管算法的开发困难且有些十分有用,但算法开发者却很难赚钱。因此他一直希望有个地方也能让这群人赚钱,哪怕只有应用开发者的一点点也好。
但是鉴于Algorithmia仍处于私测阶段,这个服务是否就是他期待的解决方案尚不得而知。他的希望是Algorithmia能发展成像点评网站Yelp那样变成算法的点评网站。其观点是帮助开发者选择最好的算法甚至比市场组件本身还要重要,因为最适合应用的算法的确定是非常困难的。而Algorithmia的确有类似应用商店的评级和评论功能。