PyTorch 治理| 感興趣的人

2025-07-02 18:34 更新

在開源世界中,PyTorch 憑借其獨特的治理模式,匯聚了全球開發(fā)者的智慧,不斷推動深度學習技術(shù)的邊界。今天,編程獅將為你揭開 PyTorch 治理的神秘面紗,看看它是如何運轉(zhuǎn)的,以及你如何能融入其中。

一、PyTorch 治理:社區(qū)驅(qū)動的開源力量

PyTorch 的治理結(jié)構(gòu)是一種典型的社區(qū)驅(qū)動模式,其核心理念是 “代碼貢獻至上”。這意味著,不論你是來自大型科技公司的工程師,還是獨立的編程愛好者,只要你能為項目寫出有價值的代碼,就能在這個社區(qū)中獲得認可和尊重。

(一)項目維護者:PyTorch 的領(lǐng)航員

項目維護者是 PyTorch 的核心領(lǐng)導力量,他們負責為整個項目規(guī)劃方向、把握技術(shù)路線。例如,Adam Paszke 作為 PyTorch 的創(chuàng)始人之一,他不僅提出了許多關(guān)鍵的設(shè)計理念,還持續(xù)參與代碼審查和項目決策,確保 PyTorch 能始終走在技術(shù)前沿。

維護者的職責還包括解決社區(qū)中的爭議。當開發(fā)者們對某個技術(shù)方案存在分歧時,維護者會像裁判一樣,綜合考慮各方意見,做出對項目最有利的決定。

(二)核心開發(fā)人員:PyTorch 的建設(shè)者

核心開發(fā)人員是 PyTorch 的中堅力量。他們可以直接合并拉取請求,對代碼庫的各個部分進行維護。這些開發(fā)者來自世界各地,他們通過多種方式為項目貢獻力量:

  • 提交代碼更改 :修復漏洞、優(yōu)化性能、新增功能等。例如,開發(fā)人員可能會提交一個拉取請求,優(yōu)化 PyTorch 的張量計算性能,讓深度學習模型的訓練速度更快。
  • 審查拉取請求 :幫助其他貢獻者審查代碼,確保代碼質(zhì)量。這種代碼審查機制就像一個質(zhì)量過濾器,保證了 PyTorch 代碼庫的穩(wěn)定性和可靠性。
  • 參與社區(qū)討論 :在 PyTorch 的官方交流渠道上,核心開發(fā)人員會積極參與話題討論,分享他們的見解和經(jīng)驗。

(三)主持人:社區(qū)氛圍的守護者

主持人負責維護社區(qū)的健康氛圍。他們會密切關(guān)注官方交流渠道上的討論,確保大家的發(fā)言符合《行為準則》。如果有人發(fā)表不當言論,主持人會及時介入處理,營造一個積極、友好、富有建設(shè)性的社區(qū)環(huán)境。

二、決策機制:從代碼到方向的把控

(一)無爭議變更的高效流程

對于沒有爭議的變更,PyTorch 的決策流程非常高效。核心開發(fā)人員通過提交拉取請求的方式進行代碼合并。當拉取請求獲得批準后,就可以直接合并到代碼庫中。

不過,通知相關(guān)領(lǐng)域的專家了解錯誤跟蹤器上的問題或拉取請求是非常重要的。這樣可以避免相關(guān)專家事后撤銷已合并更改的情況。

(二)有爭議決策的審慎流程

當涉及到有爭議的重大變更時,PyTorch 會開啟 GitHub 問題進行充分討論。以下幾類變更通常需要這樣的討論:

  1. 框架的語義或語法發(fā)生任何變更。
  2. 向后不兼容的 Python 或 Cpp API 變更。
  3. 核心框架的補充,例如在現(xiàn)有庫中引入實質(zhì)性新功能。
  4. 刪除核心功能。

在這種情況下,項目維護者擁有最終決定權(quán),他們會仔細權(quán)衡各方意見,做出對項目最有利的決策。

三、常見問題:你想知道的都在這里

(一)如何擁有項目的一部分?

如果你想擁有(或部分擁有)項目的一部分,例如某個特定的域 API(如 Torch Vision),這是完全有可能的。首先,你需要從為現(xiàn)有項目領(lǐng)域做出貢獻開始,積極推動它的健康和持續(xù)發(fā)展。在此基礎(chǔ)上,你還可以通過 GitHub 問題提出新的功能建議或改進方案。

(二)公司能否通過購買董事會席位驅(qū)動項目方向?

不行,PyTorch 項目嚴格遵循由維護者驅(qū)動的理念來決定項目的發(fā)展方向。項目并沒有設(shè)立董事會,也不會提供任何可以通過財務(wù)貢獻來獲取技術(shù)方向影響力的相關(guān)工具。

(三)PyTorch 是否支持獨立開發(fā)人員?

目前,PyTorch 項目尚未推出專門的贈款或支持方法來直接支持使用該項目或?qū)椖孔龀鲐暙I的獨立開發(fā)人員。不過,社區(qū)正在積極探索新的途徑,努力尋找更好的方式來支持 PyTorch 周邊的獨立開發(fā)者社區(qū)。

(四)如何為項目貢獻代碼?

對于較小的代碼變更,你可以直接在 GitHub 上創(chuàng)建拉取請求,提交你的代碼供項目提交者進行審核和合并。而對于較大的變更,建議你先在 GitHub 上創(chuàng)建問題,詳細闡述你的想法和建議,以便與社區(qū)成員進行充分的討論和溝通。

(五)如何成為項目的提交者?

目前,由于 PyTorch 的提交過程與 Facebook 的基礎(chǔ)設(shè)施存在一定的關(guān)聯(lián),只有 Facebook 的員工才能觸發(fā)提交操作。不過,社區(qū)正在積極尋找解決方案,努力將提交者基礎(chǔ)擴展到 Facebook 之外的個人開發(fā)者。

(六)是否需要成為 “官方” 提交者才能舉辦 PyTorch 教程?

不需要,PyTorch 社區(qū)鼓勵每一位社區(qū)成員積極展示自己的作品和成果。無論你是否是項目的 “官方” 提交者,只要你對 PyTorch 有深入的理解和豐富的實踐經(jīng)驗,都可以在會議上或其他場合舉辦 PyTorch 教程。

四、總結(jié)

PyTorch 的治理模式是一種社區(qū)驅(qū)動的開源力量,它充分發(fā)揮了核心團隊的專業(yè)優(yōu)勢,還廣泛吸納了社區(qū)的智慧和力量。希望這篇教程能夠幫助你更好地融入 PyTorch 開源社區(qū),無論是作為學習者汲取知識,還是作為貢獻者回饋社區(qū),都能讓你在深度學習的道路上收獲滿滿。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號