链载Ai

标题: 腾讯金融 AI 开发平台落地实践 [打印本页]

作者: 链载Ai    时间: 1 小时前
标题: 腾讯金融 AI 开发平台落地实践


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 1.5px;color: rgb(0, 0, 0);font-size: 14px;text-align: justify;visibility: visible;line-height: 2em;">导读本文介绍了腾讯金融科技 AI 开发平台的建设背景和目标,以及在建设过程中遇到的挑战和解决方案。平台经历了多个阶段的发展,但仍存在开发效率低和使用门槛高的问题。为解决这些问题,进行了一站式开发平台的建设,实现了特征工程优化、模型开发效率优化、模型训练能力优化和推理服务稳定性保障。

今天的介绍会围绕下面四点展开:


1.业务背景&目标介绍

2.技术挑战与解决方案

3.未来规划

4. Q&A

分享嘉宾|罗潍红 腾讯金融 腾讯FiT AI平台负责人

编辑整理|朱佳佳

内容校对|李瑶

出品社区|DataFun


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: var(--articleFontsize);letter-spacing: 0.034em;">01

业务背景&目标介绍


1.腾讯金融科技介绍



腾讯金融科技主要有四块业务:

2.AI 开发平台发展历程




腾讯金融 AI 开发平台的发展经历了四个阶段,第一个阶段是传统的机器学习阶段,第二个阶段是深度学习的阶段。在发展过程中存在一些问题,如重复开发、特征不能共享、能力没有沉淀等,所以在 2022 年进行了统一特征平台的建设和统一推理平台的建设。到 2023 年,仍存在开发效率低和使用门槛高的问题,为解决这些问题,进行了一站式开发平台的建设。


3.AI 开发平台 2022 年遇到的挑战




2022 年,我们对各个算法团队进行了调研,希望解决如下四个问题:

4.AI 开发平台目标与整体架构




基于上述问题,我们希望构建适配业务需求的平台,提升算法开发的效率,降低算法开发的门槛。


首先搭建平台的基础能力,沉淀样本处理的算子和特征重要性分析的组件,包括样本生成和加工的一些任务。在算法模型库的建设方面,我们把各个团队的一些开源的算法,自研的算法等都统一管理。在模型训练方面,基于 CPU 和 GPU 搭建了一个分布式的训练框架。在模型推理方面,统一实现离线批量预测和在线预测的功能,包含推理加速、资源管理等。


基于这些基础组件的能力,搭建一站式 AI 开发工作流,从特征筛选到特征处理、样本构建、模型训练调试评估、模型的部署和实验,再到后期模型的运维监控,贯穿算法开发的整个流程。


02


技术挑战与解决方案



1.特征及样本技术挑战和解决方案



(1)特征引擎架构



上图是特征引擎的架构,主要分为两部分,在线服务和离线服务。在线特征服务主要提供特征推理、特征读取及特征处理服务。离线特征服务主要提供特征筛选和特征拼接。特征上线后,需要对特征和样本进行监控。整个过程中,会遇到四个问题:特征筛选、样本回滚、特征上线和监控。


(2)特征筛选



特征筛选是建模的第一个步骤,特征决定了机器学习效果的上限,模型只是逼进这个上限,所以特征筛选是一个非常重要的步骤。首先基于特征质量从全量特征中筛选出一些高价值特征,然后基于业务场景,推荐历史表现较好的特征。特征初筛后,基于特征重要性的算法来进行特征重要性的筛选,比如过滤法、包裹法、嵌入法等。



在特征筛选方面,我们开发了一种高效的持续学习的训练方案,能够准确地筛选出 CTR(用户点击率预估)模型的重要特征,该模型将特征交互操作与预测模型一起在一个端到端的方式训练,该方法已经发表论文,论文链接见图片。


论文的主要工作是在特征输入之后,对特征进行 Embedding,之后在Embedding 上进行特征交互和特征选择,捕捉输入特征之间的相互作用。经过在公开数据集的测试发现,我们的方法相比于一些公开方法有显著的提升。


(3)样本回滚



在样本拼接过程中,由于样本回滚需要拼接的主题表数量众多,且数据量较大,对性能带来了挑战。为解决这个问题,在生成特征快照时,按业务拆分特征,缩减数据量,同时采用 Sparse 存储格式进行数据存储。另外,在处理用户与 Label 拼接时,使用布隆过滤器解决 join 性能问题。对于公共特征,可将其转化为字典类型,然后使用广播进行 join。同时,针对多表 join 的情况,可在内存中 join 小表,然后将大表的数据放在硬盘中 join,以提升 join 效率。


(4)特征上线



特征上线后,首先根据特征的更新频率进行拆分,然后按照业务进行聚合,以解决读写性能问题。其次,通过数据分离降低成本,将冷数据存在 HBase 中,热数据存储在 CKV 中;为了解决读写的相互影响,对 HBase 进行了读、写分离。



特征上线后,上游特征可能会存在及时性和质量不稳定的问题,我们对特征和样本进行监控,比如特征缺失率、分布;样本条数的变化、分布的变化等。以快速发现和解决问题。


2.训练优化



(1)方案演化



模型训练经历了不同阶段,从浅层模型到深度学习模型,再到目前的大规模深度学习模型。目前重点解决的问题是处理大规模样本和参数在深度学习应用上的优化。在小样本和小模型的情况下,单卡 GPU 可以有效解决问题,但随着样本和模型参数的增加,需要考虑多卡并行训练、混合并行训练的方式。


模型结构方面,数据读取 IO、Sparse Embedding 层和隐藏层,会在计算的过程中遇到不同的程度挑战。


(2)训练优化



在大规模深度学习模型训练中,会遇到样本和参数量大,以及数据 IO 效率低的问题。数据加载过程中,从存储到内存再到 GPU 显存,CPU 加载数据的效率可能无法跟上 GPU 处理的速度,导致 GPU 的利用率较低。我们采用的解决方案如下:
(3)训练框架



当模型参数规模增大后,单卡 GPU 无法存储大规模模型参数,例如 100B 的参数 FP16 类型需要 200G 显存。我们采用以下方案解决:

3.模型部署



(1)部署方案



在模型部署阶段,需要开发工程师介入,因为算法和开发在工作流程和专业性上存在差异,但是生产环境对性能和稳定性要求都比较高,不是所有算法工程师都能很好的解决。


解决方案如下:
(2)稳定性建设



在系统稳定性方面,超过 35% 的故障是由于系统变更导致的,代码本身也可能存在需要优化的地方,关键依赖和代码性能问题会导致线上故障。意识性问题如未遵守开发规范,也是导致故障的原因之一。我们采用以下方案解决:
最终的目的是能够一分钟发现问题,五分钟定位到问题,十分钟恢复问题。快速恢复的关键在于能够快速发现问题、快速回滚和有良好的降级措施。


(3)模型的全链路运营



模型的全链路运营,包括特征样本监控、模型训练与开发过程监控以及在线推理的监控。在模型训练中,关注 AUC 等指标,完成后对 AUC 和测试数据进行线上预测结果的评估。在线推理阶段进行错误码、性能、效果等方面的监控,包括问题定位工具、在线模型分数、离线预测监控以及与 AB 实验系统的对接。


(4)平台展示



最后是整个平台结构的展示,分为数据处理、特征样本生成、模型开发与训练、模型部署以及全链路运营监控四大模块,结构清晰明了。


03


未来规划




平台未来的规划,包括两大部分,首先,继续完善大规模图训练;另外,在AutoML(自动机器学习)方面,对超参调优和模型选择继续优化。


04


Q&A



Q1:平台开源吗?


A1:平台目前不考虑开源,因为与公司内部组件的依赖性较强,开源存在一定的复杂性,但整个 AI 平台构建的思路是值得借鉴的。


Q2:布隆过滤具体有什么效果?


A2:有两个地方用到了布隆过滤器。首先,在用户样本拼接中,由于用户特征量级较大,而标签(Label)在采样后量级较小,为了快速处理拼接操作,通过布隆过滤器在用户特征数据处理节点上缓存目标的用户 ID,解决了 join 性能问题。其次,在特征 SDK 中,需要判断用户是冷特征还是热特征,通过对冷热特征进行布隆过滤器,实现了快速的冷热特征查询路由。总体而言,布隆过滤器在这两个场景中提供了有效的解决方案。


Q3:推理服务稳定性因素很多,哪些是关键影响?


A3:首先,事前阶段强调开发人员进行设计方案的评审,开发规范的执行、以及代码质量的评审。其次,在发布过程中要做好灰度和可回滚的准备。最后,事后阶段需要快速发现问题和恢复问题。


Q4:大模型对整个平台的功能架构分布上有没有什么影响?


A4:具体来说,大模型与传统的搜广推模型有着不同的模型结构,需要与其不同的训练框架来支持。另一方面,在推理阶段,大模型的推理成本也高,需要对其进行性能优化,涉及到开源方案有 vLLM,TensorRT-LLM 等。整体而言,集团的大模型团队在这些方面都做得比较成熟,我们计划进一步加强这些功能的集成和优化。







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5