LLMs基础学习(一)概念、模型分类、主流开源框架介绍以及模型的预训练任务
文章目录
- LLM基础学习(一)
- 一、大语言模型(LLMs)的简单介绍
- 定义与基本信息
- 核心特点
- 局限性
- 参考的模型
- 二、大语言模型(LLMs)名称后 “175B”“60B”“540B” 等数字的含义
- 数字代表模型参数数量
- 具体示例
- 参数数量的影响与局限
- 三、分析大语言模型(LLMs)的优点和缺点
- 优点
- 缺点
- 四、大语言模型(LLMs)的分类
- 按输入内容分类
- 按预训练任务分类
- 按模型规模分类
- 五、主流 LLMs 开源模型体系对应的架构
- Encoder-Decoder
- Encoder(编码器)与 Decoder(解码器)区别
- 简易图示(以文本处理为例):
- Causal Decoder(因果解码器)
- Prefix Decoder(前缀解码器)
- 三种架构的核心区别
- 六、预训练任务
- 三类常见预训练任务
- 训练目标
- 语言建模(Language Modeling, LM)
- 去噪自编码(Denosing Autoencoding, DAE)
- 总结对比
LLM基础学习(一)
原视频链接
一、大语言模型(LLMs)的简单介绍
定义与基本信息
大语言模型是针对语言设计的大型模型,通常以 “亿级以上参数” 为特征(尽管该标准不绝对,如今已出现万亿参数模型,如 Megatron-Turing LM MoE 1.3B)。
核心特点
- 大规模参数:参数数量庞大(如 GPT-3 的 1750 亿、PaLM 的 5400 亿),参数越多,模型对语言的理解、文本处理及生成流畅内容的能力越强。
- 多任务处理:经训练后,LLMs 能在文本摘要、情感分析、机器翻译等多种语言任务中表现优异,因其从海量数据中学习到了语言模式与规律。
- 上下文理解:处理长文本时,可保持内容的一致性与逻辑性,尤其擅长对话和内容创作,能 “记忆” 对话历史,理解上下文关联。
- 自监督学习:主要依赖自监督学习,利用未标注数据,通过预测下一个词、填空补全、匹配句子等方式学习语言结构。
- 通用性与扩展性:可迁移至多种任务和领域,通过少量微调,即可在医疗文本分析、法律文件摘要等专门任务中发挥作用。
局限性
尽管能力突出,LLMs 仍存在生成错误信息(“幻觉”)、隐含偏见,以及训练需高计算资源等问题。
参考的模型
BLOOM、gpt-4o、百度文心一言、阿里通义千问、讯飞星火、商汤 SenseChat 等)
二、大语言模型(LLMs)名称后 “175B”“60B”“540B” 等数字的含义
数字代表模型参数数量
这些数字表示大语言模型的参数数量,单位 “B” 是 “billion”(十亿)的缩写。参数是模型训练中学习的权重系数,直接影响模型复杂度与计算能力。
具体示例
- 175B:指模型包含 1750 亿个参数,如 OpenAI 的 GPT-3。
- 60B:代表 600 亿参数,例如 Meta(原 Facebook)的 LLM 版本之一。
- 540B:表示 5400 亿参数,典型如 Google 的 Pathways Language Model(PaLM)较大版本。
参数数量的影响与局限
- 优势:参数越多,模型学习和捕捉语言模式、语义信息的能力越强,处理复杂任务或生成高质量文本的性能更优。
- 局限:参数数量不直接等同于效果,还依赖模型优化、数据质量、训练方法等。例如,过多参数可能增加计算资源消耗,且若训练数据或方法不足,模型效果未必提升。
三、分析大语言模型(LLMs)的优点和缺点
优点
- 语言理解与生成能力强:
基于海量文本数据训练,对自然语言的理解和生成表现优异,能创作连贯文章、回答问题、模拟对话,广泛用于聊天交互、写作辅助等场景。 - 跨领域知识广泛:
在医学、法律、工程等多领域提供知识支持。因训练数据覆盖海量内容,积累了跨领域知识,用户可咨询专业或非专业问题。 - 支持多语言:
具备处理多种语言的能力,如 GPT-3、GPT-4 支持英语、中文、法语等,在跨国服务或多语言客户场景中实用性高。 - 快速部署和适应性:
通过微调预训练模型,可适配不同任务需求。例如针对法律、医疗等领域微调,使其适用于法律助理、医疗咨询等具体场景。
缺点
- 缺乏事实准确性:
回答可能出现 “看似合理但不准确” 的信息,因模型基于模式匹配和概率分布生成内容,并非真正理解事实,且知识更新易滞后。 - 计算资源消耗大:
训练和运行需大量计算资源,如 GPT-3 训练耗费高额电力和硬件资源,实际应用中成本高,推理速度也可能受硬件限制。 - 可能产生偏见:
若训练数据含性别、种族、地域等偏见,模型输出会反映这些偏见,影响其公正性和适用性。 - 隐私安全风险:
训练数据可能包含敏感个人信息,若生成内容不慎暴露相关信息,会引发隐私泄露问题。
大模型(LMs)的分类方式,具体内容如下:
四、大语言模型(LLMs)的分类
按输入内容分类
-
语言大模型(NLP)
- 定义与特点:聚焦自然语言处理(NLP)领域,通过大规模语料库训练,学习自然语言的语法、语义、语境规则,用于文本处理与语言理解。
- 典型示例:GPT 系列(OpenAI)、Bard(Google)、百度文心一言、阿里云 Qwen 等。
-
视觉大模型(CV)
- 定义与特点:应用于计算机视觉(CV)领域,基于大规模图像数据训练,实现图像处理与分析,涵盖图像分类、目标检测、图像分割、姿态估计、人脸识别等任务。
- 典型示例:Google 的 VIT 系列、百度文心 UFO、华为盘古 CV、商汤 - 书生 INTERN 等。
-
多模态大模型
- 定义与特点:处理文本、图像、音频等多种类型数据,融合 NLP 和 CV 能力,综合理解多模态信息,应对复杂数据场景。
- 典型示例:OpenAI 的 DALL-E(图像生成)、midjourney(图文交互生成)等。
按预训练任务分类
-
自回归语言模型
- 原理与应用:通过前文内容预测下一个词,擅长生成任务,如 GPT 系列模型,常用于文本生成、对话模拟等场景。
-
自编码语言模型
- 原理与应用:通过掩码语言建模(masked language modeling)预测被遮挡的词,侧重语言理解与分类任务,典型如 BERT,用于文本分类、情感分析等。
-
序列到序列语言模型
- 原理与应用:将一个序列转换为另一个序列,可完成理解与生成任务,在机器翻译、文本生成等领域广泛应用,如 T5、BART 等模型。
按模型规模分类
- 小规模模型
- 定义与参数范围:参数数量通常在数千万到几亿之间。
- 典型示例:如 BERT Base、GPT-2 Small 等。
- 适用场景:适合资源有限的设备或边缘计算场景。因参数量较少,对计算资源要求较低,可在硬件条件有限的环境中运行,满足基础任务需求。
- 中等规模模型
- 定义与参数范围:参数数量一般在几亿到几十亿之间。
- 典型示例:如 BERT Large、GPT-2 Medium 等。
- 特点:平衡性能和计算开销,既具备一定的复杂任务处理能力,又不会过度消耗计算资源,适用于对性能有一定要求但需控制成本的场景。
- 大规模模型
- 定义与参数范围:参数数量可到达百亿到上万亿之间。
- 典型示例:如 GPT-3、PaLM、LLaMA 等。
- 特点:具备更强的复杂任务处理能力(如复杂推理、高难度生成任务),但对计算资源要求极高,常用于对性能要求严苛的场景(如前沿科研、工业级复杂应用)。
五、主流 LLMs 开源模型体系对应的架构
在自然语言处理的 预训练 + 微调范式 中,形成了三类主流架构:
- Encoder-only(编码器架构):以 BERT 为代表,仅使用编码器处理文本,擅长文本理解任务(如文本分类、语义匹配),通过掩码语言模型(MLM)学习双向语义信息。
- Decoder-only(解码器架构):以 GPT 为代表,仅使用解码器,采用自回归方式(根据前文预测下一个词),适合生成任务(如文本生成、对话),是当前生成式大语言模型的主流架构。
- Encoder-Decoder(编码器 - 解码器架构):以 T5 为代表,结合编码器和解码器,编码器处理输入文本,解码器生成输出,适用于序列到序列任务(如机器翻译、问答系统),兼顾理解与生成能力。

图片通过可视化表格对比了 Causal Decoder、Prefix Decoder、Encoder-Decoder:
- Causal Decoder:仅解码器,按顺序处理,生成依赖前文。
- Prefix Decoder:解码器部分支持前置信息(Prefix),生成时结合前缀与实时内容。
- Encoder-Decoder:包含独立的编码器和解码器,编码器处理输入,解码器基于编码器输出生成,适合双向信息交互的任务(如翻译)。
Encoder-Decoder

- 定义:Encoder-Decoder 是自然语言处理领域的经典模型架构,广泛应用于机器翻译等序列到序列任务。原始的 Transformer 模型即采用这一架构,通过组合两个分别担任编码器(Encoder)和解码器(Decoder)的 Transformer 模块实现功能。
- 应用场景:适用于需要同时处理输入理解与输出生成的任务,如机器翻译、文本摘要、问答系统等。
- 编码器(Encoder):采用双向自注意力机制,对输入信息进行编码处理,捕捉输入文本的全局语义信息。
- 解码器(Decoder):使用交叉注意力(结合编码器输出与自身输入)和掩码自注意力机制,通过自回归方式(逐步生成下一个词)输出目标序列(如翻译后的文本)。
- 基于 Encoder-Decoder 设计的预训练语言模型,在 自然语言理解与生成任务 中表现优异。但目前仅有少数大语言模型(如 FLAN-T5)基于该架构构建,可能因训练复杂度、生成效率等因素,未成为主流大语言模型的首选架构。
Encoder(编码器)与 Decoder(解码器)区别
| 维度 | Encoder(编码器) | Decoder(解码器) |
|---|---|---|
| 核心功能 | 编码:将输入(文本 / 图像等)转为模型可处理的特征表示。 | 解码:将编码后的特征还原为目标输出(如文本生成)。 |
| 典型应用 | 文本分类(提取文本特征)、图像压缩(编码图像数据)。 | 机器翻译(生成目标语言)、文本生成(输出完整句子)。 |
| 工作逻辑 | 分析输入,提取关键信息,关注 “理解”。 | 基于编码信息,逐步生成结果,关注 “输出”。 |
简易图示(以文本处理为例):
输入文本 → [Encoder] → 编码特征 → [Decoder] → 生成目标文本
(如“我爱自然语言”) (语义向量) (如“I love NLP”)
Causal Decoder(因果解码器)
- 定义:Causal Decoder 是因果语言模型(Causal LM)的核心架构,当前主流的大语言模型(如 GPT 系列、LLaMA 等)均采用该结构。
- 典型代表:最具代表性的是 OpenAI 的 GPT 系列模型。随着 GPT-3 的成功,因果解码器被广泛应用于 BLOOM、LLaMA(Meta)等大语言模型中。
- 单向注意力掩码 :
- Causal Decoder 使用单向注意力掩码,确保每个输入的 token(文本单元)只能关注过去的 token 和自身,无法看到后续内容。例如,在处理文本 “A Survey of” 时,“Survey” 能看到前面的 “A”,但看不到后面的 “of”。
- 其序列掩码矩阵是典型的下三角矩阵(图示中灰色单元表示对应 token 间无法相互关注),以此实现自回归生成(按顺序依前文生成后续内容)。
- 输入输出处理:输入和输出的 token 均通过 Decoder 以相同方式处理,遵循 “基于前文预测下一个词” 的逻辑,适合文本生成任务。

示意图直观展示了 Causal Decoder 的掩码机制:
- 纵向和横向的 token 排列中,灰色单元表示对应位置的 token 无法相互关注,仅能看到左侧(过去)的内容,体现了单向注意力的约束,与下三角掩码矩阵的原理一致。
- 该架构因适配自然语言的顺序生成特性,成为生成式大语言模型的主流选择,尤其擅长文本续写、对话生成等任务。
Prefix Decoder(前缀解码器)
- 非因果解码器属性:Prefix Decoder 又称非因果解码器架构,是对因果解码器掩码机制的改进。与因果解码器一样,仅使用解码器组件,但在处理逻辑上有显著差异。
- 区别于 Encoder-Decoder:不划分独立的编码器和解码器,而是在单一解码器流程中完成编码和解码,简化了架构设计。
- 输入输出处理:
- 输入(前缀部分):采用双向注意力机制编码,允许模型在处理输入前缀时关注前后文信息,充分捕捉语义。
- 输出部分:利用单向掩码注意力,仅基于当前词元及前面的词元进行自回归预测,确保生成逻辑的连贯性。
- 掩码机制调整:通过修改掩码规则,平衡了输入信息的全面理解与输出生成的顺序性,既参考了 Encoder-Decoder 的双向编码优势,又保留了解码器生成的特性。

图示通过可视化矩阵展示了 Prefix Decoder 的注意力机制:输入前缀部分(如 “A Survey of”)允许双向关注(蓝色单元相互可见),而输出生成部分遵循单向掩码规则(绿色、黄色单元仅能关注前文),直观体现了其架构特点。
当前基于前缀解码器架构的大语言模型包括:
- GLM-130B:由中国团队开发,结合前缀解码特性,优化了长文本处理与生成能力。
- U-PaLM(Google):谷歌推出的模型,借助前缀解码器架构实现高效的文本生成与理解任务。
三种架构的核心区别
重点体现在 注意力掩码(attention mask)机制 及对应特性上,具体如下:
- Encoder-Decoder
- 注意力特点:输入采用双向注意力,对问题的编码理解更充分。
- 适用场景:在偏理解的 NLP 任务(如机器翻译、文本摘要)中效果好。
- 局限性:长文本生成任务效果差,训练效率较低。
- Causal Decoder(代表:GPT 系列)
- 注意力规则:严格遵循自回归语言模型逻辑,仅后面的 token 能看到前面的 token,输出与预训练的注意力规则完全一致。
- 优势:
- 训练效率高,零样本(zero-shot)能力强,具备涌现能力(处理复杂任务时展现出预训练阶段未明确学习的能力)。
- 擅长文本生成任务(如对话、文章续写)。
- Prefix Decoder(代表:GLM)
- 注意力特点:prefix(前缀)部分的 token 可互相看见,打破单向注意力限制。
- 适用场景:在文本生成任务中,结合前缀信息实现更灵活的生成效果,平衡输入理解与输出生成。
总结来看,三者的核心差异源于注意力掩码机制的不同,进而影响模型在理解、生成任务上的表现及训练效率。
六、预训练任务
在大规模预训练中,通过设计自监督预训练任务,让模型从海量无标注数据中学习语义知识与世界知识,为后续下游任务奠定基础。
三类常见预训练任务
- 语言建模(Language Modeling, LM)
- 核心逻辑:基于上下文预测单词,分为自回归(如 GPT、LLaMA,按顺序预测下一词)和自编码(如 BERT,通过掩码预测被遮词)。
- 图示示例:输入 “今天的天气很不错。”,模型学习预测后续内容,聚焦文本生成的连贯性。
- 去噪自编码(Denosing Autoencoding, DAE)
- 核心逻辑:修复被破坏的输入(如添加掩码、删除或替换部分内容),还原原始文本,侧重理解与恢复能力。
- 图示示例:输入 “今 天 的 [MASK] [MASK] 不 错。”,模型输出 “天气很不错”,典型模型如 T5、GLM。
- 混合去噪器(Mixture-of-Denosers, MoD)
- 融合多种去噪方式(如同时使用掩码、删除等操作),提升模型对复杂数据的处理鲁棒性。

训练目标
通过这些预训练任务,模型学习语言结构、语义关联及世界知识,获得强大的泛化能力,以适配翻译、问答、文本生成等多样化下游任务。图片通过图示直观对比语言建模和去噪自编码的输入输出,展现不同任务的训练逻辑差异。
语言建模(Language Modeling, LM)
-
任务核心
- 以 “预测下一个词元” 为目标,广泛应用于基于解码器的大语言模型(如 GPT-3、PaLM)。模型通过学习文本序列的概率分布,根据前文内容预测后续词元。
-
形式化表达
-
给定词元序列 ( u = u 1 , … , u T ) (\mathbf{u} = u_1, \dots, u_T) (u=u1,…,uT) ,语言建模任务通过自回归方式,基于当前位置之前的词元序列 ( u < t ) (u_{<t}) (u<t) 预测目标词元 ( u t ) (u_t) (ut)。
-
优化的损失函数为:
( L LM ( u ) = ∑ t = 1 T log P ( u t ∣ u < t ) ) (\mathcal{L}_{\text{LM}}(\mathbf{u}) = \sum_{t=1}^T \log P(u_t | u_{<t})) (LLM(u)=∑t=1TlogP(ut∣u<t))- ( L LM ( u ) ) (\mathcal{L}_{\text{LM}}(\mathbf{u})) (LLM(u)):语言模型对句子的损失函数。
- ( P ( u t ∣ u < t ) ) (P(u_t | u_{<t})) (P(ut∣u<t)):已知前 ( t − 1 ) (t-1) (t−1) 个词元时,第 t 个词元出现的概率。
- 通过最大化对数概率总和,训练模型捕捉文本序列的语义依赖。
-
-
本质与扩展
- 本质是多任务学习,例如预测句子中 “好看” 时,模型学习情感分析的语义;预测 “一块糖” 时,学习数学算术相关语义。
- 不同解码器训练差异:
- Causal Decoder:在所有词元上计算损失(如 GPT 系列,每个位置都参与预测训练)。
- Prefix Decoder:仅在输出部分计算损失(如 GLM,区分输入前缀和输出生成的训练逻辑)。
去噪自编码(Denosing Autoencoding, DAE)
-
任务核心
- 输入文本经随机替换、删除等操作形成损坏版本 ( u ~ ) (\tilde{\mathbf{u}}) (u~),模型目标是根据损坏文本恢复原始词元片段 ( u ^ ) (\hat{\mathbf{u}}) (u^)。广泛应用于 BERT、T5 等模型。
-
形式化表达
-
目标函数: ( L DAE ( u ) = log P ( u ^ ∣ u ~ ) ) (\mathcal{L}_{\text{DAE}}(\mathbf{u}) = \log P(\hat{\mathbf{u}} | \tilde{\mathbf{u}})) (LDAE(u)=logP(u^∣u~))
- 模型需学习从损坏文本 ( u ~ ) (\tilde{\mathbf{u}}) (u~) 到原始文本 ( u ^ ) (\hat{\mathbf{u}}) (u^) 的映射关系。
-
-
优化策略与局限
- 需设定额外策略(如词元替换策略、替换片段长度、替换词元比例),这些策略直接影响模型训练效果。
- 虽应用广泛,但预训练大语言模型能力仍有限(相比语言建模任务),代表性模型如 FLAN-T5 尝试改进。
总结对比
| 任务类型 | 核心逻辑 | 典型模型 | 训练目标 |
|---|---|---|---|
| 语言建模(LM) | 基于前文预测下一词元 | GPT-3、PaLM | 捕捉序列依赖,优化生成连贯性 |
| 去噪自编码(DAE) | 修复损坏文本,恢复原始内容 | BERT、T5 | 学习文本鲁棒表示,理解语义结构 |
相关文章:
LLMs基础学习(一)概念、模型分类、主流开源框架介绍以及模型的预训练任务
文章目录 LLM基础学习(一)一、大语言模型(LLMs)的简单介绍定义与基本信息核心特点局限性参考的模型 二、大语言模型(LLMs)名称后 “175B”“60B”“540B” 等数字的含义数字代表模型参数数量具体示例参数数…...
【leetcode hot 100 24】两两交换链表中的节点
解法一:先判断链表是否为空,若为空则直接返回;否则用left和right指向第一个和第二个节点,当这两个节点非空时一直执行交换。其中先判断right.nextnull,说明链表为偶数且已经交换完break;再判断right.next.n…...
软件IIC和硬件IIC的主要区别,用标准库举例!
学习交流792125321,欢迎一起加入讨论! 在学习iic的时候,我们经常会遇到软件 IC和硬件 IC,它两到底有什么区别呢? 软件 IC(模拟 IC)和硬件 IC(外设 IC)是两种实现 IC 总线通信的方式…...
Codeforces Round 1006 Div3 A-E
A 题目描述 夏目章人(Natsume Akito)刚刚在一个新世界苏醒,便立即收到了他的第一个任务!系统为他提供了一个包含 n 个零的数组 a,以及两个整数 k 和 p。在每次操作中,章人需要选择两个整数 i 和 x&#x…...
4个 Vue 路由实现的过程
大家好,我是大澈!一个喜欢结交朋友、喜欢编程技术和科技前沿的老程序员👨🏻💻,关注我,科技未来或许我能帮到你! Vue 路由相信朋友们用的都很熟了,但是你知道 Vue 路由…...
git文件过大导致gitea仓库镜像推送失败问题解决(push failed: context deadline exceeded)
问题描述: 今天发现gitea仓库推送到某个镜像仓库的操作几个月前已经报错终止推送了,报错如下: 首先翻译报错提示可知是因为git仓库大小超过1G限制。检查本地.git文件,发现.git文件大小已达到1.13G。确定是.git文件过大导致&…...
简要分析NETLINK_ROUTE参数
NETLINK_ROUTE时Linux内核中Netlink协议族的一个子类型,专用于用户空间与内核网络子系统之间的通信,它是实现动态网络配置(如路由表、网络接口、地址管理)的核心机制,为现代网络管理工具(如iproute2&#x…...
Java中default关键字
1. 在 switch 语句中作为默认分支 在 switch 语句里,default 用于定义当所有 case 标签的值都无法匹配 switch 表达式的值时要执行的代码块。它并非强制要求,但使用它可以增强代码的健壮性,处理未预见的情况。 public class SwitchDefaultE…...
怎么利用DeepSeek进行PCB设计?
最近在琢磨利用Deepseek改善PCB的细节设计,毕竟立创EDA里面没有集成DS,因此,如何让DS能识别图片成了重中之重。所幸最近腾讯元宝里面集成了R1的满血版,这个版本可以上传图片,于是让DS识别图片就可能了。 在原理图设计…...
详细介绍 Jupyter nbconvert 工具及其用法:如何将 Notebook 转换为 Python 脚本
nbconvert 是 Jupyter 提供的一个非常强大的工具,允许用户将 Jupyter Notebook 文件(.ipynb)转换成多种格式,包括 Python 脚本(.py)、HTML、PDF、LaTeX 等。你可以通过命令行来运行 nbconvert,也…...
windows上传uniapp打包的ipa文件到app store构建版本
uniapp是一个跨平台的框架,使用windows电脑也可以开发ios软件,因为uniapp的打包是在云端实现的,本地电脑无需使用mac电脑即可完成打包。 但是打包后的ipa文件需要上架到app store的构建版本上,没有mac电脑,又如何上架…...
PySide(PyQT),QGraphicsItem的pos()和scenePos()区别
在QGraphicsItem中,pos()和scenePos()是两个重要的方法,用于描述图形项的位置,但它们的含义和用途有所不同。理解它们的区别对于正确操作和管理QGraphicsItem的位置至关重要。 1. pos()方法 • 定义:pos()返回的是QGraphicsItem在…...
idea 快捷键 Reformat code
Reformat code...
Spring Boot 项目中使用责任链模式实现复杂接口解耦和动态编排(带示例)
目录 责任链模式概述 解耦 动态编排 运用场景 代码示例 1. 定义请求和响应对象 2. 定义处理者接口和抽象处理者类 3. 实现具体的处理者类 4. 配置责任链 5. 控制器类调用责任链 代码解释 责任链模式概述 责任链模式是一种行为设计模式,它允许你将请求沿着处理者链…...
消防设施操作员考试备考:以技巧为翼,翱翔知识天空
消防设施操作员考试的备考过程中,掌握实用技巧能让学习事半功倍。以下为您介绍一系列备考技巧,助您在知识的天空中自由翱翔。 记忆技巧:化繁为简 消防知识众多,记忆难度较大。可以采用多种记忆方法,如口诀记忆法…...
qt之No executable specified
在Qt中遇到文件复制操作时出现“No executable specified”错误,通常与程序编译或运行环境配置问题相关,而非文件操作本身的问题。以下是可能的原因及解决方案: 项目配置文件损坏 现象: 在执行文件操作前,程序无法启动…...
物联网商业模式
物联网商业模式是一种战略规划,它融合了物联网技术来创造价值并获取收入。它与传统商业模式的不同之处在于,它利用互联设备来改善运营、提升客户体验以及优化服务项目。在当今由科技驱动的世界中,这种商业模式通过利用实时数据来提供创新服务…...
解决ElementPlus对话框el-dialog中关闭事件重复触发问题
问题背景 在使用ElementPlus的el-dialog组件时,发现点击取消按钮会触发两次关闭事件: 1. 第一次参数为PointerEvent(事件对象) 2. 第二次参数为undefined 需要确保点击取消按钮时仅触发一次有效关闭事件,并传递正确…...
【RabbitMQ】事务
事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制,因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的,…...
算法刷题--贪心算法
要点 其实也没啥要点,就是求局部最优解,完事了将局部最优解汇总、筛选、max\min之类的,获得全局最优解,每一次都选择最优的,这个就是贪心算法。 例题 分发饼干-中等 大概就是一堆小孩g,每个人都有一个胃口g[i]&…...
MVCC的理解(Multi-Version Concurrency Control,多版本并发控制)
1.事务特性(ACID) 原子性:事务要么全部成功,否则全部回滚 一致性:保证逻辑完整性(关联表删除) 隔离性:事务并发隔离(行锁,间隙锁) 持久性:已提交的事务永…...
CCF-CSP第24次认证第2题 --《序列查询新解》
4281. 序列查询新解 - AcWing题库 上一题“序列查询”中说道: A[A0,A1,A2,⋯,An]A[A0,A1,A2,⋯,An] 是一个由 n1n1 个 [0,N)[0,N) 范围内整数组成的序列,满足 0A0<A1<A2<⋯<An<N0A0<A1<A2<⋯<An<N。 基于序列 AA&#…...
Webpack 打包详细教程
Webpack 是一个现代 JavaScript 应用的静态模块打包工具,它可以处理 JavaScript、CSS、图片等资源,并优化它们以提高性能。以下是 Webpack 从基础到进阶的详细教程。 1. Webpack 基础概念 Webpack 的核心概念包括: Entry(入口&a…...
每日一题----------集合
数组: (1)长度开始必须指定,而且一但指定,不能修改。 (2)保存的必须为同一类型的元素。 (3)使用数组进行增加元素的代码--比较麻烦。 如果要添加数据则需要ÿ…...
滑动窗⼝(同向双指针)---最⼤连续1的个数III
题目链接 给定一个二进制数组 nums 和一个整数 k,假设最多可以翻转 k 个 0 ,则返回执行操作后 数组中连续 1 的最大个数 。 示例 1: 输入:nums [1,1,1,0,0,0,1,1,1,1,0], K 2 输出:6 解释:[1,1,1,0,0,…...
《几何原本》命题I.30
《几何原本》命题I.30 平行于同一直线的两条直线互相平行。 设 l 1 ∥ l 2 , l 1 ∥ l 3 l_1\parallel l_2,l_1\parallel l_3 l1∥l2,l1∥l3 则 ∠ 1 ∠ 2 , ∠ 1 ∠ 3 \angle 1\angle 2,\angle 1\angle 3 ∠1∠2,∠1∠3 则 ∠ 2 ∠ 3 \angle 2\angle 3 ∠2∠3…...
蓝桥杯 k倍区间
题目描述 给定一个长度为 NN 的数列,A1,A2,⋯ANA1,A2,⋯AN,如果其中一段连续的子序列 Ai,Ai1,⋯AjAi,Ai1,⋯Aj ( i≤ji≤j ) 之和是 KK 的倍数,我们就称这个区间 [i,j][i,j] 是 K 倍区间。 你能求出数列中总共有多少个 KK 倍区间…...
dify-SQL查询
第1节 DIFY 编排流程 1.1 步骤 1.开始:用户输入分析需求 2.LLM-SQL 专家:大模型根据用户输入需求生成 SQL 查询 3.SQL查询:执行查询并获取数据 4.结束:输出查询结果集 1.2 工作流 第2节 组件配置 2.1 开始 新建一个开始组件&am…...
【制作PPT的AI工具】
制作PPT的AI工具: 1. Gamma: 特点: 无需下载,支持网页、移动端及iPad使用。提供多种模板和主题,支持一键生成PPT大纲、排版和配图。优点: 操作简单,适合快速制作演示文稿。 2. Beautiful.ai&…...
贪心算法精解:用C++征服最优解问题
贪心算法精解:用C征服最优解问题 一、贪心算法的本质:当下最优即全局最优 贪心算法如同下棋高手,每一步都选择当前最优的走法。它的核心思想是:通过局部最优选择的叠加,最终得到全局最优解。这种算法在时间复杂度上往…...
