《大语言模型》学习笔记(三)
GPT系列模型的技术演变
2022 年11月底,OpenAI推出了基于大语言模型的在线对话应用—ChatGPT。由于具备出色的人机对话能力和任务解决能力,ChatGPT一经发布就引发了全社会对于大语言模型的广泛关注,众多的大语言模型应运而生,并且数量还在不断增加。
GPT 系列模型的基本原理是训练模型学习恢复预训练文本数据,将广泛的世界知识压缩到仅包含解码器(Decoder-Only)的Transformer 模型中,从而使模型能够学习获得较为全面的能力。其中,两个关键要素是:
(1)训练能够准确预测下一个词的Transformer(只包含解码器)语言模型;
(2)扩展语言模型的规模以及扩展预训练数据的规模。
图2.2展示了GPT系列模型的技术演进示意图,这里主要根据OpenAI的论文、博客文章和官方API说明的信息进行绘制。该图中实线表示在两个模型之间的进化路径上存在明确的证据(例如,官方声明新模型是基于基础模型开发的),而虚线表示相对较弱的进化关系。截止到目前,OpenAI对大语言模型的研发历程大致可分为四个阶段:早期探索阶段、路线确立阶段、能力增强阶段以及能力跃升阶段。
早期探索
(1) GPT-1
2017 年,Google 推出 Transformer 模型后,OpenAI 团队马上意识
到这种神经网络架构将显著优于传统序列神经网络的性能,有可能对于研发大型神经网络产生重要的影响。他们很快着手使用Transformer架构研发语言模型,并于2018 年发布了第一个GPT模型,即GPT-1,模型名称GPT是生成式预训练(Generative Pre-Training)的缩写。GPT-1 基于生成式、仅有解码器的 Transformer
架构开发,奠定了GPT系列模型的核心架构与基于自然语言文本的预训练方式,即预测下一个词元。由于当时模型的参数规模还相对较小,模型仍然缺乏通用的任务求解能力,因而采用了无监督预训练和有监督微调相结合的范式。
与GPT-1同期发布的预训练语言模型是大名鼎鼎的BERT模型。BERT与GPT-1虽然都采用了基于Transformer架构的预训练学习方式,但是它主要面向自然语言理解任务(Natural Language Understanding, NLU),为此只保留了Transformer中的编码器,其中BERT-Large模型在众多的自然语言理解任务上取得了非常重要的提升,成为当时备受瞩目的“明星模型”。可以说,BERT当时引领了自然语言处理社区的研究
浪潮,涌现了大量针对它改进与探索的工作。由于GPT-1模型规模实际上与小规模的BERT-Base模型相当(100M左右参数),在公开评测数据集合上的性能尚不能达到当时众多竞争模型中的最优效果,没有引起学术界的足够关注。
(2)GPT-2
GPT-2 沿用了GPT-1 的类似架构,将参数规模扩大到1.5B,并使用大规模网页数据集WebText进行预训练。与GPT-1不同,GPT-2旨在探索通过扩大模型参数规模来提升模型性能,并且尝试去除针对特定任务所需要的微调环节。GPT-2的论文中得到了着重论述,它试图使用无监督预训练的语言模型来解决各种下游任务,进而不需要使用标注数据进行显式的模型微调。形式化来说,多任务学习(Multi-taskLearning)可以通过一种较为通用的概率形式刻画,即𝑃(output|input,task)——根据输入和任务信息来预测输出。为了建立通用的多任务学习框架,GPT系列模型将输入、输出和任务信息都通过自然语言形式进行描述,进而后续任务的求解过程就可以看作是任务方案(或答案)的文本生成问题。
OpenAI团队在GPT-2的论文中还尝试解释无监督预训练在下游任务中取得良好效果的原因:“由于特定任务的有监督学习目标与无监督学习目标(语言建模)在本质上是相同的(预测下一个词元),主要区别就在于它们只是在全部训练数据的子集上进行优化,因此对于特定下游任务而言,优化无监督的全局学习目标本质上也是在优化有监督的任务学习目标”。
规模扩展
虽然GPT-2的初衷是成为一个“无监督多任务学习器”,但在很多任务上与有监督微调方法相比,模型效果整体上还是要逊色一些。在GPT-2基础上,GPT-3针对(几乎相同的)模型参数规模进行了大幅扩展,在下游任务中初步展现出了一定的通用性(通过上下文学习技术适配下游任务),为后续打造更为强大的模型确立了关键的技术发展路线。
OpenAI在2020年发布了GPT-3模型,将模型参数扩展到了175B的规模。与GPT-2相比,GPT-3直接将参数规模提升了100余倍,对于模型扩展在当时给出了一个极限尝试。
在GPT-3的论文中,它正式提出了“上下文学习”这一概念,使得大语言模型可以通过少样本学习的方式来解决各种任务。上下文学习可以指导大语言模型学会“理解”自然语言文本形式描述的新任务,从而消除了针对新任务进行微调的需要。基于这一学习范式,大语言模型的训练与利用可以通过语言建模的形式进行统一描述:模型预训练是在给定上下文条件下预测后续文本序列,模型使用则是根据任务描述以及示例数据来推理正确的任务解决方案。GPT-3不仅在各种自然语言处理任务中表现出了优异的效果,对于一些需要复杂推理能力或领域适配能力的特定任务也具有较好的解决能力。虽然GPT-3的论文没有明确提出上下文学习能力是大语言模型的涌现能力,但是指出了上下文学习对于大模型的性能增益会更加显著,而对于小模型来说则收益较小。
总体而言,GPT-3可以被看作从预训练语言模型到大语言模型演进过程中的一个重要里程碑,它证明了将神经网络扩展到超大规模可以带来大幅的模型性能提升,并且建立了以提示学习方法为基础技术路线的任务求解范式。
能力增强
由于具有较强的模型性能,GPT-3成为OpenAI开发更强大的大语言模型的研究基础。根据公开资料披露的内容来说,OpenAI探索了两种主要途径来改进GPT-3 模型,即代码数据训练和人类偏好对齐。
(1)代码数据训练.
原始的GPT-3模型的复杂推理任务能力仍然较弱,如对于编程问题和数学问题的求解效果不好。为了解决这一问题,OpenAI于2021年7月推出Codex,这是一个在大量GitHub代码数据集合上微调的GPT模型。实验结果表明,Codex可以解决非常困难的编程问题,还能显著提升大模型解决数学问题的能力[48]。此外,2022年1月OpenAI还公开了一种用于训练文本和代码嵌入的对比方法[49],结果表明该方法能够改善一系列相关任务的性能,包括线性探测分类、文本搜索和代码搜索等。
根据OpenAI所发布的API信息所示,GPT-3.5模型是在基于代码训练的GPT模型(即code-davinci-002)基础上开发的,这表明在代码数据上进行训练有助于提高GPT模型的综合性能,尤其是代码能力。另一个可能的启发是对于可用于预训练的数据范围的扩展,可能并不局限于自然语言形式表达的文本数据。
(2)人类对齐
在2020年,OpenAI研究团队将人类对齐算法应用于提升自然语言处理任务上的能力,训练了一个根据人类偏好进行优化的摘要模型[52]。以这些前期工作为基础上,2022年1月,OpenAI正式推出InstructGPT[28]这一具有重要影响力的学术工作,旨在改进GPT-3模型与人类对齐的能力,正式建立了基于人类反馈的强化学习算法,即RLHF算法。值得一提的是,在OpenAI的论文和相关文
档中,很少使用“指令微调”(InstructionTuning)一词,主要是使用“监督微调”一词(即基于人类反馈的强化学习算法的第一步)。除了提高指令遵循能力,基于人类反馈的强化学习算法有助于缓解有害内容的生成,这对于大语言模型在实际应用中的安全部署非常重要。
OpenAI在一篇技术博客文章中描述了他们对齐
研究的技术路线[53],并总结了三个有前景的研究方向:训练人工智能系统以达到(1)使用人类反馈、(2)协助人类评估和(3)进行对齐研究。
性能跃升
在历经上述近五年的重要探索,OpenAI自2022年底开始发布了一系列重要的技术升级,其中具有代表性的模型是ChatGPT、GPT-4以及GPT-4V/GPT-4Turbo,这些模型极大提高了现有人工智能系统的能力水平,成为了大模型发展历程中的重要里程碑。
(1) ChatGPT. 2022 年11月,OpenAI发布了基于GPT模型的人工智能对话应用服务ChatGPT。
主要是沿用了InstructGPT(原帖中称ChatGPT为“InstructGPT的兄弟模型”)的训练技术,但是对于对话能力进行了针对性优化。在训练数据的收集过程中,ChatGPT将人类生成的对话数据(同时扮演用户和人工智能的角色)与训InstructGPT的相关数据进行结合,并统一成对话形式用于训练ChatGPT。
ChatGPT在与人机对话测试中展现出了众多的优秀能力:拥有丰富的世界知识、复杂问题的求解能力、多轮对话的上下文追踪与建模能力、与人类价值观对齐的能力等。在后续的版本更迭中,ChatGPT进一步又支持了插件机制,通过现有工具或应用程序扩展了它的功能,能够超越以往所有人机对话系统的能力水平。ChatGPT一经推出就引发了社会的高度关注,对于人工智能的未来研究产生了重要影响。
(2) GPT-4
GPT-4首次将GPT 系列模型的输入由单一文本模态扩展到了图文双模态。总体来说,GPT-4在解决复杂任务方面的能力显著强于GPT-3.5,在一系列面向人类的考试中都获得了非常优异的结果。GPT-4发布后,微软的研究团队针对其进行了大规模人类生成问题的性能测试,实验结果表明GPT-4具有令人震撼的模型性能,论文作者认为GPT-4的到来展现出了通用人工智能的曙光。此外,由于进行了为期六个月的迭代对齐(在基于人类反馈的强化学习中额外增加了安全奖励信号),GPT-4对恶意或挑衅性查询的响应更加安全。GPT-4搭建了完备的深度学习训练基础架构,进一步引入了可预测扩展的训练机制,可以在模型训练过程中通过较少计算开销来准确预测模型的最终性能。
(3)GPT-4V、GPT-4Turbo以及多模态支持模型
GPT-4V重点关注GPT-4视觉能力的安全部署。在GPT-4V的系统说明中,广泛讨论了与视觉输入相关的风险评估手段和缓解策略。GPT-4V在多种应用场景中表现出了强大的视觉能力与综合任务解决能力。
为GPT-4Turbo,引入了一系列技术升级:提升了模型的整体能力(比GPT-4更强大),扩展了知识来源(拓展到2023年4月),支持更长上下文窗口(达到128K),优化了模型性能(价格更便宜),引入了若干新的功能(如函数调用、可重复输出等)。
AssistantsAPI功能也被推出,旨在提升人工智能应用助手的开发效率,开发人员可以利用特定的指令、外部知识和工具,在应用程序中快速创建面向特定任务目标的智能助手。
新版本的GPT模型还进一步增强了多模态能力,分别由GPT-4TurbowithVision、DALL·E-3、TTS(Text-to-speech)以及 Listen to voice samples 等支持实现。这些技术升级进一步提高了GPT模型的任务性能,扩展了GPT模型的能力范围。更重要的是,随着模型性能和支撑功能的改进,极大地加强了以GPT模型所形成的大模型应用生态系统。
尽管GPT系列模型取得了巨大的科研进展,这些最前沿的大语言模型仍然存在一定的局限性。例如,GPT模型可能在某些特定上下文中生成带有事实错误的内容(即幻觉)或存在潜在风险的回应。从人工智能的发展历程来看,开发能力更强、更安全的大语言模型是一项长期的研究挑战。为了有效降低使用模型的潜在风险,OpenAI 采用了迭代部署策略,通过多阶段开发和部署的生命周期来研发模型与产品。
相关文章:
《大语言模型》学习笔记(三)
GPT系列模型的技术演变 2022 年11月底,OpenAI推出了基于大语言模型的在线对话应用—ChatGPT。由于具备出色的人机对话能力和任务解决能力,ChatGPT一经发布就引发了全社会对于大语言模型的广泛关注,众多的大语言模型应运而生,并且…...
华为OD机试 - 最长回文字符串 - 贪心算法(Java 2024 E卷 100分)
题目描述 如果一个字符串正读和反读都一样(大小写敏感),则称之为一个「回文串」。例如: level 是一个「回文串」,因为它的正读和反读都是 level。art 不是一个「回文串」,因为它的反读 tra 与正读不同。Level 不是一个「回文串」,因为它的反读 leveL 与正读不同(因大小…...
K8S-etcd服务无法启动问题排查
一、环境、版本信息说明 k8s:v1.19.16 etcdctl version: 3.5.1 3台etcd(10.xxx.xx.129、10.xxx.xx.130、10.xxx.xx.131)组成的集群。 二、问题根因 129节点的etcd数据与其他两台数据不一致,集群一致性校验出错导致无法加入集…...
基于WebRTC的嵌入式音视频通话SDK:EasyRTC跨平台兼容性技术架构实时通信的底层实现
EasyRTC的核心架构围绕WebRTC技术构建,同时通过扩展信令服务、媒体服务器和NAT穿透机制,解决了WebRTC在实际部署中的痛点。其架构可以分为以下几个核心模块: 1)WebRTC基础层 媒体捕获与处理:通过getUserMediaAPI获取…...
SpringBoot-已添加并下载的依赖,reload和mvn clean 后还是提示找不到jar包问题
背景: 添加spring-jdbc依赖时,原来是指定版本的,担心版本冲突,就改成依赖托管,悲剧的是反复reload和mvn clean,import到类的该包一直标红,提示jar包找不到。。。 解决方案: Idea左上…...
HTML5扫雷游戏开发实战
HTML5扫雷游戏开发实战 这里写目录标题 HTML5扫雷游戏开发实战项目介绍技术栈项目架构1. 游戏界面设计2. 核心类设计 核心功能实现1. 游戏初始化2. 地雷布置算法3. 数字计算逻辑4. 扫雷功能实现 性能优化1. DOM操作优化2. 算法优化 项目亮点技术难点突破1. 首次点击保护2. 连锁…...
机器学习——数据清洗(缺失值处理、异常值处理、数据标准化)
数据清洗(缺失值处理、异常值处理、数据标准化) 在数据处理与分析流程中,数据清洗占据着极为关键的地位。原始数据往往充斥着各种问题,如缺失值、异常值,且数据的尺度和分布也可能存在差异,这些问题会严重影响后续数据分析和机器学习模型的准确性与性能。因此,有效的数据…...
【综述】An Introduction to Vision-Language Modeling【一】
介绍 发表在预印本上的综述,长达76页,其中正文46页。 来自Meta 在Meta工作期间完成 ‡蒙特利尔大学, Mila ♡麦吉尔大学, Mila †多伦多大学 ♠卡内基梅隆大学 ♣麻省理工学院 ∧纽约大学 △加州大学伯克利分校 ▽马里兰大学 ♢阿卜杜拉国王科技大学 •…...
MySQL常用函数详解及SQL代码示例
MySQL常用函数详解及SQL代码示例 引言当前日期和时间函数字符串函数数学函数聚合函数结论 引言 MySQL作为一种广泛使用的关系型数据库管理系统,提供了丰富的内置函数来简化数据查询、处理和转换。掌握这些函数可以大大提高数据库操作的效率和准确性。本文将详细介绍…...
Unity教程(二十二)技能系统 分身技能
Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程&…...
RTSPtoWeb, 一个将rtsp转换成webrtc的开源项目
RTSPtoWeb是一个开源项目,旨在将RTSP流转换为可在现代web浏览器中消费的格式,如Media Source Extensions (MSE)、WebRtc或HLS。该项目完全使用golang编写,不依赖于ffmpeg或gstreamer,确保了高效的性能和轻量…...
AIAgent有哪些不错的开源平台
AIAgent领域有许多优秀的开源平台和框架,以下是一些值得推荐的开源平台: AutoGPT AutoGPT 是一个基于 OpenAI 的 GPT-4 和 GPT-3.5 大型语言模型的开源框架,能够根据用户给定的目标自动生成所需提示,并利用多种工具 API 执行多步骤…...
Java---JavaSpringMVC解析(1)
Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC" 1.MVC MVC是Model View Controller的缩写&#…...
Vector 的模拟实现:从基础到高级
文章目录 1. 引言2. vector的核心设计3. vector的常用接口介绍3.1 构造函数和析构函数3.1.1 默认构造函数3.1.2 带初始容量的构造函数3.1.3 析构函数 3.2 拷贝构造函数和拷贝赋值运算符3.2.1 拷贝构造函数3.2.2 拷贝赋值运算符 3.5 数组长度调整和动态扩容3.5.1 调整大小&#…...
【大模型科普】大模型:人工智能的前沿(一文读懂大模型)
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT&…...
[漏洞修复]用yum update修openssh漏洞
[漏洞修复]用yum update修openssh漏洞 1. 需求2. 更新Yum仓库2.1 生成本地仓库2.2 生成内网仓库2.3 将Openssh的包更新到仓库 3. 客户端升级3.1 客户端repo文件配置3.2 升级Openssh3.3 升级后的确认 1. 需求 最近经常有朋友问Openssh 漏洞修复的问题,我也在自己的gitee仓库里更…...
[RH342]iscsi配置与排错
[RH342]iscsi配置与排错 1. 服务端配置1.1 安装targetcli1.2 准备磁盘1.3 服务端配置1.4 防火墙配置 2. 客户端配置2.1 安装客户端软件2.2 配置客户端2.3 连接登录服务端2.4 挂载使用 3. 安全验证扩展3.1 服务端3.2 客户端 4. 常见的排错点4.1 服务端常见错误4.2 客户端常见错误…...
Nginx 代理访问一个 Web 界面时缺少内容
1. 资源路径问题 Web 页面中的静态资源(如图片、CSS、JavaScript 文件)可能使用了相对路径或绝对路径,而这些路径在代理后无法正确加载。 解决方法: 检查资源路径:打开浏览器的开发者工具(按 F12…...
HOVER:人形机器人的多功能神经网络全身控制器
编辑:陈萍萍的公主一点人工一点智能 HOVER:人形机器人的多功能神经网络全身控制器HOVER通过策略蒸馏和统一命令空间设计,为人形机器人提供了通用、高效的全身控制框架。https://mp.weixin.qq.com/s/R1cw47I4BOi2UfF_m-KzWg 01 介绍 1.1 摘…...
SEO新手基础优化三步法
内容概要 在网站优化的初始阶段,新手常因缺乏系统性认知而陷入技术细节的误区。本文以“三步法”为核心框架,系统梳理从关键词定位到内容布局、再到外链构建的完整优化链路。通过拆解搜索引擎工作原理,重点阐明基础操作中容易被忽视的底层逻…...
遨游科普:三防平板是哪三防?有哪些应用场景?
在工业智能化与数字化转型的浪潮中,电子设备的耐用性和环境适应性成为关键需求。普通消费级平板电脑虽然功能强大,但在极端环境下往往“水土不服”。而三防平板凭借其独特的防护性能,正逐步成为“危、急、特”场景的核心工具。 AORO P300 Ult…...
Etcd 服务搭建
💢欢迎来到张胤尘的开源技术站 💥开源如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 Etcd 服务搭建预编译的二进制文件安装下载 etcd 的…...
C++《红黑树》
在之前的篇章当中我们已经了解了基于二叉搜索树的AVL树,那么接下来在本篇当中将继续来学习另一种基于二叉搜索树的树状结构——红黑树,在此和之前学习AVL树类似还是通过先了解红黑树是什么以及红黑树的结构特点,接下来在试着实现红黑树的结构…...
Axios 请求取消:从原理到实践
Axios 请求取消:从原理到实践 在现代前端开发中,网络请求是不可或缺的一部分。Axios 是一个基于 Promise 的 HTTP 客户端,广泛应用于浏览器和 Node.js 环境中。然而,在某些场景下,我们可能需要取消正在进行的请求&…...
【css酷炫效果】纯CSS实现照片堆叠效果
【css酷炫效果】纯CSS实现照片堆叠效果 缘创作背景html结构css样式完整代码基础版进阶版(增加鼠标悬停查看) 效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492022 缘 创作随缘,不定时更新。 创…...
论文精度:Transformers without Normalization
前言 论文题目:Transformers without Normalization 作者:Jiachen Zhu 1,2 , Xinlei Chen 1 , Kaiming He 3 , Yann LeCun 1,2 , Zhuang Liu 1,4,† 论文地址:https://arxiv.org/pdf/2503.10282 摘要 这篇论文探讨了现代神经网络中广泛使用的归一化层是否是必不可少的。…...
基于香橙派 KunpengPro学习CANN(3)——pytorch 模型迁移
通用模型迁移适配可以分为四个阶段:迁移分析、迁移适配、精度调试与性能调优。 迁移分析 迁移支持度分析: 准备NPU环境,获取模型的源码、权重和数据集等文件;使用迁移分析工具采集目标网络中的模型/算子清单,识别第三方…...
微软远程桌面即将下架?Splashtop:更稳、更快、更安全的 RDP 替代方案
近日,Windows 官方博客宣布:将于2025年5月27日起,在 Windows 10 和 Windows 11 应用商店中下架“Microsoft 远程桌面”应用,建议用户迁移至新的 Windows App。这一变动引发了广大用户对远程访问解决方案的关注。作为全球领先的远程…...
【Python】Python与算法有应用关系吗?
李升伟 整理 是的,Python与算法有着密切的应用关系。Python作为一种高级编程语言,因其简洁的语法和强大的库支持,被广泛应用于算法设计、实现和应用中。以下是Python与算法之间的一些主要应用关系: 1. 算法学习与教学࿱…...
js,html,css,vuejs手搓级联单选
<!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>级联选择器</title><script src"h…...
将Django连接到mysql
将Django连接到mysql 文章目录 将Django连接到mysql一.按照我的文章 在Django模型中的Mysql安装 此篇 的步骤完成mysql的基础配置二.Django配置 一.按照我的文章 ‘在Django模型中的Mysql安装’ 此篇 的步骤完成mysql的基础配置 基础配置具体内容 1.打开PowerShell 安装mysql的…...
每天五分钟深度学习框架pytorch:基于pytorch搭建循环神经网络RNN
本文重点 我们前面介绍了循环神经网络RNN,主要分析了它的维度信息,其实它的维度信息是最重要的,一旦我们把维度弄清楚了,一起就很简单了,本文我们正式的来学习一下,如何使用pytorch搭建循环神经网络RNN。 RNN的搭建 在pytorch中我们使用nn.RNN()就可以创建出RNN神经网络…...
【力扣刷题实战】无重复的最长字串
大家好,我是小卡皮巴拉 文章目录 目录 力扣题目: 无重复的最长字串 题目描述 解题思路 问题理解 算法选择 具体思路 解题要点 完整代码(C) 兄弟们共勉 !!! 每篇前言 博客主页&#x…...
vulhub/joker 靶机----练习攻略
1. 靶机下载地址 https://download.vulnhub.com/ha/joker.zip 下载下来是ova文件,直接双击,在VMware打开,选择保存位置,点击导入。 2. 设置网卡模式为NAT,打开靶机 3.老规矩,打开kali,扫同C…...
Nuxt2 vue 给特定的页面 body 设置 background 不影响其他页面
首先认识一下 BODY_ATTRS 他可以在页面单独设置 head () {return {bodyAttrs: {form: form-body}};},设置完效果是只有这个页面会加上 接下来在APP.vue中添加样式...
【Go】运算符笔记
基本数学运算 Go 语言支持常见的 算术运算符,用于执行数学计算。 运算符说明加法-减法*乘法/除法%取余自增--自减 整数运算只能得到整数部分 package mainimport ("fmt""math" )func main() {go_math() }func go_math() {x, y : 8, 5fmt.Pr…...
常见的前端安全问题
前端安全是 Web 开发中至关重要的一环,以下是常见的前端安全问题及对应的防御措施: 1. XSS(跨站脚本攻击) 攻击原理 攻击者向页面注入恶意脚本(如 JavaScript),在用户浏览器中执行,…...
基于Spring Boot的项目申报系统的设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
SPI驱动(九) -- SPI_Master驱动程序
文章目录 参考资料:一、SPI传输概述二、SPI传输的两种方法2.1 旧方法2.2 新方法 参考资料: 参考资料: 参考内核源码: drivers\spi\spi.c 一、SPI传输概述 SPI控制器的作用是发起与它下面挂接的SPI设备之间的数据传输,那么控制…...
Transformer网络发展概述2025.3.18
一.Transformer概述 1.1 定义与原理 Transformer是一种基于自注意力机制的深度学习模型,在处理序列数据时表现卓越。其核心原理包括: 自注意力机制 :允许模型同时考虑输入序列中的所有位置,捕捉语义关系多头注意力 :…...
3.4 二分查找专题:LeetCode 69. x 的平方根
1. 题目链接 LeetCode 69. x 的平方根 2. 题目描述 给定一个非负整数 x,计算并返回 x 的平方根的整数部分(向下取整)。 示例: 输入:x 4 → 输出:2输入:x 8 → 输出:2࿰…...
机器人曲面跟踪Surface-Tracking
定义 机器人曲面跟踪(Surface-Tracking)是指机器人通过实时感知工件曲面的三维形貌,动态调整运动轨迹和位姿,以精确跟随曲面进行加工(如打磨、抛光、喷涂等)的技术。 力 - 位姿协同控制 力控模式ÿ…...
opencv中stitch图像融合
openv版本: opencv249 vs :2010 qt : 4.85 #include "quanjing.h"#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <open…...
深入解析ES6+新语法:复杂的迭代器与生成器
一、迭代器(Iterator):数据遍历的统一协议 1. 迭代器协议的本质 **迭代器协议(Iterator Protocol)** 是一种标准化的数据访问接口,它要求对象实现一个 next() 方法,每次调用返回包含 { valu…...
【C语言】自定义类型:结构体
一、结构体类型的声明 我们前面学习操作符的时候已经接触过结构体了,下面我们回顾一下结构体的基本内容。 创建结构体的语法如上所示: struct是创建结构体的关键字,然后tag就是我们结构体的名称,member-list是结构体的成员列表&…...
微服务即时通信系统---(五)框架学习
目录 ODB 介绍 安装 build2安装 odb-compiler安装 ODB运行时库安装 mysql和客户端开发包安装 boost profile库安装 总体打包安装 总体卸载 总体升级 头文件包含和编译时指明库 ODB常见操作介绍 类型映射 ODB编程 类与接口介绍 mysql连接池对象类 mysql客户端…...
蓝桥杯练习day1:自除数
前言 自除数 是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为 128 % 1 0,128 % 2 0,128 % 8 0。 自除数 不允许包含 0 。 给定两个整数 left 和 right ,返回一个列表,列表的元素…...
0基础 | 上下拉电阻典型应用场景
三极管典型运用: 上拉电阻 下拉电阻 限流电阻 此处开关为三极管 左侧电阻:驱动电阻【限流电阻】 (控制mos管) 下面电阻:下拉电阻【关断电阻】 %%作用1: (因为IO口输出信号分为低电平&…...
MySQL数据高效同步到Elasticsearch的四大方案
目录 引言 一、为什么需要MySQL到ES的同步? 二、四大同步方案对比 三、方案详解与代码实战 1. 应用层双写:简单但强耦合 2. 定时任务同步:可控的准实时 3. Logstash JDBC:离线迁移利器 4. Binlog监听:生产级实…...
Docker详解
云是一种服务理念。在云里docker是业务的最小载体 doker是管理容器的引擎,为应用打包、部署平台、而非单纯的虚拟化技术 1.轻量级虚拟化 2.一致性 4.高效的资源利用 5.易于部署和扩展 docker和虚拟机的区别: 虚拟机:真机需要一个操作系…...