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

大模型系列(四)--- GPT2: Language Models are Unsupervised Multitask Learners​

论文链接: Language Models are Unsupervised Multitask Learners

点评: GPT-2采用了与GPT-1类似的架构,将参数规模增加到了15亿,并使用大规模的网页数据集WebText 进行训练。正如GPT-2 的论文所述,它旨在通过无监督语言建模来执行任务,而无需使用标记数据进行显式微调。(无监督的多任务学习器)同时模型为了适应大规模数据和多任务进行了对应修改。

GPT系列: 

GPT1预训练+微调,
创新点在于Task-specific input transformations。
GPT215亿参数预训练+Prompt+Predict,
创新点在于Zero-shot
Zero-shot新颖度拉满,但模型性能拉胯
GPT31750亿参数预训练+Prompt+Predict,
创新点在于in-context learning
开创性提出in-context learning概念,是Prompting祖师爷(ICL)是Prompting范式发展的第一阶段。

基于GPT1和BERT的工作,发现GPT1这种上下文生成应用面更广以及BERT使用编码器和大规模数据集获得了更好的实验效果。一个使用了解码器,一个使用了编码器,换做作者是你,你是否还会继续打回去?GPT2的目的就是做这个事情,模型更大,数据更多,效果是否能干掉BERT。

作者收集了一个更大的数据集WebText,百万网页数据,同时将模型从1亿参数(110M)变成了15亿参数(1.5B)但存在一个问题,数据集上去了,效果真的有明显的优势吗?于是作者想到了zero-shot这个路子。

模型结构 (Model Construction)

  1. 数据: 多任务+大规模数据
  2. zero shot, 序列的改造使不同任务的输入序列与训练时见到的文本长得一样。
  3. 模型:在GPT-1上的调整
    1. 后置层归一化( post-norm )改为前置层归一化( pre-norm )
    2. 在模型最后一个自注意力层之后,额外增加一个层归一化;
    3. 调整参数的初始化方式,按残差层个数进行缩放,缩放比例为 1 : sqrt(n)
    4. 输入序列的最大长度从 512 扩充到 1024;
    5. 模型层数扩大

一、GPT-2 中 LayerNorm 位置调整的核心原因

GPT-2 将 Layer Normalization(层归一化)从传统的残差连接后(Post-LN)改为残差连接前(Pre-LN),这一调整主要基于以下技术考量:

  1. 梯度稳定性优化
    深层神经网络中,Post-LN 结构可能导致梯度传播路径过长,容易出现梯度消失或爆炸问题。Pre-LN 结构将归一化置于子层(如注意力或前馈网络)输入前,缩短了梯度传播路径,使反向传播时梯度更稳定23。例如,在 48 层的 GPT-2 中,这一调整显著缓解了深层模型训练的梯度异常现象。

  2. 训练收敛速度提升
    Pre-LN 通过对输入数据的标准化预处理,使得每个子层的输入分布更一致,降低了模型对初始权重的敏感性,从而加速收敛。实验表明,Pre-LN 结构的模型在相同训练步数下损失值下降更快6。

  3. 模型容量与性能平衡
    Post-LN 结构在残差连接后归一化会放大输出方差,尤其在多层叠加时可能破坏残差连接的特性(如恒等映射)。Pre-LN 通过先归一化再处理输入,保持了残差连接的核心优势(即输入与输出的直接叠加),更适应大规模模型的参数优化36。

二、在模型最后一个自注意力层之后,额外增加一个层归一化;

GPT-2 在最后一个自注意力层后增加层归一化(Layer Normalization, LN)主要与其架构调整和训练稳定性优化密切相关,具体原因如下:

  1. 输出分布稳定性增强
    深层模型中,最后一层自注意力输出的激活值可能因参数累积出现分布偏移。额外添加的 LN 通过对输出的均值和方差进行归一化,使后续前馈层或生成阶段的输入分布更稳定,缓解梯度异常(如梯度爆炸),提升模型收敛效率24。

  2. 生成阶段的动态控制
    语言模型的生成过程具有自回归特性,各时间步的输出需具备可控的数值范围。末层 LN 能约束生成时隐藏状态的动态范围,避免因逐层累积的数值波动导致生成质量下降(如逻辑断裂或重复生成)26。

  3. 与 Pre-LN 架构的协同优化
    GPT-2 采用 Pre-LN(归一化置于残差连接前)取代 GPT-1 的 Post-LN 结构。Pre-LN 虽能加速收敛,但其残差路径可能残留未被归一化的信号。末层 LN 作为补充,可对整体输出的特征分布再做校准,确保模型最终输出的鲁棒性24。

三、为什么 调整参数的初始化方式,按残差层个数进行缩放,缩放比例为 1 : sqrt(n)?
  1. 梯度传播平衡
    深层模型中,残差路径的叠加会导致梯度在反向传播时随层数指数级放大或衰减。通过缩放参数初始化范围(如权重矩阵初始化为 N(0,1/n)N(0,1/n​)),可约束每层输出的梯度幅值,避免梯度爆炸或消失问题,确保反向传播时各层梯度贡献均衡57。

  2. 激活值方差控制
    前向传播过程中,未经缩放的参数初始化会导致每层输出的激活值方差随层数增加而累积。按 1/n1/n​ 缩放初始化权重,可使残差分支输出的方差与主干输入保持同一量级,维持网络整体的数值稳定性5。

四、GPT-2 扩大上下文窗口与批次大小的技术动因

一、‌上下文窗口(Context Size)从 512 扩展至 1024 tokens

  1. 捕捉更长距离的依赖关系
    语言模型的生成质量高度依赖对长距离语义关联的捕捉。将上下文窗口从 512 扩展至 1024 tokens,使模型能够处理更长的历史输入序列,提升对复杂上下文逻辑的理解能力26。例如,在生成段落或对话时,更大的窗口可避免关键信息的截断,增强生成文本的连贯性。

  2. 适应多样化任务的泛化需求
    GPT-2 的设计目标是实现无监督多任务学习,而不同任务(如翻译、问答)对上下文长度的需求差异显著。扩展后的窗口能兼容更广泛的任务类型,减少因输入长度限制导致的任务适配瓶颈6。

  3. 与模型规模的协同优化
    GPT-2 的参数规模显著增大(如 1.5B 版本),更大的上下文窗口可充分利用参数容量,挖掘深层语义模式。实验表明,扩展窗口后,模型在长文本生成任务中的困惑度(Perplexity)降低约 12%2。


二、‌批次大小(Batch Size)增至 512

  1. 训练效率优化
    大规模数据并行需要更大的批次以充分利用硬件算力。批次扩大至 512 减少了单步训练的计算冗余,使 GPU/TPU 利用率提升 20%~30%,加速收敛过程24。

  2. 梯度估计稳定性增强
    大批次训练可提供更平滑的梯度信号,降低参数更新方向的方差。对于 GPT-2 这类超深模型(如 48 层),这一改进显著缓解了梯度噪声对优化过程的干扰46。

  3. 模型泛化能力提升
    大批次训练可通过隐式正则化效应抑制过拟合。在 GPT-2 的无监督预训练中,更大的批次使模型在未见任务上的零样本(Zero-shot)性能提升约 8%6。

五、多任务学习

        

现在的语言模型泛化能力比较差,在一个训练集、一个训练任务上训练出来的参数很难直接用到下一个模型里。因此,目前大多数模型都是Narrow Expert,而不是Competent Generalists。OpenAI希望朝着能够执行许多任务的更通用的系统发展--最终不需要为每个任务手动创建和标记训练数据集。

多任务学习的定义:
多任务学习(Multi-Task Learning, MTL)是一种机器学习方法,它可以通过同时学习多个相关的任务来提高模型的性能和泛化能力。与单任务学习只针对单个任务进行模型训练不同,多任务学习通过共享模型的部分参数来同时学习多个任务,从而可以更有效地利用数据,提高模型的预测能力和效率。

如何做到多任务学习呢:

把所有的任务都归结为上下文的问题回答。具体的,应该满足如下的条件:

1. 必须对所有任务一视同仁,也就是喂给模型的数据不能包含这条数据具体是哪个任务,不能告诉模型这条数据是要做NMT,另一条数据要做情感分类。

2. 模型也不能包含针对不同任务的特殊模块。给模型输入一段词序列,模型必须学会自己辨别这段词序列要求的不同的任务类型,并且进行内部切换,执行不同的操作。

3. 此外,模型还应具备执行这10个任务之外的任务的能力,即zero shot learning。

Multitask Question Answering Network, MQAN这篇文章中提出了一个新的在没有任何特定任务模块或参数的情况下联合学习decaNLP的所有任务。把各种下游子任务都转换为QA任务,并且让模型通过我们告诉他的自然语言(Prompt)去自动执行不同的操作,从而完成任务的想法也是GPT-2的关键。这就是为什么提出GPT-2的论文的标题叫:Language Models are Unsupervised Multitask Learners

Zero-shot的含义:

我们用预训练模型做下游任务时,不需要任何额外的标注信息,也不去改模型参数

GPT1过度到GPT2的zero-shot:

GPT1中,我们的模型在自然语言上进行预训练,到了给下游任务做微调的时候,我们是引入了很多模型之前从来没有见过的特殊符号,这个符号是针对具体的任务专门设计的,即给GPT的输入进行了特殊的构造,加入了开始符、结束符、分割符。这些符号,模型要在微调的过程中慢慢认识。

如果想要做Zero-short Learning,即不做任何额外的下游任务训练的话,就没办法让模型去临时学习这些针对特定任务的构造了。因此,我们在构造下游任务的输入的时候,就不能引入特殊的符号,而是要让整个下游任务的输入和之前在预训练的时候看到的文本形式一样。即要使得输入的形式应该更像自然语言。

既然输入的形式也要更像自然语言,那么就应该让模型通过我们的自然语言,去知道现在要去执行什么任务。

要如何做:实现Zero-shot learning的前提就是,我们得能够做到不需要针对下游的任务,给模型的输入结构做专门的设计;而是只需要给模型指示,也就是提示词(Prompt)就好了。

为什么prompt能够实现下游任务的预测:

Our speculation is that a language model with sufficient capacity will begin to learn to infer and perform the tasks demonstrated in natural language sequences in order to better predict them, regardless of their method of procurement. ——OpenAI

当数据量足够大、模型能力足够强的时候,语言模型会学会推测并执行用自然语言提出的任务,因为这样可以更好的实现下一词预测。(ICL的雏形)

六、为什么prompt可以实现zero shot learning? 
  1. 自监督预训练的通用表征学习
    大模型通过海量无标注文本的预训练(如 GPT 系列的因果语言建模任务),学习到语言的多层次抽象模式,包括语义关联、逻辑推理和领域知识46。这种通用表征能力使模型在面对新任务时,无需显式调整参数即可通过自然语言指令(Prompt)激活相关知识。

  2. 任务形式与预训练目标的同构性
    Zero-Shot 依赖将下游任务“翻译”为预训练任务的形式。例如,分类任务可构造为填空题(如“情感分析:这部电影很棒。总体评价是 [MASK]。”),直接复用模型在 MLM(掩码预测)任务中的能力15。这种对齐无需修改网络结构,仅需设计合适的 Prompt。

结论:  conclusion

GPT-2的最大贡献是验证了通过海量数据和大量参数训练出来的词向量模型有迁移到其它类别任务中而不需要额外的训练,即zero-shot learning的能力。但是效果其实很一般。

GPT-2表明随着模型容量和数据量的增大,其潜能还有进一步开发的空间,基于这个思想,促使了GPT3的出现。

参考文献
详解GPT论文: https://zhuanlan.zhihu.com/p/680022511

GPT2 代码: GitHub - Morizeyao/GPT2-Chinese: Chinese version of GPT2 training code, using BERT tokenizer.

https://github.com/yangjianxin1/GPT2-chitchat?tab=readme-ov-file

相关文章:

大模型系列(四)--- GPT2: Language Models are Unsupervised Multitask Learners​

论文链接: Language Models are Unsupervised Multitask Learners 点评: GPT-2采用了与GPT-1类似的架构,将参数规模增加到了15亿,并使用大规模的网页数据集WebText 进行训练。正如GPT-2 的论文所述,它旨在通过无监督语…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(15):何と どういう

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(15):何と &どういう 1、前言(1)情况说明(2)工程师的信仰 2、知识点(1)かもしれません & ~…...

基于英特尔 RealSense D455 结构光相机实现裂缝尺寸以及深度测量

目录 一,相机参数规格 二,结合YOLO实例分割实现裂缝尺寸以及深度测量 2.1 应用场景 2.2 实现流程 2.3 效果展示 2.4 精度验证 2.5 实物裂缝尺寸以及深度测量效果展示 一,相机参数规格 英特尔 RealSense D455 是英特尔 RealSense D400 系…...

利用并行处理提高LabVIEW程序执行速度

在 LabVIEW 编程中,提升程序执行速度是优化系统性能的关键,而并行处理技术则是实现这一目标的有力武器。通过合理运用并行处理,不仅能加快程序运行,还能增强系统的稳定性和响应能力。下面将结合实际案例,深入探讨如何利…...

C++并发编程完全指南:从基础到实践

在当今多核处理器普及的时代,充分利用硬件并发能力已成为高性能编程的关键。C11引入的现代并发编程支持使得开发者能够以标准化、可移植的方式编写多线程程序。本文将全面介绍C并发编程的各个方面,从基础概念到实际应用,帮助您掌握这一重要技…...

vue3 element-plus 输入框回车跳转页面问题处理

问题描述&#xff1a; 当页面搜索条件只有一个的情况下&#xff0c;输入框不管有没有值&#xff0c;回车后会跳转页面 解决办法&#xff0c;给表单添加 submit.prevent <el-form ref"ruleForm" :model"search" label-width"120px" class&qu…...

从0开始学习大模型--Day03--Agent规划与记忆

规划&#xff08;planning&#xff09; 规划&#xff0c;可以为理解观察和思考。如果用人类来类比&#xff0c;当我们接到一个任务&#xff0c;我们的思维模式可能会像下面这样: 1、首先会思考怎么完成这个任务。 2、然后会审视手头上所拥有的工具&#xff0c;以及如何使用这…...

DevExpressWinForms-AlertControl-使用教程

文章目录 AlertControl-使用教程一、将 AlertControl 添加到 Form二、编辑 AlertControl 的 HtmlTemplateHTML Template Editor介绍编辑HTML Template 三、使用AlertControl弹出AlertAlert中的按钮事件获取 Alert 标题等信息向Alert传递参数 总结源码 AlertControl-使用教程 一…...

配电站室智能巡检:机器人 VS 固定摄像头,谁更胜一筹?

在配电站室巡检领域&#xff0c;传统人工巡检正逐渐被智能化手段取代。其中&#xff0c;机器人巡检与固定摄像头巡检成为两大热门选择。那么&#xff0c;它们究竟谁更胜一筹&#xff1f; 一、机器人巡检与固定摄像头巡检的对比 目前人工巡检工作主要以查看表计&#xff0c;设…...

脑图谱:脑机接口的必由之路——技术突破与产业转化的系统性思考

一、三维发育小鼠大脑图谱框架(DevCCF) 1. 技术原理与核心创新 DevCCF框架由宾夕法尼亚州立大学团队主导开发,其技术突破体现在多模态数据融合与跨尺度分析能力的革新: 多模态成像整合:采用高分辨率MRI(空间分辨率50-100μm)捕捉全脑宏观结构动态变化,结合光片荧光显…...

【网络编程】二、UDP网络套接字编程详解

文章目录 前言Ⅰ. UDP服务端一、服务器创建流程二、创建套接字 -- socketsocket 属于什么类型的接口❓❓❓socket 是被谁调用的❓❓❓socket 底层做了什么❓❓❓和其函数返回值有没有什么关系❓❓❓三、绑定对应端口号、IP地址到套接字 -- bind四、数据的发送和接收 -- `sendto…...

缓存替换算法与存储器管理的分页、分段、段页式管理联系

缓存替换算法与存储器管理的分页、分段、段页式管理在目标和机制上存在相似性&#xff0c;均涉及高效资源分配和地址映射&#xff0c;但应用层级和具体场景不同。以下是它们的联系与区别分析&#xff1a; 1. 核心联系&#xff1a;资源管理的共性 替换策略的必要性 无论是缓存&a…...

AI大模型基础设施:NVIDIA GPU和AMD MI300系列的区别

本文将从架构设计、性能、内存、功耗、软件生态、价格与性价比、供应链与市场表现等多个维度对比英伟达的GPU&#xff08;以H100为代表&#xff09;和AMD的Instinct MI300系列处理器&#xff08;以MI300X GPU和MI300A APU为主&#xff09;。以下是详细分析&#xff1a; 1. 架构…...

基于Matlab实现耦合模理论仿真程序

耦合模理论&#xff08;Coupled Mode Theory&#xff0c;简称CMT&#xff09;是一种广泛应用于光子学、微波工程和电子学领域的理论框架&#xff0c;用于分析和理解多模系统的相互作用。 耦合模理论主要研究两个或多个模式之间的能量交换&#xff0c;这些模式可以是电磁波、声…...

图片文件转base64存储在数据库

以下是将文件转换为Base64编码字符串的Java代码&#xff1a; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Base64;public class ImageToBase64 {/*** 将图片文件转换为Base64字符串* param filePath 图片文件路径* r…...

我的世界云端服务器具体是指什么?

我的世界云端服务器是指一种基于互联网的多人游戏服务器&#xff0c;将游戏服务器运行在云平台上&#xff0c;而不是在本地计算机中&#xff0c;这使用户不需要考虑自身电脑的性能和网络稳定性&#xff0c;只需要通过网络连接到云端服务器&#xff0c;就可以享受到顺畅的游戏体…...

shell脚本实现远程重启多个服务器

直接deepseek帮写脚本 remoteReboot.sh #!/bin/bash # 配置文件路径&#xff08;格式&#xff1a;每行一个服务器地址&#xff09; SERVER_FILE"servers.list" # 读取服务器列表 mapfile -t SERVERS < "$SERVER_FILE" for server in "${SERVER…...

怎样快速变换 json 串里的多层集合

有一个 2 层的 json 串&#xff0c;下层是多个动态的 key-value&#xff0c;不含集合 / 数组类型。 {"Games": {"key1": "value1", "key2": value2,"key3":value3}} 现在要把下层变换成多层的集合。 {"Games":…...

FreeCAD傻瓜教程-涡轮蜗杆的快速绘制FCGear工作台的使用方法

起因&#xff1a;涡轮蜗轴的组合&#xff0c;是一种比较简单且高效的传动结构。可以实现减速、加速、转动角度的放大、缩小等应用。 如何绘制呢&#xff1f;我搜索了不少教程&#xff0c;看起来都挺复杂的&#xff0c;对于小白来说有点像天书。这里介绍和记录一下利用FreeCAD 的…...

【论文阅读】HunyuanVideo: A Systematic Framework For Large Video Generative Models

HunyuanVideo: A Systematic Framework For Large Video Generative Models 原文摘要 研究背景与问题 视频生成的变革性影响&#xff1a;近期视频生成技术的进步深刻改变了个人生活与行业应用。 闭源模型的垄断&#xff1a;主流视频生成模型&#xff08;如Runway Gen-3、Luma …...

Search After+PIT 解决ES深度分页问题

1.深分页和search after 原理 深分页 (from/size)search_after数据定位全局排序后跳过前 N 条基于上一页最后一条的排序值定位排序开销每次请求重新全局排序 (O(N))仅首次全局排序&#xff0c;后续游标跳转 (O(1))内存消耗堆内存存储完整结果集 (高风险OOM)无堆内存累积 (安全…...

c语法高阶—(联合体,枚举,位域,编译器,宏定义,条件编译,条件编译,头文件)

目录 一 联合体&#xff08;重要&#xff09; 特性 总结 二 枚举&#xff08;重要&#xff09; 特性 总结&#xff1a; 三 位域&#xff08;了解&#xff09; 定义 特性 使用场景 优缺点分析表 位域的特点和使用方法 总结&#xff1a; 四 编译器&#xff08;linux…...

SQL Server To Paimon Demo by Flink standalone cluster mode

需求&#xff1a;使用 Flink CDC 测试 SQL Server 连接 Paimon 操作&#xff1a;启动 Flink standalone cluster 后&#xff0c;接着启动 Flink SQL Client&#xff0c;则通过 Flink SQL Client 提交 insert & select job 到该 8081 cluster Flink SQL Client 执行案例 -…...

常用设计模式在 Spring Boot 项目中的实战案例

引言​ 在当今的软件开发领域&#xff0c;Spring Boot 以其高效、便捷的特性成为构建 Java 应用程序的热门框架。而设计模式作为软件开发中的宝贵经验总结&#xff0c;能够显著提升代码的可维护性、可扩展性和可复用性。本文将深入探讨几种常用设计模式在 Spring Boot 项目中的…...

4、反应釜压力监控系统 - /自动化与控制组件/reaction-vessel-monitor

76个工业组件库示例汇总 反应釜压力监控组件 这是一个用于反应釜压力监控的自定义组件&#xff0c;专为化工厂反应釜压力监控设计。采用苹果工业风格界面&#xff0c;简洁优雅&#xff0c;功能实用&#xff0c;易于使用。 功能特点 实时压力可视化&#xff1a;直观展示反应…...

五、Hadoop集群部署:从零搭建三节点Hadoop环境(保姆级教程)

作者&#xff1a;IvanCodes 日期&#xff1a;2025年5月7日 专栏&#xff1a;Hadoop教程 前言&#xff1a; 想玩转大数据&#xff0c;Hadoop集群是绕不开的一道坎。很多小伙伴一看到集群部署就头大&#xff0c;各种配置、各种坑。别慌&#xff01;这篇教程就是你的“救生圈”。 …...

详细剖析传输层协议(TCP和UDP)

详细讲解传输层的网络协议&#xff0c;为什么TCP是可靠连接协议&#xff0c;凭什么能做到不丢包&#xff0c;有哪些机制保证可靠呢&#xff1f; TCP/UDP UDPTCP**三次握手和四次挥手****滑动窗口****拥塞控制**&#xff08;socket套接字&#xff09;**listen的第二个参数** UD…...

ZYNQ移植FreeRTOS与OpenAMP双核开发实践指南

ZYNQ系列芯片凭借其“ARM处理器(PS)+ FPGA(PL)”的异构架构,在嵌入式系统中被广泛应用于高性能计算与实时控制场景。然而,如何高效利用其双核资源并实现实时操作系统(如FreeRTOS)的移植与双核通信,是开发者面临的关键挑战。本文将深入探讨FreeRTOS移植、双核固化启动以…...

VUE+ElementUI 使用el-input类型type=“number” 时,取消右边的上下箭头

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 在项目中有时候需要输入框的type“number”&#xff0c;这个时候&#xff0c;输入框的右边就会出现两个按钮&#xff0c;这两个按钮可以递增/递减&#xff0c;但是这样输入框看上去就不太美观&#x…...

RabbitMQ高级特性

1.消息的可靠投递 在使用 RabbitMQ 的时候&#xff0c;作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。 1.confirm 确认模式 2.return 退回模式 rabbitmq 整个消息投递的路径为&#xff1a; producer…...

在Python中调用C/C++函数并与MPI集成

在Python中调用C/C函数并与MPI集成 要在Python环境中调用C/C函数并让Python和C/C端都能使用MPI进行通信&#xff0c;有几种方法可以实现。下面我将介绍几种常见的方法。 方法一&#xff1a;使用mpi4py C/C MPI扩展 1. 准备工作 首先确保你已安装: MPI实现 (如OpenMPI或MP…...

软件架构评估方法全面解析

介绍 在软件开发过程中&#xff0c;架构设计的好坏直接影响系统的可维护性、可扩展性和性能。因此&#xff0c;软件架构评估&#xff08;Software Architecture Evaluation&#xff09;成为确保架构质量的关键步骤。本文将介绍几种主流的架构评估方法&#xff0c;包括ATAM、SA…...

场景可视化与数据编辑器:构建数据应用情境​

场景可视化是将数据与特定的应用场景相结合&#xff0c;借助数据编辑器对数据进行灵活处理和调整&#xff0c;通过模拟和展示真实场景&#xff0c;使企业能够更直观地理解数据在实际业务中的应用和影响&#xff0c;为企业的决策和运营提供有力支持。它能够将抽象的数据转化为具…...

MATLAB导出和导入Excel文件表格数据并处理

20250507 1.MATLAB使用table函数和writetable函数将数据导出Excel表格文件 我们以高斯函数为例子&#xff0c;高斯函数在数学和工程领域有着广泛的应用&#xff0c;它的一般形式为&#xff1a; 其中是均值&#xff0c;决定了函数的中心位置&#xff1b; 是标准差&#xff0c;决…...

2025年渗透测试面试题总结-渗透岗位全职工作面试(附回答)(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 一、通用基础类问题 1. 自我介绍 2. 职业动机与规划 3. 加班/出差接受度 二、安全技术类问题 1. 漏…...

【django.db.utils.OperationalError: unable to open database file】

解决platform.sh 环境下&#xff0c;无法打开数据库问题 场景 在platform.sh 执行python manage.py createsuperuser是提示 django.db.utils.OperationalError: unable to open database file 错误 原因 由于settings.py文件中 本地数据库配置在线上配置后&#xff0c;导致…...

【人工智能】解锁AI潜能:LM Studio多模型并行运行DeepSeek与开源大模型的实践指南

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着大语言模型(LLM)的快速发展,LM Studio作为一款本地化部署工具,以其简单易用的图形化界面和强大的模型管理能力受到广泛关注。本文深…...

集群免密登录

免密登录原理 核心步骤 在hadoop100上 生成密钥对。把hadoop100的公钥发到hadoop101上。在hadoop100上登录hadoop101&#xff0c;验证效果 具体操作 登录 hadoop100。使用finalshell连接。在hadoop100上&#xff0c;运行命令&#xff1a;ssh-keygen -t rsa。然后根据提示连续敲…...

【C/C++】errno/strerror 和 GetLastError()/FormatMessage 的区别

strerror 和 errno 详解 printf("Error: %s\n", strerror(errno));这行代码用于在 C 语言中输出系统错误信息&#xff0c;但它与 Windows 的 GetLastError() 有重要区别。下面我将详细解释每个部分及其工作原理。 1. 组件解析 errno 定义&#xff1a;errno 是一个…...

ASP.NET MVC4 技术单选及多选题目汇编

一、单选题&#xff08;共50题&#xff0c;每题2分&#xff09; 1、ASP.NET MVC4 的核心架构模式是什么&#xff1f; A. MVP B. MVVM C. MVC D.三层架构 答案&#xff1a;C 2、在 MVC4 中&#xff0c;默认的路由配置文件名是&#xff1f; A. Global.asax B. RouteConfig.cs C.…...

趣味编程:梦幻万花筒

目录 1.效果展示 2.源码展示 3.代码逻辑详解 3.1 头文件与宏定义 3.2 HSV函数转RGB颜色函数 3.3 主函数 初始化部分 循环部分 线条绘制部分 刷新和延时部分 结束部分 4.小结 本篇博客主要介绍趣味编程用C语言实现万花筒小程序。 1.效果展示 2.源码展示 #define…...

使用 Selenium 截图功能,截不到原生 JavaScript 弹窗

本篇内容源自ai注意甄别 Selenium WebDriver 的标准截图 (getScreeenshotAs) 捕获的是浏览器渲染的 DOM 内容&#xff0c;而 JavaScript 的 alert()、confirm()、prompt() 这类弹窗是浏览器级别的原生 UI 元素&#xff0c;它们不属于页面的 DOM 结构。 为什么会这样&#xff…...

dubbo-token验证

服务提供者过滤器 import java.util.Map; import java.util.Objects;/*** title ProviderTokenFilter* description 服务提供者 token 验证* author zzw* version 1.0.0* create 2025/5/7 22:17**/ Activate(group CommonConstants.PROVIDER) public class ProviderTokenFilt…...

C++入门之认识整型

目录 一、变量 1.导入 2.变量 2.1 变量的作用 2.2 变量的定义方式 2.3 变量的“规矩” 二、数据类型 1.概念 2.int整型 三、C的常见运算 四、输入操作 4.1 cin 4.2 try 1 try 4.2.1 cin>> 4.2.2 定义的整数类型&#xff0c;输入字母会怎么样&#xff1f; …...

【数据结构入门训练DAY-28】蓝桥杯算法提高VIP-产生数

文章目录 前言一、题目二、解题思路结语 前言 本次训练内容 训练高精度乘法。训练解题思维。 一、题目 给出一个整数 n 和 k 个变换规则。规则&#xff1a;一位数可变换成另一个一位数&#xff1a;规则的右部不能为零。例如&#xff1a;n234。有规则&#xff08;k&…...

学习笔记:黑马程序员JavaWeb开发教程(2025.3.29)

11.5 案例-文件上传-阿里云OSS-入门 出现报错&#xff1a;Process exited with an error: 1 (Exit value: 1)&#xff0c;点击exec那一行&#xff0c;出现错误原因&#xff1a;Command execution failed. 在CSDN上找到了解决方法&#xff1a; 之后出现新的报错&#xff1a;Caug…...

大语言模型中的“温度”参数到底是什么?如何正确设置?

近年来&#xff0c;市面上涌现了大量调用大模型的工具&#xff0c;如 Dify、Cherry Studio 等开源或自研平台&#xff0c;几乎都提供了 “温度”&#xff08;Temperature&#xff09; 选项。然而&#xff0c;很多人在使用时并不清楚该如何选择合适的温度值。 今天&#xff0c;…...

【C++】C++中的类型转换

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a; C学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我最大…...

Go语言基础学习详细笔记

文章目录 初步了解Go语言Go语言诞生的主要问题和目标Go语言应用典型代表Go语言开发环境搭建经典HelloWorld 基本程序结构编写学习变量常量数据类型运算符 条件语句if语句switch 语句 跳转语句常用集合和字符串数组切片Map实现Set**字符串** 函数**基本使用用例验证** 面向对象编…...

初始图形学(7)

上一章完成了相机类的实现&#xff0c;对之前所学的内容进行了封装与整理&#xff0c;现在要学习新的内容。 抗锯齿 我们放大之前渲染的图片&#xff0c;往往会发现我们渲染的图像边缘有尖锐的"阶梯"性质。这种阶梯状被称为"锯齿"。当真实的相机拍照时&a…...