第六屆中國(guó)軟件開源創(chuàng)新大賽——飛槳賽題新鮮出爐,速來pick!
最近想要充個(gè)電??
飛槳邀你開啟開源貢獻(xiàn)之旅
尋找那個(gè)最“會(huì)”的你
頂級(jí)開源項(xiàng)目、資深研發(fā)指導(dǎo)、高階開發(fā)者合作交流,
Buff 疊滿!
技能提升、豐富簡(jiǎn)歷、高額獎(jiǎng)金,
你還不心動(dòng)?
賽事簡(jiǎn)介
中國(guó)軟件開源創(chuàng)新大賽已成功舉辦五屆,大賽面向國(guó)家“十四五”開源生態(tài)發(fā)展戰(zhàn)略布局,聚焦“卡脖子”軟件領(lǐng)域以及人工智能、大數(shù)據(jù)、芯片設(shè)計(jì)、物聯(lián)網(wǎng)等前沿技術(shù)領(lǐng)域的開源軟件,旨在為國(guó)內(nèi)開源社區(qū)提供展示、交流、合作的平臺(tái),激發(fā)開源創(chuàng)新活力,培養(yǎng)開源實(shí)踐人才,助力開源生態(tài)建設(shè)的高質(zhì)量發(fā)展。
第六屆“中國(guó)軟件開源創(chuàng)新大賽”在國(guó)家自然科學(xué)基金委信息科學(xué)部的指導(dǎo)下,由中國(guó)計(jì)算機(jī)學(xué)會(huì)( CCF )主辦,西北工業(yè)大學(xué)、綠色計(jì)算產(chǎn)業(yè)聯(lián)盟、CCF 開源發(fā)展委員會(huì)聯(lián)合承辦。聯(lián)合百度飛槳、清華大學(xué)等企業(yè)單位以及多所高校共同設(shè)置賽題,大賽分為“開源項(xiàng)目貢獻(xiàn)賽”?“開源任務(wù)挑戰(zhàn)賽”?“開源案例教學(xué)賽”和“開源代碼評(píng)注賽”四個(gè)賽道。
開源任務(wù)挑戰(zhàn)賽賽道——飛槳框架任務(wù)挑戰(zhàn)賽?全新上線,通過比賽機(jī)制,鼓勵(lì)選手了解與參與深度學(xué)習(xí)開源項(xiàng)目,為中國(guó)開源生態(tài)建設(shè)貢獻(xiàn)力量。
賽題介紹
本次中國(guó)軟件開源創(chuàng)新大賽聯(lián)合飛槳開源社區(qū),開放了實(shí)現(xiàn)飛槳框架的 ?python level jit compiler 、改進(jìn) CINN 日志和報(bào)錯(cuò)系統(tǒng)、實(shí)現(xiàn)飛槳框架動(dòng)態(tài)圖反向圖的可視化等相關(guān)的共計(jì) 7 道賽題,面向全球開發(fā)者開放報(bào)名。以線上比賽的形式進(jìn)行,參賽選手在規(guī)定時(shí)間內(nèi)自由組隊(duì)(最多三人)選擇合適的開發(fā)任務(wù),以?Pull Requests 的形式完成貢獻(xiàn),根據(jù)項(xiàng)目的難易程度和完成情況,獲得相應(yīng)獎(jiǎng)金、禮品和證書,快來組隊(duì)參賽吧!
賽題一:實(shí)現(xiàn)飛槳框架的 python level jit compiler
飛槳深度學(xué)習(xí)框架提供了動(dòng)態(tài)圖編程的模式來開發(fā)深度學(xué)習(xí)模型(方便開發(fā)與調(diào)試),以動(dòng)轉(zhuǎn)靜的方式將模型轉(zhuǎn)為靜態(tài)圖來進(jìn)行推理部署(方便全圖優(yōu)化和高性能運(yùn)行)。本賽題,要求為飛槳框架實(shí)現(xiàn)一個(gè) python 層的 just-in-time compiler,可以通過在 python 代碼執(zhí)行前通過分析 python bytecode,來產(chǎn)出計(jì)算子圖,對(duì)子圖進(jìn)行圖優(yōu)化,并在某個(gè)計(jì)算后端上進(jìn)行執(zhí)行。在飛槳框架實(shí)現(xiàn)既可以動(dòng)態(tài)圖靈活開發(fā)又可以高效運(yùn)行的深度學(xué)習(xí)模型開發(fā)方式。
賽題二:改進(jìn) CINN 日志和報(bào)錯(cuò)系統(tǒng)
CINN 當(dāng)前的日志和報(bào)錯(cuò)是使用的 GLOG,通過 VLOG 宏輸出日志,通過 CHECK 宏檢查正確性。由于 GLOG 本身的缺陷,以及缺乏統(tǒng)一的日志規(guī)范,導(dǎo)致 CINN 內(nèi)冗余日志信息較多,報(bào)錯(cuò)內(nèi)容中有效信息較少。本賽題,要求為 CINN 改進(jìn)實(shí)現(xiàn)一套完整的日志和報(bào)錯(cuò)系統(tǒng),類似飛槳框架中的 PADDLE_ENFORCE 體系,可以在開發(fā)時(shí)為開發(fā)者提供規(guī)范的日志指引,在報(bào)錯(cuò)時(shí)為調(diào)試者提供有效的調(diào)試信息。從而提供友好的開發(fā)體驗(yàn)和調(diào)試體驗(yàn),提升開發(fā)和調(diào)試效率。
賽題三:Fluid 算子函數(shù)式遷移專項(xiàng)
飛槳深度學(xué)習(xí)框架在 2.3 版本發(fā)布了高可復(fù)用算子庫(kù) PHI(Paddle HIgh reusability operator library ),支持組合式算子功能復(fù)用、Primitive 算子內(nèi)核復(fù)用和插件式加速庫(kù)復(fù)用,可以通過對(duì)函數(shù)式算子接口組合調(diào)用的方式實(shí)現(xiàn)新算子。本賽題要求將飛槳原 Fluid 算子庫(kù)下的部分重要算子改寫成函數(shù)式并遷移到 PHI 算子庫(kù)中,從而使飛槳框架可以借助 PHI 算子庫(kù)提供的功能特性,統(tǒng)一和低成本地對(duì)這些算子做調(diào)度優(yōu)化。
賽題四:在飛槳框架中引入 clang-tidy
飛槳是集深度學(xué)習(xí)核心訓(xùn)練和推理部署、基礎(chǔ)模型庫(kù)、端到端開發(fā)套件和豐富的工具組件于一體的開源深度學(xué)習(xí)平臺(tái)。百度飛槳在追求高性能的同時(shí),也非常關(guān)注框架自身的安全隱患以及健壯性,例如:我們嚴(yán)格且嚴(yán)謹(jǐn)?shù)貙⒁磺?warning 視為 error ,引入 clang-tidy 有助于增加飛槳的健壯性。本賽題,要求在飛槳框架中引入 clang-tidy,并希望引入盡可能多的對(duì) paddle 有利的 clang-tidy 的功能。
賽題五:將 xdoctest 引入到飛槳框架工作流中
xdoctest 是一個(gè)示例代碼自動(dòng)執(zhí)行和檢查工具,可以自動(dòng)執(zhí)行 Python docstring 中的示例代碼,并對(duì)示例代碼輸出進(jìn)行檢查。本賽題,要求將 xdoctest 引入到飛槳框架的工作流中,利用 xdoctest 來自動(dòng)檢查示例代碼運(yùn)行正確,且輸出結(jié)果匹配,以確保示例代碼輸出的一致性,進(jìn)一步提高飛槳框架示例代碼的質(zhì)量。
賽題六:飛槳框架 C++ 文檔抽取與展示
飛槳深度學(xué)習(xí)框架為用戶提供了 Python API 官方文檔,便于用戶查閱 API 對(duì)應(yīng)的源代碼、參數(shù)、返回值等。本賽題,要求為飛槳框架自動(dòng)抽取和展示 C++ 文檔,并上線至飛槳官網(wǎng)。
賽題七:實(shí)現(xiàn)飛槳框架動(dòng)態(tài)圖反向圖的可視化
飛槳深度學(xué)習(xí)框架提供了動(dòng)態(tài)圖編程的模式來開發(fā)深度學(xué)習(xí)模型(方便開發(fā)與調(diào)試),但動(dòng)態(tài)圖的反向圖調(diào)試能力仍存在不足。本賽題,要求為飛槳?jiǎng)討B(tài)圖框架添加反向節(jié)點(diǎn)在 Python 端的訪問機(jī)制。并在該機(jī)制基礎(chǔ)上,為飛槳框架擴(kuò)展反向圖可視化能力。比賽設(shè)置賽事交流QQ群,各任務(wù)方向都有專屬群,資深算法工程師貼身指導(dǎo)答疑。快來選擇你感興趣的任務(wù),報(bào)名參與吧!
時(shí)間安排
本次活動(dòng)分為三個(gè)階段,第一階段與第二階段分別選出 10 位優(yōu)秀開發(fā)者進(jìn)入半決賽,通過預(yù)答辯,進(jìn)行階段性禮品發(fā)放,20 位開發(fā)者有機(jī)會(huì)參與決賽答辯并獲得最高?5 萬元現(xiàn)金獎(jiǎng)勵(lì)。

獎(jiǎng)項(xiàng)設(shè)置
最后通過答辯的 14 支隊(duì)伍分獲一、二、三等獎(jiǎng)。

比賽成績(jī)優(yōu)秀者,還可以獲得百度綠色通道或其他便利,可提升簡(jiǎn)歷曝光度及面試發(fā)起率。心動(dòng)不如行動(dòng),快去【飛槳PaddlePaddle】公眾號(hào)進(jìn)行報(bào)名吧!