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

DolphinDB 推出的 CPU-GPU 异构计算平台 Shark将 DolphinDB 上的复杂指标计算能力无缝切换到 GPU 算力平台,大幅提升了计算性能。Shark 最新版本给开发者提供了两个主要功能:因子挖掘因子计算。通过使用遗传算法,因子挖掘功能能够从历史金融数据中提取出有效因子,提高金融数据分析的质量和效率。因子计算功能针对金融领域,提供了丰富的函数库,为大规模金融数据分析与处理提供了完整解决方案。

自 2023 年 DolphinDB 正式加入“NVIDIA 初创加速计划(NVIDIA Inception)” 以来,双方技术团队持续开展技术交流与探讨。此次,DolphinDB 开发团队与 NVIDIA 团队合作,通过利用 NVIDIA RAPIDS 加速 Shark 异构计算平台的因子挖掘算法运行效率,帮助 Shark 将因子挖掘的效率提升 2 - 10 倍;并基于 NVIDIA cuDF 实现 Shark 因子高效计算,大幅减少开发成本,缩短开发周期。

RAPIDS 的 RMM 是一套开源的内存/显存管理库,提供 C++ 和 Python 接口,它相比 cuMalloc, cuFree 等操作来讲,具有更好的性能和灵活性;RAPIDS libcudf 是基于 GPU 的 C++ DataFrame 库,提供了基础数据结构,并且内置了基础的函数算子。

当前挑战

Shark 的因子挖掘功能,通过利用遗传算法从数据中挖掘出有效的因子。在这一场景中,遗传算法会随机生成大量因子并进行计算。这一过程会频繁地创建和释放临时空间来存储中间结果,直接使用原生的 CUDA C 显存分配和释放接口,会严重降低执行效率。

Shark 的因子计算功能,针对金融领域的数据分析与处理,提供了丰富的函数库。如果从零开始将 CPU 的函数迁移至 GPU,需要为 GPU 重新实现一套底层数据结构以及基础计算函数,会导致开发周期的延长以及开发成本的增加。

应用方案

基于以上挑战,DolphinDB 开发团队与 NVIDIA 团队及 RAPIDS 开发团队合作,通过利用 RAPIDS RMM解决因子挖掘过程中频繁申请和释放显存导致的性能问题;通过基于 RAPIDS libcudf 进行二次开发实现因子计算,从而缩短开发周期,降低开发成本

Shark 进行因子挖掘时,会通过遗传算法随机生成海量的因子计算公式。这些公式长度不等,接受的参数数量也不尽相同。因此在计算时,需要频繁地申请和释放临时空间用于存储中间结果。DolphinDB 开发团队通过使用 RMM 对显存进行池化,从而对中间结果所使用的显存进行高效地分配、释放和重用。

Shark 支持用户输入自定义的公式,并自动将自定义公式转换为计算图,并在 GPU 完成计算,从而加快数据分析和处理的效率。如果从零开始将 DolphinDB 的计算函数迁移至 Shark,需要在 GPU 构建 array、table 等底层数据结构,并实现大量基础计算函数。经过调研后,DolphinDB 开发团队决定基于 RAPIDS libcudf 进行二次开发,复用 cuDF 的 column、table 等底层数据结构;并借助 cuDF 的 groupby 和 rolling 框架,只需要完成算子的核心计算逻辑,即可完成 DolphinDB 时序算子和横截面算子的迁移,极大提升了开发效率,降低了开发成本。

效果展示

下图展示了在不同规模数据下,使用 RAPIDS的 RMM 显存管理库相对于原生的 CUDA 显存分配 API,Shark 因子挖掘效率的对比。可以清楚地看到,使用 RMM可以显著提升 Shark 因子挖掘效率,最高可达到 10 倍的加速比

除此之外,Shark 通过使用 RAPIDS libcudf,大大提升了因子的计算效率。下图中对比了 1000 个 group,每个 group 有 10 万行的数据,采用分组方式计算下面的算子。可以看到与 CPU 相比,利用 GPU 总体耗时(包含拷贝时间),基本达到了一个数量级的加速比。

借助 RAPIDSShark 的因子挖掘效率提升了 10 倍。除此之外,基于 cuDF 进行二次开发,只需要实现算子的核心逻辑,就可以达到一个数量级的加速,并极大降低了算子迁移成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/34847.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程哲学——抽象

主要参考资料: App Image Format: https://docs.espressif.com/projects/esp-idf/zh_CN/release-v4.4/esp32s3/api-reference/system/app_image_format.html# 目录 简介抽象:从现实到模型类和对象:现实与模型的映射封装:隐藏复杂性继承&#…

年薪超过30万的网工,需要具备什么技能?

网工是一个各行各业都需要的职业,工作内容属性决定了它不会只在某一方面专精,需要掌握网络维护、设计、部署、运维、网络安全等技能。 那么,网络工程师的技术水平体现在哪些方面?今天就跟你唠唠这个。 01 先来测测你的网络设计能力…

Flutter 像素编辑器#05 | 缩放与平移

theme: cyanosis 本系列,将通过 Flutter 实现一个全平台的像素编辑器应用。源码见开源项目 【pix_editor】。在前三篇中,我们已经完成了一个简易的图像编辑器,并且简单引入了图层的概念,支持切换图层显示不同的像素画面。 《Flutt…

Docker - Oracle Database 23ai Free

博文目录 文章目录 说明命令NavicatSYSTEMPDBADMIN 扩展公共用户本地用户 说明 Oracle 官方镜像仓库 Database 23ai Free | Oracle Docker 官方没有提供 Oracle Database 相关镜像, 但是 Oracle 官方镜像仓库有提供, 打开上面的链接, 选择 Database, 选择合适的版本, 如 enter…

Elasticsearch:使用 Llamaindex 的 RAG 与 Elastic 和 Llama3

这篇文章是对之前的文章 “使用 Llama 3 开源和 Elastic 构建 RAG” 的一个补充。我们可以在本地部署 Elasticsearch,并进行展示。我们将一步一步地来进行配置并展示。你还可以参考我之前的另外一篇文章 “Elasticsearch:使用在本地计算机上运行的 LLM 以…

Android frida 实战: 分析全民K歌的判断逻辑

本篇进入 Android frida 实战,旨在分析学习全民K歌这个 app 演唱页面的判断逻辑。 版本:8.22.38.278 此 app 为腾讯推出的面向国内的社交娱乐类应用软件,主要功能是提供用户唱歌、录制和分享自己演唱的歌曲。当非 vip 用户演唱某 vip 歌曲等功…

三元前驱体废水回收镍钴工艺:环保与经济效益的双重胜利

在全球新能源产业迅猛发展的背景下,锂离子电池作为绿色能源的核心组件,其需求量激增,带动了上游材料市场,尤其是三元前驱体材料的蓬勃发展。然而,伴随着行业的快速扩张,三元前驱体生产过程中产生的含镍钴废…

Qt开发 | Qmake与CMake | Qt窗口基类 | VS Qt项目与QtCreator项目相互转化 | Qt架构 | Qt学习方法

文章目录 一、Qmake与CMake介绍1.Qmake2.CMake3.使用qmake还是cmake? 二、Qt3个窗口基类的区别三、vs qt与QtCreator项目相互转化方法1.QtCreator项目转VS Qt2.VS Qt项目转QtCreator项目 四、Qt架构介绍与学习方法详解 一、Qmake与CMake介绍 Qmake和CMake都是构建系…

干货分享 | TSMaster 中不同总线报文消息过滤的操作方式

TSMaster软件平台支持对不同总线(CAN、LIN、FlexRay)报文和信号的过滤,包括全局接收过滤、数据流过滤、窗口过滤、字符串过滤、可编程过滤,针对不同的总线信号过滤器的使用方法基本相同。今天重点和大家分享一下关于TSMaster中报文…

全国首场以AI数字内容风控为主题的大会正式官宣,首批演讲嘉宾和议题揭晓!

曾经我们感叹的“AI迎来了iPhone时刻”,如今已变成“iPhone迎来了AI时刻”。前段时间,苹果全球开发者大会的召开,以及闻声而起的资本市场,无一不再次佐证了AI的无穷想象。 从OpenAI直播演示GPT-4o和谷歌的I/O开发者大会2024&…

Unity踩坑记录

1. 如果同时在父物体和子物体上挂载BoxCollider&#xff0c;那么当使用&#xff1a; private void OnTriggerEnter2D(Collider2D collision){if (collision.CompareTag("CardGroup")){_intersectCardGroups.Add(collision.GetComponent<CardGroup>());}} 来判…

【linux学习十七】文件服务管理

一、FTP FTP server:FTP(File Transfer Protocol,文件传输协议 )是 TCP/IP 协议组中的协议之一 软件包&#xff1a;vsftpd/安装 yum -y install vsftpd//准备文件 touch /var/ftp/abc.txt //注释:FTP服务器的主目录:“/var/ftp/”&#xff0c;是FTP程序分享内容的本机目录…

数据库 复习题

有一个关系模式&#xff1a;工程关系&#xff08;工程号&#xff0c;工程名称&#xff0c;职工号&#xff0c;姓名&#xff0c;聘期&#xff0c;职务&#xff0c;小时工资率&#xff0c;工时&#xff09;&#xff0c;公司按照工时和小时工资率支付工资&#xff0c;小时工资率由…

【大数据】—二手车用户数据可视化分析案例

项目背景 在当今的大数据时代&#xff0c;数据可视化扮演着至关重要的角色。随着信息的爆炸式增长&#xff0c;我们面临着前所未有的数据挑战。这些数据可能来自社交媒体、商业交易、科学研究、医疗记录等各个领域&#xff0c;它们庞大而复杂&#xff0c;难以通过传统的数据处…

MySQL数据库(二):数据库基本操作

MySQL是一种流行的关系型数据库管理系统&#xff0c;广泛用于Web应用和各种数据存储需求。通过本次介绍&#xff0c;您将学习如何进行MySQL数据库的基本操作&#xff0c;包括创建数据库和表、插入和查询数据、更新和删除记录。这些基础知识将为您打下坚实的数据库操作基础。 目…

2023国家最高科学技术奖薛其坤院士:科学家的幸福感来自于哪里

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨沛贤 深度好文&#xff1a;2000字丨8分钟阅读 6 月 24 日&#xff0c;2023 年度国家最高科学技术奖在京揭晓&#xff0c;薛其坤院士荣获中国科技界崇高荣誉&#xff0c;这不…

【软件下载】Camtasia Studio 2024详细安装教程视频

习惯上来说Camtasia Studio是一款简单易用的高清录屏和视频编辑软件&#xff0c;拥有录制屏幕和配音、视频的剪辑和过场动画片、添加说明字幕和水印、制作视频封面和菜单、视频压缩和播放。不得不说Camtasia是一款屏幕录制和视频剪辑软件&#xff0c;教授课程&#xff0c;培训他…

字节跳动联手博通:5nm AI芯片诞生了?

字节跳动联手博通&#xff1a;5nm AI芯片诞生了&#xff1f; 前言 就在6月24日&#xff0c;字节跳动正在与美国博通合作开发一款5纳米工艺的专用集成电路(ASIC) AI处理器。这款芯片旨在降低采购成本并确保高端AI芯片的稳定供应。 根据报道&#xff0c;尽管芯片设计工作进展顺利…

力扣SQL50 即时食物配送 II min函数 嵌套查询

Problem: 1174. 即时食物配送 II &#x1f468;‍&#x1f3eb; 参考题解 Code -- 计算立即配送的订单百分比 select round (-- 计算订单日期与客户偏好配送日期相同的订单数量sum(case when order_date customer_pref_delivery_date then 1 else 0 end) * 100 /-- 计算总订…

【linux学习十六】网络管理

网络管理器(NetworkManager)是一个动态网络的控制器与配置系统&#xff0c;它用于当网络设备可用时保持设备和连接开启并激活 默认情况下&#xff0c;CentOS/RHEL7已安装网络管理器&#xff0c;并处于启用状态。 认识网卡 ens32 ens33 ens34 ens35 一.ip相关 查询网络状态 sy…