導讀
「從 2009年大規模定製 Hadoop到 2013年第一個前端可視化產品 ECharts率先開源,再到2016年和2017年分別正式對外開源飛槳(PaddlePaddle)、Apollo兩大平臺,
截止目前,百度已在Github主導的18個開源組織累計開源項目1,023個、社區貢獻者20,000+、獲得Star總數210,000+。並向Apache基金會、Linux基金會、CNCF、開放原子基金會累計捐贈9個項目。」
一、20個技術領域持續開源
截止2020年底,在GitHub/Gitee百度官方組織下已經圍繞著安全、監控、知識圖譜、網絡與接入、視覺、量子計算、開發框架等20個技術領域開源了86個項目,其中自然語言處理、開發框架與前端領域的開源項目數佔比超過50%。
二、飛槳(PaddlePaddle)、Apollo已快速成長為行業領先者
1、飛槳(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
Apollo開放平臺是一個開放的、完整的、安全的平臺,將幫助汽車行業及自動駕駛領域的合作夥伴結合車輛和硬體系統,快速搭建一套屬於自己的自動駕駛系統。 Apollo平臺是百度重點打造的 AI開放平臺之一,包括有多個算法模塊:定位、感知、車輛規劃控制。
自2017年開源以來,發布了9個版本,從簡單循跡出發,逐步增加支持高速場景自動駕駛、城市場景自動駕駛。隨著技術的發展,平臺裡也增加了學術前沿領域的智能新模型,同時平臺系統以及相關基礎軟體也進行了整體性的升級。Apollo平臺今年發布了6.0版本,主要功能包含:
1)智能新模型:基於語義地圖的規劃模仿學習模型,模仿學習老司機,提升動態避障能力。
2)安全無人化:支持遠程平行駕駛接口,監測通信設備狀態,壓縮傳輸視頻和音頻信號,保持穩定的通訊連接,接受遠程操作指令,下發規劃控制指令操作車輛;音頻檢測緊急車輛,通過多聲道麥克風捕捉音頻,判斷緊急車輛方位,判斷緊急車輛靠近或遠離。
3)系統升級Bazel、Python、C++、GCC、CUDA、PCL、Pytorch、TensorRT等基礎軟體。
4)開放新服務,整合Dreamland和Fuel,統一服務入口;整合離散服務,由單個服務到聯動服務。
5) 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大基金會捐贈了九個開源項目
1、超級鏈(XuperChain)
2019年5月,百度基於持續多年在區塊鏈技術與應用領域的研究與探索,推出了完全自主智慧財產權的區塊鏈底層技術——超級鏈(XuperChain)並正式開源,現已成為國內最具影響力的區塊鏈開源技術之一,其具有四大核心技術亮點,如下:
1)高度易用:多語言智能合約支持、多語言sdk+合約模板;詳解全面文檔中心;IDE、瀏覽器、可視化管理工具等;7*24H技術客服+繁榮生態支持;
2)超高性能:超級節點技術;鏈內並行技術;存儲、計算可水平擴展;合約ACL背書驗籤技術;
3)高可擴展:動態內核技術保證架構上高可擴展;多引擎架構技術保證核心流程和技術選型可按場景訂製;超級節點技術保證存儲和計算上高可擴展;
4)高可用性:超級鏈開放網絡多節點長期運行驗證,穩定性>=99.99%;14w節點廣告聚屏案例生產環境檢驗;
2020年9月,超級鏈成為首個捐贈給開放原子開源基金會的項目;
2020年10月,開放原子開源基金會宣布成立國內首個區塊鏈開源工作組,工作組由百度發起,與浪潮、招商銀行等知名企業共同成立,在開放原子開源基金會指導下進行區塊鏈相關事務的專項管理。
2020年XuperChain項目累計獲得Star數 1266個,Fork 287次,代碼提交次660次,貢獻者37人,全球開發者使用數量 10,000+次,外部代碼貢獻 20%+,版本迭代12次,技術專利發布425篇,社群人數達 10,000人。在架構、功能、性能上也有較大的提升:
1)架構:內核技術XuperCore獨立發展,依託動態內核技術,實現廣域場景適用;
2)功能:落地了國密算法、合約事件、EVM虛擬機等實用功能;持續完善聯盟場景支持,完成了XPoA共識、靜態P2P網絡、平行鏈群組技術等技術的落地;
3)易用性:智能合約語言支持JAVA、Solidity等語言;智能合約SDK支持跨鏈、可信計算等高級功能;
同時今年完成了適配BSN區塊鏈網絡服務底層,還將全新升級的百度超級鏈內核XuperCore作為區塊鏈開源工作組的內核技術。為信浦存證平臺、鏈上巨鹿政務服務、百度文庫、百信銀行、浦發銀行、北京網際網路法院等20餘家企業機構及平臺,提供底層技術服務與區塊鏈解決方案。
2、Apache ECharts
2020年,百度繼續深度參與 Apache ECharts的項目開發及社區建設工作,保持著穩定的發版節奏,並在年底發布了全新重量級的 Apache ECharts 5,在最新版本中,實現了五大模塊、十五項特性的全面升級。此外,經過兩年時間 Apache Way的學習和開源社區的建設,ECharts於 2020年 12月正式從 Apache軟體基金會畢業,成為頂級 Apache項目,也是首個百度捐贈到Apache基金會中畢業的項目。
在最新大版本 Apache ECharts 5中,重點圍繞圖表的敘事能力,在動態敘事、視覺設計、交互能力、開發體驗以及可訪問性等方面做了專項優化升級,幫助開發者更方便地創建具有強大敘事能力的圖表。
1)動態敘事:敘事功能提供了更簡便的方式以展現數據在時間維度上的發展變化;
2)視覺設計:根據可視化理論優化設計,提高信息墨水比,讓讀者更專注在重要的數據信息;
3)交互能力:多狀態設計讓讀者參與交互,交互的豐富性和流暢性使得用戶更深刻理解數據之間的關聯;
4)開發體驗:默認更強大更好用,讓開發者無需為性能、數據處理等問題分心,更高效地專注在傳遞信息
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
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:
1)全新的存儲格式SegmentV2
2) Spark on Doris
3)明細模型上的物化視圖功能
4)支持ORC格式數據的導入
5)動態分區
6)差集、交集、Grouping Set
7)大查詢落盤
8)物化視圖支持 bitmap_union, hll_union和 count
9) Spark導入
10) RoutineLoad和 StreamLoad支持新的數據格式:Json
11)修改 RoutineLoad
12) Logstash插件
13)支持查詢結果輸出到文件
14)在delete語句中支持謂詞
目前,Doris用戶涵蓋字節跳動、美團、小米、京東、微博、快手、貝殼找房、愛奇藝等100+行業優秀企業。
4、Apache Teaclave (incubating)
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個問題。
截止目前,Github上Teaclave項目star數1,205個,新增一名commiter,累計支持廠內多個團隊業務以及數十家外部開源項目,建立了健康、可持續的開源社區和 Teaclave安全計算生態。
5、Apache brpc(incubating)
Apache brpc(incubating)是一個用來構建高可用和高性能後臺服務的企業品質的RPC開發框架,在百度內部應用的非常廣泛,在多個核心業務上都有應用。
自2017年從百度對外開源,2018年成為Apache開源基金會孵化項目後,越來越多的公司在使用它,包括愛奇藝,B站,小米,螞蟻等。同時,也有更多的同學對這個項目作出貢獻。是百度內最常使用的工業級RPC框架,有1,000,000+個實例(不包含client)和上千種多種服務。
"brpc"的含義是"better RPC"。其特性:
1)囊括百度內部所有 RPC協議,支持多種第三方協議
2)模塊化設計,層次清晰,很容易添加自定義協議
3)全面的服務發現、負載均衡、組合訪問支持
4)可視化的內置服務和調試工具
5)性能上領跑目前其他所有 RPC產品
項目今年新增一名commiter,累計star數11,000個,fork2,700次,發布了0.9.7新版本:內置服務支持火焰圖、增加gdb bthread堆棧查看工具、適配arm64、支持redis協議server、備份請求支持熔斷器。、
6、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,其中重點功能包括:
1) Mac和Windows環境編譯支持
2)用戶限流功能
3)客戶端認證,JWT認證以及對接第三方認證服務
4)請求的tagging功能
5)分布式tracing
6) DoH(DNS over HTTPS)請求和EDNS
7) TCP連接的Proxy
8) gRPC over HTTP/2
7、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版本的主要區別如下:
1)邊緣和雲端框架全部向雲原生演化,已支持運行在 K8S或 K3S之上。
2)引入聲明式的設計,通過影子(Report/Desire)實現端雲同步(OTA)。
3)邊緣框架暫不支持進程(native)運行模式,由於運行在 K3S上,所以整體的資源開銷會有增加。
4)邊緣框架將來會支持邊緣節點集群。
8、IME
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):
1)邊緣集群輕量化,在資源有限的邊緣節點能夠使得IME組件儘量少得佔據計算資源,為業務讓位。
2)多集群管理,目的是通過多層級的分級自治管理,實現一次部署下發,全量集群實現部署的功能。
3)多功能自動化交付組件——kube-sitter,旨在把機器設備管理、監控採集、開機環境初始化、軟體包部署管理等主要功能集成於一身,精簡功能滿足輕量化要求。
4)邊緣節點自治,使得即使邊緣節點在與中心機房斷連甚至中心機房宕機的情況下,也可以確保邊緣節點上的感知算法依舊能正常運轉。
9、EDL
EDL是一個基於Kubernetes的原生深度學習框架,它支持大規模分布式訓練任務的容錯和彈性縮放。 EDL基於Kubernetes優先級的搶佔功能,實現了深度學習任務的彈性調度。深度學習模型訓練和具有彈性資源的推理將在雲上很常見,諸如Amazon AWS,百度雲之類的雲計算資源具有多租戶。
在提出了彈性深度學習(EDL),該方法使在雲上進行深度學習模型的訓練和推理變得更加輕鬆和高效。現在,EDL是LF AI基金會的孵化階段項目。最新版本(0.3.1):
1)在訓練過程中通過推理型服務支持彈性訓練,例如知識蒸餾
2) infernce服務通過EDL中的服務發現自動註冊
3)計算機視覺和自然語言處理中的知識蒸餾示例
來源:中國網