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

大语言模型从理论到实践(第二版)-学习笔记(绪论)

大语言模型的基本概念

1.理解语言是人工智能算法获取知识的前提

2.语言模型的目标就是对自然语言的概率分布建模

3.词汇表 V 上的语言模型,由函数 P(w1w2 ·· · wm) 表示,可以形式化地构建为词序列 w1w2 ·· · wm 的概率分布,表示词序列 w1w2 ·· · wm 作为一个句子出现的可能性的大小,参数量大,计算困难。

4.为了减小 P(w1w2 ·· · wm) 模型的参数空间,可以利用句子序列(通常是从左至右)的生成过
程将其进行分解,使用链式法则可以得到

5.但是,仅通过上述过程模型的参数空间依然没有减小,P(wm|w1w2 ·· · wm−1) 的参数空间依然是天文数字。为了解决上述问题,可以进一步假设任意单词 wi 出现的概率只与过去 n − 1 个词相关

虽然 n 元语言模型能缓解句子概率为零的问题,但语言是由人和时代创造的,具备无尽的可
能性,再庞大的训练数据也无法覆盖所有的 n-gram,而训练数据中的零频率并不代表零概率

平滑处理的基本思想是提高低概率事件,降低高概率事件使整体的概率分布趋于均匀。这类方法通常被称为统计语言模型(Statistical Language Models,SLM)。相关平滑算法细节可以参考《自然语言处理导论》的第 6 章。缺点:

(1)无法对长度超过 n 的上下文建模。
(2)依赖人工设计规则的平滑技术。
(3)当 n 增大时,数据的稀疏性随之增大,模型的参数量更是呈指数级增加,受数据稀疏问
题的影响,其参数难以被准确学习。
此外,n 元文法中单词的离散表示也忽略了单词之间的相似性。因此,基于分布式表示和神经
网络的语言模型逐渐成为研究热点

6.词的独热编码被映射为一个低维稠密的实数向量,称为词向量。估计词概率。相较于 n 元语言模型,神经网络方法可以在一定程度上避免数据稀疏问题,有些模型还可以摆脱对历史文本长度的限制,从而更好地对长距离依赖关系建模。这类方法通常被称为神经语言模型

大语言模型的发展历程

大语言模型的发展历程虽然只有不到 5 年,但是发展速度相当惊人,截至 2025 年 2 月,国内
外有超过百种大语言模型相继发布。特别是 2024 年 12 月 DeepSeek V3 和 2025 年 1 月 DeepSeek R1 模型的开源

大语言模型的发展可以粗略地分为如下三个阶段:基础模型阶段、能力探索阶段和突破发展阶段

1.基础模型阶段(2018-2021)

2017 年,Vaswani 等人提出了 Transformer[12]架构,在机器翻译任务上取得了突破性进展。2018 年,Google 和 OpenAI 分别提出了 BERT[1] 和GPT开启了预训练语言模型时代(模型的训练仅需要大规模无标注文本。语言模型也成了典型的自监督学习(Self-supervised Learning)任务。互联网的发展,使得大规模文本非常容易获取,因此训练超大规模的基于神经网络的语言模型成为可能)。BERT-Base 版本的参数量为 1.1 亿个,BERT-Large 版本的参数量为 3.4 亿个,GPT-1 的参数量为 1.17 亿个。这在当时,比其他深度神经网络的参数量,已经有了数量级上的提升。2019 年 OpenAI 发布了 GPT-2[11],其参数量达到 15 亿个。此后,Google也发布了参数规模为 110 亿个的 T5[19] 模型。2020 年,OpenAI 进一步将语言模型的参数量扩展到 1750 亿个,发布了 GPT-3[13]。此后,国内也相继推出了一系列的大语言模型,包括清华大学的ERNIE[20]、百度的 ERNIE[21]、华为的 PanGU-α[22] 等。

此阶段的研究主要集中在语言模型本身,对仅编码器(Encoder Only)、编码器-解码(Encoder-Decoder)、仅解码器(Decoder Only)等各种类型的模型结构都有相应的研究。模型大小与 BERT 类似,通常采用预训练微调范式(使用具体任务的标注数据在预训练语言模型上进行监督训练),针对不同下游任务进行微调。这些模型参数量大都在 10 亿个以上,由于微调的计算量很大,这类模型的影响力在当时相较 BERT 类模型有不小的差距。

2.能力探索阶段(2019 -2022 )

由于大语言模型很难针对特定任务进行微调,研究人员开始探索在不针对单一任务进行微调的情况下如何发挥大语言模型的能力。

2019 年,Radford等人在文献 [11] 中使用 GPT-2 模型研究了大语言模型在零样本情况下的任务处理能力。在此基础上,Brown 等人在 GPT-3[13] 模型上研究了通过语境学习进行少样本学习(few-shot learning)的方法,将不同任务的少量有标注的实例拼接到待分析的样本之前输入语言模型,语言模型根据实例理解任务并给出正确的结果。

利用了语言模型的“语境学习”(in-context learning)能力。模型不需要专门针对情感分析任务重新训练,只要通过前面的少量示例,就能“学会”任务的规则并应用到新样本上。

任务:情感分析(判断句子是积极还是消极)
假设我们要让模型判断一句话的情感是“积极”还是“消极”,但我们没有大量标注数据来训练模型。这时可以用少样本学习的方法。输入给模型的内容:
示例1:我今天很开心。 -> 积极
示例2:这场电影太无聊了。 -> 消极
待分析的样本:天气很好,我很享受。 -> ?解释:
我们先给了模型两个示例:
“我今天很开心。”标注为“积极”。
“这场电影太无聊了。”标注为“消极”。
然后把待分析的句子“天气很好,我很享受。”接在后面,让模型根据前面的示例自己推断。
模型会“看”到前面的模式(开心=积极,无聊=消极),然后判断新句子“天气很好,我很享受”应该是“积极”。输出:
模型可能会回答:积极

基于 GPT-3 的语境学习在 TriviaQA、WebQS、CoQA 等评测集合中都展示出了非常强的能力,在有些任务中甚至超过了此前的有监督方法。上述方法不需要修改语言模型的参数,模型在处理不同任务时无须花费大量计算资源进行模型微调。

仅依赖语言模型本身,其性能在很多任务上仍然很难达到有监督学习(Supervised Learning)的效果,因此研究人员提出了指令微调[23] 方案,将大量各类型任务统一为生成式自然语言理解框架,并构造训练数据进行微调。大语言模型能一次性学习数千种任务,并在未知任务上展现出很好的泛化能力。

指令微调的核心是把任务标准化(都变成“指令+生成”):

训练数据:

  • 任务1:翻译 -> “把‘Hello’翻译成中文” -> 输出“こんにちは”
  • “把这句话翻译成法语 -> I like cats” -> “J’aime les chats”
  • 任务2:情感分析 -> “判断‘我很开心’的情感” -> 输出“积极
  • 任务3:“回答问题->今天是星期几?” -> “今天是星期三”
  • 任务4:“写一段关于狗的描述” -> “狗是忠诚的动物…”

用大量多样化的数据训练模型,让它变成一个“全能选手”。这样不仅能处理已知任务,还能灵活应对新任务,比单纯依赖预训练模型强很多

2022 年,Ouyang 等人提出了使用“有监督微调 + 强化学习”的 InstructGPT[24] 方法,该方法使用少量有监督数据就可以使大语言模型服从人类指令。Nakano 等人则探索了结合搜索引擎的问题回答方法 WebGPT[25]。这些方法在直接利用大语言模型进行零样本和少样本学习的基础上,逐渐扩展为利用生成式框架针对大量任务进行有监督微调的方法,有效提升了模型的性能。

“有监督微调 + 强化学习”:InstructGPT 方法

有监督微调

  • 数据量不需要很大(比如几百到几千个示例),但质量要高。
  • 这一步让模型初步理解“指令 -> 回答”的模式。

强化学习

  • 模型尝试生成回答。
  • 奖励模型给这个回答打分(高分=好回答,低分=差回答)。
  • 模型根据分数调整自己,倾向于生成高分的回答。

3.突破发展阶段( 2022 年 11 月 ChatGPT 的发布为起点)

ChatGPT 通过一个简单的对话框,利用一个大语言模型就可以实现问题回答、文稿撰写、代码生成、数学解题等过去自然语言处理系统需要大量小模型定制开发才能分别实现的能力。它在开放领域问答、各类自然语言生成式任务及对话上下文理解上所展现出来的能力远超大多数人的想象。2023 年 3 月 GPT-4 发布,相较于ChatGPT,GPT-4 有非常明显的进步,并具备了多模态理解力。GPT-4 在多种基准考试测试上的得分高于 88% 的应试者,包括美国律师资格考试(Uniform Bar Exam)、法学院入学考试(LawSchool Admission Test)、学术能力评估(Scholastic Assessment Test,SAT)等。GPT-4o 是 OpenAI于 2024 年 5 月发布的多模态大模型,其中“o”代表“omni”即“全能”。它能接受文本、音频和图像组合输入并生成文本、音频和图像的任意组合输出,可处理 50 种语言,在 232 毫秒内对音频输入做出反应,性能较 GPT-4 有显著提升。2024 年 9 月 OpenAI 又推出的全新推理模型 GPT-o1,在复杂推理任务上表现卓越,能通过内部思维链模拟人类思考,在数学、科学等领域超越人类专家及 GPT-4o。国内外各大公司和研究机构相继发布了此类系统,包括复旦大学的 MOSS、阿里巴巴的 Qwen、深度求索的 DeepSeek、Google 的 Gemini、XAI 的 Grok、科大讯飞的星火大模型、智谱的 ChatGLM 等。

截至 2025 年 2 月典型开源和闭源大语言模型的基本情况

模型类型中,基础模型是指仅经过预训练的模型

对话模型是指在预训练模型基础上经过有监督微调和强化学习训练的模型,具备对话和完成任务的能力

推理模型是指专注于逻辑推理增强的大语言模型

大语言模型的构建流程

OpenAI 使用的大语言模型构建流程如图1.3 所示,主要包含四个阶段:预训练、有监督微调、奖励建模和强化学习。这四个阶段都需要不同规模的数据集及不同类型的算法,会产出不同类型的模型,所需要的资源也有非常大的差别。

预训练(Pretraining)阶段

需要利用海量的训练数据(数据来自互联网网页、维基百科、书籍、
GitHub、论文、问答网站等),基础模型对长文本进行建模,使模型具有语言生成能力,根据输入的提示词,模型可以生成文本补全句子。有一部分研究人员认为,语言模型建模过程中隐含地构建了包括事实性知识(Factual Knowledge)和常识性知识(Commonsense)在内的世界知识(World Knowledge)由于训练过程需要消耗大量的计算资源,并很容易受到超参数影响,因此,如何提升分布式计算效率并使模型训练稳定收敛是本阶段的研究重点

有监督微调(Supervised Fine Tuning,SFT)

也称为指令微调,利用少量高质量数据集,通过有监督训练使模型具备问题回答、翻译、写作等能力。有监督微调的数据包含用户输入的提示词和对应的理想输出结果。用户输入包括问题、闲聊对话、任务指令等多种形式和任务。

经过训练的 SFT 模型具备初步的指令理解能力和上下文理解能力,能够完成开放领域问答、阅读理解、翻译、生成代码等任务,也具备了一定的对未知任务的泛化能力。由于有监督微调阶段所需的训练数据量较少,SFT 模型的训练过程并不需要消耗大量的计算资源

SFT 模型具备了初步的任务完成能力,可以开放给用户使用,很多类 ChatGPT 的模型都属于该类
型,包括 Alpaca[35]、Vicuna[41]、MOSS、ChatGLM-6B 等。很多这类模型的效果非常好,甚至在一些评测中达到了 ChatGPT 的 90% 的效果[35, 41]。当前的一些研究表明,有监督微调阶段的数据选择对 SFT 模型效果有非常大的影响[42],因此构造少量并且高质量的训练数据是本阶段的研究重点。

奖励建模(Reward Modeling)阶段

目标是构建一个文本质量对比模型。对于同一个提示词,SFT 模型对给出的多个不同输出结果的质量进行排序。奖励模型可以通过二分类模型,对输入的两个结果之间的优劣进行判断。奖励模型与基础模型和 SFT 模型不同,奖励模型本身并不能单独提供给用户使用。奖励模型的训练通常和 SFT 模型一样,使用数十块 GPU,通过数天时间完成训练。

由于奖励模型的准确率对强化学习阶段的效果有至关重要的影响,因此通常需要大规模的训
练数据对该模型进行训练。Andrej Karpathy 在报告中指出,该部分需要百万量级的对比数据标注,而且其中很多标注需要很长时间才能完成。图1.4 给出了 InstructGPT 系统中奖励模型训练样本标注示例[24]。可以看到,示例中文本表达都较为流畅,标注其质量排序需要制定非常详细的规范标注者也需要认真地基于标注规范进行标注,需要消耗大量的人力。同时,保持众标注者之间的一致性,也是奖励建模阶段需要解决的难点问题之一。此外,奖励模型的泛化能力边界也是本阶段需要重点研究的一个问题。如果奖励模型的目标是针对系统所有的输出都能够高质量地进行判
断,那么该问题的难度在某种程度上与文本生成等价,因此限定奖励模型应用的泛化边界是本阶
段需要解决的问题。

  • 奖励模型是在 InstructGPT 这种“有监督微调 + 强化学习”方法中用来评估语言模型输出的工具。它根据人类反馈(比如“好”或“不好”)预测某个输出有多符合人类期望。
  • 泛化能力指的是奖励模型能不能在没见过的新输出上也做出准确判断。
  • 难度等价于文本生成

    文本生成(比如 GPT 生成句子)本身就很难,因为它需要理解语法、语义、逻辑、世界知识等。奖励模型要判断所有生成的文本质量,相当于也要理解这些东西,甚至还要加上“人类偏好”(比如什么是“有用”“礼貌”)。所以,造一个能完美评分所有输出的奖励模型,难度不比造一个完美的语言模型低。
  • 奖励模型的泛化能力是个研究重点,因为我们希望它能评判所有输出,但这太难了(难度堪比文本生成)。
  • 所以需要明确它的“边界”:哪些输出它能判断,哪些不能,而不是让它盲目尝试。
  • 例如,研究者可能决定:奖励模型只负责判断“数学问题”和“身份问题”的回答质量,不扩展到“天气”或“宇宙”这类复杂领域。
  • 研究人员需要找到方法,比如用更多样化的训练数据、设计多个专门的奖励模型(而不是一个通用的),来平衡泛化能力和实用性。

  • 总结:奖励模型很关键,但不能指望它完美判断所有东西。它的能力有边界,这个边界有多大、怎么划定,是现在需要研究的重点。不然,奖励模型要么“自不量力”乱评分,要么“过于谨慎”没用处。

主要内容
  1. 任务:对关于鹦鹉研究的不同文本片段进行排序,以确定它们的相对质量和信息价值。
  2. 排名规则
    • Rank 1(最佳):最具相关性和信息价值的文本。
    • Rank 5(最差):最无关或质量最低的文本。
  3. 具体排名
    • A(最佳):描述鹦鹉模仿人类语言的能力,信息丰富,贴近主题,因此排名第一。
    • C(第二名):讨论了鹦鹉理解数字的能力,与主题相关,但比 A 稍微次之。
    • E 和 D(第三名):虽然描述了鹦鹉的听觉和视觉特性,但与主题(模仿能力)关联较弱,因此排名较低。
    • B(未排名,但可能较低):尽管提到了鹦鹉的发声能力,但内容可能不如 A 具体,因此未排在首位。
    • Rank 4 和 Rank 5 为空,说明这些文本的质量都不算特别差。

排名 1(最佳):
A:美国的一个研究小组发现,鹦鹉可以轻松模仿人类的语言,其中一些甚至可以像人类一样进行发声。该小组研究了鹦鹉在自然栖息地中发出的声音,并发现它们使用舌头和喙的方式与人类惊人地相似……

排名 2:
C:研究发现鹦鹉具有理解数字的能力。研究人员发现,鹦鹉可以理解最多六个数字。在一系列实验中,鹦鹉能够识别放在多个杯子下面的食物数量……

排名 3:
E:科学家发现,绿翅鹦鹉能够分辨两个除了听觉顺序不同之外完全相同的声音。这一点很重要,因为绿翅鹦鹉以模仿声音而闻名。这项研究表明,它们能够理解声音之间的区别……

D:当前的研究表明,鹦鹉看见和听见世界的方式与人类不同。人类可以看到彩虹的各种颜色,而鹦鹉只能看到红色和绿色的色调。此外,鹦鹉还可以看到紫外线光,而紫外线光对人类是不可见的。许多鸟类都具备这种能力……

排名 4:(空缺)

排名 5(最差):(空缺)

强化学习(Reinforcement Learning,RL)阶段

根据数十万条提示词,利用前一阶段训练的奖励模型,给出 SFT 模型对提示词回答结果的质量评估,并与语言模型建模目标综合得到更好的效果。该阶段使用的提示词数量与有监督微调阶段类似,数量在十万个量级,并且不需要人工提前给出该提示词所对应的理想回复。使用强化学习,在 SFT 模型的基础上调整参数,使最终生成的文本可以获得更高的奖励(Reward)。该阶段需要的计算量较预训练阶段也少很多,通常仅需要数十块GPU,数天即可完成训练。文献 [24] 给出了强化学习和有监督微调的对比,在模型参数量相同的情况下,强化学习可以得到相较于有监督微调好得多的效果。关于为什么强化学习相比有监督微调可以得到更好结果的问题,截至 2025 年 2 月还没有完整或得到普遍共识的解释。目前相对得到认可的观点是,强化学习使得模型具备更好的泛化能力[43]。同时,Andrej Karpathy 也指出,强化学习并不是没有问题的,它会使基础模型的熵降低,从而减少模型输出的多样性。经过强化学习方法训练后的 RL 模型,就是最终提供给用户使用、具有理解用户指令和上下文的类 ChatGPT 系统。由于强化学习方法稳定性不高,并且超参数众多,使得模型收敛难度大,叠加奖励模型的准确率问题,使得在大语言模型上有效应用强化学习非常困难。

相关文章:

大语言模型从理论到实践(第二版)-学习笔记(绪论)

大语言模型的基本概念 1.理解语言是人工智能算法获取知识的前提 2.语言模型的目标就是对自然语言的概率分布建模 3.词汇表 V 上的语言模型,由函数 P(w1w2 wm) 表示,可以形式化地构建为词序列 w1w2 wm 的概率分布,表示词序列 w1w2 wm…...

2.1 Vite + Vue 3 + TS 项目脚手架深度配置

文章目录 **一、环境准备与技术选型****二、项目初始化与基础架构****三、工程化配置深度优化****四、代码规范与质量保障****五、Vue 3 深度集成****六、TypeScript 高级配置****七、第三方库集成****八、构建优化策略****九、企业级最佳实践****十、扩展配置参考****本章核心…...

deepin安装rust

一、环境 操作系统:deepin V23 二、下载离线安装包 下载链接: https://forge.rust-lang.org/infra/other-installation-methods.html https://static.rust-lang.org/dist/rust-1.85.0-x86_64-unknown-linux-gnu.tar.xz 当时最新稳定版本为1.85。 三、解…...

【愚公系列】《Python网络爬虫从入门到精通》045-Charles的SSL证书的安装

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...

UniApp 运行的微信小程序如何进行深度优化

UniApp 运行的微信小程序如何进行深度优化 目录 引言性能优化 1. 减少包体积2. 优化页面加载速度3. 减少 setData 调用4. 使用分包加载 代码优化 1. 减少不必要的代码2. 使用条件编译3. 优化图片资源 用户体验优化 1. 优化交互体验2. 预加载数据3. 使用骨架屏 调试与监控 1. …...

Hadoop安装文件解压报错:无法创建符号链接。。。

您可能需要管理员身份运行winRAR; 客户端没有所需的特权; cmd进入该目录下,输入命令(本地解压):start winrar x -y hadoop-2.10.1.tar.gz...

Redis6.2.6下载和安装

简介 Redis 是一种开源(BSD 许可)、内存中数据结构存储,用作数据库、缓存和消息代理。Redis 提供了数据结构,例如字符串、散列、列表、集合、带有范围查询的排序集合、位图、超级日志、地理空间索引和流。Redis 内置复制、Lua 脚…...

【AI】神经网络|机器学习——图解Transformer(完整版)

Transformer是一种基于注意力机制的序列模型,最初由Google的研究团队提出并应用于机器翻译任务。与传统的循环神经网络(RNN)和卷积神经网络(CNN)不同,Transformer仅使用自注意力机制(self-attention)来处理输入序列和输出序列,因此可以并行计算,极大地提高了计算效率…...

超过 37000 台 VMwareESXi 服务器可能受到持续攻击威胁

近日,威胁监测平台影子服务器基金会(The Shadowserver Foundation)发布报告,指出超 3.7 万个互联网暴露的威睿(VMware)ESXi 实例存在严重安全隐患,极易受到 CVE-2025-22224 漏洞的攻击。该漏洞属…...

多宠识别:基于计算机视觉的智能宠物管理系统架构解析

一、行业痛点与技术方案演进 在多宠家庭场景中,传统方案面临三大技术瓶颈: 1. 生物特征混淆:同品种/毛色宠物识别准确率低于65% 2. 动态场景适应:进食/奔跑状态下的误检率达30% 3. 数据孤岛问题:离线设备无法实现持续…...

mobaxterm,闪退处理方法

mobaxterm,使用过程中突然闪退, 具体表现为:登录远程服务器成功,开始闪退 登录失败不闪退 一开始以为是,服务器做了控制,后来才发现是mobaxterm软件的问题。 问题解决方法: 勾选工具ssh&…...

文件系统文件管理

文件缓冲区(内核级,OS内部的)存在的意义:系统调用将数据写入缓冲区后函数即可返回,是从内存到内存的,提高了程序的效率。之后将缓冲区数据刷新到硬盘则是操作系统的事了。无论读写,OS都会把数据…...

Vue 实现AI对话和AI绘图(AIGC)人工智能

我司是主要是负责AIGC人工智能化平台的项目,俗称内容创作及智能工具平台。 授人以鱼不如授人以渔 首先我们要明白AIGC中前端需要做什么 会用到哪些技术栈 。 AIGC前端需要用到的技术栈:Vue,Markdown,SSE。就这个三件套。 前沿:有人觉得AI对…...

Python | 机器学习中最常用的超参数及使用示例

在机器学习中,超参数是用于控制机器学习模型训练过程的外部配置。它们是在训练开始之前配置的设置参数,并在整个过程中保持不变。您应该了解一些常用于优化机器学习模型的超参数。本文将带您了解机器学习中最常用的超参数以及如何在Python中使用它们。 …...

本地部署DeepSeek R1大数据模型知识库

DeepSeek-V3 的综合能力 DeepSeek-V3 在推理速度上相较历史模型有了大幅提升。在目前大模型主流榜单中,DeepSeek-V3 在开源模型中位列榜首,与世界上最先进OpenAI 闭源模型不分伯仲。 1、下载Ollama运行大数据库 Ollama支持 Llama 3.3, DeepSeek-R1, Phi-…...

【C++】C++入门基础

C(C plus plus) 是一种计算机高级程序设计语言,既可以进行 C语言 的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。 文章目录 前言一、C 的…...

【Linux文件IO】标准IO详情(1)

目录 一、前言 1.1 文件类型 1.2 流(FILE)介绍 1.3 文本流和二进制流的区别 二、相关API介绍 2.1 fopen 2.2 fclose 2.3 perror 2.4 fgetc 2.5 fputc 2.6 fgets 2.7 fputs 2.8 fread 2.9 fwrite 一、前言 标准IO基于系统IO实现,通过缓冲机制减少系统调…...

店匠科技携手 PayPal 升级支付体验,助力独立站商家实现全球增长

在全球化电商竞争加剧的背景下,独立站为无数商户插上了通向事业成功的翅膀。然而,搭建店铺框架容易,真正实现有效运营却充满挑战。只有当各个环节如齿轮般严丝合缝,独立站运营才能更好地助推行进,实现稳健增长。如今,独立站商家面临着全链路运营的多重挑战。从品牌塑造、营销推…...

使用 Elastic-Agent 或 Beats 将 Journald 中的 syslog 和 auth 日志导入 Elastic Stack

作者:来自 Elastic TiagoQueiroz 我们在 Elastic 一直努力将更多 Linux 发行版添加到我们的支持矩阵中,现在 Elastic-Agent 和 Beats 已正式支持 Debian 12! 本文演示了我们正在开发的功能,以支持使用 Journald 存储系统和身份验…...

模板方法模式的C++实现示例

核心思想 模板方法设计模式是一种行为设计模式,它定义了一个算法的框架,并将某些步骤的具体实现延迟到子类中。通过这种方式,模板方法模式允许子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板方法模式的核心在于: ​…...

docker无法pull镜像问题解决for win10

docker无法pull镜像问题解决for win10 问题原因分析解决方法 问题 在win10系统上安装好doker-desktop后ping registry-1.docker.io不同,并且也无法登陆hub.docker.com, 使用docker pull xx也无法正常下载 原因分析 hub.docker.com在2024年5月之后,国内…...

Docker数据管理,端口映射与容器互联

1.Docker 数据管理 在生产环境中使用 Docker,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作。 容器中的管理数据主要有两种方式: 数据卷(Data Volumns)&a…...

R语言使用scitable包交互效应深度挖掘一个陌生数据库

很多新手刚才是总是觉得自己没什么可以写的,自己不知道选什么题材进行分析,使用scitable包后这个完全不用担心,选题多到你只会担心你写不完,写得不够快。 今天演示一下使用scitable包深度挖掘一个陌生数据库 先导入R包和数据 li…...

复试难度,西电卓越工程师学院(杭研院)考研录取情况

01、卓越工程师学院各个方向 02、24卓越工程师学院(杭研院)近三年复试分数线对比 PS:卓越工程师学院分为广研院、杭研院 分别有新一代电子信息技术、通信工程、集成电路工程、计算机技术、光学信息工程、网络信息安全、机械,这些…...

STM32之I2C硬件外设

注意:硬件I2C的引脚是固定的 SDA和SCL都是复用到外部引脚。 SDA发送时数据寄存器的数据在数据移位寄存器空闲的状态下进入数据移位寄存器,此时会置状态寄存器的TXE为1,表示发送寄存器为空,然后往数据控制寄存器中一位一位的移送数…...

linux docker相关指令

1、镜像操作 0)、搜索:docker search 镜像名称 1)、拉取:docker pull 2)、推送:docker push 3)、查看:docker images 4)、查看所有镜像ID:d…...

信息安全之构建FTP服务器证书

以下是完整的文章,包含所有步骤和最后一节的参考文章部分: 在 Ubuntu 中安装和配置 FTPS 服务器的详细指南 1. 安装 vsftpd 首先,确保你的系统是最新的,然后安装 vsftpd: sudo apt update sudo apt install vsftpd•…...

(更新完)LPZero: Language Model Zero-cost Proxy Search from Zero

LPZero代码 摘要 神经架构搜索 (NAS) 有助于自动执行有效的神经网络搜索,同时需要大量的计算资源,尤其是对于语言模型。零样本 NAS 利用零成本 (ZC) 代理来估计模型性能,从而显着降低计算需求。然而,现有的 ZC 代理严重依赖于深…...

第六次CCF-CSP认证(含C++源码)

第六次CCF-CSP认证 数位之和(easy)思路及AC代码遇到的问题 开心消消乐(easy)思路及AC代码 画图(mid)思路及AC代码 数位之和(easy) 题目链接 思路及AC代码 既然题目要求我们输出各位…...

Spring Boot框架总结(超级详细)

前言 本篇文章包含Springboot配置文件解释、热部署、自动装配原理源码级剖析、内嵌tomcat源码级剖析、缓存深入、多环境部署等等,如果能耐心看完,想必会有不少收获。 一、Spring Boot基础应用 Spring Boot特征 概念: 约定优于配置&#…...

Dify平台部署记录

安装dify项目 官网地址:http://difyai.com/ github地址:https://github.com/langgenius/dify 下载项目: git clone https://github.com/langgenius/dify.git下载过慢,直接访问网页下载zip压缩包: 解压,…...

c++ 调用 gurobi 库,cmake,mac

gurobi 一般使用 python 调用,官方的培训会议及资料大部分也都基于 python。 由于最近上手了 c,因此想试试 c 怎么调用 gurobi。但我发现,c 调用第三方库比 python 或 java 要复杂不少。python 中直接 import 第三方库,java 加载…...

Redis 发布订阅模式详解:实现高效的消息通信

目录 引言 1. 什么是 Redis 发布订阅模式? 1.1 定义 1.2 核心概念 2. Redis 发布订阅的工作原理 2.1 基本流程 2.2 示例 2.3 频道与模式订阅 3. Redis 发布订阅的使用场景 3.1 实时消息通知 3.2 事件驱动架构 3.3 日志收集与分发 3.4 分布式锁与协调 4…...

React Native 0.76 升级后 APK 体积增大的原因及优化方案

在将 React Native 从 0.71 升级到 0.76 后,打包体积从 40 多 MB 增加到了 80 MB。经过一系列排查和优化,最终找到了解决方案,并将优化过程整理如下。 1. React Native 0.76 体积增大的可能原因 (1) 新架构默认启用 React Native 0.76 默认…...

Java直通车系列14【Spring MVC】(深入学习 Controller 编写)

目录 基本概念 编写 Controller 的步骤和要点 1. 定义 Controller 类 2. 映射请求 3. 处理请求参数 4. 调用业务逻辑 5. 返回响应 场景示例 1. 简单的 Hello World 示例 2. 处理路径变量和请求参数 3. 处理表单提交 4. 处理 JSON 数据 5. 异常处理 基本概念 Cont…...

文章被检测出是AI写的怎么办?

随着人工智能技术的飞速发展,AI辅助写作工具逐渐普及,为学生、科研人员以及创作者带来了诸多便利。然而,随之而来的是对学术诚信和内容原创性的担忧。当文章被检测出是AI写作时,应该如何应对?本文将探讨这一问题&#…...

Linux教学总目录

Linux教学总目录: 1、Linux常见指令 2、Linux权限理解 3、Linux环境基础开发工具使用...

SpringBoot(1)——创建SpringBoot项目的方式

目录 1、idea直接从spring.io官网下载即可 ​编辑2、 自己从spring官网下载再用idea打开 3、Idea从阿里云的官网(https://start.aliyun.com)下载打开 4、Maven项目改造成springboot项目 我的平台是idea2021 Spring Boot 由 Pivotal 团队开发&#xff…...

Oracle数据恢复:闪回查询

Oracle数据恢复:闪回查询 SQL语法闪回查询:AS OF闪回版本查询:VERSIONS BETWEEN数据恢复示例闪回查询最佳实践应用场景使用限制注意事项最佳实践在误删除业务数据时,Oracle数据库通常支持以下几种数据恢复途径。 闪回查询(Flashback Query):闪回查询通过查询系统的UNDO数…...

LiveCommunicationKit OC 实现

一、实现效果: ‌ LiveCommunicationKit‌是苹果公司在iOS 17.4、watchOS 10.4和visionOS 1.1中引入的一个新框架,旨在优化VoIP通话的交互体验。该框架提供了与...

django中路由配置规则的详细说明

在 Django 中,路由配置是将 URL 映射到视图函数或类视图的关键步骤,它决定了用户请求的 URL 会触发哪个视图进行处理。以下将详细介绍 Django 中路由配置的规则、高级使用方法以及多个应用配置的规则。 基本路由配置规则 1. 项目级路由配置 在 Django 项目中,根路由配置文…...

机器学习基础(4)

超越基于常识的基准 除了不同的评估方法,还应该利用基于常识的基准。训练深度学习模型就好比在平行世界里按下发射火箭的按钮,你听不到也看不到。你无法观察流形学习过程,它发生在数千维空间中,即使投影到三维空间中,…...

技术的魅力与价值

区块链技术正改变公益事业。它能极大提高公益透明度和公信力。通过区块链,每一笔捐款的流向都清晰可查,无法篡改,让捐赠者放心。比如某公益平台利用区块链记录捐赠信息,大家随时能看到善款使用情况。还有些项目用区块链追踪物资发…...

【报错】微信小程序预览报错”60001“

1.问题描述 我在微信开发者工具写小程序时,使用http://localhost:8080是可以请求成功的,数据全都可以无报错,但是点击【预览】,用手机扫描二维码浏览时,发现前端图片无返回且报错60001(打开开发者模式查看日…...

[数据结构]并查集--C++版本的实现代码

目录 并查集的基本框架 查找一个元素在哪一个集合 判断两个元素是否在同一个集合 将两个集合进行合并 查询有多少组 测试 大学班级的同学会来自于五湖四海,每个人的家乡可能都不相同,那么如何将相同省份的同学连接到一块,也就是按省份进…...

随机森林:强大的集成学习算法

引言 在机器学习领域,随机森林(Random Forest)是一种非常流行的集成学习算法。它通过构建多个决策树并将它们的结果进行集成,能够有效提高模型的准确性和鲁棒性。随机森林广泛应用于分类、回归、特征选择等任务,因其简…...

C# 实现 AI SSE (Server-Sent Events)接口方式输出(对接AI模型API)

以下是一个使用 C# 实现接收 SSE(Server-Sent Events)接口数据、进行数据修改解析,然后再以 SSE 方式输出给前端的示例代码。 using System; using System.IO; using System.Net; using System.Text; using System.Threading.Tasks; using M…...

企业招聘能力提升之道:突破困境,精准纳才

企业招聘能力提升之道:突破困境,精准纳才 在企业运营的广袤版图中,招聘工作无疑是一块至关重要的拼图。然而,不少企业在这片领域中举步维艰,尽管投入了海量的时间与精力,收获的成果却不尽人意。面试环节仿…...

[数据结构]堆详解

目录 一、堆的概念及结构 二、堆的实现 1.堆的定义 2堆的初始化 3堆的插入 ​编辑 4.堆的删除 5堆的其他操作 6代码合集 三、堆的应用 (一)堆排序(重点) (二)TOP-K问题 一、堆的概念及结构 堆的…...

KafkaRocketMQ

Kafka 消息生产与消费流程 1. 消息生产 生产者创建消息: 指定目标 Topic、Key(可选)、Value。可附加 Header 信息(如时间戳、自定义元数据)。 选择分区(Partition): 若指定 Key&am…...