在不斷發展的機器學習 (ML) 領域,資料是建立成功模型的基石。然而,隨著機器學習專案的擴展並包含更大、更複雜的資料集,有效管理和控制大規模資料的挑戰變得更加明顯。
這些是資料科學家使用的常見
傳統方法以及與這些方法相關的限制:
複製/貼上困境:在資料科學領域,資料科學家將資料子集提取到本地環境進行模型訓練是很常見的。這種方法允許迭代實驗,但它帶來了阻礙機器學習專案無縫演化的挑戰。
可重複性限制:在本地複製和修
改資料的傳統做法缺乏對可重複性至關重要的版本控制和可審核性。使用各種資料子集迭代模型成為一項艱鉅的任務。
資料傳輸效率低:定期在中央 儲存庫和本地環境之間傳輸資料會導致資源和時間緊張,特別是在為每次訓練運行選擇不同的資料子集時。
有限的運算能力:在本地環
境中運作會阻礙充分利用平行運算的能力,以及 Apache Spark 等系統的分散式能力。
在本指南中,我們將解釋如 新加坡 WhatsApp 號碼數據 何使用資料版本控制來應對這些挑戰。我們將示範:
如何使用 Git 和 LakeFS 這兩種開源工具在本地工作時對程式碼和資料進行版本控制。
如何使用 LakeFS,無需複製資
料並在分散式運算環境中大規模訓練模型。 LakeFS 利用獨特的方法(零複製副本),可以有效管理不同版本的 ML 資料集和模型,而無需複製資料。
我們還將深入研究並行 ML 的強大功能 – 使用不同參數並行運行實驗,並探索 LakeFS 和 Databricks 如何共同增強您的 ML 實驗並簡化您的 ML 數據管道。透過利用lakeFS和Databricks(Spark的分散式運
算環境)的功能,您可以充分
利用平行ML的潛力,而不會影響效 資料安全正在成為網路上的主 能或可擴充性。我們將說明如何將平行機器學習從小型本機執行個體擴展到完整的 GPU/CPU 叢集。 Databricks 不是必需的,您可以按照您喜歡的方式運行 Spark。
我們還將與 MLflow 集成,以提供完整的實驗追蹤和模型記錄。
在本文中,我們將提供逐步
指南並附有 Jupyter 筆記本,以示範這些工具如何協同工作以增強您的 ML 工作流程。無論您是資料科學家、機器學習工程師還是人工智慧愛好者,本部落格都將為您提供有效利用平行機器學習並加速模型開發過程所需的知識和工具。
目標架構
目標架 清潔新聞 構:使用 PyTorch Lightning 加速深度學習
來源(Databricks 部落格):
在 Databricks 上使用 PyTorch Lightning 加速深度學習
我們將使用開源 Linux 基金會專案 Delta Lake 來儲存資料。在底層,Delta Lake 以 Parquet 格式儲存原始資料。
我們依賴 PyTorch 的函式庫snippet來實現深度學習模型。 PyTorch Lightning 是簡化 PyTorch 程式碼和引導深度學習工作負載的好方法。
我們的資料將儲存為 Delta 表並可作
為 Spark 資料框使用。然而,PyTorch 需要特定類型的資料。我們需要一個函式庫來建立 PyTorch 格式的資料集並管理從 Blob 儲存到本機 SSD 的快取。為此,我們將使用 Petastorm。因此,Petastorm 承擔了資料載入的職責,並提供 Lakehouse 和深度學習模型之間的介面。
MLflow 將提供實驗追蹤工具,自動記錄我們的實驗指標,並允許將模型儲存到我們的模型登錄中。