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

2024-05-16 00:36

本文主要是介绍AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

导读

腾讯游戏是全球领先的游戏开发和运营商,其数据团队拥有十余年、700+ 款大型游戏的数据工作沉淀。复杂的业务环境下,腾讯游戏数据团队每年需要处理超过 3 万个数据提取需求,SQL 编写需要耗费大量时间和精力,如何提升效率成为了一个关键问题。

本文介绍了腾讯游戏数据团队如何通过最新的大语言模型技术,基于StarRocks构建一个高效的湖仓一体 +AI 数据管理新范式,解决游戏业务数据提取需求上痛点的实践经验。通过这种创新方法,AI 生成 SQL 的一次性准确率提升至 89%,数据提取的自助率、资产复用率也均有显著提升,解决了数据工程方面的痛点,也为 AI 赋能数据工作提供了全新的视角和方法。

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 等应用领域。

在这里插入图片描述(LLM 技术演进路线图)

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

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

在这里插入图片描述

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

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

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

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

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述

(AI+湖仓中台的运营)

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

在这里插入图片描述

新一代 AI 数据资产的应用

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

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

在这里插入图片描述

(专有模型技术架构)

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

在这里插入图片描述

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

在这里插入图片描述

(系统技术架构)

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

在这里插入图片描述

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

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

未来展望

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

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

这篇关于AI 写 SQL 真的靠谱吗?腾讯游戏在 AI+ 湖仓一体的实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993366

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G