为何使用gpu_hist的XGBoost训练速度反而慢于hist?
XGBoost
gpu_hist 比 hist 训练速度更慢的问题 我在学习XGBoost相关内容时,遇到了和预期相反的情况:设置10000轮boost迭代,使用hist树方法耗时约30秒,而使用GPU加速的gpu_hist耗时超过1分钟。同时观察到gpu_hist的GPU使用率最高仅40%,但hist能让24个逻辑核心跑满100%负载。
训练代码如下:
params = {"objective": "reg:squarederror", "tree_method": "gpu_hist", "subsample": 0.8, "colsample_bytree": 0.8} evals = [(dtrain_reg, "train"),(dtest_reg, "validation")] n = 10000 model = xgb.train( params=params, dtrain=dtrain_reg, num_boost_round=n, evals=evals, verbose_eval=50, )
我已经完成了以下配置检查:
- 安装CUDA Toolkit和cuDNN并添加至系统路径
- 安装了支持GPU加速的XGBoost版本
- 数据集为53000行10列,排除了数据集过小的影响
- 确认RTX 2060显卡与配置兼容
我已经尝试咨询相关导师、搜索资料,但仍无法查明gpu_hist比hist耗时更长的原因,也发现有类似问题尚未得到解答。
内容的提问来源于stack exchange,提问作者Adrian V
相关产品推荐
相关产品推荐

