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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STP生成树协议详解

一、STP作用 如果链路断开或节点故障,那么互联的设备就无法正常通信了,这类网络问题叫做单点故障。没有备份的链路或节点,出现故障会直接断网。如果要提供 724 小时不间断的服务,那就需要在网络中提前部署冗余。避免出现单点故障…

快速入门python机器学习

文章目录 机器学习概述1.1 人工智能概述机器学习与人工智能、深度学习1.1.2 机器学习、深度学习能做些什么 1.2 什么是机器学习1.2.1 定义1.2.2 解释1.2.3 数据集构成 1.3 机器学习算法分类1.3.1 总结1.3.2 练习1.3.3 机器学习算法分类 1.4 机器学习开发流程(了解&a…

ECharta雷达图 样式调整

预期效果&#xff1a; <template><div id"operationalRisk-radar-chart" class"h-290 w-385"></div> </template><script>export default {name: radarChart} </script> <script setup>import { onMounted, r…

CleanMyMac X4.14.4最新免费版本功能介绍

最新版CleanMyMac X 让您的Mac焕然一新&#xff0c;时刻保持安全&#xff01;CleanMyMac X是一款专业的Mac清理软件&#xff0c;可智能清理mac磁盘垃圾和多余语言安装包&#xff0c;快速释放电脑内存&#xff0c;轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软…

GEO生信数据挖掘(八)富集分析(GO 、KEGG、 GSEA 打包带走)

第六节&#xff0c;我们使用结核病基因数据&#xff0c;做了一个数据预处理的实操案例。例子中结核类型&#xff0c;包括结核&#xff0c;潜隐进展&#xff0c;对照和潜隐&#xff0c;四个类别。第七节延续上个数据&#xff0c;进行了差异分析。 本节对差异基因进行富集分析。 …

大咖云集,智慧碰撞|第 18 届 CLK 大会完整议程揭晓(内附报名通道)

自 2006 年以来&#xff0c;在国内 Linux 技术爱好者和行业公司的鼎力支持下&#xff0c;中国 Linux 内核开发者大会已走过 17个年头&#xff0c;是中国 Linux 内核领域最具影响力的峰会之一。今年的中国内核开发者大会依然秉承历届理念&#xff0c;以“自由、协作、创新”为理…

Python-Python高阶技巧:闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归

版本说明 当前版本号[20231018]。 版本修改说明20231018初版 目录 文章目录 版本说明目录Python高阶技巧闭包简单闭包修改外部函数变量的值实现以下atm取钱的闭包实现了闭包注意事项 装饰器装饰器的一般写法&#xff08;闭包写法&#xff09;装饰器的语法糖写法 设计模式单例…

x86 架构的机载计算机,它来了!

Allspark 2-x86采用Intel酷睿11代或12代CPU&#xff0c;x86架构&#xff0c;适用于无人机等机器人运行SLAM、VIO等复杂逻辑和高精度的机器视觉任务。预装 Ubuntu 22.04或Windows 11&#xff0c;满足多种使用场景。 市面上现有的一些NUC产品&#xff0c;不仅没有针对移动机器人使…

【数据结构】线性表(三)循环链表的各种操作(创建、插入、查找、删除、修改、遍历打印、释放内存空间)

目录 线性表的定义及其基本操作&#xff08;顺序表插入、删除、查找、修改&#xff09; 四、线性表的链接存储结构 1. 单链表 2. 循环链表 a. 循环链表节点结构体 b. 创建新节点 c. 在循环链表末尾插入节点 d. 删除循环链表中指定值的节点 e. 在循环链表中查找指定值的…

HZOJ-271: 滑动窗口

题目描述 ​ 给出一个长度为 N&#xfffd; 的数组&#xff0c;一个长为 K&#xfffd; 的滑动窗口从最左移动到最右&#xff0c;每次窗口移动&#xff0c;如下图&#xff1a; 找出窗口在各个位置时的极大值和极小值。 输入 ​ 第一行两个数 N,K&#xfffd;,&#xfffd;。 …

linux部署gitlab

1. 配置yum源&#xff1a; vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabled1 2. 更新本地缓存 sudo yum install -y gitlab-ce 3. 安装相关依赖 yum …

白水三佳电脑ERP部署

安装宝塔面板&#xff0c;有这个方便很多&#xff0c;可以省下3天的环境部署时间。 移动端&#xff0c; 先取移动版的压缩包&#xff0c;上传至服务器/www/wwwroot/目录下面&#xff0c;直接解压到当前目录后会生成/www/wwwroot/m/的目录&#xff0c;移动版就在这里面了。以下…

Python3----------抽象(多态、封装、继承等)

术语多态&#xff08;polymorphism&#xff09;源自希腊语&#xff0c;意思是“有多种形态”。这大致意味着即便你不知道变量指向的是哪种对象&#xff0c;也能够对其执行操作&#xff0c;且操作的行为将随对象所属的类型&#xff08;类&#xff09;而异。 封装&#xff08;en…

基于深度优先搜索的图遍历

这里写目录标题 基于深度优先搜索的无向图遍历算法流程图Python实现Java实现 基于深度优先搜索的有向图遍历Python实现 基于深度优先搜索的无向图遍历 使用深度优先搜索遍历无向图&#xff0c;将无向图用邻接表存储&#xff1a; 算法流程图 初始化起点 source&#xff0c;当…

机器人控制算法——TEB算法—Obstacle Avoidance and Robot Footprint Model(避障与机器人足迹模型)

1.How Obstacle Avoidance works 1.1处罚条款 避障是作为整体轨迹优化的一部分来实现的。显然&#xff0c;优化涉及到找到指定成本函数&#xff08;目标函数&#xff09;的最小成本解&#xff08;轨迹&#xff09;。简单地说&#xff1a;如果一个计划的&#xff08;未来&…

Jmeter测试关联接口

Jmeter用于接口测试时&#xff0c;后一个接口经常需要用到前一次接口返回的结果&#xff0c;本文主要介绍jmeter通过正则表达式提取器来实现接口关联的方式&#xff0c;可供参考。 一、实例场景&#xff1a; 有如下两个接口&#xff0c;通过正则表达式提取器&#xff0c;将第一…

【ROS 2 基础-常用工具】-6 Rviz基础使用

所有内容请查看&#xff1a;博客学习目录_Howe_xixi的博客-CSDN博客

整理uvc驱动相关函数的调用流程

目录 1、uvc_video.c初始化函数的调用关系 2、uvc_queue.c3、uvc_v4l2.c4、v4l2-core5、数据传输1、分配一个gadget请求2、请求一个queue 1、uvc_video.c // uvc_video.c uvc_video_encode_header uvc_video_encode_data uvc_video_encode_bulk uvc_video_encode_isoc uvcg_vi…

【算法|前缀和系列No.4】leetcode238. 除自身以外数组的乘积

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【leetcode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

如何使用 MiniGPT-v2

MiniGPT-v2 是一个基于视觉语言模型&#xff08;LLM&#xff09;的多任务学习系统。它可以用于各种视觉语言任务&#xff0c;包括图像描述、图像识别、图像-文本对话等。 本文将介绍如何使用 MiniGPT-v2。 MiniGPT-v2 提供了一个简单的在线演示&#xff0c;可以用于测试模型。…