阿里云 EMR Serverless Spark 在微财机器学习场景下的应用

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。

作者微财技术研发经理 宋鑫

微财介绍

微财是一家创新型的金融科技企业,凭借多年积累的金融科技能力和数据处理优势,为客户提供消费分期等金融信息服务,致力于成为值得信赖的金融机构合作伙伴。旗下拥有好分期等品牌,为高成长用户提供信用分期借款过程中的综合性信息、技术以及辅助服务。

业务挑战

数据资源是金融科技企业的核心价值,微财依托大数据评估用户借款过程中的风险,随着微财业务的快速发展,积累了大量用户数据,大数据集的训练逐渐成为瓶颈,其成熟度对业务的重要性不言而喻。根据性能、成本、安全、易用性、可靠性和扩展性等多维度评估,我们可以发现,要搭建一套成熟、稳定且高效的大数据模型训练平台需要耗费大量人力和时间成本。

选择 Spark 技术栈

在数据平台计算引擎层技术选型上,前期的架构选型我们做了很多的调研,综合各个方面考虑,望选择一个成熟且统一的平台:既能够支持数据处理、数据分析场景,也能够很好地支撑数据科学场景。加上团队成员对 Python 及 Spark 的经验丰富, 且 Spark 拥有比较成熟的机器学习生态,所以,从一开始就将目标锁定到了 Spark 技术栈。

为什么选择阿里云 EMR Serverless Spark

在机器学习场景下需要解决的问题:

  • 一是要突破单机训练使用的数据规模的瓶颈;
  • 二是要提高训练的效率,EMR Serverless Spark 的全托管服务、灵活的弹性扩缩容很好的满足了这两点问题,保证了用户级别的独立资源供给。

通过与阿里云计算平台 EMR 团队进行多方面的技术交流以及实际的概念验证,我们最终选择了阿里云 EMR Serverless Spark。作为 一站式全托管湖仓分析平台,其自研 Fusion 引擎,内置高性能向量化计算和 RSS 能力,统一的数据工程和数据科学等,都是我们决定选择 EMR Serverless Spark 的重要原因。

具体来看,EMR Serverless Spark 提供的核心优势如下:

1. 引擎性能大幅提升:自研 Fusion 引擎,内置高性能向量化计算和 RSS 能力,相对开源版本性能提升 3 倍以上;


2. 完整 Spark 技术栈集成:支持使用 DataFrame、SQL、PySpark 等多种编程方式开发批、流、交互式分析、机器学习等不同类型的任务,并进行调度执行;支持通过 Spark Submit、Livy、Spark Thrift Server 等开源兼容的方式进行任务提交;提供内置 SQL Editor 和 Notebook,提供 ETL 和数据科学一体化开发体验;


3. Serverless 全托管服务:开箱即用,免运维,无需关注底层资源情况,降低运维成本,聚焦分析业务,秒级资源供给,按任务级别弹性扩缩容;


4. 高品质支持以及SLA保障阿里云提供覆盖 EMR Serverless Spark 的技术支持;提供商业化 SLA 保障与7*24小时 EMR Serverless Spark 专家支持服务;


5. 总成本降低:自研 Fusion 性能优势显著;同时基于计算存储分离架构,存储依托阿里云 OSS;能够有效降低集群总体使用成本


“EMR Serverless Spark 让我们有了单独的资源池进行模型训练,避免了资源冲突,同时还解决了我们在存算分离架构下需要处理 Shuffle 稳定性和性能问题的困扰。

——微财产品技术研发负责人”

技术数据平台整体架构

数据采集

在微财数据仓库搭建的初期,我们自主研发了 dw-shell 工具,提供了完善的数据采集能力,并且屏蔽了存储引擎和计算引擎之间的差异。这一工具在我们的上云过程中发挥了至关重要的作用,帮助我们在一个月内完成了所有大数据计算任务的全量迁移。

数据入湖

在数据入湖方面,我们采用了 Apache Paimon 作为数据湖存储框架,并集成了 Apache Spark、Flink 和 Hive 作为计算引擎,构建了一个完整的数据湖生态系统。这一系统已经在实时数据监控和分析等场景中得到了成熟的应用,显著提升了我们的数据处理能力和业务效率。

数据科学

我们将机器学习的训练过程从单机训练迁移到了大数据集群,采用本地 Python 环境 + 云端训练的方式,将训练任务提交到 EMR Serverless Spark,保证了本地开发灵活性的同时,充分利用了集群的计算资源,通过自研的模型开发框架 vulcan-x,使分布式训练代码的编写、超参调优与本地开发无异,大幅降低了分布式训练代码编写的难度,基本消除了数据科学家开发的学习成本。

典型应用场景介绍

智能风控

为了帮助数据科学家无缝将训练任务迁移到 EMR Serverless Spark 执行,我们搭建了风控能力平台 MX FLow,提供以下几方面的能力。

特征挖掘支持

我们在 EMR Serverless Spark 实现了特征挖掘常用的分箱方法,如等频分箱、决策树分箱、卡方分箱等,以及特征评估的相关函数,支持用户使用分布式能力将特征离散化,评估特征的风险区分度。

分布式训练

基于 Spark MLlib 成熟的机器学习生态,我们结合了 Spark MLlib 内置算法、以及相关开源算法,如 SynapseML 提供的 lightgbm 分布式实现,为用户提供与本机训练相同的 API,截至目前累计支持了随机森林、逻辑回归、lightgbm、catboot、xgboost 等算法。

image.png

实际测试中发现,训练耗时基本与数据集的 shape(行数 x 列数) 成正比。在常用的训练 PC 上 400万行的训练集,机器内存已经达到瓶颈,使用 EMR Serverless Spark 默认参数进行分布式训练,训练集 5000 万行时,训练耗时在 20 min 左右。

image.png

自动项目管理

MX Flow 与 vulcan-x 配合使用,形成客户端与服务端的交互模式,用户在本地使用 vulcan-x 编写运行的代码产生的过程或结果数据,自动以数据集服务在服务端组织起来,提供可视化过程数据报告、模型管理等功能。服务端也提供了完整的超参调优功能,兼容开源工具 Optuna,提供调优过程 Dashboard。


image.png image.png image.png

总结与展望

随着微财业务数据量的不断增长,我们将会进一步拓展分布式训练的规模。微财在智能风控场景中已经开始深度学习能力的探索,利用多节点的分布式训练框架,如 Horovod、PyTorch Distributed 等,加速大规模深度学习模型的训练过程。未来也希望能够在 EMR Serverless Spark 上能够使用到 GPU 训练的能力,共同探索分布式训练在深度学习领域的应用方向,提高训练效率和可扩展性。


阿里云 EMR Serverless Spark 版是阿里云开源大数据平台 E-MapReduce 基于 Spark 提供的一款全托管、一站式的数据计算平台。它为用户提供任务开发、调试、发布、调度和运维等全方位的产品化服务,显著简化了大数据计算的工作流程,使用户能更专注于数据分析和价值提炼


EMR Serverless Spark 交流钉钉群:58570004119。

image.png

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
15小时前
|
人工智能 语音技术 开发者
千问max#百炼AI实训课作业#科幻小说家
根据教程一步步操作确实有趣,尤其是语音识别的准确度很高,带来了很好的开发体验。通过详细步骤引导,开发者可以轻松上手并实现高质量的语音交互功能。
|
15小时前
|
分布式计算 并行计算 调度
基于HPC场景的集群任务调度系统LSF/SGE/Slurm/PBS
在HPC场景中,集群任务调度系统是资源管理和作业调度的核心工具。LSF、SGE、Slurm和PBS是主流调度系统。LSF适合大规模企业级集群,提供高可靠性和混合云支持;SGE为经典开源系统,适用于中小规模集群;Slurm成为HPC领域事实标准,支持多架构和容器化;PBS兼具商业和开源版本,擅长拓扑感知调度。选型建议:超大规模科研用Slurm,企业生产环境用LSF/PBS Pro,混合云需求选LSF/PBS Pro,传统小型集群用SGE/Slurm。当前趋势显示Slurm在TOP500系统中占比超60%,而商业系统在金融、制造等领域保持优势。
36 24
|
25天前
|
SQL 弹性计算 分布式计算
阿里云 EMR 发布托管弹性伸缩功能,支持自动调整集群大小,最高降本60%
阿里云开源大数据平台 E-MapReduce 重磅推出托管弹性伸缩功能,基于 EMR 托管弹性伸缩功能,您可以指定集群的最小和最大计算限制,EMR 会持续对与集群上运行的工作负载相关的关键指标进行采样,自动调整集群大小,以获得最佳性能和资源利用率。
117 15
|
3天前
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
53 24
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
17天前
|
存储 供应链 物联网
《区块链为翼,开启物联网数据可信共享新时代》
在万物互联时代,物联网(IoT)设备产生海量数据,但数据共享面临信任缺失、孤岛化等困境。区块链的分布式账本技术通过去中心化、不可篡改、可追溯和共识机制,为解决这些问题提供了新思路。它确保数据来源可信、传输安全,并通过智能合约实现自动化、透明化的数据共享。应用案例如沃尔玛的食品供应链追踪和GE的工业设备监控,展示了其巨大潜力。尽管存在性能瓶颈和隐私保护挑战,区块链有望打破数据孤岛,释放物联网数据价值,推动产业创新与变革。
54 28
|
5天前
|
自然语言处理 安全 搜索推荐
阿里通义等提出Chronos:慢思考RAG技术助力新闻时间线总结
在数字化时代,新闻信息的指数级增长使得从海量文本中提取和整理历史事件的时间线变得至关重要。为了应对这一挑战,阿里巴巴通义实验室与上海交通大学的中断者提出了一种基于Agent的新闻时间线摘要新框架——CH RONOS,源自希腊神话中的时间之神柯罗诺斯,该框架通过迭代多轮的自我提问方式,结合检索增强生成技术,从互联网上检索相关事件信息,并生成时间顺序的新闻摘要,为新闻时间线摘要生成提供了一种全新的解决方案。
|
17小时前
|
人工智能 自然语言处理 JavaScript
宜搭上线 DeepSeek Chat 页面模板,一键启用 DS 对话
当低代码平台与 AI 技术相遇,二者的融合为企业带来了更多的创新空间和发展机遇。这种融合不仅能够进一步简化开发流程,还能为应用赋予更强大的智能化能力。在这样的背景下,宜搭低代码平台陆续上线了 DeepSeek 插件、DeepSeek 连接器等工具,今天,更是推出了「DeepSeek Chat」页面模板,方便大家一键启用 DS 对话能力。
116 3
|
25天前
html实现的文字发散动画效果代码
html实现的文字发散动画效果代码
69 30
|
17天前
|
机器学习/深度学习 存储 算法
《匿名化技术:数据隐私与价值挖掘的平衡探索》
在数据驱动的时代,数据成为企业和组织的核心资产,匿名化技术作为保护数据隐私的重要手段备受关注。它通过去除或混淆个人身份信息,如数据脱敏、泛化和加密等方法,有效保护隐私。然而,匿名化可能影响数据的完整性和准确性,进而影响价值挖掘。为平衡隐私保护与数据利用,需明确使用目的、加强数据治理、创新技术应用,确保数据安全合规,推动数字经济健康发展。
77 30
|
26天前
|
弹性计算 运维 Linux