Databricks 与 Hugging Face 集成 Apache Spark 加速 LLM 训练
Databricks 与 Hugging Face 已将 Apache Spark 直接集成到 Hugging Face 代码库中,允许用户从 Apache Spark 数据帧创建 Hugging Face Datasets。此集成将 Spark 数据迁移到 Hugging Face 数据集的时间降低了最高 40%,从而简化了大语言模型(LLM)训练和微调的流水线。
通过 Dataset.from_spark() 实现直接 Spark 集成
之前将 Apache Spark 数据帧迁移到 Hugging Face 数据集的工作流需要先将数据写入磁盘上的 Parquet 文件,然后再将这些文件重新加载到数据集。该过程效率低下,因为它需要写入磁盘、从磁盘读取并重新生成数据,导致资源消耗、时间和成本增加。
通过此次更新,用户现在可以使用 Dataset.from_spark() 函数。这允许将 Spark 数据帧或 Delta 表直接映射为 Hugging Face 数据集,省去中间 Parquet 文件的需求。
性能基准
在使用 16GB 数据集的测试中,处理时间从 22 分钟(使用 Parquet 方法)降低到 12 分钟(使用 Dataset.from_spark()),处理时间缩短超过 40%。
对特定领域 AI 的战略重要性
将 Spark 与 Hugging Face 集成对于需要在海量数据集上进行复杂数据转换以增强特定领域 AI 模型的组织至关重要。通过将 Spark 数据处理引擎的成本效益和性能与 Hugging Face 数据集的内存映射和智能缓存优化相结合,组织能够更高效地准备和利用其专有数据进行模型调优。
对更广泛开源 AI 生态系统的贡献
此集成是 Databricks 对 Hugging Face 代码库计划的多项贡献中的第一项,未来计划通过 Spark 添加流式支持,以进一步加速数据集加载。
除了 Hugging Face 的集成,Databricks 还实现了多项面向 AI 的开源改进:
- MLflow: 添加了对 transformers 库、OpenAI 集成以及 Langchain 支持的支持。
- Databricks SQL: 引入了 AI Functions,将 OpenAI 和其他已部署模型集成到 SQL 查询中。
- PyTorch Distributor: 发布了用于 Spark 的 PyTorch 分发器,以简化在 Databricks 平台上进行分布式 PyTorch 训练。