数据科学的关键技术是数据探索。准备 ML 数据集时,需要了解数据集,清理和处理数据类型及格式,并提取学习算法的特征。这些任务均归属于 ETL。ETL 通常是一个迭代式探索过程。随着数据集的增长,在 CPU 上运行此过程时,其交互性会受到影响。
过去几年 GPU 一直肩负着推动深度学习 (DL) 发展的重任,而 ETL 和传统 ML 工作负载依然是采用 Python 进行编写,并且通常是使用 Scikit-Learn 等单线程工具或通过 Spark 等大型多 CPU 分布式解决方案进行编写。
RAPIDS 是一套开源软件库和 API,支持用户完全在 GPU 上执行端到端数据科学和分析流程,可让典型的端到端数据科学工作流程至少提速 50 倍。RAPIDS 可加快整个数据科学流程的速度(包括数据加载),从而提高工作流程的效率、交互性和探索性。
NVIDIA® CUDA® 是用于 GPU 计算的架构和软件平台,基于此架构和平台构建的 RAPIDS 可通过用户友好型 API 提供 GPU 并行机制和高带宽显存速度。RAPIDS 侧重于有关分析和数据科学的通用数据准备任务,可提供强大的 GPU DataFrame,该 DataFrame 则可借助用户熟悉的 DataFrame API,与 ApacheArrow 数据结构兼容。
Apache Arrow 通过指定独立于语言的标准化列式内存格式(专为数据局部性优化),来加快现代 CPU 或 GPU 的分析处理速度,并提供零复制流式消息传输和进程间通信功能,且不会产生序列化用度。
DataFrame API 可在不产生典型的序列化和反序列化成本的情况下与各类 ML 算法集成,从而实现端到端流程加速。
通过隐藏低级 CUDA 编程的复杂性,RAPIDS 能够以简单的方式执行数据科学任务。随着越来越多的数据科学家使用 Python 等高级语言,我们必须要在实现加速的同时最大限度地减少或杜绝代码变更,这样才能迅速减少开发时间。