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

GRPO vs SFT:强化学习提升大模型多模态推理泛化能力的原因研究

GRPO vs SFT:强化学习提升大模型多模态推理泛化能力的原因研究

作者:吴宇斌

原文地址:https://zhuanlan.zhihu.com/p/1892362859628963761

训练目标与优化方式差异对比

  • 监督微调(SFT)的目标: SFT使用带标注答案的数据,通过最小化交叉熵来让模型准确拟合训练集输出。模型被显式监督去模仿范例答案的每个细节。这样训练的模型倾向于记忆训练数据中的模式和答案。SFT优化的是模型对给定输入生成特定期望输出的概率,因此更关注复现训练集中人类提供的解答。

  • 强化学习(RL,特别是GRPO)的目标: GRPO(Group Relative Policy Optimization)是一种针对大模型的策略梯度算法,由Shao等人提出并用于DeepSeek-R1模型。与传统PPO类似,GRPO通过策略迭代优化模型,但不使用同规模的价值网络,而是通过对比一组生成的结果的奖励来估计优势(即采用分组内的平均奖励作为baseline)。具体而言,RL训练中模型(策略)在每个提示上采样多个不同输出,并根据预设的奖励函数评估每个输出好坏,然后调整模型参数以最大化预期奖励。模型的更新方向由奖励信号驱动,而非对比单一正确答案。相比SFT简单模仿,RL允许模型探索不同策略,只要能获得更高奖励即可。尤其是GRPO这类方法直接利用可编程奖励函数进行优化,无需人工偏好数据或专门训练奖励模型。这意味着模型可以围绕任务目标(如答案正确性)直接优化行为,从而学习解决任务的泛化策略。此外,GRPO常使用一个冻结的参考模型来提供稳定性,限制策略偏离原始行为太远,同时鼓励逐步改进。

  • 对模型表示学习的影响: 由于目标不同,SFT与RL对模型内部表示的塑造有所区别。SFT强制模型捕捉训练样本的细节模式来尽量还原答案,这可能包括与任务无关的表述习惯或数据偏差,容易导致模型表示中混入许多特定语料特征,从而欠泛化。相反,RL优化关注的是最终任务奖励,模型不需要再现人类答案的表面形式,而只需实现高分行为。这往往驱使模型抽取输入中对完成任务最有用的关键信息,忽略无关细节。例如,有研究发现RL训练提升了模型底层的视觉识别能力,让模型更准确地提取图像关键信息用于推理,从而在视觉领域获得更好的泛化。总的来说,SFT更倾向于让模型记忆训练分布(Memorization),而RL促使模型学习可迁移的决策策略——前者在训练分布外表现不佳,后者则更具适应性。

强化学习训练动态与目标函数可塑性

  • 训练动态(Dynamic): 在RL框架下,训练是一个循环反馈过程:模型生成输出→根据奖励评估输出→利用反馈更新策略。这样的动态使模型能在训练中“试错”:模型自身的输出参与了训练数据的构建。比如在GRPO中,每个prompt模型会生成N个不同回答(通过随机采样引入多样性),然后根据奖励高低区分优劣并反馈给模型。这种过程有几点好处:

    • (1) 探索多样性: 模型在训练时看到多种可能解答,比起SFT始终给定唯一正确答案,RL鼓励模型探索不同解法路径。由此,模型可以发现比训练集示例更优或不同的解题思路,形成更广泛泛化的策略。

    • (2) 纠错学习: 由于RL允许模型输出错误答案并据此得到低奖励反馈,模型有机会识别哪些行为是不利的,并在训练中自我纠正。反之SFT始终喂给模型正确答案,模型缺乏从错误中学习的机制,因而对偏离示例的情况缺乏鲁棒性。

    • (3) 分布自适应: RL训练分布由模型策略逐步生成,模型不断适应自己产生的输出分布,这减轻了纯教师强制学习中训练/测试分布不匹配(exposure bias)的问题。在复杂多变输入情境下,RL的这种适应过程使模型在训练阶段已部分见识到偏离既有模式的情形,从而在OOD输入下表现更从容。

  • 目标函数可塑性(Flexibility): RL的方法可以灵活地设计奖励函数来引导模型行为,这赋予训练目标很高的可塑性,可针对复杂任务需求进行定制。相较之下,SFT的目标固定为模仿给定答案,对多样目标难以兼顾。RL的奖励函数可以组合多项目标:例如DeepSeek-R1在RL训练中设置了正确性奖励(解答准确与否)和格式奖励(按照要求输出思考过程和答案的格式)等多个部分。通过加权不同奖励,模型可以在训练中同时学会保证答案正确和遵循指定格式,而无需额外的人工标注数据。这样的机制使模型能针对任务要求进行微调:如果希望模型具备某种行为,只需将其融入奖励函数(如鼓励更详细的推理步骤、惩罚无意义的输出等)。这种目标灵活性有助于模型适应复杂多变的输入情境。现实应用中,不同场景下任务侧重可能不同,RL能够动态调整优化目标来满足这些变化。例如,若某多模态任务突然要求模型更关注视觉细节,开发者可增加视觉相关的奖励权重,模型随即会倾向于强化对图像信息的利用。总而言之,RL通过可定制的奖励信号,提供了比单纯模仿学习更丰富的调控手段,使模型更擅长应对任务变化和输入分布漂移。

  • 数据效率与覆盖度: RL训练还有一些天然优势可提升泛化:

    • (1) 无需高质量标注作为唯一学习信号: 一些研究指出,RL策略优化不依赖每条数据都有高质量人工答案,这对多模态任务尤为关键。在复杂场景下,高质量详解往往稀缺,而RL可以利用程序判分、模拟反馈等自动奖励源直接优化。这使我们能训练模型解决更多样的问题,即使缺少逐条人工示例,从而扩大模型经验覆盖面。

    • (2) 复用提示、采样效率高: RL可以对同一输入进行多次采样评估,不断调整策略。同一组问题在训练中被多次利用,模型逐渐挖掘更深入的解答策略。这种数据复用提升了有效样本效率,相当于对输入做了多角度增强,使模型对该输入相关的变化更不敏感。

    • (3) 内在正则作用: 像PPO/GRPO这类RL算法常对策略更新幅度施加限制(例如KL惩罚或参考模型约束),防止模型过度偏航。这个过程对模型形成一种正则化效应,使其在追求高奖励的同时保持基础能力不退化。相比之下,SFT一味拟合数据,若训练分布有限可能导致模型过拟合特定表达而缺乏这种自我约束机制。从经验看,在视觉数学推理等任务上,SFT模型有时甚至不及未微调的基础模型,显示其过度拟合训练集的症状。RL由于有策略约束和随机探索,往往避免了这个陷阱。

理论视角下RL泛化能力优于SFT的解释

从理论层面,可以用若干框架来理解为何RL(如GRPO)的泛化能力往往优于纯监督微调:

  • 信息瓶颈理论: 信息瓶颈原理认为,模型应力求在内部表示中压缩无关信息、保留与任务目标相关的关键信息,以达到更好的泛化。SFT训练因为要严格拟合人类答案,模型可能被迫保留大量与最终任务无关但用于还原答案格式/细节的信息,等于在表示中引入“噪音”(对任务无益的信息),这会降低泛化性能。反之,RL训练以任务奖励为导向,相当于给定了清晰的目标Y(如解答正确与否),模型只需保留对预测Y有用的那部分信息,其他冗余细节则可被忽略。例如,在数学题场景下,正确答案的奖励使模型注重计算和逻辑,而不会像SFT那样去记忆特定解题步骤的表述方式或训练集中偏爱的符号说明等。当模型表示中杂质更少、信息更纯粹地对准任务目标时,其在分布外新问题上也更能抓住要点,表现出更强的泛化。可以说,RL过程在一定程度上实现了对模型表示的信息蒸馏/压缩,这与信息瓶颈观点一致,被认为有助于防止过拟合。

  • 策略泛化与探索理论: 从决策学习的角度,RL直接学习的是一个策略(state到action的映射)而非一个确定的输入输出对。理论上,一个通过最大化预期回报学得的最优策略往往具有对环境变化的鲁棒性,因为它捕捉的是任务的普遍有效行为。相比之下,监督学习学得的是条件分布下的映射,更容易受训练分布的偏差影响。RL鼓励的随机探索也提供了类似于数据增强的效果:策略在训练时尝试多种动作并仅保留高收益的方向,这类似于从大量潜在解空间中提炼出泛用性强的决策规则。研究已经表明,通过在训练中逐渐滤除对完成任务不必要的变量(即不断探索、对比、淘汰),RL代理能适应远超训练分布范围之外的环境。对于大语言模型,策略泛化体现在模型学会了一套解题逻辑而非特定答案,当题目变化时这套逻辑仍适用。例如,一个RL优化的多模态模型可能学到“先看图找关键线索,再结合常识回答”的通用流程,这是一种策略层面的知识,能迁移到新问题;而SFT模型或许只是记住了训练集中问句和答案的对应模式,换一种问法就不知所措。

  • 目标对齐与正则化: RL直接以我们关心的最终指标为优化目标(如答案是否正确、用户是否满意等),在理论上避免了目标错位的问题。SFT的训练目标(模仿人工答案分布)不完全等同于最终评价标准(解题正确率或用户偏好),这种不一致可能导致泛化上的劣势。而RL的目标函数可以被看作是在期望回报和策略复杂度之间求平衡(例如PPO的目标含有奖励项减去一个与旧策略KL距离相关的项)。这种形式其实隐含了一种结构风险最小化思想:在追求高回报(低任务损失)的同时,对策略变动施加惩罚(相当于限制模型过度调整,避免拟合无关细节)。这类似于在监督学习中加入正则项控制模型容量,从而提升泛化。事实上,有研究将RL视作在策略空间上的正则化优化,发现适当的约束有助于缩小训练和测试性能差距。换言之,RL优化过程自带的那些机制(KL约束、多样性采样、参考模型等)就在平衡探索与稳定,防止模型记忆训练集噪声,这为泛化提供了更坚实的保障。

综上,GRPO等强化学习方法之所以在多模态理解与复杂推理的OOD场景中比SFT具备更强泛化能力,源于训练范式的根本差异:前者通过奖励驱动模型自主探索并抽象出通用解题策略,配合灵活的目标设计和内在正则,促使模型学到更加本质和稳健的表示;后者则局限于模仿既有数据,容易捆绑住模型在特定分布下的表现。当面对超出训练分布的新情境时,RL孕育的那些“广谱”技能使模型能够举一反三、触类旁通地应对挑战。近期大量实验结果和理论分析共同印证了这一点:适当结合少量SFT热身与RL精调的策略,正成为训练新一代通用大模型以获得更强泛化能力的关键手段。

参考文献

  • 【7】 Yan Ma et al. (2025), “Rethinking RL Scaling for Vision Language Models: A Transparent, From-Scratch Framework and Comprehensive Evaluation Scheme.” (特别是5.5节对RL vs SFT泛化的分析)arxiv.org.

  • 【13】 Tianzhe Chu et al. (2025), “SFT Memorizes, RL Generalizes: A Comparative Study of Foundation Model Post-training.” (比较SFT与RL在文本/视觉环境下的泛化差异)ar5iv.org.

  • 【10】 DeepSeek-AI (2025), “DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning.” (介绍了GRPO算法及奖励设计)ar5iv.org.

  • 【38】 Predibase 文档, “Reinforcement Fine-tuning (GRPO).” (对GRPO训练流程的概述)docs.predibase.com.

  • 【32】 Tencent ARC (2025), “Exploring the Effect of Reinforcement Learning on Video Understanding: Insights from SEED-Bench-R1.” (在视频多模态任务上比较RL和SFT性能)github.com.

  • 【42】 Xingyu Lu et al. (2020), “Dynamics Generalization via Information Bottleneck in Deep RL.” (从信息论角度讨论RL泛化)arxiv.org.

图片

相关文章:

GRPO vs SFT:强化学习提升大模型多模态推理泛化能力的原因研究

GRPO vs SFT:强化学习提升大模型多模态推理泛化能力的原因研究 作者:吴宇斌 原文地址:https://zhuanlan.zhihu.com/p/1892362859628963761 训练目标与优化方式差异对比 监督微调(SFT)的目标: SFT使用带标注…...

从千兆到40G:飞速(FS)助力制造企业构建高可靠智能生产网络

案例亮点 部署S5850-24S2Q交换机,启用MLAG跨设备链路聚合,构建高性能冗余架构,消除单点故障风险,将网络可用性提升至99.99%,保障生产系统与全球业务连续性。采用40G光模块与US Conec MTP连接头多模跳线实现数据中心间…...

WHAT - 《成为技术领导者》思考题(第三章)

文章目录 涉及内容理解问题管理想法的交流保证质量 思考题思路和示例框架1. 观察一个你认为是领导者的人,列出他的行为,分类,并思考自己未采用的行为2. 观察一个不太像领导者的人,列出错过的简单机会,并反思3. 让别人注…...

Go 语言入门:(一) 环境安装

一、前言 这里不同于其他人的 Go 语言入门,环境安装我向来注重配置,比如依赖包、缓存的默认目录。因为前期不弄好,后面要整理又影响这影响那的,所以就干脆写成文章,方便后期捡起。 二、安装 1. 安装包 https://go.…...

GTC2025全球流量大会:领驭科技以AI云端之力,助力中国企业出海破浪前行

在全球化与数字化浪潮下,AI技术正成为中国企业出海的重要驱动力。一方面,AI通过语言处理、数据分析等能力显著提升出海企业的运营效率与市场适应性,尤其在东南亚等新兴市场展现出"高性价比场景适配"的竞争优势;另一方面…...

013几何数学——算法备赛

几何数学 平面切分 蓝桥杯2020年省赛题 问题描述 平面上有N条直线&#xff0c;其中第i条直线为yAxB.请计算这些直线将平面分成了几个部分&#xff1f; 输入 第一行输入一个N&#xff0c;接下来N行输入两个整数代表Ai和Bi。 1<N<10^5. 思路分析 初始时一条直线将…...

VUE3:封装一个评论回复组件

之前用React封装的评论回复组件&#xff0c;里面有三个主要部分&#xff1a;CommentComponent作为主组件&#xff0c;CommentItem处理单个评论项&#xff0c;CommentInput负责输入框。现在需要将这些转换为Vue3的组件。 Vue3和React在状态管理上有所不同&#xff0c;Vue3使用r…...

DELL R740服务器闪黄灯不开机故障案例

1&#xff1a;DELL R740服务器 2&#xff1a;东莞长安客户工厂晚上十一二点电路跳闸多次&#xff0c;导致R740 ERP服务器无法开机。 3&#xff1a;故障现象为&#xff1a;主机能正常通电&#xff0c;开机按钮无通电迹象&#xff0c;正常情况会闪绿灯慢闪&#xff0c;通电一会后…...

记录一下QA(from deepseek)

Q1:__init__.py文件 在 Python 中&#xff0c;当你在一个目录下创建 __init__.py 文件时&#xff0c;这个目录会被视为一个 包&#xff08;Package&#xff09;。包的存在使得 Python 能够通过点号&#xff08;.&#xff09;层级式地组织模块&#xff08;.py 文件&#xff09;&…...

码蹄集——进制输出、求最大公约数、最小公倍数

进制乱炖 本题考查输出的进制转换&#xff0c;可以直接使用c里的format格式输出 #include<iostream> #include<algorithm> #include<string> using namespace std;int main() {int x;cin>>x;printf("%d %o %x %u\n",x,x,x,x);//十进制 八进…...

从技术走向管理:带来哪些角色转变与挑战

文章目录 一、从技术到管理1、从技术转到管理的优劣势&#xff08;1&#xff09;优势&#xff08;2&#xff09;劣势 2、刚转岗容易犯的几个问题3、最大的变化&#xff1a;不再是一个人单打独斗4、警惕&#xff1a;一开始不要把“人”过早的介入到“事”5、如何完成角色的转变&…...

C语言-指针(一)

目录 指针 内存 概念 指针变量 取地址操作符&#xff08;&&#xff09; 操作符“ * ” 指针变量的大小 注意 指针类型的意义 作用 void * 指针 const修饰指针变量 const放在*前 const放在*后 双重const修饰 指针的运算 1.指针 - 整数 2.指针 - 指针 3.指…...

Python面试问题

一、Python 基础 1. Python 的特点 动态类型&#xff1a;变量无需声明类型。解释型语言&#xff1a;逐行解释执行。支持多种编程范式&#xff08;面向对象、函数式、过程式&#xff09;。 2. 列表&#xff08;List&#xff09;与元组&#xff08;Tuple&#xff09;的区别 特…...

RAG工程-基于LangChain 实现 Advanced RAG(预检索优化)

Advanced RAG 概述 Advanced RAG 被誉为 RAG 的第二范式&#xff0c;它是在 Naive RAG 基础上发展起来的检索增强生成架构&#xff0c;旨在解决 Naive RAG 存在的一些问题&#xff0c;如召回率低、组装 prompt 时的冗余和重复以及灵活性不足等。它重点聚焦在检索增强&#xff0…...

【时时三省】(C语言基础)循环结构程序设计习题1

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 习题1 输入两个正整数m和n&#xff0c;求其最大公约数和最小公倍数。 解题思路&#xff1a; 求两个正整数 m 和 n 的最大公约数通常使用辗转相除法&#xff08;欧几里得算法&#xff…...

[密码学实战]SDF之设备管理类函数(一)

[密码学实战]SDF之设备管理类函数(一) 一、标准解读:GM/T 0018-2023核心要求 1.1 SDF接口定位 安全边界:硬件密码设备与应用系统间的标准交互层功能范畴: #mermaid-svg-s3JXUdtH4erONmq9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16p…...

CDGP|如何建立高效的数据治理团队?

近年来&#xff0c;数据治理行业迅速发展&#xff0c;越来越多的企业开始重视并投入大量资源来建立和完善数据治理体系。数据治理体系不仅能够帮助企业更好地管理和利用数据资源&#xff0c;提升数据质量和数据价值&#xff0c;还能够为企业带来竞争优势和可持续发展能力。 然…...

如何评价 DeepSeek 的 DeepSeek-V3 模型?

DeepSeek-V3 是由杭州 DeepSeek 公司于 2024 年 12 月 26 日发布的一款开源大语言模型&#xff0c;其性能和创新技术在国内外引起了广泛关注。从多个方面来看&#xff0c;DeepSeek-V3 的表现令人印象深刻&#xff0c;具体评价如下&#xff1a; 性能卓越 DeepSeek-V3 拥有 6710 …...

【基础篇】prometheus命令行参数详解

文章目录 本篇内容讲解命令行参数详解 本篇内容讲解 prometheus高频修改命令行参数详解 命令行参数详解 在页面的/页面上能看到所有的命令行参数&#xff0c;如图所示&#xff1a; 使用shell命令查看 # ./prometheus --help usage: prometheus [<flags>]The Promethe…...

SpringBoot实现接口防刷的5种高效方案详解

目录 前言&#xff1a;接口防刷的重要性 方案一&#xff1a;基于注解的访问频率限制 实现原理 核心代码实现 使用示例 优缺点分析 方案二&#xff1a;令牌桶算法实现限流 算法原理 核心实现 配置使用 适用场景分析 方案三&#xff1a;分布式限流&#xff08;Redis …...

DeepSearch复现篇:QwQ-32B ToolCall功能初探,以Agentic RAG为例

DeepSearch复现篇&#xff1a;QwQ-32B ToolCall功能初探&#xff0c;以Agentic RAG为例 作者&#xff1a;CyPaul Space 原文地址&#xff1a;https://zhuanlan.zhihu.com/p/30289363967 全文阅读约3分钟~ 背景 今天看到 论文&#xff1a;Search-R1: Training LLMs to Reason …...

项目实战-贪吃蛇大作战【补档】

这其实算是一个补档&#xff0c;因为这个项目是我在大一完成的&#xff0c;但是当时没有存档的习惯&#xff0c;今天翻以前代码的时候翻到了&#xff0c;于是乎补个档&#xff0c;以此怀念和志同道合的网友一起做项目的日子 ₍ᐢ ›̥̥̥ ༝ ‹̥̥̥ ᐢ₎♡ 这里面我主要负责…...

power bi获取局域网内共享文件

power bi获取局域网内共享文件 需求&#xff1a; 数据源并不一定都是在本地&#xff0c;有可能在云端&#xff0c;也有可能在其他服务器&#xff0c;今天分享如果数据源在另外一台服务器&#xff0c;如何获取数据源的方法。 明确需求&#xff1a;需要通过PowerBI获取局域网中的…...

100%提升信号完整性:阻抗匹配在高速SerDes中的实践与影响

一个高速信号SerDes通道&#xff08;例如PCIe、112G/224G-PAM4&#xff09;包含了这些片段&#xff1a; 传输线连通孔&#xff08;PTH or B/B via&#xff09;连接器高速Cable锡球&#xff08;Ball and Bump&#xff09; 我们会希望所有的片段都可以有一致的阻抗&#xff0c;…...

第六章:Tool and LLM Integration

Chapter 6: Tool and LLM Integration 从执行流到工具集成&#xff1a;如何让AI“调用真实世界的技能”&#xff1f; 在上一章的执行流框架中&#xff0c;我们已经能让多个代理协作完成复杂任务。但你是否想过&#xff1a;如果用户要求“查询实时天气”或“打开网页搜索”&…...

prompt提示词编写技巧

为什么学习prompt编写 目的&#xff1a;通过prompt的编写&#xff0c;提升LLM输出相关性、准确性和多样性&#xff0c;并对模型输出的格式进行限制&#xff0c;满足我们的业务需求。 学过提示词工程的人&#xff1a;像“专业导演”&#xff0c;通过精准指令控制 AI 输出&#…...

Nginx配置SSL详解

文章目录 Nginx配置SSL详解1. SSL/TLS 基础知识2. 准备工作3. 获取SSL证书4. Nginx SSL配置步骤4.1 基础配置4.2 配置说明 5. 常见配置示例5.1 双向认证配置5.2 多域名SSL配置 6. 安全优化建议7. 故障排查总结参考资源下载验证的完整实例 Nginx配置SSL详解 1. SSL/TLS 基础知识…...

网络安全之红队LLM的大模型自动化越狱

前言 大型语言模型&#xff08;LLMs&#xff09;已成为现代机器学习的重要支柱&#xff0c;广泛应用于各个领域。通过对大规模数据的训练&#xff0c;这些模型掌握了多样化的技能&#xff0c;展现出强大的生成与理解能力。然而&#xff0c;由于训练数据中难以完全剔除有毒内容&…...

【技术笔记】通过Cadence Allegro创建一个PCB封装(以SOT23为例)

【技术笔记】通过Cadence Allegro创建一个PCB封装&#xff08;以SOT23为例&#xff09; 一、焊盘创建二、PCB封装设计三、丝印位号及标识添加 更多内容见专栏&#xff1a;【硬件设计遇到了不少问题】、【Cadence从原理图到PCB设计】 一、焊盘创建 首先要找到元器件的相关手册&…...

新环境注册为Jupyter 内核

1. ​​确认环境是否已注册为内核​​ 在终端运行以下命令&#xff0c;查看所有已注册的内核&#xff1a; jupyter kernelspec list2. ​​为自定义环境注册内核 步骤 1&#xff1a;激活目标虚拟环境 conda activate your_env_name # 替换为你的环境名步骤 2&#xff1a;安装…...

[Spring] Seata详解

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...

使用JDK的数据校验和Spring的自定义注解校验前端传递参数的两种方法

第一种&#xff1a;JDK的数据校验注解 PostMapping("/test")public String test(QueryParam param, RequestHeader(value "App_key") String App_key,RequestHeader(value "App_secret") String App_secret) throws IOException {param.setApp…...

JS错误处理的新方案 (不使用try-catch)

错误处理一直是JavaScript开发者需要认真对待的问题&#xff0c;传统的try-catch语法虽然简单直观&#xff0c;但在异步代码中使用时存在诸多限制。 try-catch的局限性 传统try-catch模式在现代JavaScript开发中面临的问题&#xff1a; 1. 异步错误捕获的缺陷 try-catch无法…...

前端实现商品放大镜效果(Vue3完整实现)

前端实现商品放大镜效果&#xff08;Vue3完整实现&#xff09; 前言 在电商类项目中&#xff0c;商品图片的细节展示至关重要。放大镜效果能显著提升用户体验&#xff0c;允许用户在不跳转页面的情况下查看高清细节。本文将基于Vue3实现一个高性能的放大镜组件&#xff0c;完整…...

redis未授权访问漏洞学习

一、Redis常见用途 1. Redis介绍 全称与起源: Redis全称Remote Dictionary Service(远程字典服务)&#xff0c;最初由antirez在2009年开发&#xff0c;用于解决网站访问记录统计的性能问题。发展历程: 从最初仅支持列表功能的内存数据库&#xff0c;经过十余年发展已支持多种…...

阿里qiankun微服务搭建

主服务 chat vue3 ts vite 子服务 ppt react 18 vite 子服务 agent 主服务 npm i vite-plugin-qiankun mian.ts import ./style/base.scss import virtual:svg-icons-register import { createApp } from vue import { createPinia } from piniaimport App from ./App.vue im…...

【CodeSprint】第二章-2.1 简单模拟

第二章 2.1 简单模拟 ✏️ 关于专栏&#xff1a;专栏用于记录 prepare for the coding test。 1. 简单模拟 简单模拟题目不需要复杂算法&#xff0c;直接按照题意一步步模拟即可。 1.1 促销计算 题目描述 某百货公司为了促销&#xff0c;采用购物打折的优惠方法&#xff1a…...

Golang实现函数默认参数

golang原生不支持默认参数 在日常开发中&#xff0c;我们有时候需要使用默认设置&#xff0c;但有时候需要提供自定义设置 结构体/类&#xff0c;在Java我们可以使用无参、有参构造函数来实现&#xff0c;在PHP中我们也可以实现(如 public function xxx($isCName false, $sec…...

【Python Web开发】03-HTTP协议

文章目录 1. HTTP协议基础1.1 请求-响应模型1.2 请求方法1.3 请求和响应结构1.4 状态码 2. Python 发送 HTTP 请求2.1 urllib库2.2 requests 库 3. Python 构建 HTTP 服务器3.1 http.server模块3.2 Flask 框架 4. HTTP 协议的安全问题5. 缓存和性能优化 HTTP&#xff08;Hypert…...

提高营销活动ROI:大数据驱动的精准决策

提高营销活动ROI:大数据驱动的精准决策 大家好,我是Echo_Wish。今天我们来聊聊如何通过大数据来提高营销活动的ROI(投资回报率)。我们都知道,随着市场的日益竞争,营销的成本不断增加,如何在这片红海中脱颖而出,不仅需要精准的营销策略,还需要依靠先进的技术,尤其是大…...

前端excel导出

在数据可视化和管理日益重要的今天&#xff0c;前端实现 Excel 导出功能已经成为众多项目中的刚需。 一、Excel 导出的常见场景​ 数据报表导出&#xff1a;在企业管理系统、数据分析平台中&#xff0c;用户经常需要将系统中的数据以 Excel 表格的形式导出&#xff0c;便于离…...

pymsql(SQL注入与防SQL注入)

SQL注入&#xff1a; import pymysql# 创建数据库连接 返回一个对象 conn pymysql.connect(host"localhost", # MySQL服务器地址 本地地址 127.0.0.1user"root", # 用户名 &#xff08;账号&#xff09;password"155480", # 密码database&qu…...

基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统

项目描述 本系统包含管理员和学生两个角色。 管理员角色&#xff1a; 个人中心管理&#xff1a;管理员可以管理自己的个人信息。 高校信息管理&#xff1a;管理员可以查询、添加或删除高校信息&#xff0c;并查看高校详细信息。 学生管理&#xff1a;管理员可以查询、添加或…...

delphi使用sqlite3

看了一下delphi调用sqlite3最新版本的调用&#xff0c;网上说的都很片面&#xff0c;也没有完整的资料了。 我自己研究了一下&#xff0c;分享出来。 在调用demo中&#xff0c;官方也给了一个demo但是功能很少&#xff0c;没有参考价值。 1.定义&#xff1a; 首先把sqlite3…...

高压开关柜局部放电信号分析系统

高压开关柜局部放电信号分析系统 - 开发笔记 1. 项目概述 这个项目是我在2025年实现的高压开关柜局部放电信号分析系统&#xff0c;目的是通过采集分析局部放电信号&#xff0c;判断设备的工作状态和潜在故障。系统包含从信号模拟生成、特征提取、到深度学习模型训练的全流程…...

ai环境conda带torch整体迁移。

conda打包好的GPU版torch环境&#xff0c;其实很简单&#xff0c;就是conda装好的torch环境env整体打包&#xff0c;然后到新机器上再解压到env路径。 打开搭建好的环境&#xff0c;找自己路径&#xff0c;我默认的是这个。 cd/root/anaconda3/envs/ 然后整个文件夹打包。tar -…...

电价单位解析与用电设备耗电成本计算

一、电价单位 元/kWh 的解析 定义&#xff1a; 元/kWh 表示每千瓦时电能的费用&#xff0c;即1度电的价格。例如&#xff0c;若电价为0.5元/kWh&#xff0c;则使用1千瓦的电器1小时需支付0.5元。 电价构成&#xff1a; 中国销售电价由四部分组成&#xff1a; 上网电价&#xf…...

辛格迪客户案例 | 华道生物细胞治疗生产及追溯项目(CGTS)

01 华道&#xff08;上海&#xff09;生物医药有限公司&#xff1a;细胞治疗领域的创新先锋 华道&#xff08;上海&#xff09;生物医药有限公司&#xff08;以下简称“华道生物”&#xff09;是一家专注于细胞治疗技术研发与应用的创新型企业&#xff0c;尤其在CAR-T细胞免疫…...

C++(初阶)(十三)——继承

继承 继承概念示例 定义格式 继承和访问方式继承方式访问方式实例 继承类模板基类和派生类之间的转换继承中的作用域隐藏规则选择题 派生类的默认成员函数默认成员函数派生类中的实现 实现一个不能被继承的类继承与友元继承与静态成员多继承及其菱形继承问题虚继承多继承指针偏…...

S09-电机运行时间

感谢粉丝网友的支持&#xff0c;也欢迎你们的讨论和分享。昨天我们简单讨论了一下标准功能块的重要性&#xff0c;仅仅是拿电机块举了一个例子&#xff0c;有粉丝问能否把电机运行时间做到块里面&#xff0c;完善一下功能呢&#xff1f;那是绝对当然的100%可以的啊&#xff01;…...