時間:2023-08-04|瀏覽:277
由于訓練數據處理需求超過了單臺計算機的能力,需要將機器學習工作分散在多臺機器上,從而將集中式系統轉變為分布式系統。隨著機器學習技術的發展,訓練數據集的數量越來越多,這將在分布式存儲市場中創造更多的價值。同時,龐大的模型訓練是否能夠利用礦機的剩余算力也是一個問題。不管是從網絡存儲和檢索角度,還是從礦工收益角度,去中心化存儲市場的整體經濟盈余都會大幅增長。
該文從機器學習的角度探討了分布式存儲在分布式機器學習中的優勢,以及它對分布式存儲的價值。
分布式機器學習是什么?近年來,由于技術的快速發展,數據量達到了前所未有的高度。在數據分析和決策系統中,機器學習算法的應用日益廣泛,但對于某些復雜問題,單一的機器學習算法無法解決。例如自動駕駛、語音識別、量化預測和消費行為預測等。
總的來說,機器學習問題可以分為訓練階段和預測階段。在訓練階段,通過向機器學習模型輸入大量的訓練數據,不斷地更新優化該模型。在預測階段,將新的數據讓訓練好的模型輸出預測結果。這可以用下圖表示:
考慮到復雜應用的訓練集很容易達到TB級,為了減少訓練時間,人們將機器學習方法應用于分布式系統,充分利用并行處理和I/O總帶寬的優勢。如果數據本身是分布式的,或者數據量太大無法存儲在單一設備上,傳統的中央模式就無法滿足需求。
在將這類數據集作為機器學習模型的訓練數據時,我們需要選擇能進行并行或分布式計算和數據分布式存儲的算法。解決機器學習問題的分布式方案可以分為數據分布和模型分布兩種方法,將問題分解到多個設備之間(這兩種方法也可以同時使用)。
在分布式系統中,節點數量決定了數據塊的大小,因此所有節點使用相同的算法。同一模型可供所有節點使用(通過集中分布或復制分布),因此聚合后會得到與傳統機器學習訓練一致的結果。這種方法適用于現有的任何機器學習算法,只要數據的分布是獨立且同分布。
對于模型分布式,將模型分解為不同的組件,每個節點接受一個或多個組件的請求,然后將整個數據集作為輸入進行訓練。換句話說,每個節點都要處理相同的數據,并最終形成一個聚合的最終模型。由于模型參數通常不能分割,所以模型分布式方法并不適用于所有機器學習算法。
下一步,我們將通過具體示例來探索機器學習和分布式存儲網絡的結合。
深度學習主要依靠數據表征而非特定任務的算法。在深度學習中,“深度”一詞用于描述模型輸入和輸出之間的層次關系。這兩層將數據轉換為各種表示,并給出結果。遷移學習提供了一種新的深度學習方法。
遷移學習通過學習和解決一系列問題,存儲和積累所獲得的知識,并試圖將這些知識應用于其他類似的問題。在算法上,它類似于將識別鳥類的知識應用于飛機和其他飛行物體的識別。常規機器學習使用來自同一領域的數據進行學習和預測,而遷移學習使用來自其他領域的知識(例如,從其他模型中預先訓練的權重)來完成目標領域的任務。
我們可以構建一個區塊鏈框架,將深度學習模型進行數據預訓練并在其上實施智能合約。當滿足智能合約的限定條件(例如支付通證)時,這個合約可以通過網絡共享給其他用戶,從而使模型更廣泛地使用——使用預先訓練好的大數據模型來處理用戶自己的小數據模型。
在這個框架中,區塊鏈提供的不僅僅是一種通信機制,還是一種知識產權保護制度。在區塊鏈上的智能合約可以確保預先訓練的模型或創建模型的人擁有這些知識產權(模型、數據和資源),并且分享數據的個人可以獲得報酬,從而推動這種“機器知識”的傳播。
Filecoin開發團隊一直強調存儲“價值數據”的重要性,從Filecoin網絡測試階段開始,他們就開始研究如何讓“價值數據”的存儲節點獲得更高的效率。自從2021年1月FilecoinPlus正式開始Datacap分配過程以來,驗證客戶機所分配的Datacap數量很少,其中一個原因是由于公證人進行人工審核的時間周期較長,并且沒有發現大量可信客戶機的釋放。按照目前的規則,在Filecoin網絡上存儲機器學習訓練集或模型等有意義的數據時,礦工理想情況下可以