利用 Polars DataFrame 和 GPU 加速提升 XGBoost 模型训练效率 - Blockchain.News

利用 Polars DataFrame 和 GPU 加速提升 XGBoost 模型训练效率

realtime news Nov 10, 2025 19:26

探索如何利用 GPU 加速的 Polars DataFrame 来提升 XGBoost 模型训练效率,利用诸如类别重新编码等新功能,以优化机器学习工作流程。

利用 Polars DataFrame 和 GPU 加速提升 XGBoost 模型训练效率

根据 NVIDIA 的最新博客文章,将 GPU 加速的 Polars DataFrame 与 XGBoost 集成起来,预计将改变机器学习工作流程。此项进展利用了 PyData 生态系统的互操作性,以简化数据处理并提高模型训练效率。

Polars 的 GPU 加速

Polars 是一个用 Rust 编写的高性能 DataFrame 库,提供惰性评估模型和 GPU 加速功能。这使得数据处理工作流得以显著优化。通过将 Polars 与 XGBoost 一起使用,用户可以利用 GPU 加速来加速机器学习任务。

Polars 操作通常是惰性的,先构建查询计划而不执行,直至指示为止。要在 GPU 上执行查询计划,可以使用 LazyFramecollect 方法,并设置 engine="gpu" 参数。

集成类别特征

XGBoost 的最新版本引入了一个新的类别重新编码器,有助于无缝集成类别特征。这在处理具有数值和类别数据混合的数据集时,尤其如 NVIDIA 教程中使用的 Microsoft Malware Prediction 数据集时,特别有用。

要充分利用 Polars 和 XGBoost 的功能,用户需要确保安装必要的库,包括 xgboost, polars[gpu], 和 pyarrow。这些库可以在 Polars 和 XGBoost 之间实现数据的零拷贝传输,从而提高数据交换效率。

优化模型训练

在给出的示例中,使用启用 GPU 的 Polars DataFrame 来训练二分类模型。教程展示了 Polars 的 scan_csv 方法来惰性读取数据并优化性能。

通过使用 GPU 将惰性帧转换为具体的 DataFrame,用户可以在模型训练期间获得最佳性能。通过结合 Polars 的 GPU 加速与 XGBoost 处理 GPU 上类别特征的能力,显著提升计算效率。

自动重新编码类别数据

XGBoost 现在可以在推断期间自动重新编码类别数据,无需手动重新编码。此功能确保一致性并减少模型部署期间出错的风险。

重新编码器的效率显而易见,尤其是在处理大量特征时。通过就地和即刻重新编码,XGBoost 能在 GPU 上同时处理类别列,从而提高整体性能。

未来展望

随着这些进步的实现,用户可以构建高效且可靠的 GPU 加速管道。Polars 和 XGBoost 的结合解锁了机器学习模型的新性能水平,简化工作流程并优化资源利用。

欲了解更多详细信息,请访问 NVIDIA 的官方博文这里

Image source: Shutterstock