近日,第四范式宣布将推出两项算力黑科技:XGBoost++和pyGDBT。XGBoost是AI开发者所熟知的工具,XGBoost++可以在前者的基础上,只修改一行代码,即可轻松切换到异构计算模式,享受软硬一体技术带来的极致算力升级。而将于10月初发布的pyGDBT则从另一个维度给用户带来极致算力体验,用户只需基于类似scikit-learn的语法编写python程序,即可通过智能调参框架,享受异构计算带来的极致性能。
XGBoost++和pyGDBT的共同点在于,以往的AI开发中想要使用异构加速或实现高维离散场景的计算需要,必须具备深厚的AI技术基础,而这两款工具的易用程度让数据科学家、数据分析师、普通AI开发者即可轻松上手。这也让第四范式离“AI for Everyone”的愿景更进一步。
第四范式FlashGBM:让医学、金融等高维离散场景计算提速10倍
第四范式FlashGBM是XGBoost++和pyGDBT的底层异构加速引擎,使用基于FPGA开发的GBM专用加速芯片,定制了配合该加速器的高性能软件程序,尤其擅长处理复杂的高维离散特征。FlashGBM不仅实现了不同场景下平均10倍以上的加速,而且相比传统的CPU方案,内置自动参数优化功能,免去专家人工调参过程,自动调整至最优性能,降低使用门槛,缩短建模周期。
FlashGBM有如下特性:
1. 为高维离散稀疏场景提供高性能支持,覆盖传统GBM难以覆盖的场景。
2. 引入自动调参技术。用户不需要手动调参来确定效率最优情况下的参数组合。
3. 针对GBM训练算法和FPGA本身架构特点做了深入的流水线优化,避免cache bank conflict,提升访存效率。
在测试实验中(见上表)可以看到,不同场景的加速比从4.0x到26x不等,而平均加速比达到了12.5x。其中,互联网广告点击率预测是一个典型的高维稀疏离散计算场景;该场景中存在大量离散特征,例如A用户是否购买X商品,B用户是否收藏Y商品;海量用户与海量行为的交叉形成了超高维,例如千万用户与上百种行为交叉产生数十亿维。在该场景下,FlashGBM的加速高达26倍。
FlashGBM通过PCIe从宿主机拿到数据,传递给计算核心,计算核心通过和板载内存交互来计算GBM的统计直方图,并将结果送回宿主机内存。
第四范式XGBoost++:从XGBoost一键切换至FlashGBM高性能模式
XGBoost是Gradient Boosting的一种高效系统实现,作为开源系统, XGBoost的社区很活跃,被广泛使用。第四范式XGBoost++在FlashGBM底层框架上实现了与XGBoost兼容的接口。数据科学家可以零学习成本地切换到高性能FlashGBM模式,享受FPGA带来的异构加速优势。
第四范式pyGDBT:打造易用的高维分布式机器学习框架
GDBT是第四范式自主研发的超大规模分布式机器学习框架,设计初衷是打造专门为分布式大规模机器学习设计的计算框架,兼顾开发效率和运行效率。相比主流开源架构,GBM在高维场景有百倍以上优势。即将发布的第四范式pyGDBT面向AI科学家的使用习惯,对GDBT进行了进一步整合和优化,在建模效率、模型维度与效果、性能、易用性等几个方面进行了升级:
1) 高效率: 针对反复调参调研的高成本,通过智能调参加速机制降低特征、模型调研周期。
2) 模型维度与效果: 通过集群计算框架和分布式训练算法支持海量数据与高维模型,提升模型表达能力与效果。
3) 高性能:结合FlashGBM底层计算框架,提供了异构加速能力。
4) 易用性:提供了近似scikit-learn的python使用接口,AI建模人员可以快速实现代码迁移和使用。