軟件不開放源碼就落伍了!
Facebook以及多家風險投資(VC)機構的高層都表示,開放源碼軟體已經(jīng)成為一種預設值,有眾多新創(chuàng)公司都將之視為立業(yè)基礎。
本文引用地址:http://m.butianyuan.cn/article/201609/296476.htm在近日于美國矽谷舉行的年度@Scale大會上,Facebook以及多家風險投資(VC)機構的高層都表示,開放源碼軟體已經(jīng)成為一種預設值,有眾多新創(chuàng)公司都將之視為立業(yè)基礎;這場大會旨在鼓勵軟體開發(fā)者擁抱開放源碼并對該社群有所貢獻。
與會的Facebook說到做到,表示該公司準備公布從防震360度視訊、增強版的資料壓縮,到機器學習等涵蓋各種應用的程式碼。“有那么多東西以開放的形式發(fā)生,讓我們能以更快地速度一起合作解決問題;”Facebook的工程與基礎建設部門主管Jay Parikh在@Scale大會的專題演說中指出,估計全球有150萬工程師參與開放源碼開發(fā)專案。
風險投資業(yè)者Accel Partners──為線上音樂服務Spotify,以及線上團隊溝通平臺Slack的幕后股東──合夥人Ping Li則表示,F(xiàn)acebook的開放策略包括軟體程式碼以及硬體,而相同的模式正獲得許多新創(chuàng)公司采用;開放源碼軟體:“已經(jīng)成為既定標準,甚至在美國政府內(nèi)部也是由開放源碼軟體起步,只添加一些缺漏的東西。”
企業(yè)打造以開放源碼為基礎的產(chǎn)品,其中有很多添加了專屬軟體使其達到企業(yè)應用水準(enterprise ready);Li表示,未來幾年最大規(guī)模的科技業(yè)公開發(fā)行案例會有一些屬于這類案例,而估計有超過75%的企業(yè)用戶會采用開放源碼軟體。
他進一步指出:“開放源碼是一種有許多不同風格的開發(fā)與授權模式,不過開放采用軟體(open adoption software)是一種范圍更廣的商業(yè)模式,改變程式碼如何被開發(fā)、使用以及貨幣化的方式;像是客制化客戶關系管理(CRM)軟體供應商Salesforce就率先以新方式提供軟體,這是相同的一件事情。”
Li表示,以往軟體公司會先把新功能的想法編寫到一個程式集或是云端服務中,現(xiàn)在的軟體新創(chuàng)公司則是會把現(xiàn)有的開放源碼軟體堆疊透過合作方式拼湊在一起,之后再把功能添加上去:“當你把程式碼開放,就能解決你可能想像不到的很多問題,因此我鼓勵各位想得更遠,并持續(xù)貢獻開放源碼。”
Facebook的機器學習開放源碼軟體
Facebook在@Scale大會上介紹了資料壓縮、機器學習以及防震360度視訊的開放源碼;該公司軟體工程師Andrew Tulloch,介紹了Facebook如何利用廣泛的神經(jīng)網(wǎng)路型態(tài)陣列,來觀察文字、圖片、視訊以及社交關系的模式。
其他Facebook的工程師則介紹了該公司自家打造的工具,可讓非專業(yè)人員更容易訓練并測試深度學習模型;這些FBLearner工具提供了只需要點擊操作的瀏覽器形式介面,把連結資料到模型的程序自動化,并能與伺服器叢集平行運作、評估其性能,因此開發(fā)者能快速選擇要將哪種模型運用在量產(chǎn)服務中。
參與開發(fā)FBLearner工具的Facebook工程師Pierre Andrews表示:“我們想要讓每個人都能輕易地開始機器學習訓練流水線,并將一個模型推向量產(chǎn),不必撰寫程式碼或是維護昂貴的伺服器…我們將機器學習程序大眾化,使用者不需要擁有機器學習領域的博士學位。”
Facebook有超過1,000位工程師(約占該公司工程師總人數(shù)的四分之一)目前每個月都會使用FBLearner工具,來衡量要把哪些資訊放進新聞摘要,或是如何將用戶與廣告配對;該套工具已經(jīng)協(xié)助訓練出超過60萬種模型,每種模型使涌了23億筆資料。
不過Facebook的工程師代表們,并沒有提出任何要將FBLearner的工作轉向開放源碼的計畫;有其他講者則介紹了三項實習生的推理引擎(inference engine)應用機器學習專案成果,這些專案Facebook將會公布開放源碼。
其一是為x86處理器打造的卷積神經(jīng)網(wǎng)路NNPack,其原始碼已經(jīng)公布;另一項是采用平行緩沖記憶體(parallel buffer)來降低執(zhí)行神經(jīng)網(wǎng)路所需的記憶體容量。第三項專案則號稱是一位能力超強、來自史丹佛(Stanford)大學的實習生,在今年暑假制作出的壓縮推理模型(compress inference model)。
Facebook研究科學家Yangqing Jia 介紹,該種壓縮推理模型刪減了一個模型中的權衡次數(shù),然后利用量子化(quantization)來減少每次權衡的位元數(shù),再用Huffman編碼來壓縮最后的模型、最高可縮小49倍,并同時略為增加其精確度。
Facebook暑期實習生打造的壓縮推理引擎將釋出開放源碼
360視訊防震演算法、資料中心復原工具
Facebook的研究科學家Johannes Kopf介紹了針對360度視訊應用的一套防震演算法,代碼在每個圖框(frame)上的執(zhí)行時間為22微秒(millisecond),比360度視訊33微秒的播放時間還要快,因此不會在上傳時出現(xiàn)延遲;該演算法號稱還能將最后的視訊位元率需求降低20%。
不過該軟體需要PC等級的處理器來執(zhí)行拍攝后的視訊,因此較不適合使用在過去幾個月上市的、價格相對較低的消費性360度攝影機。無論如何,該程式可望有助于產(chǎn)生對于這類視訊的興趣,能支援例如Facebook的Oculus Rift虛擬實境(VR)裝置應用。
此外Facebook還介紹了一種開放源碼無失真壓縮演算法Zstandard,與現(xiàn)有的zlib工具相較,能將資料壓縮處理時間減少二至三倍;而以相同的壓縮速度,Zstandard提供的檔案大小則比zlib所產(chǎn)生的檔案小10~15%。Facebook已經(jīng)準備將Zstandard 應用于一些儲存與通訊系統(tǒng),包括資料庫、備份工具以及通訊協(xié)議;該軟體特別適合較小封包尺寸的傳輸。
Facebook的Parikh并呼吁對可靠度的更進一步專注;他表示,該公司的風暴計畫(Project Storm)在兩年前桑迪颶風(Hurricane Sandy)肆虐美國時開始運作,研究如何在足以摧毀一整個資料中心的災難中仍讓人們能保持連線;他表示:“在多次演習中,我們拔掉插頭看看會發(fā)生什么事;一開始幾次不那么順利,幸好人們沒注意到,而我們也學到了很多。”
Facebook正在開發(fā)當功耗達數(shù)十MW電力的大型資料中心斷電時,可支援負載平衡與流量管理的工具;其SWAT小組已經(jīng)定義了手動與自動化的程序,Parikh強調這類工具需要能完美規(guī)劃,而且處理異常情況的速度要像是一級方程式賽車的維修站那么快。最近幾次演習的結果已經(jīng)更具可預測性、更穩(wěn)定,不過他并未回應這種資料中心復原工具何時會成為開放源碼。
評論