AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践

admin2024-05-15  1

作者:腾讯游戏数据技术负责人 刘岩

AI 生成 SQL 在真实业务场景下遇到的挑战

腾讯游戏业务体量庞大且复杂,数据团队每年需要处理超过 3 万个数据提取需求,传统的人工服务模式在交付效率上已经遇到了瓶颈。随着 AI 技术的发展,能否利用大语言模型(LLM)的能力开发一套自助工具,让游戏业务团队能够自助化、快速高效地获取所需的数据,也是我们探索和尝试的主要方向。

我们做了一些调研,目前 LLM 在公共数据集(例如:Spider)下 AI 写 SQL 的准确率已经高达 90 分以上,基本能够达到人类的水平;然而在真实业务场景下,AI 写 SQL 的准确率出现了断崖式下跌,例如,在模拟真实业务场景的 BIRD 数据集下 AI 准确率只能做到 65 分左右,无法满足实际业务的需求。

我们再看一下 LLM 技术的演进,以行业龙头 OpenAI 来看,在 2022 年 11 月底推出基于人类反馈强化学习 (RLHF)的 ChatGPT,特别是在 2023 年 3 月份推出 GPT4.0 提高了复杂任务的推理能力以及多模态能力之后,就已经不在基础模型上做进一步的提升,而是把精力放到工程化应用上,简单来说就是怎么把大模型结合具体场景用起来,聚焦在 Prompt 工程、Agent、工具使用(RAG、函数调用)、更低的成本和更多的 token 等应用领域。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第1张(LLM 技术演进路线图)

总结来说,AI 写 SQL 要实现可以实际应用,我们的技术路线不是训练一个更强大的 LLM 模型,而是要通过工程化来提升 AI 写 SQL 的准确率。简单的说,之所以准确率不高,并不是因为 AI 写 SQL 的能力不行,而是 我们没有给到大模型「完备的信息」 ,由于数据资产不完整、冗余混乱、行业及产品专用知识缺失等问题,导致大模型对业务需求的理解出现歧义,因而无法交付准确的结果。

因此, 如何建设一套更先进的数据资产,给大模型提供更完备的信息,让 AI 更好地理解数据资产,就成为了提升 AI 写 SQL 准确率的一个关键突破口。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第2张

基于 AI+ 湖仓的数据资产体系

腾讯游戏在数据建设上有十几年的经验,业务需求也已经从业务经营分析类的报表和看数,逐步发展到精细化运营(明细数据)、归因分析(新指标和分层)、预测干预(算法实时处理)等深度的需求。我们自己建设的传统数据中台也面临着很大的挑战:

  • 逻辑模型自顶向下规划,物理模型自下而上建设,对于新需求(后验指标)建设滞后,中台一直在追赶需求。

    为了满足新需求(后验指标),不得已建设临时表,后续合并到中台治理难度大,且持续治理的业务收益低。

    数据中台解决了统一的问题,但对于个性化、差异化、明细化的数据挖掘、归因、干预等业务创新支撑较弱。

腾讯游戏数据团队与 StarRocks 合作,将传统的数仓建模转移到了湖仓一体架构上, 打造了基于 AI+湖仓的「新一代 AI 数据资产」, 通过使用语义层替代物理 ADS/DWS层,能够快速的配置新增数据集、指标、维度等,并且通过实时链路接入、透明加速等技术满足性能需求,实现快速响应用户后验需求和分析挖掘的需求。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第3张

(传统数据中台到新一代AI数据资产的升级)

新一代 AI 数据资产的模型架构下,底层的接入部分由离线改变为实时,另外减少离线数仓到 OLAP 的摆渡过程,用户可以直接使用实时的明细数据(而非传统的 T+1 结果数据)做进一步的挖掘和探索分析,快速洞察数据背后的深层次问题

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第4张

(基于湖仓一体的技术架构)

语义层的语义资产被分为三种类型:

第一种是「已有看板」的资产,大模型可以直接使用指标来跟用户交互,这部分占大约 70%;第二种是「没有指标,但有特征」的资产,大模型可以通过特征来生成指标满足用户的需求,这部分约占 20%;第三种是「无特征」的、纯新的资产,往往需要用户来补充一些业务信息,再去交由大模型生成特征和指标,这部分约占 10%。

这样一来,AI 大模型技术可以直接交付数据结果,或者通过AI与人的互动最终交付数据需求,实现一个资产自助交付的高效体系。且在这个体系下,游戏项目组内不同团队的数据需求方,都可以通过 AI 来生产和维护同一个特征库、指标库和同一份资产, 让资产能够被 AI 和人理解 ,提升数据使用的效率。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第5张

(AI+湖仓中台的运营)

这套「AI +湖仓中台」体系会产生大量的运算,为了确保系统低成本、高效率运行,我们基于 StarRocks 异步物化视图的查询改写功能和多种刷新机制,建设了一个成本效率优化引擎,将数据治理问题变成技术问题。效率优化引擎围绕热度、粒度、速度三个核心要素开展治理,对于高热度、慢速度的 SQL 按照同粒度合并成优质资产,每一个优质资产对应一个 StarRocks 的异步物化视图,这样 StarRocks 就可以自动判断是否可以复用物化视图中的预计算结果处理查询。如果可以复用,系统会直接从相关的物化视图读取预计算结果,以避免重复计算消耗系统资源和时间;通过在数据湖之上构建异步物化视图来提升查询性能,同时省去了手动修改查询的麻烦。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第6张

新一代 AI 数据资产的应用

资产建设完毕后,接下来就是考虑如何用起来,开发一套 AI 自助化的数据提取工具,解决实际的业务问题。

首先,面对复杂的数据资产概念,我们引入了「本地专有模型」。大语言模型通用的知识在检索和推荐方面都已经比较完善,但针对那些企业通用知识、部门/项目知识、创造性知识, 比如我们所支持的游戏业务就品类众多、概念复杂,一些常规的操作可能就无法满足需求了。「本地专有模型」就可以更好地来解决这些问题,通过知识图谱、语义理解、检索、排序等技术,帮助大模型更好地理解数据资产,真正实现 「数据资产不仅可以被人类理解,也可以被 AI 理解」 的建设目标。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第7张

(专有模型技术架构)

其次,我们使用 Agent 多智能体架构,将一个Job(工作)分解成若干个 Task(任务),这些 Task 一部分由人类完成,一部分由 AI 完成,还有一部分需要人与 AI 协同完成。通过需求 Agent,人类提出的数据需求,AI 会辅助进行需求整理、并改写成 AI能够理解的格式,消除 AI 理解需求的歧义,确保 AI 交付准确的数据结果。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第8张

以新一代 AI 数据资产为基础,通过通用 LLM 模型、本地专有模型、Agent 多智体架构,AI 能力得到了更好的释放,在应用层面,我们可以借助 AI 能力实现包括资产检索、SQ L编写助手、自助分析助手等在内的多种工具,降低数据的使用门槛,让数据离用户越来越近。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第9张

(系统技术架构)

而在腾讯游戏内部,我们已经落地推出了一个问答式的智能AI数据助手「uDataChat」,用户可以通过自然语言跟 AI 交互,让 AI 生成 SQL,自助提取所需的业务数据。

AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,在这里插入图片描述,第10张

(uDataChat 在数据智能问答的应用)

这套工具目前已取得诸多显著成效: 数据平均交付时间由人工服务时代的 2h 提升到0.33h,用户自助交付率提升 70%;资产复用率也由 70% 大幅提升至 77%,并具备快速、低成本、批量复制到其他游戏业务上的能力;而大家最关心的交付准确率方面,也已经由刚上线时的 51% 提升至了 89%,这一准确率已经可以满足实际业务使用场景的需求。

未来展望

AI 技术在数据工作上的应用仍有巨大的潜力,腾讯游戏团队也在不断地探索,除了通过 AI 生成 SQL 以提升数据获取效率之外,我们还在进一步尝试将「AI+湖仓一体」的能力与我们的更多工具和系统做集成,与 StarRocks 共同来进一步探索挖掘 AI 的潜力,实现用 AI 来重构数据的各个领域,同时也欢迎各行各业的伙伴来与我们交流这方面的技术经验。

如需更多交流,联系我们:https://wx.focussend.com/weComLink/mobileQrCodeLink/33412/8da64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!