百度为何开源深度机器学习平台?

 

有一系列领先优势的百度却选择开源其深度机器学习平台,为何交底自己的核心技术?深思之下,却是在面对业界无奈时的远见之举。

 

5月20日,百度在github上开源了其深度机器学习平台。此番发布的深度机器学习开源平台属于“深盟”的开源组织,其核心开发者来自百度深度学习研究院(IDL),微软亚洲研究院、华盛顿大学、纽约大学、香港科技大学,卡耐基·梅陇大学等知名公司和高校。

通过这一开源平台,世界各地的开发者们可以免费获得更优质和更容易使用的分布式机器学习算法源码,从而大幅降低开发和部署分布式机器学习系统及相关应用的门槛。包括今日头条、汽车之家等在内的多家公司已经通过该开放平台受益。

作为在人工智能布局较早的玩家,百度拥有领先业界的实力。从2013年百度深度学习研究院(IDL)的创建及2014年Andrew Ng的加盟至今,百度DMLC分布式深度机器学习开源项目(简称“深盟”)已在深度学习的多个应用领域做过探索,上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。

而具有一系列领先优势的百度却选择开源其深度机器学习平台,为何交底自己的核心技术?

深思之下,却是在面对业界无奈时的远见之举。

拥抱世界:开源的魅力

开源,顾名思义,就是开放自己的源代码给别人查阅和使用,尽管看起来很傻,然而诸多历史事实却告诉我们拥抱世界也能让世界拥抱你。

Android的逆袭就是明证,在iOS侵占绝大多数智能手机操作系统的时代诞生,Google选择开源,让早已在苹果面前没有机会的业界见到了希望,至今Android已拥有过半的市场份额,以至于在移动互联网大行其道的今天,Google可以凭借它与旗下产品的整合打造属于自己的强大生态系统。相比之下,生而娇贵的Windows mobile的故事够令人发醒的,终于微软也不得不寄人篱下地去兼容Android和iOS平台应用。此外,作为微软最主要的应用程序框架,微软对.net寄予厚望,希望它的开源可以来到所有平台,进而重现JAVA的光辉历史。这也证明了即使强大如微软也无法凭借一己之力让其产品得到世界的拥抱。

众人拾材火焰高:用平台笼络世界的力量

要实现人工智能,机器必须具备自主学习能力,深度学习作为机器学习领域的重大突破,可以完成具有高度抽象特征的人工智能任务,如自然语言理解等复杂场景,因而备受业界追捧。当然,机器学习领域并不只是有深度学习这一种算法的存在,然而深度学习却有着显著的优势:在数据集足够大的情况下,深度学习拥有最好的预测能力。尽管在算法的选择上仍然存在“杀鸡焉用宰牛刀”的争论,但深度学习算法为人工智能领域注入的强大能力却是其他算法无以比拟的;同时,随着深度学习技术的成熟,诸多传统机器学习算法的淘汰几乎是必然的。然而正如前述,深度学习对大量数据的需求及其本身的复杂性仍然是其发展壮大路上的最大阻碍,也是业界的无奈所在。

百度在此领域发力较早,且在诸多方向上进行了深入的研究,利用深入学习结合自身搜索引擎的大数据让机器翻译及自然语言等技术实现了新的飞跃。然而在面向更广大更具体的应用场景时,任何一个公司都难以满足所有需求。借鉴历史,开放共赢不仅可以把事情做的,也让业界和生态系统得到健康发展。

百度此次开源也是完全奔着建平台去的。完全采用C++语言搭建核心,为平台的稳定高效运行奠定了基础;覆盖了三类最常用的机器学习算法,包括用于点击预测的稀疏线性模型、用于排序的决策树模型以及深入学习,满足了最广大的需求;重点开发的“虫洞”项目将自动构建深盟所有项目,为所有组件提供一致的数据流支持且提供包括Amazon EC2,Microsoft Azure, Google Compute Engine在内的云计算平台兼容支持,降低平台的准入门槛。

开源并入驻Github也进一步强调了其开放的心态和对平台的信心。一系列的动作都是希望让开发者可以获得更优质更容易使用的深入学习算法源码,降低开发和部署深入学习系统及相关应用的门槛,进而利用世界的力量壮大自身。

面对可预料的爆发,技术一定程度上渐发成熟,但也因为各自的技术基因和路线差异,面临着极大的分裂倾向。开放的心态拥抱世界,打造机器学习领域的国际标准,百度的此举既是对前期研究投入的回收保障,更是携手笼络友商,确保自身的话语权所在。

百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。的更多相关文章

  1. 机器学习开源项目精选TOP30

    本文共图文结合,建议阅读5分钟. 本文为大家带来了30个广受好评的机器学习开源项目. 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 最近,Mybridge发布了 ...

  2. 2016年GitHub排名前20的Python机器学习开源项目(转)

    当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...

  3. GitHub排名TOP30的机器学习开源项目/贪心学院

    对于机器学习者来说,阅读开源代码并基于代码构建自己的项目,是一个非常有效的学习方法.看看以下这些Github上平均star为3558的开源项目,你错了哪些? 1. FastText:快速文本表示和文本 ...

  4. GitHub排名TOP30的机器学习开源项目

    对于机器学习者来说,阅读开源代码并基于代码构建自己的项目,是一个非常有效的学习方法.看看以下这些Github上平均star为3558的开源项目,你错了哪些? 1. FastText:快速文本表示和文本 ...

  5. 百度最热门31款开源项目:ECharts火爆了!

    本文为大家整理了百度开源的热门项目,看看有没有感兴趣的,排名顺序按照 Github ★Star 数排列. 0.一个纯 Java 的图表库 ECharts★Star 19690 ECharts,一个纯 ...

  6. 深度学习库 SynapseML for .NET 发布0.1 版本

    2021年11月 微软开源一款简单的.多语言的.大规模并行的机器学习库 SynapseML(以前称为 MMLSpark),以帮助开发人员简化机器学习管道的创建.具体参见[1]微软深度学习库 Synap ...

  7. 机器学习 Top 20 Python 开源项目

    转自:http://mp.weixin.qq.com/s?__biz=MzA4MjEyNTA5Mw==&mid=2652565022&idx=1&sn=9aa035097120 ...

  8. 嵌入式 十个最值得阅读学习的C开源项目代码

    开源世界有许多优秀的开源项目,我选取其中十个最优秀的.最轻量级的C语言的项目,希望可以为C语言开发人员提供参考. 十个最值得阅读学习的C开源项目代码 1. Webbench 2. Tinyhttpd ...

  9. android开源项目学习

    FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址:ht ...

随机推荐

  1. cesium-长度测量和面积测量

    网上找的大神的实现方法有点问题,实现有一些bug,作为cesium新手一个,弃之不忍,只好硬着头皮修改了,不过还好问题不大,再次mark一下,下次就可以直接用了   image.png import ...

  2. IT技术博客

    博客收藏大全: 陈皓博客: 陈硕的博客: 风云的博客: 当然我在扯淡: hellogirl: 田守枝Java技术博客: 廖雪峰博客: Milo游戏开发:

  3. 自建免费的代理ip池

    00x01--- 前言 因为爬虫被禁ip这样的反扒真的很凶,但自从建了一个代理ip池以后,反反扒就可以跟的上节奏.当然你也可以上网上各种代理平台自己付费.这些平台当然很方便提供api调用,还不用自己验 ...

  4. 运行第一个python程序,python 变量,常量,注释

    一.运行第一个python程序: print('Hello,world') 保存为.py文件 在cmd窗口: python3x:python  py文件路径 回车 python2x:python  p ...

  5. neo4j的搭建和实例使用

    一. 简介 neo4j是当今最流行的图数据库,基于 节点+关系 的架构,保存了图形数据的基本元素.同时,数据库也支持通过基础数据元素和独特的CQL查询语法,快速方便的检索.构建复杂的图表关系结果. 二 ...

  6. vue 实现邮戳边缘

    效果: vue: <template> <div class="couponItem"> <div class="itemLeft" ...

  7. python-web-习题

    1.简单描述 webbrowser.requests.BeautifulSoup 和 selenium 模块之间的不同 webbrowser模块有一个 open() 方法,它启动 web 浏览器,打开 ...

  8. CAS(客户端)程序获取安全证书

    以下是获取安全证书的一种方法,通过以下程序获取安全证书: import java.io.BufferedReader; import java.io.File; import java.io.File ...

  9. Linux CentOS6.5安装Nginx1.8.0

    一. 安装nginx 1. 准备1.8.0安装包 nginx-1.8.0.tar.gz 2. 安装第三方依赖 yum install gcc-c++ yum install -y pcre pcre- ...

  10. Makefile知识点

    1.标准Makefile文件示例如下: #把.o .C .cxx .cpp .hxx .h添加到后缀列表中. .SUFFIXES: .o .C .cxx .cpp .hxx .h #设置变量并赋值,方 ...