進擊的AI框架,MindSpore開源一週年

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"開源一年以來,累計發佈 8 個新版本,匯聚超過 "},{"type":"text","marks":[{"type":"strong"}],"text":"3000 名社區開發者"},{"type":"text","text":"的代碼貢獻,社區訪問量超千萬;現擁有超過 "},{"type":"text","marks":[{"type":"strong"}],"text":"100 個大的基礎模型"},{"type":"text","text":",涵蓋計算機視覺、NLP 等主流的 AI 和深度學習框架;累計 PR 數 超過2萬個,下載量高達 "},{"type":"text","marks":[{"type":"strong"}],"text":"22萬次"},{"type":"text","text":",下載用戶遍佈全球;超過"},{"type":"text","marks":[{"type":"strong"}],"text":" 100 所高校"},{"type":"text","text":"參與了社區活動,超過 "},{"type":"text","marks":[{"type":"strong"}],"text":"40 家科研機構"},{"type":"text","text":"利用它去發表原創論文。這就是全場景AI 計算框架 MindSpore 開源一年來取得的成績!"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MindSpore 如何在短短一年時間取得這些成績的?它怎樣與開發者打交道?如何打造自己的開源社區?以及它是如何落地,給企業和開發者帶來真正價值的?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"回答上述問題,不僅有助於我們更好的瞭解 MindSpore 開源項目,而且能讓我們深刻的理解開源和它背後的價值與意義。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"僅“一歲”的AI開源項目"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2020 年 3 月 28 日,華爲開源新一代全場景AI計算框架 MindSpore,併發布 MindSpore 0.1.0-alpha 版本。據悉,它具有基於源碼轉換的通用自動微分、自動實現分佈式並行訓練、數據處理、以及圖執行引擎等功能特性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MindSpore最初是作爲華爲內部項目孵化的。因爲在華爲的某些業務場景中,傳統AI框架無法滿足需求,於是自己研發,纔有了 MindSpore。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"華爲雲與計算開源業務(OSDT)總經理、開放原子開源基金會 TOC(技術監督委員會)主席堵俊平表示,“"},{"type":"text","marks":[{"type":"strong"}],"text":"我們認爲把這個項目開源可以很好的體現(一種)利他主義精神,能爲業界很多數學科學家和工程師提供一種設計友好、運行高效的開發體驗,包括軟硬件協同優化,適用於端、邊、雲全場景。"},{"type":"text","text":"”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"誕生 6 個月後,MindSpore 迎來另一個重要時刻。在社區力量和用戶力量的共同驅動下,MindSpore快速迭代,社區每月發佈一個新版本。9 月 30 日,MindSpore 1.0 版本正式發佈。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這被視爲一個非常重要的版本,因爲它標誌着在經過 7 個版本快速迭代後,MindSpore 達到了在生產環境可用的標準。“一個開源項目達到 1.0 版本的標準,就可以投入商用,這是非常重要的。因爲之前,它意味着用戶要承擔更多的風險。一旦達到 1.0 標準或生產商用的標準,用戶用起來就會更放心,因爲它經過很多實際場景的打磨”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在堵俊平看來,一個好框架,它的 API 後續版本一定要保證向前兼容性。如果隨意更改 API,這對老版本的使用或老用戶的後續升級維護會帶來很多挑戰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2021年3月28日,MindSpore開源迎來一週年,社區不僅舉行了週年直播活動,而且宣佈了許多新特性,比如動態圖分佈式訓練效率的大幅提升、一鍵模型遷移、模型魯棒性檢測等,同時推出面向開發者的新工具TinyMS。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/b0\/b0251393b02a961598d6a1d014eb19d0.jpeg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開發者第一"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"開發者對開源社區猶如水之於河,由於水的流動,河纔有生命力。同樣,因爲開發者的不斷參與和貢獻,開源社區才能壯大。一旦失去開發者,開源社區就沒有了生命力,終將變成“一條幹枯的河流”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MindSpore開源社區一直堅持“開發者第一”的原則,不斷爲開發者提供更好的服務。這體現在以下幾個方面:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一是"},{"type":"text","marks":[{"type":"strong"}],"text":"降低開發者參與門檻"},{"type":"text","text":"。社區通過推出新工具,降低開發者上手難度。比如用AI工具實現issue標籤自動化,提高開發者參與積極性。傳統上,issue的分配和審查需要耗費社區管理者的大量工作和時間,結果造成issue長時間積壓,無法解決。而MindSpore社區開發出AI工具,自動爲每個issue打標籤,縮短問題響應時間,提升issue處理效率。此外,在一週年到來之際,MindSpore社區又推出了新工具TinyMS,不僅簡單易上手,而且端到端部署,全流程打通。同時,它還能對模型訓練腳本的格式進行標準化和規範化,提高模型開發效率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"二是"},{"type":"text","marks":[{"type":"strong"}],"text":"解決開發者問題"},{"type":"text","text":"。MindSpore社區提供了完備的開發者文檔,包括MindSpore編程指南、Python API、C++ API、Java API、設計和規格等各類文檔。文檔不僅結構分明,清晰直觀,而且詳細完備,對開發者非常友好。通過社區文檔,開發者不僅可以快速瞭解MindSpore的重要信息,而且能快速上手。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"三是"},{"type":"text","marks":[{"type":"strong"}],"text":"以開發者爲主體,通過悉心服務匯聚大量開發者"},{"type":"text","text":"。開發者加入社區,不管是加入MindSpore Study Group(簡稱MSG,一個讓開發者進行技術研討、案例分享、互相交流的開發者社羣),還是參與社區活動,甚至提 issue,他都能得到快速反饋。爲了更好地給開發者答疑解惑,社區運營團隊不僅有微信羣、QQ 羣,甚至還建立了一個“知乎老鄉送溫暖”的羣。“如果知乎裏有人提出問題,我們會先拉到‘送溫暖’微信羣。如果微信羣裏解決不了,我們再到QQ羣。因爲QQ羣,我們要求研發專家必須駐場。簡言之,千方百計解決大家的問題”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,制度規定又是另一重保障。社區有針對開發者響應的SLA制度,保證最快4小時內閉環一般性問題,最慢一個版本週期內落地大特性問題。與此同時,社區還有開發者開放治理制度,定義了Contributor和Approvers兩類角色,任何參與社區的開發者都有機會成爲Contributor或Approvers,從而在社區承擔更關鍵、更重要的角色。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"或許,正是抱着一心爲開發者服務的態度,MindSpore才能在開發者羣體中產生越來越大的影響力,吸引更多開發者參與,爲社區做貢獻。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開源社區優先"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"開源界有句話,“"},{"type":"text","marks":[{"type":"strong"}],"text":"如果你有一個好的代碼,但是沒有一個好的社區,那麼聰明人都會走開,你的代碼也就慢慢腐爛;如果你有一個哪怕是不那麼好的代碼,但是你有好的社區,吸引很多優秀的人加入,慢慢地改造代碼,代碼本身會變得更好,軟件也會變得更好"},{"type":"text","text":"“。因此,一個開源項目的成功與否,開源社區發揮着關鍵作用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"據悉,MindSpore 社區採取開放治理架構,它既有技術治理委員會(Technical Steering Committee,簡稱 TSC),負責把控開源項目大的發展方向,也有特殊興趣組(SIG)和工作組(Working Group,簡稱 WG)。具體說來,日常的模塊開發通常通過 SIG 的形式由開發者自由組隊,並通過推舉 SIG Lead 的方式來產生模塊開發的負責人,管理日常工作。工作組 WG 則主要是負責一些涉及到多個 SIG 的需求傳遞、設計討論等工作。此外,在國內的深圳、杭州、蘇州、上海等城市以及海外的俄羅斯、新加坡、印尼等均已建立 MSG 組織,方便開發者深入交流。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"堵俊平稱,“有一句話說‘"},{"type":"text","marks":[{"type":"strong"}],"text":"獨行快,衆行遠"},{"type":"text","text":"’。"},{"type":"text","marks":[{"type":"strong"}],"text":"我們要打造一個包容、開放的社區,讓更多人加入進來,貢獻自己的經驗和智慧"},{"type":"text","text":"。我們希望跟廣大的開發者一道,讓 MindSpore 不僅走得快,而且走得遠。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在MindSpore社區建設中,社區運營起到非常重要的作用,因爲它是社區和開發者之間的橋樑。據悉,社區運營開展了很多面向開發者的活動,比如 MindSpore 兩日集訓營、21 天實戰營等。以 21 天實戰營爲例,社區邀請專家採取直播+錄播+作業的授課形式,幫助開發者們深度解讀深度學習每一個步驟,幫助小白更快的上手高性能深度學習框架。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"與傳統的社區運營不同,MindSpore的社區運營活動以開發者爲主體,一切圍繞着開發者。“不是說請大牛給大家講課,大家進行提問,而是社區策劃一個活動,讓大家真正參與進來,互相比拼誰的模型的精度最高”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"據悉,社區微信羣裏,有一個開發者,他一直積極參與社區活動,甚至想帶着 MindSpore 去參加日本的一個 AI 大賽。在社區評選優秀開發者時,他被評上,而直到參加答辯活動時(社區規定:被評上的優秀開發者需要參加公開的答辯活動),大家才知道他是一個華人,一直在日本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從MindSpore社區運營過程中,堵俊平總結出一個好社區成功運營的四個關鍵:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一,開源產品要有競爭力,有創新;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二,有一套成熟的社區治理方案,包括構建社區文化。只有社區成爲一個開放、包容的地方,開發者才能在裏面找到歸屬感。這樣大家才能齊聚一堂,貢獻智慧。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三,生態合作。一個開源項目要發揮自己的價值,需要有生態,比如它怎麼與上層的應用結合,怎麼發揮真正的價值。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第四,專業的運營團隊,以及與周邊力量的配合。“MindSpore 有一個非常專業的運營團隊,負責人都是開源領域的一些老兵和資深貢獻者,在廣大開發者中樹立了比較好的口碑和影響力”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對一個開源項目來說,它真正的價值在於落地。沒有真正落地的開源項目,猶如空中樓閣、水中月鏡中花。當它給開發者和企業不斷帶來價值,這個開源項目纔有長久的生命力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由於一直找不到合適的AI框架,深圳灣實驗室的團隊在開展分子動力學模型研究時遲遲無法推進。。在一次MSG深圳活動上,實驗室團隊瞭解到了MindSpore開源項目。通過與社區的深入交流,他們發現MindSpore正好滿足自己的需求,它不僅有很好的自動微分能力,性能好,而且其高階導數計算靈活。因此,深圳灣實驗室的團隊開始與MindSpore社區合作,利用MindSpore進行大集羣訓練,實現分子動力學模擬,最終獲得突破性的創新成果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"堵俊平表示,“通過社區,開發者接觸到新場景、新技術,並把這個技術使用經驗反饋回社區,發生一些化學反應,產生創新的機會。我們希望 MindSpore 成爲一個全場景的創新平臺”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除了科研機構,MindSpore落地的另一個領域是企業。據瞭解,Jina.ai 是一家初創公司,致力於提供面向雲原生的開源神經網絡搜索能力。Jina.ai與MindSpore通過基於開源社區的合作,可以提供諸如以圖搜圖這樣有趣的功能。並且,這家公司還在依靠MindSpore的能力嘗試一些新應用,比如聽歌識曲、法律文本搜索等。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"未來:加速奔跑"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如今,MindSpore開源一週年,社區也舉行了一系列的慶祝活動,比如一週年直播、新特性與新工具TinyMS發佈。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"開源一年來,正是奉行開發者第一原則和社區優先理念,MindSpore才能不斷吸引開發者加入進來,社區才能不斷壯大,生態才能蓬勃發展。在堵俊平看來,MindSpore開源項目取得的成績離不開社區和廣大開發者的力量,也離不開用戶、合作伙伴以及與企業的合作。他說:“在這個一體共生的環境裏,通過社區去連接所有要素,推動關鍵要素一起進行創新創造,我覺得這是一件很偉大的事情。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"面向未來,MindSpore也在加快自己的發展步伐,“打造一個有競爭力的開源社區,讓AI框架可以更好地普惠大衆”。爲此,MindSpore一方面堅持社區優先,奉行一個更開放的策略;另一方面,在這個策略下,團結更廣泛的用戶,包括開發者、合作伙伴,“只有社區足夠開放,產品有亮點,有讓人眼前一亮的技術,這樣才能吸引更多的開發者參與進來”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"附:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MindSpore新特性及新工具TinyMS下載:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/tinyms.readthedocs.io\/zh_CN\/latest\/"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MindSpore開源項目GitHub地址:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/github.com\/mindspore-ai\/mindspore\/blob\/master\/README_CN.md"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MindSpore開源項目:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/gitee.com\/mindspore\/mindspore?_from=gitee_search"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"MindSpore官網:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/www.mindspore.cn\/"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章