面向数据库场景的大模型交互微调数据集
关键要点
- 研究表明,面向数据库场景的大模型交互微调数据集通常包括数据库模式、自然语言查询和对应的SQL查询。
- 证据倾向于认为,数据集应以JSON格式组织,覆盖多种查询类型,并确保高质量和多样性。
- 对于自定义数据库,建议分析模式、收集查询、标注SQL,并参考现有数据集如synthetic_tex_to_sql或sql-create-context。
直接回答
在设计面向数据库场景的大模型交互微调数据集结构时,数据集通常包括以下几个部分:
数据集结构
- 数据库模式:提供表结构、列名和关系,例如以SQL的CREATE TABLE语句形式。
- 自然语言查询:用户的问题,如“纽约的所有客户姓名是什么?”。
- SQL查询:对应的SQL语句,如“SELECT name FROM customers WHERE city = ‘New York’;”。
数据集通常以JSON格式组织,例如:
{"instruction": "Given the following database schema:\nCREATE TABLE customers (customer_key INT, name VARCHAR, city VARCHAR);\nAnswer the following question:","input": "What are the names of all customers in New York?","output": "SELECT name FROM customers WHERE city = 'New York';"
}
或者:
{"question": "What are the names of all customers in New York?","context": "CREATE TABLE customers (customer_key INT, name VARCHAR, city VARCHAR);","answer": "SELECT name FROM customers WHERE city = 'New York';"
}
设计建议
- 确保数据集覆盖SELECT、JOIN、聚合等各种查询类型。
- 对于自定义数据库,建议从现有数据集(如Improving Text-to-SQL with a Fine-Tuned 7B LLM for DB Interactions中提到的synthetic_tex_to_sql,100k样本)开始,并根据需要扩展。
- 使用高效微调方法如QLoRA,适合7B或更大参数的模型。
一个意外的细节是,数据集可以包括样本数据或使用合成数据生成技术来增强多样性,这可能帮助模型更好地适应复杂查询。
详细报告
在设计面向数据库场景的大模型交互微调数据集结构时,特别是针对文本到SQL(text-to-SQL)任务,目标是使模型能够根据给定的数据库模式理解自然语言查询并生成准确的SQL查询。以下是详细的分析和建议,涵盖数据集的组成、特性、设计考虑和相关资源。
数据集结构的组成
微调数据集的核心包括以下几个关键部分:
-
数据库模式(Schema):
- 数据库模式提供生成SQL查询的必要上下文,包括表名、列名、数据类型、主键、外键和表间关系。
- 例如,一个客户管理数据库可能包括“Customer”表,列如“customer_key”、“name”、“city”等,模式信息可能如下:
- 表:Customer
- 列:customer_key (INT, PRIMARY KEY), name (VARCHAR), city (VARCHAR)
- 模式信息可以作为数据集的一部分直接包含,或作为输入的额外上下文提供,通常以SQL的CREATE TABLE语句形式,例如:
CREATE TABLE customers (customer_key INT, name VARCHAR, city VARCHAR);
- 也可以以JSON格式提供,例如:
{"tables": [{"name": "customers","columns": [{"name": "customer_key", "type": "INT"},{"name": "name", "type": "VARCHAR"},{"name": "city", "type": "VARCHAR"}]}] }
-
自然语言查询(NLQ):
- 这是用户可能提出的问题或命令,用自然语言表达。例如,“纽约的所有客户姓名是什么?”或“统计每个城市的客户数量”。
- 为了确保模型的泛化能力,NLQ应涵盖各种查询类型,包括检索(SELECT)、聚合(COUNT、SUM)、数据操作(INSERT、UPDATE、DELETE)等复杂场景。
- NLQ的多样性很重要,应包括不同措辞和复杂度的查询,以反映真实用户需求。
-
SQL查询:
- 每个NLQ对应一个准确的SQL查询,用于执行或回答自然语言请求。例如,对应“纽约的所有客户姓名是什么?”的SQL可能是“SELECT name FROM customers WHERE city = ‘New York’”。
- SQL查询必须与数据库模式兼容,且无语法错误,确保可执行性。
-
可选:样本数据:
- 虽然不是必需的,但包括数据库的样本数据(如几行记录)可以帮助模型更好地理解查询上下文,特别是在涉及复杂条件或聚合的场景。
数据集的特性
为了确保微调效果,数据集应具备以下特性:
-
多样性:
- 覆盖各种查询类型,从简单的SELECT语句到复杂的JOIN、子查询和聚合操作。
- 应包括不同领域的数据库场景,确保模型在多种上下文下的泛化能力。
- 例如,涵盖客户管理、库存管理、财务报表等不同应用场景。
-
质量:
- 每个NLQ-SQL对必须准确无误,避免歧义或错误。
- 数据集应经过清洗,确保NLQ清晰、SQL可执行,必要时可使用工具验证SQL的正确性。
-
大小:
- 研究表明,较大的数据集通常效果更好,但对于自定义数据库,初始数据集可能较小。
- 例如,synthetic_tex_to_sql数据集包含100k样本,sql-create-context有78.6k样本,均适合文本到SQL任务。
- 如果数据有限,可通过数据增强技术(如NLQ的同义改写)增加多样性。
数据集格式示例
以下是两种常见的数据集格式:
格式类型 | 示例结构 |
---|---|
格式1 | {“instruction”: “模式信息\n问题”, “input”: “NLQ”, “output”: “SQL”} |
格式2 | {“question”: “NLQ”, “context”: “模式信息”, “answer”: “SQL”} |
具体示例:
- 格式1:
{"instruction": "Given the following database schema:\nCREATE TABLE customers (customer_key INT, name VARCHAR, city VARCHAR);\nAnswer the following question:","input": "What are the names of all customers in New York?","output": "SELECT name FROM customers WHERE city = 'New York';" }
- 格式2:
{"question": "What are the names of all customers in New York?","context": "CREATE TABLE customers (customer_key INT, name VARCHAR, city VARCHAR);","answer": "SELECT name FROM customers WHERE city = 'New York';" }
设计自定义数据库数据集的步骤
对于特定数据库的微调数据集,建议按以下步骤设计:
-
分析数据库:
- 理解目标数据库的模式,包括表结构、关系和常见查询模式。
- 识别用户可能提出的查询类型,例如客户信息检索、库存统计、销售分析等。
-
收集或生成NLQ:
- 从真实用户日志中收集NLQ,或使用生成工具(如基于现有数据集的扩展)创建合成查询。
- 确保NLQ覆盖简单到复杂的各种场景,并考虑不同措辞。
-
标注SQL查询:
- 为每个NLQ手动或半自动生成对应的SQL查询,确保与数据库模式兼容。
- 可使用现有工具辅助生成,并由专家验证准确性。
-
包含模式信息:
- 确保数据集包括或引用数据库模式,例如以JSON格式提供表和列的定义。
- 模式信息可以作为每个数据点的附加字段,或作为单独的模式文件。
-
格式化以适配微调:
- 将数据集组织为适合微调的格式,例如JSON或CSV。
- 参考上述格式示例,确保与微调工具(如Hugging Face Transformers)兼容。
微调技术和评估
-
微调方法:
- 可以使用高效的微调技术如QLoRA(量化低秩适配),特别适合7B或更大参数的模型,减少计算资源需求。
- 这些方法允许在较小数据集上取得良好效果,尤其适合自定义数据库场景。
-
模型评估:
- 在微调过程中,使用验证数据集评估模型性能,常用指标包括:
- 精确匹配准确率(Exact Match Accuracy):生成的SQL是否完全匹配目标SQL。
- 执行准确率(Execution Accuracy):生成的SQL是否产生正确的结果。
- 根据性能调整数据集或微调参数,确保模型泛化能力。
- 在微调过程中,使用验证数据集评估模型性能,常用指标包括:
相关资源和示例
以下是现有数据集的示例,可作为参考:
数据集名称 | 样本数量 | 描述 | 访问链接 |
---|---|---|---|
synthetic_tex_to_sql | 100k | 合成文本到SQL样本,覆盖多种领域,约23M tokens | Hugging Face |
sql-create-context | 78.6k | WikiSQL和Spider数据集的清洗和增强版本 | Hugging Face |
这些数据集提供NLQ-SQL对和模式信息,适合文本到SQL任务的微调。
实际建议
- 如果从头开始,建议参考现有数据集(如synthetic_tex_to_sql或sql-create-context)结构,结合自定义数据库需求调整。
- 对于数据有限的情况,可使用数据增强技术,如NLQ的同义改写或生成更多合成查询。
- 利用Hugging Face平台探索和下载相关数据集,加速设计过程。
额外细节
一个值得注意的细节是,数据集可以包括样本数据或使用合成数据生成技术(如使用GPT-4生成),这可能帮助模型更好地适应复杂查询场景。例如,Generating Synthetic Text2SQL Instruction Dataset to Fine-tune Code LLMs中描述了使用GPT-4生成“业务问题”-“SQL查询”对的方法。
关键引文
- Improving Text-to-SQL with a Fine-Tuned 7B LLM for DB Interactions
- Enhancing Text-to-SQL with a Fine-Tuned 7B LLM for Database Interactions
- 10 Datasets for Fine-Tuning Large Language Models Detailed List
- GitHub - Zjh-819/LLMDataHub: A quick guide (especially) for trending instruction finetuning datasets
- SQL Generation in Text2SQL with TinyLlama’s LLM Fine-tuning
- Easily Finetune Llama 2 for Your Text-to-SQL Applications — LlamaIndex
- How to Fine-Tune LLMs on Custom Datasets | JFrog ML
- Fine-Tuning the LLM Mistral-7b for Text-to-SQL with SQL-Create-Context Dataset | The Deep Hub
- GitHub - mlabonne/llm-datasets: Curated list of datasets and tools for post-training.
- Generating Synthetic Text2SQL Instruction Dataset to Fine-tune Code LLMs
相关文章:
面向数据库场景的大模型交互微调数据集
关键要点 研究表明,面向数据库场景的大模型交互微调数据集通常包括数据库模式、自然语言查询和对应的SQL查询。证据倾向于认为,数据集应以JSON格式组织,覆盖多种查询类型,并确保高质量和多样性。对于自定义数据库,建议…...
解锁ChatGPT-4o文生图潜力:精选提示词收集整理更新中
示例一:按元素和描述要求生成图片 示例二:“吉卜力”风格 示例三:3D Q版风格 示例四:生成指定布局和主题图片 具体的提示词参考,陆续更新中:https://blog.luler.top/d/25...
WHAT - React 进一步学习推荐
书籍 adevnadia 的《Advanced React》TejasKumar_ 的《Fluent React》addyosmani 和 djirdehh 的《Building Large Scale Web Apps》 面试准备 reactjs-interview-questions 文章:最佳实践 如果你想了解最佳实践并学习技巧,请务必关注以下专家&…...
有关串口的知识点
轻微了解 一般都是 前这俩01 Ren1才能接受 开局T1 R1要给0 所以就是0x50的起手 终端服务是接受的 ———————————————————————————— 进入实际引用 使用的时候1 初始化 2要给个500ms的延时函数即可...
无线插卡话机如何接入呼叫中心系统?
一、接入原理与技术架构 无线插卡话机通过内置SIM卡模块(支持GSM/CDMA/4G/5G等网络制式),将移动网络信号转化为语音通信信号,再通过SIP协议或专用网关与呼叫中心系统对接。其核心流程包括: 1、网络信号…...
prometheus有几种数据类型
Prometheus 数据类型主要有以下四种: Counter(计数器): 单调递增的数值,表示某个事件发生的次数。计数器的值只会增加,除非被重置为0(例如在系统重启时)。示例:HTTP 请求…...
C++设计模式+异常处理
#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> #include <stdexcept> // 包含异常类using namespace std;// 该作业要求各位写一…...
字符串替换 (模拟)神奇数 (数学)DNA序列 (固定长度的滑动窗口)
⭐️个人主页:小羊 ⭐️所属专栏:每日两三题 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 字符串替换 (模拟)神奇数 (数学)DNA序列 (固定长度的滑动窗口&am…...
echarts地图详解
获取地图坐标json数据 <template><div id"china-map" style"width:500px;height:500px"></div> </template> <script>import * as echarts from echarts;// 坐标jsonimport chinaJson from "/assets/china.json" …...
Redis 哨兵模式:告别手动故障转移!
目录 前言一、 Redis哨兵模式是啥?🤔二、 为什么需要哨兵模式?🤷♀️三、 哨兵模式的原理是什么?🤝1. 监控(Monitoring)2. 信息共享与客观下线判断3. 哨兵领导者选举4. 故障转移5.…...
地理数据输出
为了便于数据共享和交换,可以将地理数据库中的要素数据输出为Shapefiles或者Coverage,将相应的属性表输出为Info或者dBase格式的数据文件。 1.输出为 Shapefile (1)在AreCatalog目录树或者内容栏中,右键点击需要输出的地理要素类,…...
springboot + security + redis + jwt 实现验证登录上
前言: 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往…...
SomeIP通讯机制
在SOME/IP协议中,通讯方式主要围绕服务的交互模式进行的设计,核心机制包括Event(时间)、Method(方法)以及其变种Fire-and-Forget(FF)。以下是SOME/IP中所有通信方式的总结࿱…...
线代第三课:n阶行列式
引言 行标取自然排列 不同行不同列的3个元素相乘 列标取排列的所有可能 列标排列的逆序数的奇偶性决定符号,- n阶行列式 第一种:按行展开 (1) 行标取自然排列 (2) 列标取排列的所有可能 (PS:可以理解为随意取) (3) 从…...
人工智能在高中教育中的应用现状剖析与挑战应对
第一章:绪论 1.1 研究背景与意义 随着全球化的加速和科技的飞速发展,高中教育在培养未来社会所需人才方面的重要性日益凸显。高中阶段是学生知识体系构建和思维能力发展的关键时期,然而,当前高中教育面临着诸多挑战,…...
如何在powerbi使用自定义SQL
我们在刚使用到powerbi的时候发现当直接连接到数据库的时候我们只能使用数据库中已存在的表,我们没有办法使用自定义SQL来准备数据,这给我们的开发造成很大的困扰;我目前使用的是vertica数据库,首先我们需要在本地有vertica的驱动…...
边缘计算盒子是什么?
边缘计算盒子是一种小型的硬件设备,通常集成了处理器、存储器和网络接口等关键组件,具备一定的计算能力和存储资源,并能够连接到网络。它与传统的云计算不同,数据处理和分析直接在设备本地完成,而不是上传到云端&#…...
【C++面向对象】封装(上):探寻构造函数的幽微之境
每文一诗 💪🏼 我本将心向明月,奈何明月照沟渠 —— 元/高明《琵琶记》 译文:我本是以真诚的心来对待你,就像明月一样纯洁无瑕;然而,你却像沟渠里的污水一样,对这份心意无动于衷&a…...
物联网|无人自助台球厅源码|哪些框架支持多设备连接?
在无人自助台球厅的智能化管理中,物联网(IoT)技术是核心支撑。如何实现不同设备(如智能门锁、环境传感器、支付终端、灯光控制系统等)的高效连接与协同工作,是系统开发的关键挑战。本文将带大家探讨支持多设…...
单旋翼无人机(直升机)和四旋翼无人机优势对比
以下是无人机直升机(单旋翼无人机)与四旋翼无人机的优势对比分析,分场景阐述两者的核心差异: 一、无人机直升机(单旋翼无人机)的优势 1. 高能量效率,长续航 动力设计:单…...
微服务之间调用外键“翻译”的方法概述
写在前面的话:减少strean流操作,减少多层嵌套for循环。使用普通for循环和map的方式进行转换, 第一步查询数据 List<Student> findList studentDao.findList(findMap); 第二步准备遍历和赋值 if(CollectionUtil.isNotEmpty(findLis…...
Java学习——day25(多线程基础与线程创建方式)
文章目录 1. 多线程基础1.1 线程的概念1.2 线程的生命周期 2. 创建线程的方式2.1 继承 Thread 类2.2 实现 Runnable 接口 3. 实践:编写简单多线程程序4. 总结与思考 1. 多线程基础 1.1 线程的概念 线程 (Thread): 程序执行的最小单元,一个进…...
2025前端面试题
Vue 3 比 Vue 2 更快的原因 Vue 3 使用 JavaScript 的 Proxy 替代了 Vue 2 中的 Object.defineProperty 来实现响应式系统。Proxy 可以拦截对象的所有操作,无需像 Object.defineProperty 那样单独定义每个属性的 getter 和 setterVue 3 还引入了静态树提升…...
2025-04-09 吴恩达机器学习6——神经网络(1):介绍
文章目录 1 神经网络介绍1.1 起源与发展1.2 生物神经元 vs. 人工神经元1.3 学习建议 2 案例:T 恤预测2.1 基础概念2.2 需求预测示例2.3 多隐藏层神经网络2.4 神经网络的优势 3 案例:图像感知3.1 计算机视觉任务3.2 神经网络架构 1 神经网络介绍 1.1 起源…...
Win11新功能更新:中文语音控制、游戏体验提升、锁屏更多广告
近日,微软在Windows 11发布预览版(Insider Release Preview Channel)中公布了即将正式推送的一系列新功能。这些更新体现了微软“持续创新”策略——不再依赖传统大型版本更新,而是以更高频率为用户带来功能改进。这一波新功能覆盖…...
Cursor编程-从入门到精通__0409
早期的Github Copilot 最近更新了,支持Agent编程,字节跳动Trae使用(免费),但成熟程度不如Cursor,Cursor前50次免费 Copilot VS Cursor*** 1,Cursor VSCode 二次开发,IDE级别 2&…...
【Leetcode-Hot100】移动零
题目 解答 首先,使用的解题思路是:使用两个指针,分别指向数组的第一个0元素位置,以该元素位置1为起始点寻找接下来第一个非0元素位置。二者确定后,对其进行交换。随后继续寻找下一个0元素位置。重复上述操作。 但第一…...
【力扣hot100题】(079)划分字母区间
感觉智商又回来了(松气)。 方法大概是先建立哈希表遍历数组记录每一个字母位置的跨度,然后再遍历数组,每次遇到跨度大于目前长度的字母,就将目前长度延申跨度的长度,然后继续遍历,知道位置已经…...
更改CMD背景图片
1.下载microsoft powershell 总之,电脑里面要有microsoft powershell这个应用 如下所示 进入界面后, 依次点击命令提示符和外观。 进入后,修改背景图片 2. 查看最终效果 最终我们打开CMD界面, 然后查看。 最终结果大功告成...
如何利用AI工具进行抠图
软件介绍 AIArty Image Matting是一款AI抠图软件,为了方便大家使用,我已经将软件所需的模型下载好。 首先要进行软件安装并运行,之后将“model”压缩包解压,把解压后的文件复制粘贴到“C:\ProgramData\Aiarty\ImageMatting”文件…...
一个很好用的vue2在线签名组件
在前端开发的日常工作中,我们常常会遇到需要用户进行在线签名的需求,比如电子合同签署、表单确认等场景。最近,我在项目里使用了一款极为好用的 Vue2 在线签名组件,今天就来和大家分享一下使用心得。 效果图 上代码 在 views 下…...
软考高级-系统架构设计师 案例题-软件架构设计
文章目录 软件架构设计质量属性效用树,质量属性判断必背概念架构风格对比MVC架构J2EE四层结构面向服务架构SOA企业服务总线ESB历年真题【问题1】 (12分)【问题2】(13分) 参考答案历年真题【问题1】(12分)【…...
计算机网络笔记-分组交换网中的时延
一、分组交换网络中的四种时延类型 1. 排队时延 在队列中,当分组在链路上等着被传输时的时延为排队时延,一个分组的排队时延长度取决于该分组前方等待传输的分组数量,如果排队队列为空,且没有正在传输的分组那么该分组的排队时延…...
数据结构与算法-图论-复习2(差分约束,强连通分量,二分图,LCA,拓扑排序,欧拉路径和欧拉回路)
7. 差分约束 原理 差分约束系统是一种特殊的不等式组,形如 xi−xj≤c。可以将其转化为图论中的最短路或最长路问题。 最短路求最大值:当我们要找出满足所有不等式的最大解时,使用最短路算法。对于不等式 xi−xj≤c,可以…...
git强制更新本地分支
你的需求是希望 自动拉取所有远程分支,并且在分支间存在冲突时 自动覆盖本地内容(不保留差异)。以下是优化后的解决方案: 最终解决方案(全自动强制覆盖) git fetch --all && for branch in $(git …...
PH热榜 | 2025-04-09
1. EZsite AI 标语:构建能够秒级产生收入的人工智能应用。 介绍:EZsite AI 让任何人都能轻松创建专业的网站和应用,不需要编写代码。它自动保存您的数据库信息,内置的 AI 聊天机器人能帮助您捕获潜在客户,并且通过 A…...
进度管理__制订进度计划_资源平衡和资源平滑
本文讲解的资源平衡与资源平滑,是制订进度计划的工具与技术的第3项: 资源优化。 1. 资源平衡 资源平衡是为了在资源需求与资源供给之间取得平等, 根据资源制约因素对开始日期和完成日期进行调整的一种技术。 如果共享资源或关键资源只在特定…...
【力扣hot100题】(080)爬楼梯
让我们掌声恭迎动态规划的始祖—— 最基础的动态规划,原始方法是维护一个数组,每次记录到该阶梯的方案数量,每次的数量是到上一个阶梯的方案数量加上到上上一阶梯的方案数量,因为只有两种走法。 进阶可以优化空间复杂度…...
redis_exporter服务安装并启动
redis_exporter服务安装并启动 1、介绍2、下载redis_exporter3、解压缩文件4、启动redis_exporter服务 1、介绍 Redis Exporter 是 Prometheus 官方推荐的 Redis 监控数据导出工具,用于将 Redis 实例的性能指标暴露为 Prometheus 可抓取的格式。 2、下载redis_exp…...
Spring Security 的核心配置项详解,涵盖认证、授权、过滤器链、HTTP安全设置等关键配置,结合 Spring Boot 3.x 版本最佳实践
以下是 Spring Security 的核心配置项详解,涵盖认证、授权、过滤器链、HTTP安全设置等关键配置,结合 Spring Boot 3.x 版本最佳实践: 1. 核心注解与配置类 (1) 启动安全配置 // 启动Web安全配置(推荐方式) Configura…...
Spring Boot 3.x 下 Spring Security 的执行流程、核心类和原理详解,结合用户描述的关键点展开说明,并以表格总结
以下是 Spring Boot 3.x 下 Spring Security 的执行流程、核心类和原理详解,结合用户描述的关键点展开说明,并以表格总结: 1. Spring Security 核心原理 Spring Security 通过 Filter 链 实现安全控制,其核心流程如下:…...
[leetcode]判断质数
一.判断质数 1.1 什么是质数 质数(素数)就是只可以被自己和1整除的数叫做素数/质数 1.2判断方法 #include<bits/stdc.h> using namespace std; bool isPrime(int num) { if(num < 1) { return false;//a number less of …...
【结肠息肉AI论文集】Cross-level Feature Aggregation Network for Polyp Segmentation
标注:同样是一期结肠息肉论文写作评鉴 摘要 从结肠镜图像中准确分割息肉在结直肠癌的诊断和治疗中起着关键作用。尽管在息肉分割领域已经取得了一定的成效,但仍存在诸多挑战。息肉通常具有多种大小和形状,并且息肉与其周围区域之间没有明显…...
Redis缓存之预热、击穿、穿透、雪崩
面试切入点 缓存预热 什么是预热? mysql假如新增100条记录,一般默认以mysql为准作为底单数据,如何同步到redis(布隆过滤器),这100条合法数据?? 为什么需要预热? mysql有100条新记录࿰…...
C++字符串复习
C字符串复习 前言 为了保证复习高效,以下不包括很简单的内容,例如cin。 C类型字符、字符串 输入方法 **char c getchar()**输入单个字符 string类型字符串 输入方法 getline(cin, str) 整行输入 常用方法 s.substr(pos, len):截取字…...
centos7安装mysql5.7.44
一、下载 下载地址:https://downloads.mysql.com/archives/community/ 二、安装 1、解压 tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 2、创建mysql用户组和用户 # 创建mysql用户组 groupadd mysql# 创建用户并添加到mysql用户组中 useradd -r -g m…...
内存分配中的堆(Memory Heap)详解
在计算机科学中,"堆"这个术语确实容易让人混淆,因为它同时用于描述两种完全不同的概念:数据结构中的堆和内存管理中的堆。上次我们讨论了数据结构中的堆,今天我将详细解释内存分配中的堆(Memory Heap&#x…...
【大模型理论篇】关于生成式模型中联合分布概率学习必要性以及GPT是生成式模型的讨论
1. 背景 之前我们在《生成式模型与判别式模型对比(涉及VAE、CRF的数学原理详述)》以及《生成式模型算法原理深入浅出(涉及Stable Diffusion、生成对抗网络、高斯混合模型、隐马尔可夫模型、朴素贝叶斯等算法原理分析及生成式模型解释)》中,我…...
LeetCode738☞单调递增的数字
关联LeetCode题号738 本题特点 贪心,贪心在如果非单调递增,则想要保证数字整体最大,那低数位一定为9(所有数字中最大的) 本题思路 从后向前遍历,如果递增则 什么都不做如果非递增,增非递增位…...
本节课课堂总结
课堂总结: Spark运行架构: 运行架构: Spark 框架的核心是一个计算引擎,整体来说,它采用了标准 master-slave 的结构。 如下图所示,它展示了一个 Spark 执行时的基本结构。图形中的 Driver 表示 master&…...