0
在大多數(shù)人的眼里,程序員的生活是刻板的:996的工作時(shí)間、長(zhǎng)期熬夜、掉發(fā)嚴(yán)重、萬年格子衫…
然而,曠視天元的開源研發(fā)團(tuán)隊(duì),卻以多元化的面貌展示了這個(gè)群體少為人知的浪漫與執(zhí)著:
有人癡迷明史,選擇北漂就是為了故宮;有人是職業(yè)旅行家,探訪過三十多個(gè)國(guó)家;有人鐘愛二次元,動(dòng)漫就是他的全世界;有人是Dota 2信仰粉,也有人是強(qiáng)大的Dota 3號(hào)選手;還有貓奴、影迷、德州撲克愛好者……
他們唯一的共同點(diǎn),也許就是寫程序這個(gè)“業(yè)余愛好”。
但正是這樣一群個(gè)性不一的年輕人,讓曠視成為了國(guó)內(nèi)第一個(gè)將深度學(xué)習(xí)框架開源的AI獨(dú)角獸。2020年3月25日,曠視正式將在內(nèi)部使用多年的深度學(xué)習(xí)框架開源,并命名為天元MegEngine。
開源的背后,是數(shù)不清日夜的付出,以及一往無前的勇氣。在天元開源的征程上,曠視的“程序員”做了什么?對(duì)于中國(guó)開源,他們扮演了怎樣的角色?
曠視決定開源
自2020年3月25日正式發(fā)布天元 Alpha 版本之后,曠視天元打出“深度學(xué)習(xí),簡(jiǎn)單開發(fā)”的口號(hào),在開發(fā)者社區(qū)引起火熱關(guān)注。
深度學(xué)習(xí)框架堪稱AI時(shí)代的核心軟件支柱,下接芯片,上承應(yīng)用。
“為什么要開源一個(gè)深度學(xué)習(xí)框架,真的不是在重復(fù)造輪子嗎?”
天元開源后,團(tuán)隊(duì)成員經(jīng)常收到這樣的提問。畢竟,在曠視將天元開源前,市場(chǎng)上已經(jīng)有Google所開發(fā)的TensorFlow和Facebook所開發(fā)的Pytorch等主流深度學(xué)習(xí)框架。
那么,曠視為什么還要堅(jiān)持開源?
自2012年起,盡管深度學(xué)習(xí)尚未引起廣泛關(guān)注,但已陸續(xù)有研究者開發(fā)出第一代深度學(xué)習(xí)框架,比如Theano。然而,在實(shí)踐過程中,曠視的技術(shù)人員發(fā)現(xiàn),這類早期開源框架使用手工的方式編寫每層配置文件,非常不靈活,根本無法滿足對(duì)算法訓(xùn)練效率的需求。雷鋒網(wǎng)
于是,曠視研究院決定自己開發(fā)一款框架,通過計(jì)算圖的方式設(shè)計(jì)模型并求導(dǎo)。2014年初,曠視研究院的 3 名實(shí)習(xí)生從第一行代碼寫起,用了不到半年的時(shí)間,成功開發(fā)出深度學(xué)習(xí)框架天元(MegEngine)的初始版本MegBrain。雷鋒網(wǎng)
2019 年年底,公司決定將 MegBrain 開源,開源版產(chǎn)品進(jìn)行了重新整合,更名為MegEngine,中文名為“天元”。其中,“Meg”對(duì)應(yīng)曠視“Megvii”,而"Engine"指"引擎"。曠視將天元開源,是希望它能成為人工智能技術(shù)發(fā)展的“引擎”。雷鋒網(wǎng)
首先,飲水不忘挖井人。
在技術(shù)進(jìn)步層面,曠視團(tuán)隊(duì)在開源社區(qū)中受益頗多,因此,當(dāng)曠視的框架技術(shù)有了些積累后,他們也希望把技術(shù)拿出來,回饋給開源社區(qū)。
其次,曠視渴望向世界發(fā)聲。雷鋒網(wǎng)
自2011年成立以來,曠視在各種行業(yè)頂級(jí)期刊與會(huì)議上發(fā)表了大量?jī)?yōu)秀的論文,在人工智能領(lǐng)域積累了豐富的研究成果。如同一個(gè)初窺門徑的武林少俠,它渴望與江湖高手對(duì)話、切磋,實(shí)現(xiàn)共同進(jìn)步。
如果天元是開源的,那么曠視的許多內(nèi)部研究成果就可以直接拿出來供大家使用,而不需要改寫到其他的框架上,對(duì)話會(huì)更容易;此外,天元框架對(duì)企業(yè)級(jí)應(yīng)用(尤其是部署推理)做過深度優(yōu)化,大家可以開箱即用,這對(duì)曠視乃至整個(gè)行業(yè)在研究落地上均有幫助。
天元的研發(fā)負(fù)責(zé)人許思然認(rèn)為:“我們是工程師,我們用代碼溝通。開源代碼,實(shí)際上就是曠視所有技術(shù)人員與開發(fā)者交流的一種方式,這是工程師自然而然的追求?!?/p>
他認(rèn)真而又不失樂觀的表示:“開源這件事,對(duì)于我們整個(gè)團(tuán)隊(duì)乃至整個(gè)曠視都是一個(gè)激勵(lì)和鼓舞,因?yàn)槲覀兊拇a將能夠產(chǎn)生更大的影響,服務(wù)更多人。”
因此,盡管困難重重,曠視毅然決定將天元框架開源。眾人拾柴火焰高。這句中國(guó)俗語(yǔ)亦可用于形容現(xiàn)代開源事業(yè)的核心:多元,團(tuán)結(jié),貢獻(xiàn)。在背景各異的團(tuán)員驅(qū)動(dòng)下,天元開源,拉開了帷幕。
開源:過五關(guān)、斬六將
確定開源后,許思然與團(tuán)隊(duì)對(duì)天元框架進(jìn)行了全面升級(jí):
首先,曠視團(tuán)隊(duì)重新設(shè)計(jì)了天元的Python前端,讓它更加易用,讓有機(jī)器學(xué)習(xí)相關(guān)使用經(jīng)歷的開發(fā)者上手更容易。
接著,審查開源代碼許可證,保證整個(gè)流程遵循開源社區(qū)的規(guī)范。在這一方面,許思然與團(tuán)隊(duì)花了大量時(shí)間,與內(nèi)外部的法務(wù)專家合作,一行一行代碼地檢查,對(duì)整個(gè)代碼庫(kù)進(jìn)行了十多次人工分析和回顧。
經(jīng)過多次反復(fù)審查,許思然笑稱:“現(xiàn)在我們團(tuán)隊(duì)人人都是“法律高手”,什么 License(許可證)的代碼能用、什么不能用,啥叫"分發(fā)源代碼",啥叫“分發(fā)產(chǎn)物”,用了要怎么寫聲明,我們現(xiàn)在都一清二楚…… ”
其次,團(tuán)隊(duì)在用戶環(huán)境適配方面下了大功夫。
在曠視內(nèi)部,所有人統(tǒng)一使用曠視自研的Brain++平臺(tái)(一個(gè)融合了算法、算力和數(shù)據(jù)的AI生產(chǎn)力平臺(tái)),很容易做到“開箱即用”。但是,在開源版本,用戶所使用的機(jī)器各種各樣,各種配置都不太一樣,比如系統(tǒng)版本、各種軟件版本、機(jī)器的型號(hào)、顯卡的類型等等。為此,他們通過天元開發(fā)者群的交流與 GitHub 上所提交的信息,不斷改進(jìn),讓代碼可以適配各種各樣的機(jī)器和型號(hào) 。
除此之外,天元團(tuán)隊(duì)還在原有內(nèi)部版本的基礎(chǔ)中增加了中文API文檔。一位開發(fā)者在和許思然閑聊時(shí)反饋:“有一種莫名的親切感,可能因?yàn)樗侵形牡?。?/p>
在加入天元項(xiàng)目之前,團(tuán)隊(duì)的許多成員都對(duì)開源有一定了解。程聰宇接觸過 Linux Kernel、Chromium與LLVM等開源項(xiàng)目;張風(fēng)在美國(guó)讀博期間也直接或間接參與了一些科學(xué)計(jì)算相關(guān)的開源項(xiàng)目;文潔此前的經(jīng)歷則是持續(xù)推進(jìn)已經(jīng)開源的項(xiàng)目,直到加入曠視才開始從準(zhǔn)備工作跟到項(xiàng)目正式開源、完善。
與其余同學(xué)相比,通過校招進(jìn)入曠視的王波此前對(duì)開源幾乎一無所知,因此,在剛被通知天元要開源時(shí),“整個(gè)人有點(diǎn)懵,不知道該干啥。”后來,他參與到代碼審核工作,在審查過程中慢慢跟上大部隊(duì)的節(jié)奏:“去年2月26日完成審核工作、確定代碼無法律風(fēng)險(xiǎn)后,在會(huì)議室里深深地舒了一口氣。”
在開源前,程聰宇和團(tuán)隊(duì)的主要任務(wù)是保證x86的性能就緒,優(yōu)化卷積實(shí)現(xiàn),最終達(dá)到對(duì)標(biāo) OpenVINO 的水平。令程聰宇印象最深刻的是:x86 nchw88 的 winograd 沒有就緒前,他們的 x86 在 ResNet50 的性能一直比OpenVINO 低一點(diǎn)。后來,他與組員在 winograd conv 上進(jìn)行了各種調(diào)優(yōu),性能終于超過 OpenVINO。那一刻,“大家真的是如釋重負(fù)!”
文潔記得,除了正常的代碼開發(fā)工作外,開源發(fā)布會(huì)的各種準(zhǔn)備工作非常多。正式發(fā)布的前一天才發(fā)現(xiàn)直播供應(yīng)商出了些問題,開發(fā)團(tuán)隊(duì)臨陣磨槍研究了一晚直播轉(zhuǎn)發(fā)功能,非常累。但看到直播的那一刻,她非常激動(dòng),覺得一切辛苦都是值得的:“因?yàn)槲覀冏龅搅?!?/p>
終于,2020年3月25日,曠視在北京發(fā)布了國(guó)產(chǎn)深度學(xué)習(xí)框架天元的 Alpha 版本,正式面向全球開發(fā)者開源!
開源:正在進(jìn)行時(shí)
發(fā)布會(huì)當(dāng)天,團(tuán)隊(duì)定了蛋糕,大家一邊吃著蛋糕一邊看天元開源的線上發(fā)布會(huì),既興奮又忐忑。
除了激動(dòng)、自豪,天元團(tuán)隊(duì)的成員也感到壓力:天元在開發(fā)者社區(qū)引起了很多關(guān)注,自己寫的代碼將接受整個(gè)行業(yè)的檢測(cè),不確定能否得到大家的認(rèn)可;Alpha 版本之后,還有許多工作要完善。
開源后,許思然特地跑去社區(qū)看關(guān)于天元的反饋,有真誠(chéng)的贊許,也有很多細(xì)節(jié)改進(jìn)的建議:“作為一個(gè)新的開源項(xiàng)目,天元可能存在很多問題,我們都愿意承認(rèn)這一點(diǎn)。但是我們?cè)诓粩嗟馗倪M(jìn)它,這也是大家現(xiàn)在工作的一個(gè)非常重要的部分?!?/p>
天元是一個(gè)由企業(yè)主導(dǎo)、社區(qū)共建的開源項(xiàng)目,因此參與的人員更廣泛,來自科研、教學(xué)、生產(chǎn)等各個(gè)領(lǐng)域。這也意味著,天元將收到不同的反饋意見。
繼3月開源后,曠視團(tuán)隊(duì)又在2020年6月發(fā)布了 Beta 版本。大約90天內(nèi),他們收到了330多個(gè)來自使用者的反饋意見,大多是關(guān)于修bug方面的改進(jìn)和速度方面的提升。
根據(jù)反饋,許思然與隊(duì)員一一作了改進(jìn),在中文 API 文檔的流程中補(bǔ)充了大量針對(duì)中高階開發(fā)者的進(jìn)階使用部分,提供了在安卓上從訓(xùn)練到完成產(chǎn)品一整套的教程,還提供了相關(guān)的支撐程序設(shè)施,使大家能更好體驗(yàn)訓(xùn)練推理一體的完整流程。
Beta 版本的進(jìn)步是肉眼可見的:天元開源了ARM系列CPU支持、完善量化訓(xùn)練和推理功能、推理功能優(yōu)化等3項(xiàng)功能升級(jí),并與小米的MACE深度學(xué)習(xí)推理框架、OPEN AI LAB 的Tengine框架實(shí)現(xiàn)深度集成。
隨后,2020年9月,團(tuán)隊(duì)發(fā)布了天元1.0預(yù)覽版,新增5大技術(shù)特性:全新的Imperative Runtime、自動(dòng)代碼裁剪功能、更多的國(guó)產(chǎn)硬件支持、10余項(xiàng)推理側(cè)性能優(yōu)化、基于MLIR的靜態(tài)子圖優(yōu)化引擎;2020年10月發(fā)布 1.0 正式版;2021年1月又發(fā)布了 1.2 版本,2021年3月24號(hào),天元1.3版本上線……
密集的發(fā)版節(jié)奏也讓團(tuán)隊(duì)工作異常忙碌。最忙的時(shí)候,為了趕工,團(tuán)隊(duì)在周末也會(huì)趕到公司加班?!安贿^大家一邊討論,一邊吃好吃的外賣,也是非常有意思的體驗(yàn)?!必?fù)責(zé)模型量化的劉希宇談道。
在高強(qiáng)度的工作狀態(tài)下,每個(gè)人逐漸養(yǎng)成了自己的“護(hù)肝”秘訣。張風(fēng)在壓力大時(shí),會(huì)通過跑步與健身出汗,讓自己冷靜下來;劉希宇會(huì)偶爾做一下辦公室桌椅健身操,改善頸椎職業(yè)病。
開源讓團(tuán)隊(duì)度過了很多不眠之夜:在2020年的四次版本發(fā)布中,許思然分別熬到了凌晨3點(diǎn)、4點(diǎn)、5點(diǎn)和6點(diǎn)。發(fā)版前需要確保開源版本一切正常,由于在同步過程中往往會(huì)出現(xiàn)裁剪錯(cuò)誤或依賴內(nèi)部的文件,總是在對(duì)外發(fā)布之前突然發(fā)現(xiàn)各種小問題導(dǎo)致編譯不了,于是通宵達(dá)旦的調(diào)查到底哪里裁剪出現(xiàn)了差錯(cuò)。
但如今,團(tuán)隊(duì)已經(jīng)開發(fā)出許多小工具,可以讓各種開源版測(cè)試自動(dòng)完成,不用工程師再熬夜盯。
對(duì)于程聰宇來說,忙碌只是小case,最大的困難是開源后繼續(xù)做 Arm 優(yōu)化。天元希望可以實(shí)現(xiàn)比其他深度學(xué)習(xí)框架更快的速度,這給優(yōu)化帶來了巨大挑戰(zhàn)。當(dāng)時(shí),他們幾乎用了所有能用的方法來進(jìn)行優(yōu)化,但都沒有取得效果,一度非常絕望。
后來,他們通過profile發(fā)現(xiàn)存在的問題是訪存瓶頸。在開會(huì)討論解決方法時(shí),有組員提出對(duì)不同卷積 case 進(jìn)行不同的優(yōu)化,配合 layout 來進(jìn)行優(yōu)化。實(shí)驗(yàn)證明,這個(gè)方法非常有效。程聰宇很自豪:“雖然很難,但我們做到了?!?/p>
天元的開源與迭代,最終使性能達(dá)到了團(tuán)隊(duì)目標(biāo)嗎?
根據(jù)以往的開源經(jīng)歷,程聰宇深知做一個(gè)好用的“訓(xùn)練+推理”的框架非常不容易,既要保證性能,又要保證易用性,且不同硬件平臺(tái)差異也大。開心的是,天元在高性能方面做得不錯(cuò) (算子優(yōu)化、多平臺(tái)支持),典型模型的預(yù)測(cè)和推理性能在 x86/Arm/CUDA 平臺(tái)上不弱于主流框架;遺憾的是,易用性還需要繼續(xù)打磨。
對(duì)張風(fēng)與王波來說,天元在靜態(tài)圖的性能和顯存占用方面達(dá)到了預(yù)期目標(biāo),但Alpha版本發(fā)布時(shí),動(dòng)態(tài)訓(xùn)練的能力剛剛起步,在架構(gòu)設(shè)計(jì)、顯存和性能上都表現(xiàn)一般。但經(jīng)過團(tuán)隊(duì)的努力,在2020年結(jié)束之際,天元的動(dòng)態(tài)訓(xùn)練能力也達(dá)到了一個(gè)成熟的狀態(tài)。
“這是令大家最有成就感的事?!睆堬L(fēng)如是說。
從開源到開放
回顧過去的一年,曠視團(tuán)隊(duì)的各成員均被開源文化深深吸引:在工作中,他們既為中國(guó)的開源事業(yè)奉獻(xiàn)了自己的力量,收獲了友誼與自我成長(zhǎng),還遇到了很多志同道合的朋友。
盡管開源的工作無比繁重,但程聰宇覺得,在天元團(tuán)隊(duì)工作還是非??鞓返模骸昂陀腥さ娜艘黄鸸ぷ鳎?+1>2的效果?!?/p>
有一次,他們特地挑了一個(gè)“良辰吉日”去開卡丁車,去之前還積極制定了縝密詳細(xì)的比賽規(guī)則。
張風(fēng)對(duì)這次賽事印象深刻,“戴上頭盔,耳朵里就只有發(fā)動(dòng)機(jī)的轟鳴聲,輪胎和跑道摩擦聲和自己的心跳聲,大家好像一下子就從電腦前的程序員變身為職業(yè)賽車手,非常解壓!”
那一次,王波因?yàn)橛惺聸]參加,事后既羨慕又慶幸,“據(jù)說開太猛了有點(diǎn)累?!?/p>
開源,讓團(tuán)隊(duì)成員不再感覺自己是“打工人”,有了更多的主人翁意識(shí)。許思然認(rèn)為,開源有一個(gè)重要的點(diǎn),就是用戶第一?!澳阕约壕褪怯脩?,你最懂你自己的訴求,知道怎么改。在開源的邏輯之下,人人都要為最終使用者的體驗(yàn)去負(fù)責(zé)。”
在這個(gè)過程中,天元團(tuán)隊(duì)有一個(gè)明顯的變化,就是心態(tài)變得更加開放。
剛開源的那段時(shí)間,運(yùn)營(yíng)的小伙伴督促天元的研發(fā)同學(xué)做線上直播,和開發(fā)者做一些技術(shù)分享的talk,大家都不敢去。如今,天元的Meetup活動(dòng)內(nèi)部講師征集,大家卻十分踴躍,令活動(dòng)進(jìn)行非常順利。
比如,剛開始對(duì)開源幾乎毫無經(jīng)驗(yàn)的王波,最近成功晉升為小組組長(zhǎng),成為了2021年天元首期Meetup的講師。直播前,王波預(yù)講了3-4次?!艾F(xiàn)場(chǎng)效果還不錯(cuò),意外收獲了很多開發(fā)者的反饋,還是挺開心的?!蓖醪ㄊ潞罂偨Y(jié)道。
文潔也有同樣的感受:“在之前的開源工作中,我們更多是宣傳代碼的心態(tài)。但在天元開源中,我們知道我們的不完美,也很誠(chéng)實(shí)地告知大家,歡迎大家一起來討論、改進(jìn)。”
與開發(fā)者的日常
程聰宇認(rèn)為,“一個(gè)軟件之所以能取得成功,很大程度上要?dú)w功于開源本身,因?yàn)橛懈嗳藚⑴c到這個(gè)軟件的開發(fā),有更多使用者發(fā)現(xiàn)問題,從而解決問題。這些開源軟件的貢獻(xiàn)者非常厲害,值得尊敬?!?/p>
有些貢獻(xiàn)者“來無影、去無蹤”。天元有一個(gè)編譯工具,里面有一千多行代碼?!伴_源之后,真的有開發(fā)者跑過來,幫我們仔仔細(xì)細(xì)地檢查一遍,挑出幾個(gè)錯(cuò)誤,改過來。咦,果然合適!” 這件出乎許思然意料的事情,令他至今記憶猶新。
天元開源后,來自社區(qū)開發(fā)者的反饋幫助天元團(tuán)隊(duì)成長(zhǎng)了很多。
許思然回憶,剛開源的那段時(shí)間,幾乎天天被身邊幾位熱情的開發(fā)者懟,說這個(gè)做的不對(duì),那個(gè)也不對(duì)。后來,大家在互懟的過程中找到了一個(gè)相對(duì)平衡和彼此理解的狀態(tài)。曾經(jīng)的主懟人之一W同學(xué)讓許思然印象深刻:“他是噴天元最厲害的開發(fā)者之一,但也是天元每次版本更新后最先試用的人?!?/p>
W同學(xué)將自己的行為歸結(jié)為“愛之深、責(zé)之切”。在W同學(xué)眼中,天元經(jīng)過一年的迭代,現(xiàn)在的量化框架非常優(yōu)雅,能使得量化訓(xùn)練更容易正確初始化,兼容各種算法,“雖然還有點(diǎn)慢,但是真香!”如今,W同學(xué)已成為天元的“推廣大使”,在自己的社交平臺(tái)積極安利天元,繁忙的工作之余還常常為天元貢獻(xiàn)教程文檔。
天元的開發(fā)者社區(qū)中還有一個(gè)微信群,叫做“MegEngine和喝奶茶的好盆友們”。群里有曠視的員工,也有很多外部開發(fā)者,大家因?yàn)樘煸_源而結(jié)識(shí)。
2020年結(jié)束的跨年夜,大家在群里相約,通過云聚會(huì)寫模型的方式一起慶??缒?。開發(fā)者“落月星辰”在12月31號(hào)當(dāng)晚就寫了好多個(gè)經(jīng)典模型。
“落月星辰”評(píng)價(jià)天元:雖然天元目前也存在一些缺陷,比如缺少預(yù)訓(xùn)練權(quán)重文檔。但相比其他框架,天元提供的 API 在計(jì)算機(jī)視覺一塊提供了更多支持,文檔更齊全,對(duì)用戶提問秒回;而且天元的后端靜態(tài)推理很強(qiáng),內(nèi)存優(yōu)化做到了極致?!?/p>
展望
2020年被稱為國(guó)產(chǎn)深度學(xué)習(xí)框架開源的元年。除了曠視的天元MegEngine,清華的Jittor、華為的MindSpore等國(guó)產(chǎn)框架也都紛紛開源,市場(chǎng)似乎變得擁擠起來。
然而,挑戰(zhàn)與機(jī)遇總是并存。曠視的野心不是壟斷,而是成全。布局天元,意味著不計(jì)較一角一地的得失,跳出局部,從全局看問題。
正如“天元”的命名啟示,“天元”在圍棋中,是棋盤的正中心。曠視將天元開源,是希望自研的深度學(xué)習(xí)框架成為中國(guó)人工智能領(lǐng)域發(fā)展的基石,動(dòng)力,以及信心。
開源本身,往往是“后來居上”:將自家的獨(dú)門絕技分解成一招一式,慷慨對(duì)外,既是開誠(chéng)布公的交流,也是明槍暗箭的較量。將天元開源之后,曠視不再獨(dú)享其優(yōu)勢(shì)性能,天元的代碼隨時(shí)被修改、被借鑒、被創(chuàng)新,但在天元團(tuán)隊(duì)看來,這正是開源的魅力所在:“促進(jìn)交流,共同成長(zhǎng)!”
許思然相信:“一個(gè)領(lǐng)域越火,發(fā)展的速度就越快。深度學(xué)習(xí)是一個(gè)技術(shù)主導(dǎo)的領(lǐng)域。技術(shù)做得好,能夠被其他人借鑒;做得差的,方案就沒人用。開源的深度學(xué)習(xí)框架變多,最大的好處是大家可以相互學(xué)習(xí)對(duì)方的長(zhǎng)處?!?/p>
一年的奮戰(zhàn)過后,曠視團(tuán)隊(duì)繼續(xù)走在開源的路上。
當(dāng)被問及何時(shí)會(huì)覺得天元開源成功了,許思然想起電影Soul(《心靈奇旅》)中的一個(gè)片段:“沒有一個(gè)明確的時(shí)間點(diǎn),說到那個(gè)時(shí)間點(diǎn),突然就成功了,進(jìn)入到下一個(gè)階段了。”他認(rèn)為,開源也是如此,也許有一些標(biāo)志性的階段,但沒有盡頭。
問及接下來的工作期待,許思然的回答是:“多做幾個(gè)強(qiáng)大的 feature,讓更多人來用 MegEngine ?!睆堬L(fēng)等人則希望,能夠從開發(fā)者社區(qū)的交流中獲得更多助力。
盡管越來越多國(guó)人意識(shí)到開源的價(jià)值,但必須承認(rèn)的是,中國(guó)的開源生態(tài)仍待完善,我們?nèi)杂幸欢温L(zhǎng)的道路要走。
路漫漫其修遠(yuǎn)兮,吾將上下而求索。曠視天元開源團(tuán)隊(duì)的身上,有著新一代青年人對(duì)技術(shù)創(chuàng)新一往無前的勇氣、熱情與執(zhí)著。作為中國(guó)開源隊(duì)伍中的一分子,他們讓我們看到天元框架的潛力,以及中國(guó)開源生態(tài)發(fā)展的更多可能性。
致敬天元少年,致敬中國(guó)開源事業(yè)?。ㄅe杯)
(天元團(tuán)隊(duì)成員覺得所取得的成績(jī)都是團(tuán)隊(duì)貢獻(xiàn),請(qǐng)求化名,感謝讀者理解)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。