logo

两大开源平台、九个基金会项目,走进百度开源的2020

作者:罗****e2021.01.05 22:37浏览量:3600

简介:百度开源2020年,两大平台和捐赠基金会的九个项目的重要进展。截止目前,百度已在Github主导的18个开源组织累计开源项目1,023个。

导读

“从 2009 年大规模定制 Hadoop 到 2013 年第一个前端可视化产品 ECharts率先开源,再到2016年和2017年分别正式对外开源飞桨(PaddlePaddle)、Apollo两大平台。

截止目前,百度已在Github主导的18个开源组织累计开源项目1,023个、社区贡献者20,000+、获得Star总数210,000+,并向Apache基金会、Linux基金会、CNCF、开放原子基金会累计捐赠9个项目。”

截止2020年底,在GitHub/Gitee百度官方组织下,已围绕着安全、监控、知识图谱、网络与接入、视觉、量子计算、开发框架等20个技术领域开源86个项目,其中自然语言处理、开发框架与前端领域的开源项目数占比超过50%。

 

1)、飞桨PaddlePaddle

【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同城、国家电网、昆仑数智,宁德时代等(排名不分先后)

2)、Apollo

【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个国家,58000多名开发者,涵盖221多所高校,308多家科技公司,57多家车企。目前,社区累计发布内容超过1200篇,其中开发者贡献内容60余篇。此外,面向自动驾驶行业开发者的研发产品——Apollo自动驾驶开发套件(Apollo D-KIT),已为100多家高校、科研机构及行业伙伴提供研发支持。作为全球最大自动驾驶开放平台,Apollo拥有生态合作伙伴达210家,几乎囊括全球主流汽车制造商、一级零部件供应商、芯片公司、传感器公司、交通集成商、出行企业等,覆盖从硬件到软件的完整产业链。

截止目前,Apollo测试车队规模已达500辆级别,获得专利数2900件,测试里程总计超过700万公里,获得测试牌照总计近200张,其中载人测试牌超过120张。同时,百度还将北京市自动驾驶测试管理联席小组发布的首批T4级别自动驾驶测试牌照收入囊中,成为中国第一家、也是唯一获得此级别牌照的企业。2020年3月份,全球知名调研机构NR,将Apollo列为全球自动驾驶领域四大“领导者”之一。

Apollo依靠合作共赢的开放平台,带动全球的开发者、汽车制造商、百余家高校,互惠互利,造福人类发展。

 

1)、XuperChain

【项目地址:https://github.com/xuperchain/

 2019年5月,百度基于持续多年在区块链技术与应用领域的研究与探索,推出了完全自主知识产权的区块链底层技术——超级链(XuperChain)并正式开源,现已成为国内最具影响力的区块链开源技术之一,其具有四大核心技术亮点如下:

  • 高度易用:多语言智能合约支持、多语言sdk+合约模板;详解全面文档中心;IDE、浏览器、可视化管理工具等;7*24H技术客服+繁荣生态支持;

  • 超高性能:超级节点技术;链内并行技术;存储、计算可水平扩展;合约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余家企业机构及平台,提供底层技术服务与区块链解决方案。

2)、Apache Echarts

  

【项目地址: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 软件基金会的顶级项目,必将以更为成熟、开放的姿态,来迎接新的挑战和机遇。

3)、Apache Doris

 

【项目地址: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+行业优秀企业。

4)、Apache Teaclave (incubating)

【项目地址: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 安全计算生态。

 

5)、Apache brpc(incubating)

【项目地址: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、备份请求支持熔断器。

6)、BFE

【项目地址: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

7)、Baetyl

【项目地址: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 上,所以整体的资源开销会有增加。

  • 边缘框架将来会支持边缘节点集群。

8)、IME

【项目地址: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,旨在把机器设备管理、监控采集、开机环境初始化、软件包部署管理等主要功能集成于一身,精简功能满足轻量化要求。

  • 边缘节点自治,使得即使边缘节点在与中心机房断连甚至中心机房宕机的情况下,也可以确保边缘节点上的感知算法依旧能正常运转。

9)、EDL

【项目地址:https://github.com/elasticdeeplearning/edl

EDL是一个基于Kubernetes的原生深度学习框架,它支持大规模分布式训练任务的容错和弹性缩放。EDL基于Kubernetes优先级的抢占功能,实现了深度学习任务的弹性调度。深度学习模型训练和具有弹性资源的推理将在云上很常见,诸如Amazon AWS,百度云之类的云计算资源具有多租户。 

在提出了弹性深度学习(EDL),该方法使在云上进行深度学习模型的训练和推理变得更加轻松和高效。现在,EDL是LF AI基金会的孵化阶段项目。最新版本(0.3.1):

  • 在训练过程中通过推理型服务支持弹性训练,例如知识蒸馏

  • infernce服务通过EDL中的服务发现自动注册

  • 计算机视觉和自然语言处理中的知识蒸馏示例

相关文章推荐

发表评论