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

LLMs之ICL:《Bayesian scaling laws for in-context learning》翻译与解读

LLMs之ICL:《Bayesian scaling laws for in-context learning》翻译与解读

导读:这篇论文的核心议题是理解和建模大型语言模型(LLM)的上下文学习(ICL)能力。文章从贝叶斯学习的角度出发,提出了一套新的贝叶斯缩放定律来解释和预测ICL的表现。

>> 背景痛点:上下文学习(ICL)是LLM的一种强大能力,无需额外训练即可执行复杂任务,但现有研究对ICL性能与上下文示例数量之间的关系(ICL曲线)缺乏清晰的解释和预测模型。

● 无法准确预测ICL曲线的形状,这阻碍了对多样本ICL策略的有效性评估、预测潜在的对齐失败(例如多样本越狱攻击),以及确定抑制LLM不良行为所需微调的程度。

● 现有研究对ICL的底层学习机制存在多种假设(贝叶斯学习、梯度下降等),缺乏统一的理论框架

● 后训练方法(如微调)在提高LLM安全性方面效果有限,ICL容易使被抑制的行为重新出现,这需要更深入的理解。

>> 具体的解决方案:论文提出了一套贝叶斯缩放定律来建模ICL曲线。该定律基于以下假设:ICL近似于贝叶斯学习器。通过贝叶斯定理,该定律将预测准确率与上下文示例数量联系起来,并包含可解释的参数,用于表示任务先验、学习效率和每个示例的概率。

>> 核心思路步骤

● 贝叶斯模型的建立:将ICL建模为一个贝叶斯模型,包含符号集、任务集、任务先验概率分布和似然函数。

● 贝叶斯定理的应用:利用贝叶斯定理更新任务后验概率,随着上下文示例数量的增加,后验概率收敛到最可能的任务。

● ICL曲线的推导:推导出一个函数形式的贝叶斯缩放定律,该定律将上下文示例数量与下一个示例的预期概率联系起来。

● 模型简化和效率系数的引入:为了降低参数数量并考虑示例长度和信息量的影响,对原始定律进行了简化,引入了ICL效率系数K。

● 参数绑定策略:为了减少无法观测的参数数量,提出了两种参数绑定策略:基于采样和基于评分,降低了模型复杂度。

>> 优势

● 更高的精度:实验结果表明,贝叶斯缩放定律在ICL曲线的插值和外推方面,都优于现有的基于幂律的缩放定律

● 可解释性:该定律的参数具有可解释性,可以对任务先验、学习效率和每个示例的概率进行分析,从而深入理解LLM的内部机制。

>> 结论和观点

贝叶斯缩放定律能够有效地描述和预测LLM的ICL行为,无论是在人工合成的简单数据集上,还是在真实世界的大型LLM和数据集上。

● 后训练方法(如监督微调和偏好学习强化学习)主要影响任务先验,而对模型对每个任务的知识影响较小,尤其是在模型规模较大的情况下。

● ICL能力随模型规模的增加而增强,学习效率也更高。

● 指令微调降低了有害行为的任务先验概率但未能阻止多样本越狱攻击,说明单纯的指令微调可能不足以提高LLM的安全性

● 虽然论文结果支持LLM进行贝叶斯推理的观点,但这并不构成严格的证明。LLM在真实世界中可能只近似地遵循贝叶斯行为

总而言之,这篇论文提供了一种新的视角来理解和建模LLM的上下文学习能力,并提出了一种具有更高精度和可解释性的贝叶斯缩放定律。该定律为研究和改进LLM的安全性以及对齐问题提供了有价值的工具。

目录

《Bayesian scaling laws for in-context learning》翻译与解读

Abstract

1、Introduction

7、Conclusion


《Bayesian scaling laws for in-context learning》翻译与解读

地址

论文地址:https://arxiv.org/abs/2410.16531

时间

20241021最新日期2024年11月2日

作者

斯坦福大学

Abstract

In-context learning (ICL) is a powerful technique for getting language models to perform complex tasks with no training updates. Prior work has established strong correlations between the number of in-context examples provided and the accuracy of the model's predictions. In this paper, we seek to explain this correlation by showing that ICL approximates a Bayesian learner. This perspective gives rise to a family of novel Bayesian scaling laws for ICL. In experiments with \mbox{GPT-2} models of different sizes, our scaling laws exceed or match existing scaling laws in accuracy while also offering interpretable terms for task priors, learning efficiency, and per-example probabilities. To illustrate the analytic power that such interpretable scaling laws provide, we report on controlled synthetic dataset experiments designed to inform real-world studies of safety alignment. In our experimental protocol, we use SFT to suppress an unwanted existing model capability and then use ICL to try to bring that capability back (many-shot jailbreaking). We then experiment on real-world instruction-tuned LLMs using capabilities benchmarks as well as a new many-shot jailbreaking dataset. In all cases, Bayesian scaling laws accurately predict the conditions under which ICL will cause the suppressed behavior to reemerge, which sheds light on the ineffectiveness of post-training at increasing LLM safety.

上下文学习(ICL)是一种强大的技术,可以让语言模型在无需更新训练的情况下执行复杂的任务。先前的工作已经证明,提供的上下文示例的数量与模型预测准确性的相关性很强。在这篇论文中,我们试图通过证明ICL近似于贝叶斯学习者来解释这种相关性。这种观点产生了一系列新颖的贝叶斯缩放定律,用于ICL。在使用不同大小的GPT-2模型的实验中,我们的缩放定律在精度上超过了或与现有的缩放定律相匹配,同时提供了可解释的任务先验、学习效率和单个示例概率的术语。为了展示这些可解释的缩放定律的分析能力,我们报告了旨在为现实世界中的安全对齐研究提供信息的受控合成数据实验。在我们的实验协议中,我们使用SFT来抑制不想要的现有模型能力,然后使用ICL尝试恢复该能力(多示例越狱)。然后,我们在使用能力基准以及一个新的多示例越狱数据集的现实世界指令调整LLM上进行实验。在所有情况下,贝叶斯缩放定律都能准确预测ICL何时会导致被抑制的行为重新出现,这有助于阐明在提高LLM安全性方面,后训练方法的无效性。

1、Introduction

Large language models (LLMs) can infer how to perform a task given only demonstrations and without additional training updates. This capability is known as in-context learning (ICL; Brown et al., 2020; Dong et al., 2022). Under ICL, task performance generally increases with the number of demonstrations, though the precise relationship between these two quantities is unclear. We call this relationship the ICL curve and seek to model it. Being able to predict the shape of the ICL curve would help us decide whether to do many-shot ICL Agarwal et al. (2024) after testing only few-shot performance, predict potential alignment failures under many-shot jailbreaking (Anil et al., 2024), and decide how much fine-tuning we need in order to suppress ICL of undesirable behaviours.

The learning algorithm underlying ICL has been characterised as Bayesian by Xie et al. (2022) and many later works (section 2). Drawing on this line of research, we use Bayes’ theorem to derive a family of Bayesian scaling laws for ICL (section 3) which model the ICL curve of an ideal Bayesian learner.

大型语言模型(LLMs)可以在仅提供示例的情况下,无需额外的训练更新来推断如何执行任务。这种能力被称为上下文无关学习(ICL;Brown et al., 2020; Dong et al., 2022)。在ICL的情况下,随着示例数量的增加,任务性能通常会提高,尽管这两个量之间的确切关系尚不清楚。我们称这种关系为ICL曲线,并试图对其进行建模。能够预测ICL曲线的形状将有助于我们决定是否在仅测试了少量示例性能后进行ICL,预测在进行大量ICL解锁时可能出现的对齐失败(Anil et al., 2024),并决定为了抑制不需要的行为的ICL需要进行多少微调。

ICL背后的学习算法已被Xie等人(2022)和其他许多后续工作(第2节)归类为贝叶斯算法。借鉴这一研究线,我们使用贝叶斯定理推导出一组贝叶斯缩放定律(第3节),用于建模理想贝叶斯学习者的ICL曲线。

To evaluate the performance of our Bayesian laws, we model the ICL curve for gpt2 models trained on simple synthetic data following Xie et al. (2022) as well as real-world LLMs tested on standard benchmarks (section 4.1). Compared to the power laws proposed by Anil et al. (2024), our Bayesian laws achieve lower error rates on both interpolation and extrapolation of the ICL curve, while also providing interpretable parameters for the prior over tasks, the efficiency of ICL, and per-example probabilities under different tasks. In our second set of experiments (section 4.2), we present a case study using our Bayesian laws to model how post-training affects ICL of favoured and disfavoured behaviours. On toy models, we find that smaller amounts of post-training strongly change the prior over tasks but not the model’s knowledge of each task, and the amount of post-training needed to suppress ICL of disfavoured tasks increases with scale.

Finally, we present experiments on real-world LLMs ranging from 1B to 405B parameters (section 5). Our laws accurately predict the ICL behaviour of several models on both capabilities and safety benchmarks and a new many-shot jailbreaking dataset we introduce. We then compare Llama 3.1 8B Base and Instruct using one of our Bayesian scaling laws (section 5.2) and find that alignment merely reduces the prior probability of harmful behaviour but not its learnability under ICL. Our work thus introduces a tool for interpreting the task knowledge of LLMs using purely behavioural observations, which we hope is valuable for improving LLM alignment.

为了评估我们提出的贝叶斯定律的性能,我们按照Xie等人(2022)的方法以及对标准基准测试(第4.1节)进行测试的实际LLM模型,对gpt2模型在简单合成数据上的ICL曲线进行了建模。与Anil等人(2024)提出的幂定律相比,我们的贝叶斯定律在ICL曲线的插值和外推方面具有更低的误差率,同时为任务的先验、ICL的效率以及不同任务下的每例概率提供了可解释的参数。在第二组实验(第4.2节)中,我们通过使用我们的贝叶斯定律来研究后训练如何影响偏好和不偏好的行为的ICL。在玩具模型上,我们发现较小量的后训练会强烈改变任务的先验,但不会改变模型对每个任务的知识,并且抑制不偏好任务的ICL所需的后训练量随规模的增加而增加。最后,我们在从1B到405B参数的真实世界LLM上进行了实验(第5节)。我们的定律准确地预测了几种模型在能力和安全性基准上的ICL行为,以及我们引入的一个新的多示例越狱数据集。然后,我们使用其中一个贝叶斯缩放定律(第5.2节)将Llama 3.1 8B Base和Instruct进行比较,发现对齐只会降低有害行为的先验概率,但在ICL下不会降低其可学习性。因此,我们的工作引入了一种仅基于行为观察来解释LLM任务知识的工具,我们希望这对改进LLM对齐是有价值的。

7、Conclusion

In this paper, we combined two questions to make progress at understanding ICL: (1) what scaling law best describes ICL, and (2) is ICL Bayesian? We showed that Bayesian assumptions naturally lead to a scaling law for ICL, and that Bayesian scaling laws are a great fit for both ICL behaviour by small LMs trained on controlled synthetic data, as well as LLMs trained on natural language. Using a Bayesian formulation gave us interpretable parameters for the prior, learning efficiency, and task-conditional probabilities, which can help us understand how model behaviour changes under alignment. We use these to show how ICL ability varies at different model scales, understand how finetuning harms knowledge of disfavoured distributions, and compare base and instruction-tuned LLMs. We are confident that further progress on understanding ICL is possible through the empirical science of scaling laws.

在这篇论文中,我们将两个问题结合起来,以更好地理解ICL:

(1)描述ICL的最佳标度定律是什么?(2)ICL是贝叶斯的吗?

我们证明了贝叶斯假设自然地导致了ICL的标度定律,并且贝叶斯标度定律非常适合由受控合成数据训练的小型LM以及由自然语言训练的LLM的ICL行为。采用贝叶斯形式使我们能够解释先验、学习效率和任务条件概率等可解释的参数,这有助于我们理解模型行为在对齐时的变化。我们使用这些参数来展示ICL能力在不同模型规模下的变化情况,了解微调如何损害对不受欢迎分布的了解,并比较基础LLM和基于指令的LLM。我们相信,通过标度定律的实证科学,可以进一步推进对ICL的理解。

相关文章:

LLMs之ICL:《Bayesian scaling laws for in-context learning》翻译与解读

LLMs之ICL:《Bayesian scaling laws for in-context learning》翻译与解读 导读:这篇论文的核心议题是理解和建模大型语言模型(LLM)的上下文学习(ICL)能力。文章从贝叶斯学习的角度出发,提出了一…...

泷羽Sec学习笔记-Bp中ip伪造、爬虫审计

ip伪造与爬虫审计 ip伪造 下载插件:burpFakeIP 地址:GitHub - TheKingOfDuck/burpFakeIP: 服务端配置错误情况下用于伪造ip地址进行测试的Burp Suite插件 python版需要配置jython:下载地址:Maven Central: org.python:jython-…...

常用vim命令行-linux008

Vim 是一款功能强大的文本编辑器,广泛应用于编程、配置文件编辑以及日常文本处理。Vim 在其命令行模式下提供了丰富的操作命令,这些命令能够大幅提升编辑效率。以下是 Vim 中常用的命令及操作的总结,覆盖了 Vim 中的基本操作、查找、替换、文…...

Linux相关概念和易错知识点(24)(认识信号、信号捕捉)

目录 1.认识信号 (1)后台进程和前台进程 ①为什么Ctrl C能终止前台进程? ②如何终止这个后台程序? (2)信号、异步和同步 ①同步 ②异步 (3)信号的处理 2.信号捕捉 &#x…...

Scala的导入

//导入 //(1) 创建包:在src上右键,新建软件包 //(2)填写包名:小写 //(3)在包上右键,创建类。自动加入包名 //(4)导入。import 包名.类名 //导入多个类 //import jh.yuanlixueyuan.bigdata.scala03.{A,B,C} //导入包下的所有的类 /…...

strace,tcmalloc,asan使用

1、strace使用 1.1、编译strace strace开源库 解压strace-4.21.tar.xz 编译./configure --hostarm-ca9-linux-gnueabihf --prefix~/out make&&make install 1.2、参数 -c 统计每一系统调用的所执行的时间,次数和出错的次数等. -d 输出strace关于标准错误的调试信息…...

C++中多态性在实际项目中的应用场景;C++中面向对象编程实现数据隐藏的方法

1. C中多态性在实际项目中的应用场景 C中多态性是面向对象编程中的一个重要概念,它允许我们在使用基类指针或引用的情况下,调用派生类对象的特定方法。这种灵活性使得多态性在实际项目中有着广泛的应用场景,具体包括但不限于以下几个方面&am…...

【QT常用技术讲解】使用QMovie+QLabel播放gif动态图片,实现“正在加载”功能(源代码在资源中下载)

前言 界面在实现事件等待时,通过会显示一个转圈圈的动态图片,表示“正在加载”,事件完成之后关闭图片,QT中可以使用QMovieQLabel完成gif动态图片的播放及关闭的效果。 效果图 功能讲解 1、加载动画 void MainWindow::addloadgi…...

iPhone苹果相册视频怎么提取音频?

在数字时代,视频已成为我们记录生活、分享故事的重要方式。然而,有时候我们只想保留视频中的音频部分,比如一段动人的背景音乐或是一段珍贵的对话。那么,苹果相册视频怎么提取音频呢?本文将介绍三种简单且实用的方法&a…...

【PyTorch】动态调整学习率 torch.optim.lr_scheduler.StepLR 调度器

文章目录 1. torch.optim.lr_scheduler.StepLR 官方文档详解2. 使用示例2.1 官方提供使用示例2.2 自己写代码测试方法2.2.1 get_last_lr() 方法2.2.2 state_dict() 方法2.2.3 load_state_dict() 保存和加载调度器 3. 思考3.1 为什么需要state_dict()3.2 get_lr() 与 get_last_l…...

完全二叉树的节点个数

给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最…...

在销售管理中,客户跟进时会出现什么问题?如何解决?

客户跟进表是销售工作中重要的一部分,用于记录与客户的每次沟通、执行计划和合作动态。然而,在实际使用中,客户跟进表经常会出现一些问题,导致效率低下甚至客户流失。本文就从常见问题出发,一一提供措施,让…...

【代码随想录|动态规划】

一、动态规划理论基础 |、动态规划包含题目类型 (1)背包问题 (2)打家劫舍 (3)股票问题 (4)子序列问题 ||、做一道题需要掌握(动态规划5步曲)&#xff1…...

时间敏感网络与工业通信的融合:光路科技电力专用交换机和TSN工业交换机亮相EP电力展

12月7日,第三十一届中国国际电力设备及技术展览会(EP Shanghai 2024)暨上海国际储能技术应用展览会在上海新国际博览中心圆满落幕。本届展会以“数字能源赋能新质生产力”为主题,系统地呈现了电力设备行业在技术融合、转型升级及上…...

初识Linux · 系统编程done

目录 前言: 死锁 可重入函数 读写锁 自旋锁 前言: 本文作为Linux系统编程的收尾工作,介绍的是些零碎的概念,比如死锁,可重入函数,自旋锁,读写锁等,其中死锁概念要重要些&#…...

JavaScript函数式编程: 实现不可变数据结构

# JavaScript函数式编程: 实现不可变数据结构 什么是不可变数据结构 在计算机编程中,不可变数据结构指的是数据一旦创建就不可更改或者修改。这意味着我们不能在原始数据上进行增删改操作,而是需要创建一个新的数据结构来代替原始数据进行操作。 为什么要…...

union find算法 c++

1.原理参考 labuladong-fucking-algorithm/算法思维系列/UnionFind算法详解.md at master jiajunhua/labuladong-fucking-algorithm GitHub 2.初级模式 #include <iostream>class UF {public:// 记录连通分量/* 构造函数&#xff0c;n 为图的节点总数 */UF(int n) {…...

路径规划 | 改进的人工势场法APF算法进行路径规划(Matlab)

目录 效果一览基本介绍程序设计参考文献 效果一览 基本介绍 改进的人工势场法&#xff08;APF&#xff09;路径规划算法 在路径规划中&#xff0c;人工势场法&#xff08;APF&#xff09;是一种常见的方法&#xff0c;但传统的APF算法容易陷入局部极小值&#xff0c;导致路径规…...

ES语句——DSL(kibana语句)

一、查询操作 查看当前索引的数据结构 _mapping Get ai-open-log*/_mapping 查询当前索引下的文档数以及分片信息 _count Get ai-open-log*/_count { "count": 12345, //当前索引下的文档总数 "_shards": { //分片信息 "total&…...

y3编辑器教学5:触发器2 案例演示

文章目录 一、探索1.1 ECA1.1.1 ECA的定义1.1.2 使用触发器实现瞬间移动效果 1.2 变量1.2.1 什么是变量1.2.2 使用变量存储碎片收集数量并展现 1.3 if语句&#xff08;魔法效果挂接&#xff09;1.3.1 地形设置1.3.2 编写能量灌注逻辑1.3.3 编写能量灌注后&#xff0c;实现传送逻…...

MVC配置文件及位置

配置文件位置 默认位置 WEB-INF目录下&#xff0c;文件名&#xff1a;<servlet-name>-servlet.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.…...

【razor】echo搭配relay功能分析

echo 要搭配relay 实现作者说relay在linux上跑,可以模拟丢包、延迟目前没看到如何模拟。relay监听9200,有俩作用 echopeer1 发relay,replay 把peer1的包给peer2 ,实现p2p能力。 接收端:采集后发送发给relay的 接收端的地址就是自己,的地址就是本地的9200,因此是让relay接…...

C++类的运算符重载

目标 让自定义的类直接使用运算符运算 代码 头文件及类定义 #include <iostream>using namespace std; class Complex {int rel;int vir; public:void show(){cout <<"("<<this->rel<<","<<this->vir<<&quo…...

Motionface RTASR 离线实时语音识别直播字幕使用教程

软件使用场景&#xff1a; 直播、视频会议、课堂教学等需要实时字幕的场景。 1&#xff1a;系统要求 软件运行支持32位/64位windows 10/11系统&#xff0c;其他硬件要求无&#xff0c;无显卡也能实时识别字幕。 2&#xff1a;下载安装 链接:百度网盘 请输入提取码 提取码&#…...

【论文阅读】相似误差订正方法在风电短期风速预报中的应用研究

文章目录 概述&#xff1a;摘要1. 引言2. 相似误差订正算法&#xff08;核心&#xff09;3. 订正实验3.1 相似因子选取3.2 相似样本数试验3.3 时间窗时长实验 4. 订正结果分析4.1 评估指标对比4.2 风速曲线对比4.3 分风速段订正效果评估4.4 风速频率统计 5. 结论与讨论 概述&am…...

learn-(Uni-app)输入框u-search父子组件与input输入框(防抖与搜索触发)

1.父子组件u-search &#xff08;1&#xff09;父组件 <!-- 父组件 --> <template> <div><searchBar change"change" search"search"></searchBar> </div> </template> <script> // 子组件搜索 import…...

UNIX数据恢复—UNIX系统常见故障问题和数据恢复方案

UNIX系统常见故障表现&#xff1a; 1、存储结构出错&#xff1b; 2、数据删除&#xff1b; 3、文件系统格式化&#xff1b; 4、其他原因数据丢失。 UNIX系统常见故障解决方案&#xff1a; 1、检测UNIX系统故障涉及的设备是否存在硬件故障&#xff0c;如果存在硬件故障&#xf…...

c#动态更新替换json节点

需求项目json作为主模板&#xff0c;会应用到多个子模版&#xff0c;当后续项目变更只需要修改主模板中节点&#xff0c;并且能够动态更新到原来的子模版中去。 主模板示例&#xff1a; {"A": {"A1": "","A2": false,"A3"…...

kubernetes的可靠性测试或者故障测试有哪些?

kubernetes的可靠性测试或者故障测试有哪些? 在 Kubernetes (K8s) 集群中,可靠性测试和故障性测试旨在确保系统能够稳定运行并具备应对各种故障的能力。这些测试主要针对集群的组件、应用程序和基础设施。以下是详细的测试内容和方法: 一、可靠性测试 1. 高可用性测试 目…...

datax和datax-web打包成docker运行

概述 datax和datax-web从一台机器迁移到另一台时&#xff0c;要重新搭建一套运行环境&#xff0c;比较麻烦&#xff1b;打包成docker镜像后迁移就方便多了; 因为我的mysql版本是8&#xff0c;需要在datax的read和write中手动添加8的jdbc驱动 所以我先各自下载好了datax和data…...

ThreadLocal原理解析

ThreadLocal原理解析 本篇将带大家了解ThreadLocal的使用方法&#xff0c;并且深度剖析其原理和作用&#xff0c;通过阅读源码的方式&#xff0c;进一步了解其内部原理 ThreadLocal 是 Java 提供的一个工具类&#xff0c;用于为每个线程维护一个独立的变量副本。每个线程可以访…...

Android 分析 Activity 与 Fragment 的区别,部分使用的差异

一、基本概念 Activity&#xff1a;Activity 是应用中单独一个界面的一个组件&#xff0c;通常一个 Activity 对应一个界面&#xff08;或屏幕&#xff09;。Activity 控制了一个应用界面的生命周期&#xff0c;并且能够处理用户的输入和交互。 Fragment&#xff1a;Fragment …...

前端(Ajax)

1.客户端请求 向https://jsonplaceholder.typicode.com/users发送get请求 const xhr new XMLHttpRequest();console.log(xhr.readyState);xhr.open(get, https://jsonplaceholder.typicode.com/users)console.log(xhr.readyState);xhr.send();console.log(xhr.readyState);xh…...

【C++】约瑟夫环问题:深度解析与高级优化

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言约瑟夫环问题&#xff1a;深度解析与高级优化&#x1f4af;题目描述&#x1f4af;解决方案详解直接模拟法&#xff08;基于 C 实现&#xff09;代码解析示例执行过程 &#x1f4af;高级优…...

总结拓展十七:SAP 采购订单行项目“交货“页签解析

《 SAP采购订单行项目“交货”页签字段解析》 在 SAP 系统的采购流程中&#xff0c;采购订单行项目的“交货”页签承载着关键的信息&#xff0c;其中的字段更是对整个交货环节的精准描述和把控的重要元素。理解和正确解析这些字段&#xff0c;对于确保采购流程的顺利进行、优化…...

作业Day2: 多文件编译; 思维导图

目录 ①文件代码 及其所需头文件分析 main.c文件 1.h文件 1.c文件 ②运行结果&#xff1a; ③代码分析 结构体成员 数据类型的设定&#xff1a; 信息录入函数 信息删除 成绩排序 信息显示 自定义初始化函数 ④思维导图&#xff1a;​编辑 ①文件代码 及其所需头文…...

Kioptrix Level 1通关攻略

目录 修改靶机Kioptrix:Level 1 的网络模式 探测靶机IP地址 得到端口信息 扫描TCP端口 扫描UDP端口 脚本扫描 指纹探测 漏洞探测 目录枚举扫描 发现利用脚本 执行exp链接shell 修改靶机Kioptrix:Level 1 的网络模式 Kioptrix: Level 1靶机的默认网络模式是桥接&#x…...

01 下载opencv并配置vs开发环境

01 下载opencv并配置vs开发环境 01 下载windows版本的opencv 下载地址&#xff1a;点击 ​​ WIndows版本的是编译好的代码。 当然国外网站下载很慢&#xff0c;可以通过我分享的网盘链接下载 opencv-4.10.0-windows.exe https://www.alipan.com/s/wV7z4YsmXgN 点击链接保…...

Ubuntu22.04 docker如何发布镜像(和用git差不多)

在dockerhub上创建远程仓库&#xff1a;https://hub.docker.com/ 将本地镜像打tag&#xff0c;并修改成可以上传到 dockerhub 的形式 # 查看本地镜像# 修改镜像 ## docker tag 镜像名称:标签 新的镜像名称&#xff08;要和远程仓库dockerhub上的一致&#xff09;:新的标签pus…...

【Golang】——Gin 框架中的模板渲染详解

Gin 框架支持动态网页开发&#xff0c;能够通过模板渲染结合数据生成动态页面。在这篇文章中&#xff0c;我们将一步步学习如何在 Gin 框架中配置模板、渲染动态数据&#xff0c;并结合静态资源文件创建一个功能完整的动态网站。 文章目录 1. 什么是模板渲染&#xff1f; 1.1 概…...

React的局限性是什么?

性能&#xff1a; 虚拟 DOM 虽然提高了渲染性能&#xff0c;但在某些情况下可能会造成性能瓶颈&#xff0c;尤其是在处理大量数据或复杂更新时。对于非UI任务&#xff08;如计算密集型操作&#xff09;&#xff0c;React 本身并不擅长。 学习曲线&#xff1a; 对于初学者来说&a…...

【Vulkan入门】09-CreateFrameBuffer

目录 先叨叨git信息关键代码VulkanEnv::FindHostVisitbaleMemoryTypeIndex()TestPipeLine::CreateFramebuffers() 与网上大多数文章不同&#xff0c;其他文章基本上都使用窗口框架&#xff08;X11、GLFW、WSL等&#xff09;提供的surface来显示Vulkan渲染出的图像。我认为那样会…...

罗技键鼠更换新台式机无蓝牙通过接收器安装

优联驱动下载&#xff1a; http://support.logitech.com.cn/zh_cn/software/unifying &#xff08;下载安装后按照步骤一步步操作&#xff0c;匹配后即可使用&#xff09; 向京东客服反馈后提供的驱动下载安装连接 有问题欢迎评论沟通~...

深入了解Modbus TCP协议:介绍、原理解析与应用示例

深入了解Modbus TCP协议&#xff1a;介绍、原理解析与应用示例 在工业自动化领域&#xff0c;设备之间的通信与数据交换至关重要。Modbus协议作为一种经典的通信协议&#xff0c;因其简单、开放和易于实现的特点&#xff0c;被广泛应用于各种工业设备之间的数据传输。而Modbus…...

vue2 项目中实现动态代理,服务器上通过nginx部署 实现动态代理

一、前言&&原理 前言&#xff1a;vue2 项目中&#xff0c;请求接口是从表格的当前获取的&#xff0c;也就是接口ip:端口号:路经不确定&#xff0c;要实现点击表格当前行请求对应的接口 实现原理&#xff1a;将实际要请求的ip等信息存在请求头中&#xff0c;用的时候再…...

OpenGL 几何着色器高级应用

几何着色器高级应用 概念回顾 几何着色器(Geometry Shader)是 OpenGL 管线中的可选着色器阶段,位于顶点着色器(Vertex Shader) 和光栅化阶段 之间。 其核心功能是基于输入的图元(如点、线或三角形),生成新的图元,或对输入的图元进行修改。 几何着色器的执行是以图元…...

QT JSON文件解析

参考博客 https://blog.csdn.net/cpp_learner/article/details/118421096 1 打开文件&#xff0c;读取全部内容 QFile file("../Json/js.json"); if (!file.open(QFile::ReadOnly | QFile::Text)) {qDebug() << "cant open error!";return; }// 读…...

c++中string字符串与其他类型的转换

一、string 转换成其他类型 1、转换为整数 使用std::stoi&#xff08;适用于int&#xff09;、std::stol&#xff08;适用于long&#xff09;、std::stoll&#xff08;适用于long long&#xff09;、std::stoul&#xff08;适用于unsigned long&#xff09;和std::stoull&…...

aws(学习笔记第十七课) SQS Amazon Simple Queue Service服务

aws(学习笔记第十七课) SQS Amazon Simple Queue Service服务 学习内容&#xff1a; 使用SQS Amazon Simple Queue Service服务整体代码&#xff08;nodejs的通常工程&#xff09;代码动作 1. 使用SQS Amazon Simple Queue Service服务 利用应用程序来学习SQS 创建S3$ aws s…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(8)

1.问题描述&#xff1a; 在AGC中&#xff0c;推送服务的消息回执新建成功后&#xff0c;有一个有效期 1&#xff0c;这个有效期是什么意思&#xff0c;过期后&#xff0c;会影响什么呢&#xff1f; 2&#xff0c;这个有效期是否可以修改成一直不过期&#xff1f; 解决方案&…...