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 中的服務發現自動註冊;
計算機視覺和自然語言處理中的知識蒸餾示例。