Shark!一个基于遗传算法的自动因子挖掘平台

本页面为一则新闻内容,给出标题与发布日期信息。

Source: https://dolphindb.cn/news/detail/279

What this page covers

技能认证特训营第二期报名入口(页面顶部提示)

页面顶部展示技能认证特训营第二期开启与限时报名链接及福利优惠提示。

新闻栏目标识

标识该页面内容属于新闻栏目。

Shark!一个基于遗传算法的自动因子挖掘平台(新闻标题与日期)

给出新闻标题与发布日期。

产品概述:Shark 的定位与两大功能

介绍 DolphinDB 推出的 CPU-GPU 异构计算平台 Shark 及其因子挖掘、因子计算两大能力与目标场景。

合作背景与技术路线:NVIDIA Inception、RAPIDS 加速与 cuDF

说明 DolphinDB 加入 NVIDIA Inception 后的合作,以及使用 RAPIDS 与 cuDF 提升因子挖掘与计算效率并降低成本周期的做法与结果区间。

相关技术组件定义:RAPIDS RMM 与 RAPIDS libcudf

对 RAPIDS 的 RMM 内存/显存管理库与 RAPIDS libcudf(GPU C++ DataFrame 库)进行简要说明。

配图(未提供文字说明)

插入一张与内容相关的图片资源链接。

当前挑战:因子挖掘的显存频繁分配释放与 CPU→GPU 迁移成本

描述遗传算法因子挖掘场景下频繁显存申请释放导致效率下降,以及将 CPU 函数迁移到 GPU 的开发成本与周期问题。

应用方案:基于 RAPIDS RMM 与 libcudf 的协同实现

给出针对挑战的解决方案:用 RMM 进行显存池化以提升分配释放效率,并在 libcudf/cuDF 基础上二次开发实现因子计算以降低迁移成本。

效果展示:RMM 对因子挖掘的加速对比

展示不同数据规模下 RMM 与原生 CUDA 显存分配 API 在 Shark 因子挖掘任务中的效率对比与最高加速比结论。

效果展示:libcudf/cuDF 支持下的 GPU 因子计算加速对比

展示在 1000 个分组、每组 10 万行数据下,Shark(GPU) 与传统 SQL(CPU) 对多个金融算子的耗时对比与数量级加速结论。

结论性陈述:效率提升与迁移成本降低

总结借助 RAPIDS 与基于 cuDF 二次开发带来的因子挖掘效率提升、数量级加速与算子迁移成本降低。

Facts Index

Entity Attribute Value Confidence
新闻页面发布日期2024.06.20high
Shark产品定位DolphinDB 推出的 CPU-GPU 异构计算平台high
Shark能力描述将 DolphinDB 上的复杂指标计算能力无缝切换到 GPU 算力平台,以提升计算性能medium
Shark 最新版本主要功能提供两个主要功能:因子挖掘和因子计算high
Shark 因子挖掘功能方法使用遗传算法从历史金融数据中提取有效因子high
Shark 因子挖掘功能效果/价值主张提高金融数据分析的质量和效率low
Shark 因子计算功能目标领域与能力针对金融领域,提供丰富的函数库,为大规模金融数据分析与处理提供完整解决方案medium
DolphinDB合作/计划加入自 2023 年正式加入 NVIDIA 初创加速计划(NVIDIA Inception)high
Shark 异构计算平台因子挖掘算法加速方式利用 NVIDIA RAPIDS 加速因子挖掘算法运行效率medium
Shark 因子挖掘效率提升幅度提升 2 - 10 倍high
Shark 因子计算实现基础基于 NVIDIA cuDF 实现因子高效计算,并减少开发成本、缩短开发周期medium
RAPIDS RMM性质与接口开源的内存/显存管理库,提供 C++ 和 Python 接口high
RAPIDS RMM相对原生分配释放操作的优势相比 cuMalloc、cuFree 等操作具有更好的性能和灵活性medium
RAPIDS libcudf性质基于 GPU 的 C++ DataFrame 库high
RAPIDS libcudf提供能力提供基础数据结构,并内置基础的函数算子high
Shark 因子挖掘(遗传算法计算过程)性能瓶颈原因会频繁创建和释放临时空间存储中间结果;直接使用原生 CUDA C 显存分配/释放接口会严重降低执行效率high
CPU 函数迁移至 GPU(用于 Shark 因子计算)开发成本/周期问题若从零迁移需要在 GPU 重新实现底层数据结构与基础计算函数,导致开发周期延长、开发成本增加high
DolphinDB 开发团队与 NVIDIA 团队及 RAPIDS 开发团队合作方案利用 RAPIDS RMM 解决因子挖掘频繁申请/释放显存的性能问题;基于 RAPIDS libcudf 二次开发实现因子计算,以缩短开发周期、降低开发成本high
Shark 因子挖掘公式生成特征通过遗传算法随机生成海量因子计算公式;公式长度与参数数量不一,计算时需频繁申请与释放临时空间存储中间结果high
RMM 在 Shark 因子挖掘中的使用方式实现手段通过使用 RMM 对显存进行池化,实现对中间结果显存的高效分配、释放和重用high
Shark用户输入与执行方式支持用户输入自定义公式,并自动转换为计算图,在 GPU 完成计算以加快数据分析和处理效率medium
将 DolphinDB 计算函数从零迁移至 Shark(GPU)需要实现的基础设施需要在 GPU 构建 array、table 等底层数据结构,并实现大量基础计算函数high
DolphinDB 开发团队技术选型决定基于 RAPIDS libcudf 进行二次开发,复用 cuDF 的 column、table 等底层数据结构high
cuDF被用于迁移的框架能力借助 cuDF 的 groupby 和 rolling 框架完成时序算子与横截面算子迁移,只需完成算子核心计算逻辑high
基于 cuDF 二次开发的迁移方式效果极大提升开发效率,降低开发成本medium
RMM vs 原生 CUDA 显存分配 API(Shark 因子挖掘)最高加速比最高可达到 10 倍high
图表描述(折线图)对比内容对比不同数据规模下 RMM 显存管理库与原生 CUDA 显存分配 API 在因子挖掘任务中的执行时间;表数据量增加时原生 API 执行时间大幅上升,而 RMM 池化后效率显著提升medium
Shark(GPU)vs 传统 SQL(CPU)在因子计算中的性能测试数据规模1000 个 group,每个 group 有 10 万行数据;采用分组方式计算算子high
Shark(GPU)vs CPU 的总体耗时(含拷贝时间)加速幅度基本达到了一个数量级的加速比medium
图表描述(柱状图)对比算子对比 mpercentile、mskew、cumavg 等金融算子在 Shark(GPU) 与传统 SQL(CPU) 下的耗时(含数据拷贝),GPU 耗时显著低于 CPU,基本实现一个数量级加速medium
Shark 因子挖掘效率(结论段)提升幅度提升了 10 倍high
基于 cuDF 二次开发的算子实现方式(结论段)性能与成本影响只需实现算子核心逻辑即可达到一个数量级加速,并极大降低算子迁移成本medium
技能认证特训营第二期报名链接https://www.qingsuyun.com/h5/e/217471/5/high