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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.NET 4.8和.NET 8.0的区别和联系、以及查看本地计算机的.NET版本

文章目录 .NET 4.8和.NET 8.0的区别查看本地计算机的.NET版本 .NET 4.8和.NET 8.0的区别 .NET 8.0 和 .NET 4.8 之间的区别主要体现在它们的发展背景、目标平台、架构设计和功能特性上。下面是它们之间的一些主要区别: 发展背景: .NET 4.8 是.NET Fram…

单位内部防泄密策略与技术实践

在信息时代,企业内部数据安全至关重要,尤其是涉及核心竞争力的重要文件,员工的不当操作或恶意泄露都可能给企业带来重大损失。本文将从制度建设、技术防护、以及日常管理三个方面入手,探讨如何构建一套行之有效的内部防泄密体系&a…

20232803 2023-2024-2 《网络攻防实践》实践九报告

目录 1.实践内容2.实践过程2.1 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数2.2 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数2.3 注入一个自己制作的shellcode并运行…

微信小程序快速开发-基础内容(内容真的又多又干货)

目录 实现横向布局效果 实现滚动效果 实现轮播图效果 实现文本长按选中复制效果 渲染 HTML 标签 按钮组件的使用效果 图片组件的使用效果 Mustache 语法 动态绑定内容(定义变量,渲染变量) 动态绑定属性(将属性定义为变量…

代码随想录算法训练营第二十九天 | 39. 组合总和、40.组合总和II、131.分割回文串

39. 组合总和 题目链接/文章讲解: 代码随想录 视频讲解:带你学透回溯算法-组合总和(对应「leetcode」力扣题目:39.组合总和)| 回溯法精讲!_哔哩哔哩_bilibili 解题思路 这里和组合不同的是元素可以重复选取…

高质量新闻数据集OpenNewsArchive:880万篇主流新闻报道,国产大模型开源数据又添猛料

在构建国产大语言模型的道路上,高质量新闻是不可或缺的重要语料之一。这类语料集准确性、逻辑性、时效性于一体,同时包含丰富的事实知识,可以大幅提升模型的文本生成质量、词汇表达能力、事件理解分析能力以及时序内容的适应性和预测能力&…

[牛客网]——C语言刷题day3

答案&#xff1a;A 解析&#xff1a; A.表示将数组a的首地址赋值给指针变量p B.将一个int型变量直接赋值给一个int型的指针是不行的 C.道理同B D.j2是一个右值&#xff0c;右值是不能进行取地址操作的 #include <iostream> using namespace std;#define N 7 int fun…

Kafka应用Demo: 抽取消费者公共处理代码并利用redis实现多消费者实例负载分担

问题描述 在项目中使用消息中间件&#xff0c;主要为实现两个目的&#xff1a; 任务排队&#xff1a;当请求过多时&#xff0c;消费端无法同时处理&#xff0c;需要排队等待。这一点kafka采用的是"拉取消息"的模式&#xff0c;自然支持。负载分担: 这里的负载负担不…

网络安全|隐藏IP地址的5种不同方法

隐藏计算机的IP地址在互联网在线活动种可以保护个人隐私&#xff0c;这是在线活动的一种常见做法&#xff0c;包括隐私问题、安全性和访问限制内容等场景。那么如何做到呢?有很5种方法分享。每种方法都有自己的优点和缺点。 1. 虚拟网络 当您连接到虚拟服务器时&#xff0c;您…

Spring MVC(四) 数据校验

在开发过程中有一环必不可少的部分就是数据校验&#xff0c;用户在页面中填写的数据通过表单提交时&#xff0c;前端的JS可以做一些是否合法性的验证&#xff0c;比如是否为空、两次密码是否一致、格式是否正确等等验证。当数据到了后台控制器&#xff0c;为了确保程序的健壮性…

STM32--HC-SR501 热释电人体红外感应模块

实物引脚图&#xff1a; 模块工作特性&#xff1a; 当人进入感应范围之后输出引脚输出高电平&#xff0c;人离开感应范围自动延时输出低电平 热释电效应&#xff1a; 热释电传感器&#xff0c;也称为人体红外传感器&#xff0c;其工作原理基于热释电效应。这种传感器由几个关…

IDC:2023年中国IT安全软件市场同比增长4.7%

IDC最新发布的《中国IT安全软件市场跟踪报告&#xff0c;2023H2》显示&#xff0c;2023年下半年中国IT安全软件市场厂商整体收入约为169.8亿人民币&#xff08;约合23.5亿元美元&#xff09;&#xff0c;同比上升2.7%。结合全年数据&#xff0c;2023全年中国IT安全软件市场规模…

三路输出小功率开关电源【MATLAB/simulink】

拟选用一种DC-DC变换器拓扑使用1700 V SiC MOSFET或IGBT设计三相功率系 统的高频开关直流辅助电源&#xff0c;它可用于太阳能逆变器、工业开关电源、电动汽车充电器、 电机驱动装置等领域。&#xff08;建议采用单端反激式电路拓扑&#xff0c;开关频率为80kHz) 电路基本参数&…

项目管理—需求管理规程(软件研发过程标准,管理标准,标书技术编写,资质评审,安全管理体系,项目交付,实施运维,各类建设方案)

软件资料清单列表部分文档清单&#xff1a;工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说明书&#xff0c;需求调研计划&#xff0c;用户需求调查单&#xff0c;用户需求说明书&#xff0c;概要设计说明书&#xff0c;技术解…

提升用户体验:Xinstall免邀请码功能详解

在移动互联网时代&#xff0c;App的推广和运营显得尤为重要。然而&#xff0c;传统的App推广方式往往需要用户填写繁琐的邀请码&#xff0c;这不仅降低了用户体验&#xff0c;还影响了推广效果。幸运的是&#xff0c;Xinstall作为国内专业的App全渠道统计服务商&#xff0c;推出…

qmake、CMake、make和Makefile

为了跟踪C工程的全部部分&#xff0c;要求有一种机制来精确地指定&#xff1a; 涉及的输入文件&#xff0c;如源代码文件&#xff1a;.cpp&#xff0c;头文件&#xff1a;.h建立程序时所需的工具&#xff0c;如编译器&#xff1a; g.exe&#xff0c;链接器&#xff1a;ld.exe&a…

邦注科技 电解式超声波清洗机的原理介绍

电解式超声波去除模具表面油污锈迹的原理结合了电解和超声波技术的优势。 首先&#xff0c;电解作用是通过在特定的电解槽中&#xff0c;将模具作为阴极&#xff08;放入清洗框即可&#xff09;&#xff0c;并将有制式电极棒作为阳极。在电解过程中&#xff0c;电流如同魔法师…

如何管理测试计划?测试计划管理都使用哪些在线工具?YesDev

3.2 测试计划 测试计划Testing plan&#xff0c;描述了要进行的测试活动的范围、方法、资源和进度的文档&#xff1b;是对整个信息系统应用软件组装测试和确认测试。 3.2.1 管理测试计划 在测试计划&#xff0c;可以查看、管理和维护全部测试计划。 测试计划列表 点击【测…

easyx快速入门1

1.基本说明 EasyX 是针对 C 的图形库&#xff0c;可以帮助 C/C 初学者快速上手图形和游戏编程。 比如&#xff0c;可以基于 EasyX 图形库很快的用几何图形画一个房子&#xff0c;或者一辆移动的小车&#xff0c;可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏&#xff0c;可以练…

必应bing广告开户费用介绍,必应搜索广告推广开户服务!

微软必应Bing搜索引擎广告成为了企业提升品牌知名度与市场份额的有效途径之一&#xff0c;作为全球第二大搜索引擎&#xff0c;在中国市场正逐步展现出其独特的广告价值与潜力。对于希望拓展在线市场的中国企业而言&#xff0c;通过云衔科技开启必应Bing国内广告推广之旅&#…