NVIDIA cuML:GPU 加速的机器学习库
NVIDIA cuML 是一个开源的 CUDA-X™ 数据科学库,可在 GPU 上加速 scikit-learn、UMAP 和 HDBSCAN,在无需修改代码的情况下大幅提升机器学习工作流的效率。
主要特性
更大限度地提高 NVIDIA GPU 的性能
cuML 优化了在 GPU 上执行的基本机器学习操作。这显著加快了模型开发和训练速度,加快了测试和参数调整迭代的速度。
零代码更改加速
cuML 包含一个 API (cuml.accel) ,可在 GPU 上运行现有的 scikit-learn、UMAP 或 HDBSCAN 代码,无需修改代码。
CPU 回退机制
cuML 的零代码更改 API (cuml.accel) 可根据覆盖率自动将代码推送到 GPU 或 CPU,从而确保您的 scikit-learn、UMAP 和 HDBSCAN 代码不会执行失败。详细内容请参阅工作原理部分。
灵活性
cuML 包含两个接口:用于热门机器学习算法的零代码更改 API,以及类似于 scikit-learn 且全面覆盖的 Python GPU 专用机器学习库。如需了解详情,请参阅文档。
可扩展性
cuML 在单 GPU 系统上即可高效处理超大数据集,相比基于 CPU 的核心机器学习库实现更具优势。
分布式计算
cuML 可大规模加速分布式机器学习应用程序,并通过热门的 Apache Spark MLlib API 在多节点多 GPU 集群上提供多达 6 TB 数据集的真实示例。
开启 cuML,将 scikit-learn 速度提升 50 倍
NVIDIA cuML 可在 GPU 上运行 scikit-learn 随机森林、UMAP 和 HDBSCAN 等热门机器学习算法,且无需更改代码。
试用 cuML
Colab 快速入门:cuML 实战教程
cuML 预安装在 Google Colab 中,因此入门非常简单。只需切换到 GPU 运行时,并使用此 Notebook 试用 scikit-learn、UMAP 和 HDBSCAN 的 cuml.accel 即可。
安装 cuML
首先,使用以下代码段安装 cuML。
使用 conda 快速安装
1. 如果未安装,请下载并运行安装脚本。这将安装最新的 miniforge:
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" bash Miniforge3-$(uname)-$(uname -m).sh
2. 然后使用以下命令进行安装:
conda create -n rapids-25.08 -c rapidsai -c conda-forge -c nvidia \ cuml=25.08 python=3.13 'cuda-version>=12.0,<=12.9'
使用 pip 快速安装
Install via the NVIDIA PyPI index: pip install \ --extra-index-url=https://pypi.nvidia.com \ cudf-cu12==25.8.* \ cuml-cu12==25.8.* \
请参阅 docker、WSL2 和各个库的完整安装选择器。
实现 scikit-learn、UMAP 和 HDBSCAN 的 cuML 加速,无需更改代码
安装 cuML 后,可通过启用 cuml.accel 模块,在无需修改代码的情况下加速 scikit-learn、UMAP 和 HDBSCAN 工作流。请注意,并非所有 cuML 算法目前都在 cuml.accel(开放测试版)中支持,具体覆盖情况可参考“已知限制”列表。
启用 cuml.accel 可选择以下方式(需在导入 scikit-learn、UMAP 或 HDBSCAN 前进行):
在 IPython 或 Jupyter Notebook 中加速,使用如下魔法命令:
%load_ext cuml.accel import sklearn ...
要加速 Python 脚本,请在命令行中使用 Python 模块标志:
python -m cuml.accel script.py
如果您无法使用命令行标志,请通过导入显式启用 cudf.pandas:
import cuml.accel cuml.accel.install() import sklearn ...
scikit-learn 的速度提高 50 倍
与 CPU 上的 scikit-learn 相比,在 GPU 上运行 cuml.accel 和 scikit - learn 代码的传统机器学习算法的平均训练性能得到提升。
规格:NVIDIA H100 80GB HBM3 上的 NVIDIA cuML 25.02,英特尔至强 Platinum 8480CL 上的 scikit-learn v1.5.2
UMAP 速度提高 60 倍,HDBSCAN 速度提高 175 倍
与 CPU 上的 UMAP/ HDBSCAN 相比,在 GPU 上运行 cuml.accel 和 UMAP/ HDBSCAN 代码的传统机器学习算法的平均训练性能得到提升。
规格:NVIDIA H100 80GB HBM3 上的 NVIDIA cuML 25.02,umap-learn v0.5.7,英特尔至强 Platinum 8480CL 上的 HDBScan v0.8.40
实战教程:加速 scikit-learn、UMAP 和 HDBSCAN
深入研究这些资源,通过 cuML 加速您的机器学习工作流,包括高级 ML 技术、专用应用程序和部署优化的实操示例。
入门套件:加速主题建模
此套件演示了如何最大限度地减少噪声集群,并利用 BERTopic 和 cuml.accel 中由奖励指导的 GPU 加速方法,从而显著提高主题建模的性能。
入门套件:使用 cuML 进行堆叠
此套件展示了如何通过使用 GPU 的速度高效训练和组合众多不同的模型来实现高性能堆叠,从而在复杂的表格数据挑战中更大限度地提高准确性。
入门套件:加速单细胞基因组学
此套件展示了大规模测量和分析单细胞数据的技术,通过将 GPU 用于基因组学工作流程,加速分析周期并节省大量时间。
加速 UMAP 降维
本博客展示了 cuML 如何显著加快 UMAP 工作流程,将处理时间从几天缩短到几小时。了解 GPU 加速如何简化大规模降维。
使用 FIL 增强树模型推理
本博客重点介绍了森林推理库 (FIL) 如何在 cuML 中为树模型提供超快推理。探索可优化模型部署的新功能、性能提升和功能。
cuML 如何加速 scikit-learn、UMAP 和 HDBSCAN
cuML 通过 cuml.accel 模块在公测版中引入了零代码更改加速。加载此模块时,通过导入 scikit-learn、umap-learn 或 HDBScan,cuML 可以“截取”这些 CPU 模块的估算器。这使得所有 scikit-learn 估测器在任何给定时间都可作为 GPU 或 CPU 估测器的代理。
使用估测器时,您的代码将尽可能使用 cuML 的 GPU 加速实现。如果不能,它将回退到标准 CPU scikit-learn。这也会产生相反的效果。如果您已在 GPU 上训练模型,但不支持特定方法,cuML 将在 CPU 上重建经过训练的模型,并使用 scikit-learn 版本。
详细内容请参阅“零代码修改接口支持的算法与参数的列表”。
cuML 还提供了一个反映 scikit-learn 的 API,支持更广泛的算法集,并且适合希望更大限度地提高其定制应用性能的用户。阅读以下内容,详细内容请参阅 cuML 官方文档。
NVIDIA 数据科学培训
加入社区
伦理 AI
NVIDIA 注重可信赖的 AI,认为人工智能伦理是共同责任,并已制定相关政策与实践,支持多行业、多场景的 AI 应用开发。使用相关产品时,开发者应与团队协作,确保应用满足行业要求、案例需求,并积极防范潜在滥用。
如需报告安全漏洞或 AI 相关问题,请通过 NVIDIA 官方渠道提交。