两大开源平台、九个捐赠项目,走进百度开源的2020
- 2021-01-05 19:50:00
- 刘大牛 转自文章
- 231
“从 2009 年大规模定制 Hadoop 到 2013 年第一个前端可视化产品 ECharts 率先开源,再到 2016 年和 2017 年分别正式对外开源飞桨(PaddlePaddle)、Apollo 两大平台,截止目前,百度已在 GitHub 主导的 18 个开源组织累计开源项目 1023 个、社区贡献者 20000+、获得 Star 总数 210000+,并向 Apache 基金会、Linux 基金会、CNCF、开放原子基金会累计捐赠 9 个项目。”
01 20 个技术领域持续开源
截止 2020 年底,在 GitHub/Gitee 百度 官方组织下已经围绕着安全、监控、 知识图谱 、网络与接入、视觉、 量子计算 、开发框架等 20 个技术领域开源了 86 个项目,其中 自然语言处理 、开发框架与前端领域的开源项目数占比超过 50%。
百度 开源 GitHub 组织:https://github.com/baidu
百度 开源 Gitee 组织:https://gitee.com/baidu
02 飞桨(PaddlePaddle)、Apollo 已快速成长为行业领先者
【Github 项目地址:https://github.com/paddlepaddle】
【Gitee 项目地址:https://gitee.com/paddlepaddle】
飞桨 (PaddlePaddle) 以 百度 多年的 深度学习 技术研究和业务应用为基础,是中国首个自主研发、功能完备、开源开放的产业级 深度学习 平台,集 深度学习 核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。目前,飞桨累计开发者 265 万,服务企业超过 10 万家,基于飞桨开源 深度学习 平台产生了 34 万 + 个模型。飞桨助力开发者快速实现 AI 想法,快速上线 AI 业务。帮助越来越多的行业完成 AI 赋能,实现产业智能化升级。
飞桨生态社区建设:GitHub 的所有仓库(repo)累计 star 数量 55000+(2020 年新增 30000+),累计 commits 超过 16 万次,开源贡献者超过 5000+,飞桨开发者技术专家(PPDE)97 位,飞桨特别兴趣小组(PPSIG) 7 个。
2020 年发版情况如下:
【 1.7.0】版本对框架功能层面进行了重点增强,预测部署能力全面提升,分布式训练发布 PLSC 支持超大规模分类,并对参数服务器模式进行优化整合;
【 1.8.0】版本深度优化了命令式编程模式(动态图)的功能、性能和体验,框架基础功能也进一步强化;全新发布量桨 Paddle Quantum 量子机器学习 框架;
【2.0-RC1】飞桨核心框架重要升级,先后发布了 2.0-alpha、2.0-beta、2.0-rc0、2.0-rc1 共计 4 个版本。2.0 版本为开发者提供了 “编程一致、动静统一” 的全新开发体验,动态图功能走向成熟、API 进行了全面升级,同时动静统一的编程体验将为深度概率编程、 量子机器学习 等前沿学术研究提供更好的支持。
12 月 20 日,在 WAVE SUMMIT+2020 深度学习 开发者峰会上,飞桨全新发布 PaddleHelix 螺旋桨生物计算平台;推出业内首个通用异构参数服务器架构;开源算法库全面升级,官方算法数量从 140 + 扩展至 200+;飞桨硬件生态伙伴达到 20 家,适配或者正在适配的芯片 / IP 型号 29 种。飞桨提供了开源 深度学习 平台自主可控的坚实底座,加速 AI 产业生态构建。
在企业应用方面,飞桨已经在产业界广泛应用,合作伙伴包括但不限于:中国电信、联通、工行、小米、OPPO、58 同城、国家电网、昆仑数智,宁德时代等(排名不分先后)
【Github 项目地址:https://github.com/ApolloAuto】
【Gitee 项目地址:https://gitee.com/ApolloAuto】
Apollo 开放平台是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 Apollo 平台是 百度 重点打造的 AI 开放平台之一,包括有多个算法模块:定位、感知、车辆规划控制。
自 2017 年开源以来,发布了 9 个版本,从简单循迹出发,逐步增加支持高速场景自动驾驶、城市场景自动驾驶。随着技术的发展,平台里也增加了学术前沿领域的智能新模型,同时平台系统以及相关基础软件也进行了整体性的升级。Apollo 平台今年发布了 6.0 版本,主要功能包含:
智能新模型 :基于语义地图的规划 模仿学习 模型, 模仿学习 老司机,提升动态避障能力;
安全无人化:支持远程平行驾驶接口,监测通信设备状态,压缩传输视频和音频信号,保持稳定的通讯连接,接受远程操作指令,下发规划控制指令操作车辆;音频检测紧急车辆,通过多声道麦克风捕捉音频,判断紧急车辆方位,判断紧急车辆靠近或远离;
系统升级 Bazel、Python、C++、GCC、CUDA、PCL、Pytorch、TensorRT 等基础软件;
开放新服务,整合 Dreamland 和 Fuel,统一服务入口;整合离散服务,由单个服务到联动服务;
V2X 车路协同,车路协同升级,首发对象级别的车端感知与路侧感知融合特性。
2020 年,Apollo 开发者社区已拥有来自全球 97 个国家,55000 多名开发者,涵盖 221 多所高校,308 多家科技公司,57 多家车企。目前,社区累计发布内容超过 1200 篇,其中开发者贡献内容 60 余篇。此外,面向自动驾驶行业开发者的研发产品——Apollo 自动驾驶开发套件(Apollo D-KIT),已为 100 多家高校、科研机构及行业伙伴提供研发支持。作为全球最大自动驾驶开放平台,Apollo 拥有生态合作伙伴达 210 家,几乎囊括全球主流汽车制造商、一级零部件供应商、芯片公司、传感器公司、交通集成商、出行企业等,覆盖从硬件到软件的完整产业链。
截止目前,Apollo 测试车队规模已达 500 辆级别,获得专利数 2900 件,测试里程总计超过 700 万公里,获得测试牌照总计近 200 张,其中载人测试牌超过 120 张。同时, 百度 还将北京市自动驾驶测试管理联席小组发布的首批 T4 级别自动驾驶测试牌照收入囊中,成为中国第一家、也是唯一获得此级别牌照的企业。2020 年 3 月份,全球知名调研机构 NR,将 Apollo 列为全球自动驾驶领域四大 “领导者” 之一。
Apollo 依靠合作共赢的开放平台,带动全球的开发者、汽车制造商、百余家高校,互惠互利,造福人类发展。
03 累计向 4 大基金会捐赠了九个开源项目
项目地址:https://github.com/xuperchain/
2019 年 5 月, 百度 基于持续多年在 区块链 技术与应用领域的研究与探索,推出了完全自主知识产权的 区块链 底层技术——超级链(XuperChain)并正式开源,现已成为国内最具影响力的 区块链 开源技术之一,其具有四大核心技术亮点,如下:
高度易用:多语言智能合约支持、多语言 sdk + 合约模板;详解全面文档中心;IDE、浏览器、可视化管理工具等;7X24H 技术客服 + 繁荣生态支持;
超高性能:超级节点技术;链内并行技术;存储、计算可水平扩展;合约 ACL 背书验签技术;
高可扩展:动态内核技术保证架构上高可扩展;多引擎架构技术保证核心流程和技术选型可按场景订制;超级节点技术保证存储和计算上高可扩展;
高可用性:超级链开放网络多节点长期运行验证,稳定性>=99.99%;14w 节点广告聚屏案例生产环境检验;
2020 年 9 月,超级链成为首个捐赠给开放原子开源基金会的项目。
2020 年 10 月,开放原子开源基金会宣布成立国内首个 区块链 开源工作组,工作组由 百度 发起,与浪潮、招商银行等知名企业共同成立,在开放原子开源基金会指导下进行 区块链 相关事务的专项管理。
2020 年 XuperChain 项目累计获得 Star 数 1266 个,Fork 287 次,代码提交次 660 次,贡献者 37 人,全球开发者使用数量 10,000 + 次,外部代码贡献 20%+,版本 迭代 12 次,技术专利发布 425 篇,社群人数达 10,000 人。在架构、功能、性能上也有较大的提升:
架构:内核技术 XuperCore 独立发展,依托动态内核技术,实现广域场景适用;
功能:落地了国密算法、合约事件、EVM 虚拟机等实用功能;持续完善联盟场景支持,完成了 XPoA 共识、静态 P2P 网络、平行链群组技术等技术的落地;
易用性:智能合约语言支持 JAVA、Solidity 等语言;智能合约 SDK 支持跨链、可信计算等高级功能;
同时今年完成了适配 BSN 区块链 网络服务底层,还将全新升级的 百度 超级链内核 XuperCore 作为 区块链 开源工作组的内核技术。为信浦存证平台、链上巨鹿政务服务、 百度 文库、百信银行、浦发银行、北京互联网法院等 20 余家企业机构及平台,提供底层技术服务与 区块链 解决方案。
项目地址:https://echarts.apache.org/
2020 年, 百度 继续深度参与 Apache ECharts 的项目开发及社区建设工作,保持着稳定的发版节奏,并在年底发布了全新重量级的 Apache ECharts 5,在最新版本中,实现了五大模块、十五项特性的全面升级。此外,经过两年时间 Apache Way 的学习和开源社区的建设,ECharts 于 2020 年 12 月正式从 Apache 软件基金会毕业,成为顶级 Apache 项目,也是首个 百度 捐赠到 Apache 基金会中毕业的项目。
在最新大版本 Apache ECharts 5 中,重点围绕图表的叙事能力,在动态叙事、视觉设计、交互能力、开发体验以及可访问性等方面做了专项优化升级,帮助开发者更方便地创建具有强大叙事能力的图表:
动态叙事:叙事功能提供了更简便的方式以展现数据在时间维度上的发展变化;
视觉设计:根据可视化理论优化设计,提高信息墨水比,让读者更专注在重要的数据信息;
交互能力:多状态设计让读者参与交互,交互的丰富性和流畅性使得用户更深刻理解数据之间的关联;
开发体验:默认更强大更好用,让开发者无需为性能、数据处理等问题分心,更高效地专注在传递信息
可访问性:无障碍设计让视觉障碍人士能够平等了解图表传递的信息。
随着产品不断迭代,以及社区发展上的发力,给 Apache ECharts 带来了开发者的持续增长。在 npm 上,Apache ECharts 的每周下载量约为 25 万,较去年同期增长 40%。项目在 Github 的关注数(star)增加到 4.4 万,较去年同期增长 15%。
为了使产品能够可持续地健康发展,团队积极引导开发者参与到社区贡献中,通过优化开发文档、建立新手任务、悉心指导 pull request 等方式,降低开发者参与开源共建的门槛,让更多人能够加入到社区贡献中。在 2020 年,项目新发展 5 个 Apache Committer,2 个 Apache PPMC。在 Github 的累计贡献者数量超过了百位。
在 ApacheCon 2020 上, 百度 资深研发工程师出席分享了 Apache ECharts 在过去的一年中在产品和社区建设方面取得的进展,也让更多海外的开发者了解到 ECharts。在许多国外社交平台上,越来越多的用户自发地对 ECharts 发表积极评价并向其他人推荐。产品本身的质量成为口碑营销的有力途径。
在 2021 年,Apache ECharts 作为 Apache 软件基金会的顶级项目,必将以更为成熟、开放的姿态,来迎接新的挑战和机遇。
项目地址:https://github.com/apache/incubator-doris
Apache Doris(原 百度 Palo )是一款基于大规模并行处理技术的分布式 SQL 数据仓库,由 百度 在 2017 年开源,2018 年进入 Apache 孵化器。专门应对高并发、低延时的 Pb 级实时数据仓库使用场景,全面兼容 MySQL 协议,可以毫秒级针对亿万级数据进行及时的多维分析透视和业务探查。
在 2020 年,Star 数增长 668,Contributor 增长 65,在 Apache 社区保持着平均每个季度发布一个大版本,每周发布一个 3 位版本。4 月发布 0.12.0 版本、11 月发布 0.13.0 版本。今年新增加 14 个新 feature:
全新的存储格式 SegmentV2;
Spark on Doris;
明细模型上的物化视图功能;
支持 ORC 格式数据的导入;
动态分区;
差集、交集、Grouping Set;
大查询落盘;
物化视图支持 bitmap_union, hll_union 和 count;
Spark 导入;
RoutineLoad 和 StreamLoad 支持新的数据格式:Json;
修改 RoutineLoad;
Logstash 插件;
支持查询结果输出到文件;
在 delete 语句中支持谓词。
目前,Doris 用户涵盖字节跳动、美团、小米、京东、微博、快手、贝壳找房、爱奇艺等 100 + 行业优秀企业。
项目地址:https://teaclave.apache.org/
Apache Teaclave (incubating)是全球首个通用安全计算平台,为隐私数据计算赋能,让安全计算更简单。Teaclave 基于硬件安全能力(Intel SGX),确保敏感数据在可信域外和离岸场景下安全可控的流通和处理,无需担心隐私数据泄露和滥用。同时,Teaclave 还支持多方参与的联合计算,打破企业和组织中的数据孤岛。Teaclave 于 2019 年 8 月进入 Apache 基金会孵化器,2020 年 10 月,Teaclave 社区正式通过并发布了 0.1.0 版。
2020 年发布首个 Apache Incubator 版本 0.1.0,启动了对项目的重构计划,同时对整个项目代码 和交互的梳理,0.1.0 的发布是项目从诞生到成长的第一步。
在以下几个方面做了代码重构和功能特性完善:提供了更完善的函数和数据注册执行,重新设计的函数的 开发流程,支持兼容 protobuf 的 RPC 定义接口,支持分布式执行服务,支持自定义执行 器,提供更佳完善的文档,重新设计了错误处理机制,完善测试框架和测试用例,实现了更 多的内置函数,支持了更加灵活的远程证实方式(DCAP),重新设计 RPC 方式等等。
更详细的修改可以看版本发布文档。这次发布一共修改了 876 个源文件,新增了 78,237 行代码,删除了 54,846 行代码,并且在 GitHub issue 上解决了来自社区的 102 个问题。详情可见 0.1.0 发布文档:
https://teaclave.apache.org/blog/2020-10-28-announcing-teaclave-0-1-0-cn/
截止目前,Github 上 Teaclave 项目 star 数 1,205 个,新增一名 commiter,累计支持厂内多个团队业务以及数十家外部开源项目,建立了健康、可持续的开源社区和 Teaclave 安全计算生态。
项目地址:https://github.com/apache/incubator-brpc
Apache brpc(incubating)是一个用来构建高可用和高性能后台服务的企业品质的 RPC 开发框架,在 百度 内部应用的非常广泛,在多个核心业务上都有应用。
自 2017 年从 百度 对外开源,2018 年成为 Apache 开源基金会孵化项目后,越来越多的公司在使用它,包括爱奇艺,B 站,小米,蚂蚁等。同时,也有更多的同学对这个项目作出贡献。是 百度 内最常使用的工业级 RPC 框架, 有 1,000,000 + 个实例 (不包含 client) 和上千种多种服务。
"brpc" 的含义是 "better RPC"。其特性:
囊括 百度 内部所有 RPC 协议,支持多种第三方协议;
模块化设计,层次清晰,很容易添加自定义协议;
全面的服务发现、负载均衡、组合访问支持;
可视化的内置服务和调试工具;
性能上领跑目前其他所有 RPC 产品。
项目今年新增一名 commiter,累计 star 数 11,000 个,fork2,700 次,发布了 0.9.7 新版本:内置服务支持火焰图、增加 gdb bthread 堆栈查看工具、适配 arm64、支持 redis 协议 server、备份请求支持熔断器。、
项目地址:https://github.com/bfenetworks/bfe
BFE(Beyond Front End),是现代的七层负载均衡和流量转发引擎。BFE 目前已接入 百度 大部分流量,每日转发请求接近 1 万亿,峰值 QPS 超过 1000 万。BFE 于 2019 年 7 月正式开源,并获得了广泛的关注。
2020 年 6 月 24 日,BFE 开源项目被 CNCF (Cloud Native Computing Foundation,云原生计算基金会)正式接纳为 Sandbox Project。这是 百度 第一个被 CNCF 接纳的开源项目,也是在网络方向上中国第一个被 CNCF 接纳的开源项目。
2020 年 BFE 完成 7 次版本发布。截止 12 月 29 日,获得 4,213 个 Stars,较 2019 年 12 月约增长 40%。新增 Contributer50 位。增加多个新的 feature,其中重点功能包括:
Mac 和 Windows 环境编译支持;
用户限流功能;
客户端认证, JWT 认证以及对接第三方认证服务;
请求的 tagging 功能;
分布式 tracing;
DoH(DNS over HTTPS)请求和 EDNS;
TCP 连接的 Proxy;
gRPC over HTTP/2。
项目地址:https://github.com/baetyl
Baetyl 是 Linux Foundation Edge 旗下的 边缘计算 项目,旨在将 云计算 能力拓展至用户现场。 提供临时离线、低延时的计算服务,包括设备接入、消息路由、数据遥传、函数计算、视频采集、AI 推断、状态上报、配置下发等功能。
在 2019 年 9 月 23 日, 百度 宣布将 BAETYL 捐赠给 Linux 基金会旗下社区,是首个 LF Edge 捐赠项目。BAETYL 名字源自希腊语βαίτυλος (baítulos),字面意思是 House of God,古代指赋予万物生命的圣石。借此意希望该项目能成为赋予万物智能的基石,让 ABC Anywhere。
今年 6 月 Baetyl 正式发布 2.0 版本,Baetyl v2 提供了一个全新的边云融合平台,采用云端管理、边缘运行的方案,分成 边缘计算 框架和云端管理套件两部分,支持多种部署方式。可在云端管理所有资源,比如节点、应用、配置等,自动部署应用到边缘节点,满足各种 边缘计算 场景,特别适合新兴的强边缘设备,比如 AI 一体机、 5G 路测盒子等。v2 和 v1 版本的主要区别如下:
边缘和云端框架全部向云原生演化,已支持运行在 K8S 或 K3S 之上;
引入声明式的设计,通过影子(Report/Desire)实现端云同步(OTA);
边缘框架暂不支持进程(native)运行模式,由于运行在 K3S 上,所以整体的资源开销会有增加;
边缘框架将来会支持边缘节点集群。
项目地址:https://gerrit.akraino.org/r/
IME,Intelligent Mobile Edge,智能移动边缘,立足 5G ,以 AI + 视频为抓手,借助软硬一体的 边缘计算 平台能力,构建行业解决方案底座,屏蔽产业转型期的典型问题,通过开放合作和协同创新,支撑企业快速构建各种行业的解决方案,助力产业快速智能化转型。
IME 项目源自 百度 5G 移动边缘产品,于 2019 年 5 月在 Github 开源,并于 2019 年 9 月贡献给 LF Edge Akraino 社区,成为国内首批进入 LF Edge Akraino 并孵化的 边缘计算 平台之一。
目前,IME 已经进入 LF Edge Akraino 第三个正式的版本,正在准备成熟度审核及 Release 4 的相关工作,即将成为 Akraino 核心项目。IME 最新版本(V3.0):
边缘集群轻量化,在资源有限的边缘节点能够使得 IME 组件尽量少得占据计算资源,为业务让位;
多集群管理,目的是通过多层级的分级自治管理,实现一次部署下发,全量集群实现部署的功能;
多功能自动化交付组件——kube-sitter,旨在把机器设备管理、监控采集、开机环境初始化、软件包部署管理等主要功能集成于一身,精简功能满足轻量化要求;
边缘节点自治,使得即使边缘节点在与中心机房断连甚至中心机房宕机的情况下,也可以确保边缘节点上的感知算法依旧能正常运转。
项目地址:https://github.com/elasticdeeplearning/edl
EDL 是一个基于 Kubernetes 的原生 深度学习 框架,它支持大规模分布式训练任务的容错和弹性缩放。 EDL 基于 Kubernetes 优先级的抢占功能,实现了 深度学习 任务的弹性调度。 深度学习 模型训练和具有弹性资源的推理将在云上很常见,诸如 Amazon AWS, 百度 云之类的 云计算 资源具有多租户。
在提出了弹性 深度学习 (EDL),该方法使在云上进行 深度学习 模型的训练和推理变得更加轻松和高效。现在,EDL 是 LF AI 基金会的孵化阶段项目。最新版本(0.3.1):
在训练过程中通过推理型服务支持弹性训练,例如 知识蒸馏 ;
infernce 服务通过 EDL 中的服务发现自动注册;
计算机视觉 和 自然语言处理 中的 知识蒸馏 示例。
联系人: | 透明七彩巨人 |
---|---|
Email: | weok168@gmail.com |