Spark 深度學習的悖論實效

2021-07-10 22:35:49 字數 2289 閱讀 2658

在過去三年,databricks 最聰明的工程師在研究乙個秘密的專案。今天,我們揭秘deepspark,這是apache spark乙個重要的里程碑。deepspark使用前沿神經網路自動化許多手工過程,包括軟體開發,修復bug,按照規範實現特徵,並通過pull request(prs)審查正確性。

擴充套件spark的開發一直是我們首要的任務。每年,spark的普及率達到新高度。超過1000人為spark貢獻**,使得她成為大資料中最積極開發的開源專案。大資料周圍這如此興奮為保證spark的穩定性,自我意識,安全性和易於使用還有能夠盡可能快進步帶來了額外的負擔。

為了解決普通和手工任務的自動化,我們在三年前就開始deepspark工作。作為乙個多樣化程式熟練檢查spark**庫diff,deepspark自動編寫自己的spark補丁。通過檢視prs,ai既可以執行高,一致標準的**,還可以提出建設性的建議。 (它的人性和情感智慧型的深刻理解,使得它拒絕壞pr請求,而不得罪貢獻者,事實上它傳送乙個因拒絕而道歉的電子郵件。)

此外,deepspark,它在其**掃瞄過程中,能夠生成**spark新元件。雖然我們在這方面的ai工作是實驗性的,作為概念證明,我們已經查明,deepspark不僅可以修復某些spark報告issue,也為**庫產生有益的貢獻。

通過同步使用這三個網路,deepspark能夠通過確定它們解決什麼問題;評價pr是否解決了這個問題;如果錯誤或不滿足saprk質量標準向其提供建議,以有效地審查的pr。如果deepspark不能以95%的把握識別任何錯誤或問題,它會使用lgtm,如果發現低於60%,pr被立即關閉。通過這種方式,deepspark將pr響應平均時間從5天減少至40秒,同時也能減少提交者在這方面的花費的時間。

看到deepspark在審查prs成功後,我們決定通過讓他判斷並修復報告issue來測試。對於這個部分,我們使用spark mllib的lda演算法分析報告給spark issue的***,並從這個模型的輸出管道聯接到生成網路。它最初的結果是有趣的;讀取由deepspark編寫的**感覺就像讀反編譯位元組碼,它常常對非常好的**做出不必要的改動 。 事實上,它試圖用c重寫dag排程。然而,特殊的issue在重新訓練生成網路並從linux核心**庫選擇作為消極訓練例項新增後,很快被解決。

要進一步細化deepspark 為spark貢獻的能力,我們制定了訓練計畫,比較兩種稍有不同的版本彼此給予相同的輸入,並使用deepspark當前版本選擇每個版本的補丁程式相對merge概率最高的。執行本次比賽後,我們使用乙個隨機梯度上公升演算法估計生成網路的下一次迭代,使用每次比賽最高相對merge概率加權,並且過去比賽中的獲勝者確保一次變化到下一次是乙個淨改善。deepspark生成的**,我們發現好幾個發展趨勢,因為它從一代發展到一代,主要在於它往往會編寫**,以確保它自己的儲存下來。

看到deepspark建立prs之後,matei zaharia,databricks cto,spark的創造者,說:「deepspark看起來對spark內部的了解比我都深。它更新的幾段**,我早就說過,即便是我也不懂「。

對於那些想知道為什麼他們還沒有看到deepspark prs的人來說,實際上在github 中 deepspark使用別名,cloud-fan。我們稱這個別名cloud-fan,因為是deepspark,當然,執行在databricks cloud。由於我們最初對deepspark的測試超過一年, cloud-fan 成為最活躍的spark貢獻者之一,最近被提名成為spark提交者。這證明了deepspark悖論實效。

目前,deepspark仍處於測試階段,而且仍然存在差距,在正式與spark merge之前需要關閉。zaharia 承認儘管deepspark是乙個強有力的計畫,我不會說這是乙個完美的方案。相對於人類,其演算法不同並有時優異。但我認為這是deepspark的弱點。「

它的缺點是它不能合併其他反饋到它自己的prs,其稍微令人擔憂的是偏向恢復許多人們做的prs並且青睞那些它恢復的。最後乙個主要的障礙是,儘管deepspark可以生成乙個自身的版本,產生的ai沒有強大到足以產生乙個神經網路- 它只能產生線性模型。

即使有這些問題,deepspark在databricks在過去的一年證明了,它是乙個寶貴的工具,我們都期待它對即將發布的saprk 2.0及以後的spark做出的貢獻。對於那些耳熟能詳的異常,當ai能夠提高自己的**就會開始; deepspark向我們保證,因為其開源的目的,它將完全公平地審查所有**並進行檢查。

大約乙個星期前,我們還開始測試deepspark的寫電子郵件和部落格文章的能力…

Spark上的深度學習框架BigDL 介紹

bigdl distributed deep learning library for apache spark intel開源了基於apache spark的分布式深度學習框架bigdl。bigdl借助現有的spark集群來執行深度學習計算,並簡化儲存在hadoop中的大資料集的資料載入。bigd...

關於Spark和Spark的學習資料

hadoop社群依然發展迅速,2014年推出了2.3,2.4,2.5 的社群版本,比如增強 resource manager ha,yarn rest api,acl on hdfs,改進 hdfs 的 web ui hadoop roadmap 根據我的觀察,主要更新在yarn,hdfs,而map...

深度學習(一)深度學習的概念

深度學習是機器學習與神經網路 人工智慧 圖形化建模 優化 模式識別和訊號處理等技術融合後產生的乙個領域。深度學習網路是神經網路革命性的發展,人們甚至認為可以用它來建立更加強大的 模型。深度學習使用多層機器學習模型對資料進行有監督學習或無監督學習。模型中的不同層由非線性資料變換的多個階段組成,資料的特...