百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。
百度为何开源深度机器学习平台?
有一系列领先优势的百度却选择开源其深度机器学习平台,为何交底自己的核心技术?深思之下,却是在面对业界无奈时的远见之举。
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识别、人脸识别以及计算效率提升上发布了多个成熟产品。的更多相关文章
- 机器学习开源项目精选TOP30
本文共图文结合,建议阅读5分钟. 本文为大家带来了30个广受好评的机器学习开源项目. 640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1 最近,Mybridge发布了 ...
- 2016年GitHub排名前20的Python机器学习开源项目(转)
当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...
- GitHub排名TOP30的机器学习开源项目/贪心学院
对于机器学习者来说,阅读开源代码并基于代码构建自己的项目,是一个非常有效的学习方法.看看以下这些Github上平均star为3558的开源项目,你错了哪些? 1. FastText:快速文本表示和文本 ...
- GitHub排名TOP30的机器学习开源项目
对于机器学习者来说,阅读开源代码并基于代码构建自己的项目,是一个非常有效的学习方法.看看以下这些Github上平均star为3558的开源项目,你错了哪些? 1. FastText:快速文本表示和文本 ...
- 百度最热门31款开源项目:ECharts火爆了!
本文为大家整理了百度开源的热门项目,看看有没有感兴趣的,排名顺序按照 Github ★Star 数排列. 0.一个纯 Java 的图表库 ECharts★Star 19690 ECharts,一个纯 ...
- 深度学习库 SynapseML for .NET 发布0.1 版本
2021年11月 微软开源一款简单的.多语言的.大规模并行的机器学习库 SynapseML(以前称为 MMLSpark),以帮助开发人员简化机器学习管道的创建.具体参见[1]微软深度学习库 Synap ...
- 机器学习 Top 20 Python 开源项目
转自:http://mp.weixin.qq.com/s?__biz=MzA4MjEyNTA5Mw==&mid=2652565022&idx=1&sn=9aa035097120 ...
- 嵌入式 十个最值得阅读学习的C开源项目代码
开源世界有许多优秀的开源项目,我选取其中十个最优秀的.最轻量级的C语言的项目,希望可以为C语言开发人员提供参考. 十个最值得阅读学习的C开源项目代码 1. Webbench 2. Tinyhttpd ...
- android开源项目学习
FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址:ht ...
随机推荐
- MyBatis - Mapper动态代理开发
Mapper接口开发方法编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象. Mapper接口开发方式是基于入门程序的基础上,对 控制程序 进行分层开发, ...
- Python学习day15-函数进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- 封装了一个HOOKAPI的类。。。
我惊奇地发现,我手竟然这么生了..... 很久很久没有写这方面的东西,现在写着竟然这么手生....哎.... 这玩艺,还得天天练....
- oracle日志
UTL_FILE.FOPEN(location in varchar2, filename in varchar2, open_mode in varchar2) return FILE_TYPE; ...
- 使用Log4net把日志写入到SqlServer数据库
1.官网URL: http://logging.apache.org/log4net/ 2.配置文件参照URL: http://logging.apache.org/log4net/release/c ...
- pandas一些基本操作(DataFram和Series)_1
##生成一个一维数组import numpy as np;nb7 = np.arange(0,100,2);print(nb7)print("======================== ...
- java中生成不重复随机的数字
Java中产生随机数 1 . 调用java.lang下面Math类中的random()方法产生随机数 新建一个文件后缀名为java的文件,文件名取为MyRandom,该类中编写如下的代码: publi ...
- HZOI20190820模拟27题解
A. 小奇挖矿2 显然的O(m)dp:$f[i]=max(f[i-4],f[i-7])+a[i]$,当然你要保证i,i-4,i-7都能到达 #include<iostream> #incl ...
- ACM常用的Java代码
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) thr ...
- 在skyline中将井盖、雨水箅子等部件放到地面模型上
公司三维建模组遇到这样的一个问题,怎样将井盖.雨水盖子恰好放在做好的地面模型上.传统的方法是在skyline中逐个调整井盖的对地高度,就是调整为恰好能放在地面上.或者选择很粗糙的一个方法,在“高度”属 ...