本文介绍了腾讯游戏数据团队如何通过最新的大语言模型技术,基于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数据资产的应用
资产建设完毕后,接下来就是考虑如何用起来,开发一套AI自助化的数据提取工具,解决实际的业务问题。
首先,面对复杂的数据资产概念,我们引入了「本地专有模型」。大语言模型通用的知识在检索和推荐方面都已经比较完善,但针对那些企业通用知识、部门/项目知识、创造性知识,比如我们所支持的游戏业务就品类众多、概念复杂,一些常规的操作可能就无法满足需求了。「本地专有模型」就可以更好地来解决这些问题,通过知识图谱、语义理解、检索、排序等技术,帮助大模型更好地理解数据资产,真正实现「数据资产不仅可以被人类理解,也可以被AI理解」的建设目标。
(专有模型技术架构)
其次,我们使用Agent多智能体架构,将一个Job(工作)分解成若干个Task(任务),这些Task一部分由人类完成,一部分由AI完成,还有一部分需要人与AI协同完成。通过需求Agent,人类提出的数据需求,AI会辅助进行需求整理、并改写成AI能够理解的格式,消除AI理解需求的歧义,确保AI交付准确的数据结果。
以新一代AI数据资产为基础,通过通用LLM模型、本地专有模型、Agent多智体架构,AI能力得到了更好的释放,在应用层面,我们可以借助AI能力实现包括资产检索、SQL编写助手、自助分析助手等在内的多种工具,降低数据的使用门槛,让数据离用户越来越近。
(系统技术架构)
而在腾讯游戏内部,我们已经落地推出了一个问答式的智能AI数据助手「uDataChat」,用户可以通过自然语言跟AI交互,让AI生成SQL,自助提取所需的业务数据。
(uDataChat在数据智能问答的应用)
未来展望
AI技术在数据工作上的应用仍有巨大的潜力,腾讯游戏团队也在不断地探索,除了通过AI生成SQL以提升数据获取效率之外,我们还在进一步尝试将「AI+湖仓一体」的能力与我们的更多工具和系统做集成,与StarRocks共同来进一步探索挖掘AI的潜力,实现用AI来重构数据的各个领域,同时也欢迎各行各业的伙伴来与我们交流这方面的技术经验。
关于StarRocks
StarRocks全球开源社区也正飞速成长。目前,StarRocks的GitHubstar数已达7900,吸引了超过330位贡献者和数十家国内外行业头部企业参与共建,用户社区也有过万人的规模。凭借其卓越的表现,StarRocks荣获了全球著名科技媒体InfoWorld颁发的2023BOSSIEAward最佳开源软件奖项。
金融:中信建投|中原银行|申万宏源|平安银行|中欧财富
游戏:腾讯游戏|波克城市|37手游|游族网络
新经济:蔚来汽车|理想汽车|顺丰|京东物流|跨越速运|大润发|华润万家|TCL|万物新生|百草味|多点DMALL|酷开科技
StarRocks技术内幕:极速湖仓神器:物化视图|存算分离,兼顾降本与增效|实时更新与极速查询如何兼得|QueryCache,一招搞定高并发|资源隔离|大数据自动管理|查询原理浅析|易用性全面提升