為什么要關(guān)注機(jī)器學(xué)習(xí)開源軟件(MLOSS)?
發(fā)布時(shí)間:2023-06-02 13:52:11
機(jī)器學(xué)習(xí)開源軟件舉足輕重,但未獲重視
MLOSS舉足輕重
過去十年,只要構(gòu)建過ML模型的人都知道MLOSS至關(guān)重要,無(wú)論是Deepmind的研發(fā)工程師,還是印度的高中生都無(wú)一例外會(huì)使用開源軟件來構(gòu)建模型。我們采訪了24名ML從業(yè)者,他們都給出了相同的答案:MLOSS工具在模型構(gòu)建中的地位舉足輕重。
從業(yè)者都在免費(fèi)使用MLOSS工具,也就意味著這類工具會(huì)對(duì)人工智能發(fā)展產(chǎn)生巨大影響。然而,探索MLOSS對(duì)AI發(fā)展影響的研究人員卻寥寥無(wú)幾。
MLOSS未獲重視
迄今為止,研究者就影響人工智能發(fā)展的因素展開了多次討論,其焦點(diǎn)都集中于算力,部分研究者將算法和數(shù)據(jù)也列為了影響因素之一。例如,艾倫·達(dá)福(Allan Dafoe)認(rèn)為影響人工智能發(fā)展的關(guān)鍵因素是計(jì)算能力(算力)、人才、數(shù)據(jù)、洞察力及資金。[1] 黃(Hwang) (2018)探究了硬件供應(yīng)鏈對(duì)機(jī)器學(xué)習(xí)發(fā)展的影響。羅森菲爾德(Rosenfeld) (2019)和海斯特內(nèi)斯(hesistest)(2017)研究了數(shù)據(jù)集大小與人工智能模型精度的關(guān)系。
越來越多的文獻(xiàn)都提到了數(shù)據(jù)集大小和人工智能模型精度,旨在明確如何建立人工智能中輸入和預(yù)測(cè)誤差之間的關(guān)系模型。然而,據(jù)我們所知,目前還未有關(guān)于MLOSS如何影響人工智能發(fā)展的深入研究。
目前,我們的關(guān)注點(diǎn)是數(shù)據(jù)、算力等因素如何改變?nèi)斯ぶ悄艿陌l(fā)展方向,不過,同時(shí)也應(yīng)聚焦于MLOSS在人工智能發(fā)展中的角色。
MLOSS及AI生產(chǎn)函數(shù)
我們?cè)谠缙谘芯恐写嬖谶@樣的疑惑:數(shù)據(jù)、算力及MLOSS這些AI生產(chǎn)的影響因素相互之間有何聯(lián)系,而闡明這些因素之間的聯(lián)系正是理解AI系統(tǒng)開發(fā)默認(rèn)軌跡(default trajectory)的關(guān)鍵。
柯布-道格拉斯生產(chǎn)函數(shù)(Cobb-Douglas production function)是經(jīng)濟(jì)學(xué)中常用的界定方式。該函數(shù)用于資本和原材料等變量的建模,通過函數(shù)參數(shù)化以表示投入與產(chǎn)出的關(guān)系。
艾倫·達(dá)福將“AI生產(chǎn)函數(shù)”應(yīng)用于人工智能治理,并提出構(gòu)成該生產(chǎn)函數(shù)的關(guān)鍵在于算力、人才、數(shù)據(jù)、投資、時(shí)間以及先前進(jìn)展和成果等指標(biāo)[1]。達(dá)福就“人工智能進(jìn)展”研究進(jìn)行了探討,此外,在類似研究中也有相關(guān)探討,以解除人工智能特定范式的思維限制。
實(shí)際上,這就相當(dāng)于“深度學(xué)習(xí)”和“人工智能”。而我們可以選擇不同范式,不過認(rèn)識(shí)到這些范式功能的多樣性也十分重要。例如,概率程序更容易吸收現(xiàn)存的顯性知識(shí),同時(shí)能減少對(duì)大數(shù)據(jù)集可用性的依賴。
雖然生產(chǎn)函數(shù)可以明確區(qū)分出影響深度學(xué)習(xí)發(fā)展的因子,但也存在局限性。特別是當(dāng)生產(chǎn)函數(shù)被認(rèn)為是自變量的乘積時(shí),不會(huì)考慮生產(chǎn)因子之間的共同依賴關(guān)系,而且可能還會(huì)隱藏每個(gè)因子的上下文信息。
還有另一種方法可以闡明影響AI生產(chǎn)的因子,即使用有序的功能依賴圖,亦稱沃德利地圖(Wardley map),來解釋因子之間的共享依賴關(guān)系。例如:中間模型表示依賴于算力基礎(chǔ)設(shè)施和MLOSS框架。
沃德利地圖為AI生產(chǎn)函數(shù)提供了最佳替代方案
沃德利地圖應(yīng)用廣泛。譬如,可在無(wú)手機(jī)的情況下用于求生,也可用于電車的路況預(yù)測(cè)。此外,還有本關(guān)于沃德利地圖理論的書籍。為探尋MLOSS在AI生態(tài)系統(tǒng)中發(fā)揮的作用,我們?cè)谙挛奶峁┝撕?jiǎn)單示例。
構(gòu)建沃德利地圖的三大主要步驟:描述用例、為處理用例所需的技術(shù)功能下定義以及對(duì)該地圖相應(yīng)功能進(jìn)行排序。
以下是“構(gòu)建深度學(xué)習(xí)模型”的用例,也是重中之重。我們將重點(diǎn)關(guān)注框架、預(yù)訓(xùn)練模型、數(shù)據(jù)及硬件的主要功能,且各功能之間相互具有依賴性。如,框架編譯軟件(Glow編譯器)受到ML框架(PyTorch)的影響,而框架編譯軟件依賴于中間表示(ONNX),此外,中間表示又會(huì)受到硬件(NVIDIA GPU)的影響。
現(xiàn)階段,我們旨在闡明與ML框架(MLOSS為典型示例)相關(guān)的某些關(guān)鍵功能,而非對(duì)各方面都泛泛而談。
圖1. 以沃德利地圖構(gòu)建深度學(xué)習(xí)模型
通過沃德利地圖,我們能更清晰闡述有關(guān)塑造深度學(xué)習(xí)研究的能力之間的關(guān)系?;诖?,推斷出哪些功能將成為未來焦點(diǎn)。我們會(huì)在最后一節(jié)詳細(xì)討論“MLOSS之未來”。
稍后,我們將通過沃德利地圖來探討人工智能的未來。
MLOSS通過構(gòu)建標(biāo)準(zhǔn)、推行實(shí)驗(yàn)及創(chuàng)建社區(qū)來促進(jìn)人工智能研究的發(fā)展
我們對(duì)23名參與者進(jìn)行了定性訪談,進(jìn)而確定了MLOSS影響人工智能生態(tài)系統(tǒng)的三大主要因素。
構(gòu)建標(biāo)準(zhǔn)
標(biāo)準(zhǔn)化是指我們普遍認(rèn)可的單一技術(shù)或技能規(guī)范。參與者從研制標(biāo)準(zhǔn)化模型類型、協(xié)調(diào)框架、為開發(fā)人員提供一致的用戶體驗(yàn)這三個(gè)方面談?wù)摿藰?gòu)建標(biāo)準(zhǔn)帶來的的影響。
對(duì)大型神經(jīng)網(wǎng)絡(luò)相關(guān)從業(yè)者而言,模型類型標(biāo)準(zhǔn)化做出的貢獻(xiàn)最為突出。十年前,擁有百萬(wàn)參數(shù)的模型是一項(xiàng)浩瀚工程。然而現(xiàn)如今,研究人員只需連接互聯(lián)網(wǎng)以及使用合適的硬件,就能免費(fèi)下載一個(gè)超1700多億參數(shù)的模型或用這一模型進(jìn)行在線推理。因此,如今大多數(shù)與機(jī)器學(xué)習(xí)相關(guān)的工作都會(huì)涉及大型神經(jīng)網(wǎng)絡(luò),這與MLOSS工具的普及以及硬件和性能工程的發(fā)展密不可分。
我們見證了深度學(xué)習(xí)框架的高度標(biāo)準(zhǔn)化:雖然2016年MXNet、Theano、TensorFlow、Caffe2、Torch這幾種深度學(xué)習(xí)框架占據(jù)很大的市場(chǎng)份額,但是西方相關(guān)從業(yè)者已普遍將PyTorch、JAX及TensorFlow視為深度學(xué)習(xí)的三大主流框架。
該訪談中,所有參與者至少使用過這三大主流框架中的一種。據(jù)Paperswithcode顯示 ,截至2022年6月,采用PyTorch的相關(guān)論文占公開發(fā)表論文的62%、JAX占7%,TensorFlow占1%。雖然DeepMind公開支持JAX這類框架的使用,但是,我們認(rèn)為Paperswithcode關(guān)于JAX的使用數(shù)據(jù)無(wú)法證明JAX越來越受歡迎。
此外,我們還可以看到框架內(nèi)部用戶體驗(yàn)層面的融合。部分參與者指出,TensorFlow以往默認(rèn)的基于graph的機(jī)制無(wú)法給予人們直觀感受,對(duì)初學(xué)者而言更不友好。他們解釋道:因?yàn)镻yTorch具有更為直觀的命令式模型規(guī)范,所以才采用PyTorch。
值得注意的是,由于受到PyTorch帶來的沖擊,TensorFlow 2.0也采用了PyTorch的接口,使其用戶體驗(yàn)與PyTorch趨于一致。
推行實(shí)驗(yàn)
推行實(shí)驗(yàn)不僅能迅速落實(shí)我們的想法,還能提供新的思考方式。PyTorch Lightning開發(fā)了一個(gè)權(quán)重矩陣匯總模塊,從而節(jié)省了研究人員調(diào)試模型的時(shí)間。而Torch的命令式編程也為研究人員提供了新思路。這也意味著將基于graph的模型規(guī)范應(yīng)用于Tree-LSTMs這類新穎架構(gòu)成為現(xiàn)實(shí),這在以前是無(wú)法想象的。
創(chuàng)建社區(qū)
與開源軟件(OSS)生態(tài)系統(tǒng)類似,MLOSS的重要之處在于它為社區(qū)技術(shù)貢獻(xiàn)者及用戶提供了交互機(jī)會(huì)。創(chuàng)建這類社區(qū)的好處諸多,例如用戶能為社區(qū)貢獻(xiàn)力量、提供反饋、輸出技術(shù)內(nèi)容,并為MLOSS志愿者提供就業(yè)機(jī)會(huì)。
開源軟件論壇為交流提供了新平臺(tái),讓用戶成為社區(qū)貢獻(xiàn)者是很好的實(shí)例。社區(qū)中也發(fā)生了一些趣事,一些對(duì)社區(qū)作出了巨大貢獻(xiàn)的用戶隨后被社區(qū)項(xiàng)目贊助者看中,從而獲得了工作機(jī)會(huì)。雖未經(jīng)系統(tǒng)統(tǒng)計(jì),但總的來說加入MLOSS論壇及社區(qū)就有可能獲得一定的就業(yè)機(jī)會(huì)。
通過在線社區(qū),人們可采取多種方式與項(xiàng)目組織方進(jìn)行交流。例如,PyTorch的聯(lián)合創(chuàng)始人Sousmith Chintala曾公開談?wù)揚(yáng)yTorch社區(qū)對(duì)早期工具開發(fā)所帶來的影響。要想開源軟件研發(fā)走得更遠(yuǎn)、保證項(xiàng)目的成功,關(guān)鍵在于能否獲得大眾認(rèn)可;而要想對(duì)項(xiàng)目作出一個(gè)不被支持的修改,可謂難上加難,即使失敗也不足為奇。為了讓這一觀點(diǎn)更具說服力,不妨邀讀者來一探究竟:Facebook更改React項(xiàng)目的開源許可協(xié)議為何會(huì)失敗。
經(jīng)濟(jì)激勵(lì)措施、社會(huì)技術(shù)因素和意識(shí)形態(tài)共同決定MLOSS的發(fā)展
激勵(lì)措施
圖2. 有關(guān)商業(yè)激勵(lì)措施如何影響MLOSS的建議