暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kaggle GM CPMP:GPU不仅用于炼丹

Coggle数据科学 2022-02-16
464
  • 标题:Did you know GPU are not just for Deep Learning?

  • 简介:GPU可以加速深度学习的模型训练,但很少有人知道GPU也可以加速其他机器学习算法,如线性模型、SVM和GBM Tree,同时GPU也可以加速数据处理。

  • 采访链接:https://www.youtube.com/watch?v=hUlvFtuFqy8

个人介绍

Jean-Francois Puget (Kaggle ID CPMP)很早就获得了PhD学位,并在Constraint Programming 和 Math Programming领域发表了70多篇学术论文。

近年来Puget开始在Kaggle上时间机器学习,并参加了多场比赛。Puget是competition and discussion grandmaster, Kaggle排名最高前10。Puget现在NVIDIA工作。

https://www.kaggle.com/cpmpml

专访内容

CPU框架

Puget首先列举了现有比较成熟的数据科学框架,这些框架都与CPU联系紧密。此时CPU的计算能力限制了这些操作。

  • 数据分析(Pandas)
  • 机器学习(sklearn)
  • 网络分析(networkx)
  • 深度学习(Pytorch、TF)
  • 可视化(Matplotlib)

RAPIDS介绍

然后Puget介绍了GPU的性能,多核计算,通讯带宽上限高。之后Puget介绍了RAPIDS
,一个可以使用GPU完成数据读取、模型训练与验证的工具。

RAPIDS
中主要的是两个库:

  • cuDF
    :完成数据读取、分析
  • cuML
    :完成机器学习模型训练

需注意的是RAPIDS
现在只支持GPU,且暂时需要用conda或docker安装,不支持pip。

案例1:cuML

在TReNDS Neuroimaging比赛中,cuML
与sklearn的速度对比:

  • sklean
    的svm,运行时间1个小时 https://www.kaggle.com/cpmpml/scikit-learn-svm-on-trends-neuroimaging

  • cuML
    的svm,运行时间1分钟 https://www.kaggle.com/cpmpml/rapids-svm-on-trends-neuroimaging

cuML
的语法和APIsklean
非常相似,所以用起来没有难度。

案例2:Target Encoding

Puget首先介绍了Target Encoding原理和平滑操作,并讲解了具体的代码。

在参加RecSys 2020比赛中,cuDF
和原生pandas
进行target encoding的速度对比:

  • pandas
    完成Target Encoding,运行93秒;
  • cuDF
    完成Target Encoding,运行1秒;

同时cuML
也将Target Encoding进行了封装,可以直接调用函数完成计算。

https://docs.rapids.ai/api/cuml/stable/api.html#cuml.preprocessing.TargetEncoder

案例3:XGBoost GPU版本

现在XGBoost也支持GPU,可以通过GPU完成速度加速,加速比10倍以上。

专访收获

Puget在讲解完案例后,还进行了一些问答答疑。问题主要是cuDF
cuML
相关。在听完完整的专访后,我的感受有以下几点:

  • cuDF
    cuML
    确实是能够利用GPU加速数据分析和模型训练,但现在安装比较费劲,但Kaggle环境以及支持这些。
  • cuML
    现在支持的机器学习方法比较少,如果有遇到支持的函数,可以考虑使用cuML
  • 如果想尝试新事物,还是推荐学习的。https://github.com/rapidsai/cudf https://github.com/rapidsai/cuml
学习交流群已成立
学习竞赛,竞赛组队
添加👇微信拉你进群
加入了之前的社群不需要重复添加~


文章转载自Coggle数据科学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论