NVIDIA cuML 25.04新版FIL大幅提速基于树模型的推理性能,新增自动优化与跨平台支持
NVIDIA在RAPIDS 25.04中更新了其cuML库中的森林推理库(Forest Inference Library,简称FIL),显著提升了树集成模型在大规模数据上的推理速度。自2019年首次推出以来,FIL就致力于为XGBoost、LightGBM、scikit-learn或NVIDIA cuML训练的模型提供快速的推理性能。 新版FIL的特点 自动优化 新版FIL增加了一个自动优化功能,可以根据给定的批处理大小自动选择最优的超参数组合。用户只需调用.optimize方法,后续的预测就会使用这些最优参数,无需手动调整。此外,用户可以通过检查.layout和.default_chunk_size属性来了解选中的超参数。 新的预测API 新版FIL引入了两个新的预测方法:.predict_per_tree和.apply。.predict_per_tree方法可以返回每个树的单独预测结果,这对于实验新的集成技术或分析模型的整体预测过程非常有用。例如,可以根据每个树的年龄、袋外AUC或数据漂移评分来加权平均树的投票结果。.apply方法则可以返回每个输入样本在每棵树中对应叶子节点的ID,这使得FIL可以应用于更复杂的场景,如计算两个样本之间的相似度。 GPU和CPU支持 虽然FIL最初主要是为了加速GPU上的森林模型推理,但新版FIL增加了对CPU的支持。用户可以在没有NVIDIA GPU的系统上安装和使用FIL,甚至可以直接从C++中调用它。Python用户也可以通过一个新引入的上下文管理器在CPU上运行FIL,这为本地测试和低流量情况下的应用部署提供了便利。 性能提升 为了全面评估新版FIL的性能,NVIDIA进行了广泛测试,涵盖了多种模型参数和批处理大小。测试结果显示,cuML 25.04在整个范围内超过了前一版本的FIL,特别是在深度较大的模型和较小的批处理大小下表现更为显著。 单个样本性能:在批处理大小为1的情况下,cuML 25.04在81%的测试模型中超过了前一版本,整体中位数速度提升1.6倍。 最大吞吐量:在最大吞吐量测试中,cuML 25.04在76%的模型中表现优于前一版本,整体中位数速度提升1.4倍。 与scikit-learn对比:在所有测试场景中,cuML 25.04相比于scikit-learn的原生执行在AMD EPYC 9654P 96核CPU上使用单个NVIDIA H100 GPU时,速度提升最高达到239倍。 技术细节 FIL的速度提升主要归功于减少内存访问频率和优化树结点存储。每个决策点的结点数据现在以最小所需的大小(通常是8或16字节)自动存储,并通过更智能的布局排列。默认情况下,使用depth_first布局最适合较深的树(深度≥4)。对于浅层树,可以尝试layered布局(适用于1-128行的小批次)或breadth_first布局(适用于较大的批次)。 此外,新增了一个性能超参数align_bytes,允许在depth_first和breadth_first布局中对树进行对齐,使其开始于缓存行边界。这在某些情况下可以提高性能,尤其是在CPU上对齐到64字节时。但在GPU上,这种对齐通常不会带来明显的性能改进,少数模型除外。 FIL的更新标志着NVIDIA在加速数据科学和机器学习推理方面迈出了重要一步。业内专家表示,这一改进不仅提高了模型的推理速度,还简化了用户的操作流程,使得更多人能够受益于高性能计算的优势。NVIDIA cuML作为RAPIDS生态系统的一部分,旨在为用户提供高效的机器学习工具集,新版FIL的发布进一步巩固了RAPIDS的地位,使其成为处理大规模数据的重要选择。 FIL的这些新功能已经在cuML 25.04中发布,并且不久后也将整合到NVIDIA Triton Inference Server中。用户可以通过下载cuML 25.04来体验这些新的推理能力。 如果你对FIL感兴趣,想了解更多信息,包括性能测试、API文档和基准测试,可以访问NVIDIA cuML的官方文档。同时,NVIDIA DLI Learning Path提供了多门实践课程,帮助你更好地掌握加速数据科学的相关知识。