当前位置: 首页 > news >正文

酷克数据发布HD-SQL-LLaMA模型,开启数据分析“人人可及”新时代

随着行业数字化进入深水区,企业的关注点正在不断从“数字”价值转向“数智”价值。然而,传统数据分析的操作门槛与时间成本成为了掣肘数据价值释放的阻力。常规的数据分析流程复杂冗长,需要数据库管理员设计数据模型,数据工程师进行ETL处理,再由数据分析师编写SQL查询进行分析,耗时耗力,同时欠缺足够的业务灵活度。

面对这一挑战,业界也在不断探索解决方案,无论是库函数的封装、API的应用、还是各类图形化界面的出现,都是对流程中各个环节的不断简化。然而,大语言模型的广泛应用提供了一种端到端服务的可能性,凭借崭新的交互体验,为企业对内与对外的业务场景带来了大量的新机遇。数据库管理着高价值的结构化数据,成为了探索数据分析智能化的绝佳起点。

HD-SQL-LLaMA:更准确的Text2SQL垂类模型

众所周知,当面临具体特定场景时,通用模型的准确率、精确率和召回率有限,直接使用效果不佳。为了提升模型效果,降低幻觉产生的潜在风险,对基座模型进行微调生成垂类模型成为了一个必选项目。近日,业界领先的云数仓厂商酷克数据发布了专门用于从问题描述生成SQL的大语言模型HD-SQL-LLaMA。该模型依托酷克数据自研云数仓产品HashData和下一代数据科学与AI开发工具HashML,基于知名的开源语言模型LLaMA2,使用大量高质量的中英文Text2SQL训练数据进行微调而来。在推理过程中,通过在Prompt中引入与查询相关数据库表的Schema信息,进一步提升了从文本描述生成SQL的精准度。

图1: Text2SQL模型微调及交互式数据查询分析应用

为保证微调数据的多样性,团队选取了WikiSQL, Spider, sql-create-context, Bird等在内的多个开源数据集,数据涵盖众多行业领域。除此之外,团队还收集整理了大量自有数据,通过数据清洗、正确性验证、数据采样等处理过程得到最终的微调训练数据。

{"data_id": "train_eng_000034","question": "Which teams had more than 3 eliminations?","answer": "SELECT team\nFROM elimination\nGROUP BY team\nHAVING COUNT(*) > 3","context": ["CREATE TABLE elimination (elimination_id text, wrestler_id text, team text, eliminated_by text, elimination_move text, time text)","CREATE TABLE wrestler (wrestler_id number, name text, reign text, days_held text, location text, event text)"]
}
{"data_id": "train_chn_000188","question": "每门课程有多少注册学生?列出课程名称及其注册学生人数?","answer": "SELECT T3.course_name,\n       COUNT(*)\nFROM students AS T1\nJOIN student_course_registrations AS T2 ON T1.student_id = T2.student_id\nJOIN courses AS T3 ON T2.course_id = T3.course_id\nGROUP BY T2.course_id","context": ["CREATE TABLE students (student_id VARCHAR)","CREATE TABLE courses (course_name VARCHAR, course_id VARCHAR)","CREATE TABLE student_course_registrations (course_id VARCHAR, student_id VARCHAR)",]
}

图2:微调样例数据

为了对模型效果进行客观评估,团队参考了CSpider的SQL难度评级方法,构造了一个具备多样性的评估数据集,评估样本涵盖从简单(easy)、中等(medium)、困难(hard)到极难(extra)4个等级。该评价方法主要根据SQL语句中出现关键字(如WHERE、GROUP BY、ORDER BY、 HAVING、UNION、INTERSECT等)的类别和数量对SQL语句的难度进行分级。

{"question":"What are the different names of the colleges involved in the tryout in alphabetical order?","answer":"SELECT DISTINCT cname\nFROM tryout\nORDER BY cname","hardness":"easy"
}
{"question":"What are the vocal types used in song 'Le Pop'?","answer":"SELECT type\nFROM vocals AS T1\nJOIN songs AS T2 ON T1.songid = T2.songid\nWHERE title = \"Le Pop\"","hardness":"medium"
}
{"question":"Which clubs have one or more members whose advisor is '1121'?","answer":"SELECT DISTINCT t1.clubname\nFROM club AS t1\nJOIN member_of_club AS t2 ON t1.clubid = t2.clubid\nJOIN student AS t3 ON t2.stuid = t3.stuid\nWHERE t3.advisor = 1121","hardness":"hard"
}
{"question":"How many faculty members did the university that conferred the most degrees in 2002 have?","answer":"SELECT T2.faculty\nFROM campuses AS T1\nJOIN faculty AS T2 ON T1.id = t2.campus\nJOIN degrees AS T3 ON T1.id = t3.campus\nAND t2.year = t3.year\nWHERE t2.year = 2002\nORDER BY t3.degrees DESC\nLIMIT 1","hardness":"extra"
}

图3:SQL难度分级样例数据

图4:评估数据集难度分级占比

为了验证生成SQL的正确性,团队针对每个评估样本构造了一个由若干数据表构成的数据库,每张数据表都包含若干条数据记录。对于每个评估样本,分别执行Ground-Truth SQL和生成的SQL,通过检验生成SQL的可执行度和比对查询结果的一致性,判断生成SQL的正确性,最终统计整个评估集的准确率。评估结果显示,HD-SQL-LLaMA2在不同难度的评估样本集上均表现良好,13B模型准确率接近82%,34B模型准确率超过88%,展现了该模型强大的零样本泛化能力和商业化应用潜力。

表1:Text2SQL难度分级评估结果

与需要大规模计算资源的千亿级参数模型不同,HD-SQL-LLaMA2模型更轻量化,可以部署在单个消费级GPU上进行实时高效推理。这不仅降低了企业使用成本,也使其可以部署于私有环境中,有效保护了企业敏感数据的安全性,满足合规要求。同时,基于HashML提供的AI开发能力,HD-SQL-LLaMA2还支持根据企业数据特点进行快速的本地微调和升级,提供了一个灵活的定制化解决方案。

ChatData:更便捷的对话式数据查询与分析应用

为了帮助客户快速便捷地将这一模型应用于实际业务,酷克数据还研发了ChatData:基于自然语言的交互式数据分析智能应用。

ChatData通过自然语言对话的方式,自动将用户提出的问题转化为SQL查询,使数据库访问和数据分析成为一件尤其简单的事情。用户无需掌握SQL语法,只需用中文或英文提出自己的查询需求,ChatData将自动转换为SQL语句,在后端数据库中检索并返回结果,同时还支持基于自然语言交互的方式对查询结果可视化。这为广大的业务团队提供了简单直观地查询数据的新途径。

图5:中英文对话式数据查询与可视化

结语

HD-SQL-LLaMA2基于大语言模型强大的语言理解和生成能力实现了更精准的Text2SQL,降低了数据分析的工作量,极大地提高了企业大数据团队的工作效率,使得用户能够将宝贵时间投入到更多的商业价值创造中。

ChatData的出现,进一步简化了整个数据分析操作,降低了数据分析的技术门槛。用户只需使用自然语言描述问题,就可以获取所需的信息与结论。这将使得企业内更多的业务团队能够参与到数据驱动的业务决策中,提高整个组织的协同效率和决策准确性,同时大幅缓解数据工程团队的工作负载。在技术创新力量推动下,数据分析正在步入“人人可及”的新时代。

在这个数据赋能商业的时代,酷克数据将继续致力于自主创新的技术和产品,服务助力企业的数智化转型。我们坚信科技进步必将造福人类,让世界变得更加智能与美好。

相关文章:

酷克数据发布HD-SQL-LLaMA模型,开启数据分析“人人可及”新时代

随着行业数字化进入深水区,企业的关注点正在不断从“数字”价值转向“数智”价值。然而,传统数据分析的操作门槛与时间成本成为了掣肘数据价值释放的阻力。常规的数据分析流程复杂冗长,需要数据库管理员设计数据模型,数据工程师进…...

FL Studio21最新中文破解进阶高级完整版安装下载教程

目前水果软件最版本是FL Studio21,它让你的计算机就像是全功能的录音室,大混音盘,非常先进的制作工具,让你的音乐突破想象力的限制。喜欢音乐制作的小伙伴千万不要错过这个功能强大,安装便捷的音乐软件哦!如…...

MDN--Web性能

CSS 动画与 JavaScript 动画 动画的实现可以有很多种方式,比如 CSS transition 和 animation 或者基于 JavaScript 的动画(使用 requestAnimationFrame()) CSS 过渡和动画 CSS transiton :创建当前样式与结束状态样式之间的动画。尽管一个元素处于过渡状态中&…...

Vue3.js:自定义组件 v-model

Vue3的自定义v-model和vue2稍有不同 文档 https://cn.vuejs.org/guide/components/v-model.html 目录 原生组件自定义组件CustomInput实现代码1CustomInput实现代码2 v-model 的参数 原生组件 <input v-model"searchText" />等价于 <input:value"s…...

AI虚拟主播开发实战(附源码)

人工智能 文章目录 人工智能前言 前言 https://blog.csdn.net/icemanyandy/article/details/124035967...

innoDB如何解决幻读

Mysql的事务隔离级别 Mysql 有四种事务隔离级别&#xff0c;这四种隔离级别代表当存在多个事务并发冲突时&#xff0c;可能出现的脏读、不可重复读、幻读的问题。其中 InnoDB 在 RR 的隔离级别下&#xff0c;解决了幻读的问题 事务隔离级别脏读不可重复读幻读未提交读&#xff…...

Git - 导出(archive)、忽略(gitignore)、隐藏(Stash)、合并冲突(merge)的解决方法

概述 本次集中总结了Git4个常规操作&#xff0c;导出(archive)、忽略(gitignore)、隐藏(Stash)、合并冲突(merge)的解决方法&#xff0c;希望帮助到正在辛苦寻找的你。 .gitignore忽略文件 之前开发和部署服务比较仓促&#xff0c;所以有很多图片文件一起加载到服务中&#…...

【Javascript】‘var‘ is used instead of ‘let‘ or ‘const‘

解决&#xff1a; 设置完之后,var 就不会再出现黄色波浪线警告...

金融统计学方法:神经网络

目录 1.神经网络 2.深度神经网络 3.案例分析 1.神经网络 神经网络是模仿人脑神经元工作原理而设计的一种算法模型。在一个基本的神经网络中&#xff0c;存在多个“神经元”或称为“节点”&#xff0c;这些节点被组织成多个层次。每个节点都接收前一层的输入&#xff0c;进行…...

任何人不知道这款超实用的配音软件,我都会伤心的OK?

看完一段精彩的视频&#xff0c;令人陶醉的原因之一就是配音&#xff0c;有的充满感情&#xff0c;有的字正腔圆&#xff0c;相信很多人都不知道这样的声音是怎么配出来的&#xff1f;今天&#xff0c;小编就来给大家分享一款超实用的配音软件&#xff0c;不仅操作简单&#xf…...

Linux查看日志文件的常用命令

1、查看文件最后1000行内容 tail -n 1000 filename 2、实时查看文件最后1000行内容&#xff0c;动态刷新 tailf -n 1000 filename tail -f -n 1000 filename 3、按照关键字搜索日志 cat filename | grep 关键字 4、按照关键字搜索并包含前(后)多少行 【&#xff08;A前B后C前…...

AcWing算法分享系列——二分图

这是AcWing算法分享系列的第一篇文章,我们先从图论的知识下手(因为我觉得图论的只是好理解些)。 这次我们主要讲的就是二分图,二分图这次我们主要讲的就是最基础的两个板块: 二分图的判定(染色法)二分图的完美匹配(匈牙利算法)我们这一篇文章先从二分图的概念开始入手…...

【Excel单元格类型的解析校验】Java使用POI解析excel数据

一、使用的maven依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.7</version> </dependency> <dependency><groupId>org.apache.poi</groupId&…...

【运维知识高级篇】超详细的Jenkins教程5(pipeline流水线配置+分布式构建)

CI/CD是持续集成&#xff0c;持续部署&#xff0c;集成就是开发人员通过自动化编译&#xff0c;发布&#xff0c;测试的手段集成软件&#xff0c;在开发的测试环境上测试发现自己的错误&#xff1b;持续部署是自动化构建&#xff0c;部署&#xff0c;通常也是在测试环境上进行&…...

为什么要在电影院装监控?有什么作用?

近期小编在网上看到有很多人在讨论&#xff1a;电影院的摄像头有多高清&#xff1f;看电影时的小动作放映员都能看得一清二楚&#xff1f;答案是&#xff1a;是的。但大家也不必有心理负担&#xff0c;电影院的监控目的不是为了监控观众&#xff0c;更多的是为了保障观影者的权…...

攻防世界题目练习——Web引导模式(三)(持续更新)

题目目录 1. mfw2. Cat3.4.5. 1. mfw 进去看到网页和页面内容如下&#xff1a; 看到url的参数 ?pageabout &#xff0c;我以为是文件包含什么的&#xff0c;反复试了几次&#xff0c;想用 …/…/…/…/etc/passwd &#xff0c;但是发现.似乎被过滤了&#xff0c;实在不知道怎…...

Python制作PDF转Word工具(Tkinter+pdf2docx)

一、效果样式 二、核心点 1. 使用pdf2docx完成PDF转换Word 安装pdf2docx可能会报错&#xff0c;安装完成引入from pdf2docx import Converter运行也可能报错&#xff0c;可以根据报错提示看缺少那些库&#xff0c;先卸载pip uninstall xxx,使用pip install python-docx -i htt…...

有哪些手段可以优化 CSS, 提高性能

CSS优化是Web开发中提高性能和用户体验的关键部分。下面详细解释一些CSS优化的方法&#xff0c;以提高性能&#xff1a; 合并和压缩CSS文件: 合并文件&#xff1a;将多个CSS文件合并成一个&#xff0c;以减少HTTP请求次数。这可以通过构建工具&#xff08;如Webpack&#xff09…...

ARM可用的可信固件项目简介

安全之安全(security)博客目录导读 目录 一、TrustedFirmware-A (TF-A) 二、MCUboot 三、TrustedFirmware-M (TF-M) 四、TF-RMM 五、OP-TEE 六、Mbed TLS 七、Hafnium 八、Trusted Services 九、Open CI 可信固件为Armv8-A、Armv9-A和Armv8-M提供了安全软件的参考实现…...

信创办公–基于WPS的Word最佳实践系列 (图文环绕方式)

信创办公–基于WPS的Word最佳实践系列 &#xff08;图文环绕方式&#xff09; 目录 应用背景操作步骤1、 打开布局选项中图文环绕方式的方法2、 图文环绕三大类型 应用背景 在Word中&#xff0c;对文字和图片进行排版时&#xff0c;采用各种不同的图片与文字组合效果能够使页面…...

Naive UI数据表格分页pageCount配置没效果

吐槽&#xff1a;因为naive-ui是基于vue3&#xff0c;所以目前的组件资料是少之又少啊&#xff0c;虽然好用&#xff0c;但感觉没有特别的普及。 背景&#xff1a;记得1年前我第一次碰到了这个问题&#xff0c;在列表里使用:pagination分页&#xff0c;怎么都不显示页码&#…...

Kibana Discover数据查询

步骤1&#xff1a;打开管理页面(Management) 步骤2&#xff1a; 因为前面的章节导入航班数据的时候&#xff0c;自动创建了一个名字叫kibana_sample_data_flights的航班数据索引&#xff0c;如果我们只想搜索kibana_sample_data_flights索引的数据&#xff0c;则不需要通配符&…...

笔记 | 编程经验谈:如何正确的使用内存

笔记 | 编程经验谈:如何正确的使用内存 首先我们要了解内存的分配方式。一般来说,内存的分配方式有三种: 1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 2.在栈上创建。在执行函数时,函数内…...

C语言入门-1.1 C语言概述

想要学好一门计算机编程语言&#xff0c;就和谈一个女朋友是一样的&#xff0c;需要对其深入了解。 1、计算机语言 &#xff08;1&#xff09;什么是计算机语言&#xff1f; 顾名思义&#xff0c;就是计算机之间交流的语言&#xff0c;就和人一样&#xff0c;咱们都是使用普通…...

周记之学习总结

你在人群中看到的每一个耀眼的女孩&#xff0c;都是踩着刀尖过来的。你如履平地般地舒适坦然&#xff0c;当然不配拥有任何光芒&#xff1b; 10.11-10.12 思来想去还是不舍得&#xff0c;搞了一下这个jwt&#xff0c;看了很多视频和博客&#xff0c;一直没看懂&#xff0c;两…...

程序设计:C++ 一个可以放入共享内存的string模板

共享内存由于是多进程共享的&#xff0c;里面的数据不适合包含指针&#xff0c;因为共享内存在不同进程里的地址并不相同。尽管可以在连接共享内存时指定连接地址&#xff0c;但是&#xff0c;这样做限制太多&#xff1a; 不同硬件、系统这个地址可能不一样&#xff0c;没有通…...

【EI会议征稿】第三届应用力学与先进材料国际学术会议(ICAMAM 2024)

第三届应用力学与先进材料国际学术会议&#xff08;ICAMAM 2024&#xff09; 2024 3rd International Conference on Applied Mechanics and Advanced Materials&#xff08;ICAMAM 2024&#xff09; 第三届应用力学与先进材料国际学术会议&#xff08;ICAMAM 2024&#xff09…...

Python -- I/O编程

文章目录 一、文件读写1. 读文件2. 二进制文件3. 字符编码4. 写文件 二、StringIO和BytesIO三、操作文件和目录1. 操作系统命令2. 操作文件 四、序列化五、 JSON六、异步IO1. 协程2. asyncioasync/awaitaiohttp 一、文件读写 Python内置了读写文件的函数&#xff0c;用法和C是…...

langchain入门指南和实战

简单介绍 LangChain 是一个开源的语言模型集成框架&#xff0c;旨在简化使用大型语言模型&#xff08;LLM&#xff09;创建应用程序的过程。 利用它可以让开发者使用语言模型来实现各种复杂的任务&#xff0c;例如文本到图像的生成、文档问答、聊天机器人、 调用特定的SaaS服务…...

群晖synology DSM 7.2设置钉钉Webhooks通知

现在越来越多的小伙伴都有了自己的Nas系统&#xff0c;为了更加方便的接收Nas的消息&#xff0c;这篇文章带着大家一起配置一个钉钉&#xff08;机器人&#xff09;即时消息通知 首先登录钉钉的开放平台&#xff1a;开发者后台统一登录 - 钉钉统一身份认证 1.创建一个机器人&…...