Databricks 與 Hugging Face 整合 Apache Spark 加速 LLM 訓練
Databricks 與 Hugging Face 已將 Apache Spark 直接整合到 Hugging Face 程式碼庫中,讓使用者能夠從 Apache Spark 資料框建立 Hugging Face Datasets。此整合將資料從 Spark 移轉至 Hugging Face datasets 的時間縮短最高可達 40%,簡化了大型語言模型(LLMs)訓練與微調的流程。
透過 Dataset.from_spark() 的直接 Spark 整合
先前將資料從 Apache Spark 資料框移轉至 Hugging Face dataset 的工作流程,需要先將資料寫入磁碟上的 Parquet 檔案,然後再重新載入這些檔案至 dataset。此流程效率低下,因為必須寫入磁碟、再從磁碟讀取,並重新生成資料,導致資源消耗、時間與成本增加。
透過最新的更新,使用者現在可以使用 Dataset.from_spark() 函式。此函式允許將 Spark 資料框或 Delta 表格直接映射為 Hugging Face dataset,省去中間的 Parquet 檔案。
效能基準測試
在使用 16GB 資料集的測試中,處理時間從 22 分鐘(使用 Parquet 方法)縮短至 12 分鐘(使用 Dataset.from_spark()),處理時間減少超過 40%。
對領域特定 AI 的策略重要性
將 Spark 與 Hugging Face 整合對於需要在龐大資料集上執行複雜資料轉換以增強特定領域 AI 模型的組織而言至關重要。透過結合 Spark 資料處理引擎的成本效益與效能,以及 Hugging Face datasets 的記憶體映射與智慧快取優化,組織能更有效率地準備與運用自有資料進行模型微調。
更廣泛的開源 AI 生態系統貢獻
此整合是 Databricks 對 Hugging Face 程式碼庫規劃的多項貢獻之一,未來計畫透過 Spark 加入串流支援,以進一步加速資料集載入。
除了 Hugging Face 的整合之外,Databricks 亦實作了多項其他以 AI 為焦點的開源改進:
- MLflow: 新增對 transformers 套件、OpenAI 整合以及 Langchain 支援的支援。
- Databricks SQL: 引入 AI Functions,將 OpenAI 及其他部署的模型整合至 SQL 查詢中。
- PyTorch Distributor: 發布了用於 Spark 的 PyTorch distributor,以簡化在 Databricks 平台上的分散式 PyTorch 訓練。