DEPT_ DECOMPOSED PROMPT TUNING FOR PARAMETER-EFFICIENT FINE-TUNING

news2024/11/26 20:44:04

论文汇总

当前的问题

(1)Prompt Tuning通常收敛缓慢,并且对初始化敏感;

(2)Prompt Tuning延长了输入序列的总长度,从而加剧了计算需求(即训练/推理时间和内存成本),这是由于Transformer的二次复杂度(Vaswani et al, 2017)。

解决办法

个人理解:Prompt Tuning和LoRA的简单结合

提示分解

将可训练提示矩阵 P ∈ R l × d \bm{P} \in \mathbb{R}^{l\times d} PRl×d分解为两个部分:

(1)更短的可训练提示矩阵 P s ∈ R m × d \bm{P}_s \in \mathbb{R}^{m\times d} PsRm×d;

(2)一对低秩矩阵, A ∈ R s × r \bm{A} \in \mathbb{R}^{s\times r} ARs×r B ∈ R s × d \bm{B} \in \mathbb{R}^{s\times d} BRs×d,其中矩阵的秩 r ≪ m i n ( s , d ) r \ll min(s,d) rmin(s,d)

其中, W i W_i Wi被冻结,在训练过程中不接受梯度更新,而 A A A B B B是可训练的。根据Hu et al(2021),我们对 A A A使用随机高斯初始化,对 B B B使用零初始化,因此训练开始时 Δ W = B A \Delta W=BA ΔW=BA为零。然后将损失函数优化如下:

为了保持与Prompt Tuning训练才参数一致,作者选择 m m m r r r的值来满足方程 l × d = m × d + ( s + d ) × r l\times d=m\times d+(s+d)\times r l×d=m×d+(s+d)×r

但与普通Prompt Tuning相比,该设计提高了内存效率并降低了计算成本,因为较短的输入序列长度(即 m + s < l + s m+s<l+s m+s<l+s)大大减少了计算量,这是由于Transformer的二次复杂度(解决了问题1)

两种学习速率

DEPT在训练上也不同于普通的PT。我们用学习率 α 1 \alpha_1 α1来训练较短的可训练提示矩阵 P s \bm{P}_s Ps,用学习率 α 2 \alpha_2 α2来训练一对低秩矩阵 A A A B B B,而不是像在普通Prompt Tuning中那样使用单一学习率。 α 1 \alpha_1 α1通常比 α 2 \alpha_2 α2大得多。

摘要

提示调整(PT)是将少量可训练的软(连续)提示向量附加到模型输入上的方法,在参数有效微调(PEFT)的各种任务和模型架构中显示出有希望的结果。PT从其他PEFT方法中脱颖而出,因为它使用较少的可训练参数保持有竞争力的性能,并且不会随着模型大小的扩展而急剧扩展其参数。然而,PT引入了额外的软提示令牌,导致更长的输入序列,由于Transformer的二次复杂度,这极大地影响了训练/推理时间和内存使用。特别是对于面临大量日常查询的大型语言模型(LLM)。为了解决这个问题,我们提出了分解提示调整(DEPT),它将软提示分解为一个较短的软提示和一对低秩矩阵,然后用两种不同的学习率进行优化。这使得DEPT在不改变可训练参数大小的情况下,与普通PT及其变体相比,在节省大量内存和时间成本的同时,获得更好的性能。通过对23个自然语言处理(NLP)和视觉语言(VL)任务的广泛实验,我们证明了DEPT在某些情况下优于最先进的PEFT方法,包括完全微调基线。此外,我们的经验表明,随着模型规模的增加,DEPT的效率会提高。我们进一步的研究表明,DEPT在少样本学习设置下与参数高效迁移学习无缝集成,并突出了其对各种模型架构和大小的适应性。

1.介绍

图1:完全微调(FT)、提示微调优(PT)和提示工程的概述PT增加了输入序列的长度,导致训练和推理短语期间的计算需求大得多。

微调(FT)语言模型(LMs) (rafael等,2020;Touvron等人,2023)在下游任务上提供了跨各种自然语言处理(NLP)任务的巨大性能改进,但它需要更新和存储LMs的全部参数(见图1a),当LMs包含数亿甚至数十亿个参数时,这尤其昂贵。提示工程(Brown et al, 2020)不更新任何参数,而通常难以设计并且具有高性能方差(Wang et al, 2023a)(见图1c)。因此,参数高效微调(PEFT)方法(Liu et al ., 2022)吸引了越来越多的兴趣,旨在每个任务只学习少量参数,同时保持与完全微调相当的性能水平。

提示调整(PT) (Lester等人,2021)已经成为一种很有前途的PEFT方法,它将可训练的连续提示向量附加到输入(见图1b)。PT从其他PEFT方法中脱颖而出,因为它使用较少的可训练参数保持有竞争力的性能,并且随着模型规模的扩大,它的可训练参数不会急剧扩大。最近的研究表明,LM的大部分知识是在预训练阶段获得的(Zhou et al ., 2023)并且上下文学习(ICL)只需几个精心设计的风格示例和精心设计的系统提示符就可以获得令人印象深刻的对齐结果(Lin et al, 2023)。考虑到任务已经在一定程度上被LMs理解的场景,关键的挑战只是正确地提示LMs, PT作为其他PEFT方法的潜在更好的选择出现。

虽然PT在各种任务和模型中显示出令人鼓舞的结果,但它有两个主要局限性**:(1)PT通常收敛缓慢,并且对初始化敏感(Lester et al ., 2021;Vu等,2022;Wang et al ., 2023b);(2) PT延长了输入序列的总长度,从而加剧了计算需求(即训练/推理时间和内存成本),这是由于Transformer的二次复杂度(Vaswani et al, 2017)。考虑到缓慢的趋同问题,这一点更加突出。近期研究(Su et al ., 2022;Vu等,2022;Li等人,2022)提出了香草PT的变体,通过在各种源任务上初始预训练软提示来解决第一个问题,这被称为参数有效迁移学习(PETL),如图2a所示。一些研究(Asai et al, 2022;Wang等人,2023b)也通过在多个目标任务上联合训练来自这些源任务的学习提示(称为多任务学习)来提高PT的性能。然而,由于序列长度的延长而增加的计算负荷问题在很大程度上仍然没有得到解决**。虽然PETL方法可以减少模型收敛的训练步骤,但每个优化步骤在时间和内存方面仍然是计算昂贵的。最重要的是,它并没有提高推理阶段的效率,这在大型语言模型(LLMs)时代尤为重要,因为训练好的模型每天可能被查询数百万次。

在这项工作中,我们提出了分解提示调优(DEPT),它将可训练的软提示分解为更短的软提示和几个低秩矩阵,然后将低秩矩阵的乘法添加到冻结的词嵌入中,如图2b(§2.2)所示。这个较短的软提示和更新的词嵌入矩阵然后使用两种不同的学习率进行优化-这是模型收敛的关键步骤(§3.4)。这种设计的直觉是在冻结的词嵌入中启用表示更新,从而增加了以前不可用的输入表示的适应性。在23个自然语言处理(NLP)和视觉语言(VL)任务上的实验结果表明,DEPT优于最先进的PEFT方法,包括在某些场景下的完全微调基线(§3.2)。我们的实证研究表明,DEPT在很大程度上提高了各种模型架构和大小的训练效率,与香草PT相比,在训练时间和内存成本上节省了20%以上(使用T5-BASE)。重要的是,随着模型大小的增长,DEPT变得越来越高效,使其特别具有优势,适合LLMs(§3.3)。此外,我们在少样本学习设置中的附加分析揭示了DEPT与PETL方法的兼容性(§3.4)。

综上所述,本文的主要贡献如下:

•我们提出了DEPT方法,该方法通过分解其软提示来减少输入序列长度,从而解决了提示调谐的关键效率限制。在时间和内存成本方面,DEPT极大地提高了训练和推理效率;

•我们对23个NLP和VL任务的综合评估表明,DEPT优于最先进的PEFT方法,包括在某些情况下的全面微调。

此外,我们的实验表明,DEPT与PETL方法可以很好地集成,并且在少样本学习环境下,DEPT的优势仍然存在;

•我们的经验表明,随着模型规模的增长,DEPT变得越来越高效,使其特别适合LLMs。此外,DEPT与各种PEFT方法(即Adapter、LoRA)是正交的,可以很容易地组合在一起。

2.方法

在本节中,我们首先回顾§2.1中的提示调优(PT)的背景,然后介绍我们提出的方法,§2.2中的分解提示调优(DEPT)。

2.1 背景:提示微调(PT)

L ≜ { x i , y i } i = 1 N L\triangleq \{x_i,y_i\}^N_{i=1} L{xi,yi}i=1N表示目标任务 τ \tau τ N N N个标记训练数据。给定一个参数化为 Θ \Theta Θ的主干模型,每个输入文本 x i x_i xi被映射到一个词嵌入序列 W i ∈ R s × d W_i \in \mathbb{R}^{s\times d} WiRs×d中,其中 s s s d d d表示词嵌入的最大序列长度和维数。PT将一个可训练的提示矩阵 P ∈ R l × d \bm{P}\in \mathbb{R}^{l\times d} PRl×d附加到冻结的词嵌入矩阵 W i W_i Wi中,其中 l l l是虚拟令牌数量的超参数。软提示符 P \bm{P} P可以随机初始化,也可以通过从词汇表中采样单词嵌入来初始化。因此,模型的输入成为组合矩阵 [ P ; W i ] ∈ R ( l + s ) × d [\bm{P} ;W_i] \in \mathbb{R}^{(l+s)\times d} [P;Wi]R(l+s)×d。目标损失函数表示为:

其中损失函数仅相对于软提示矩阵 P \bm{P} P进行优化。

2.2 我们的方法:分解提示调优(dept)

分解软提示。DEPT在输入方面与普通PT方法不同。如图2b所示,我们将香草PT中的可训练提示矩阵 P ∈ R l × d \bm{P} \in \mathbb{R}^{l\times d} PRl×d分解为两个部分:(1)更短的可训练提示矩阵 P s ∈ R m × d \bm{P}_s \in \mathbb{R}^{m\times d} PsRm×d;(2)一对低秩矩阵, A ∈ R s × r \bm{A} \in \mathbb{R}^{s\times r} ARs×r B ∈ R s × d \bm{B} \in \mathbb{R}^{s\times d} BRs×d,其中矩阵的秩 r ≪ m i n ( s , d ) r \ll min(s,d) rmin(s,d)。第一个组件,较小的可训练提示矩阵,以与香草PT类似的方式附加到词嵌入矩阵中。第二个组件使用两个低秩矩阵的乘法来表示通过坐标明智和更新词嵌入:

其中, W i W_i Wi被冻结,在训练过程中不接受梯度更新,而 A A A B B B是可训练的。根据Hu et al(2021),我们对 A A A使用随机高斯初始化,对 B B B使用零初始化,因此训练开始时 Δ W = B A \Delta W=BA ΔW=BA为零。然后将损失函数优化如下:

在我们的实验中,我们选择 m m m r r r的值来满足方程 l × d = m × d + ( s + d ) × r l\times d=m\times d+(s+d)\times r l×d=m×d+(s+d)×r,以保持与香草PT中相同的可训练参数的确切大小。因此,当 r > 0 r>0 r>0时, m m m总是小于 l l l。与普通PT相比,该设计提高了内存效率并降低了计算成本,因为较短的输入序列长度(即 m + s < l + s m+s<l+s m+s<l+s)大大减少了计算量,这是由于Transformer的二次复杂度(Vaswani et al, 2017)。

两种学习速率。DEPT在训练上也不同于普通的PT。我们用学习率 α 1 \alpha_1 α1来训练较短的可训练提示矩阵 P s \bm{P}_s Ps,用学习率 α 2 \alpha_2 α2来训练一对低秩矩阵 A A A B B B,而不是像在普通PT中那样使用单一学习率。 α 1 \alpha_1 α1通常比 α 2 \alpha_2 α2大得多。我们将在§3.4中实证验证这个选择的重要性。然而,DEPT可能会为超参数优化引入额外的训练成本(见§5)。

3.实验与结果

图3:在DEPT中不同软提示长度m的GLUE基准上的性能,与相应的相对训练时间和内存成本相关。使用批处理大小为16,对不同模型大小的时间和内存进行平均。DEPT始终使用与普通PT相同数量的可训练参数(m=100)。

图4:在保持可训练参数总数不变的情况下,使用不同软提示长度m和低秩矩阵秩r的GLUE基准上的平均推理速度。蓝色的小文本表示相对于香草PT(用棕色表示)的速度(m=100)。

4.相关工作

Parameter-efficient微调。与标准微调和基于提示的微调相比(Devlin等人,2019;Schick & Schutze¨,2021;Shi & Lipani, 2023),其中全参数更新,参数有效微调(PEFT)方法在广泛的任务中表现出卓越的性能(Wang等人,2018;Shi et al ., 2022;Wu等,2023a;Hendriksen等人,2022;Wu等,2023b;Yang et al ., 2023),同时只更新有限数量的参数。适配器(Houlsby等人,2019)及其变体HyperFormer (Karimi Mahabadi等人,2021)和compter (Mahabadi等人,2021)为T5模型的每个变压器块添加了新的可训练模块(适配器)(Raffel等人,2020)。BitFit (Ben Zaken et al, 2022)只对偏差参数进行更新,而这种方法在较大的网络上往往表现不佳(Lialin et al, 2023)。前缀调谐(Li & Liang, 2021)为模型输入添加了一个由前馈网络参数化的软提示。Diff剪枝(Guo et al ., 2021)以更多内存使用为代价学习神经网络权值的稀疏更新。FishMask (Sung et al ., 2021)也执行稀疏更新,但它在当代深度学习硬件上计算密集且效率低下(Lialin et al ., 2023)。LoRA (Hu et al ., 2021;Yang等人,2024)采用直接的低秩矩阵分解来参数化权重更新。(IA)3 (Liu et al ., 2022)通过学习向量对少样本学习进行缩放激活。LST (Sung et al ., 2022b)在预训练网络的一侧运行一个小型变压器网络,旨在减少训练记忆。提示调整(PT) (Lester等人,2021)将可训练的软提示附加到模型输入嵌入中。与上述PEFT方法相比,PT使用较少的可训练参数,这些参数不会随着模型大小的扩展而激增。Mao等人(2022)介绍了一种通过门控机制将前缀调优、适配器和LoRA结合在一起的方法。DEPT也适用于这种方法,并且可以很容易地与其他PEFT方法集成。

PT的迁移学习。最近的研究旨在通过迁移学习来提高PT的表现。PPT (Gu et al ., 2022)通过进一步的预训练努力提高PT (Lester et al ., 2021)的性能(Gururangan et al ., 2020;Shi等人,2023),这需要一套手工制作的、特定于任务的设计和可观的计算成本。Su等人(2022)通过跨不同任务和模型的快速迁移提高了PT。SPoT (Vu et al ., 2022)采用基于相似性度量的单一提示,以大规模搜索为代价。ATTEMPT (Asai et al, 2022)在源提示上采用了一种注意机制,以额外的参数为代价初始化目标任务的提示。MPT (Wang et al ., 2023b)在不同的任务之间应用共享的软提示,而其对大范围源任务的有效性尚未经过测试。我们发现PETL对于PT (Asai et al ., 2022;Wang et al ., 2023b)可以有效地加速训练收敛,并且用于PT的PETL对于在PT的少样本学习设置下提高模型性能更有用(Gu et al ., 2022;Wu et al ., 2022)。然而,当有广泛的标记数据集可用时,训练PT或DEPT进行额外的步骤通常会导致性能改进。

5.结语

结论。在这项工作中,我们提出了分解提示调优(DEPT),它在时间和内存方面大大提高了香草PT的效率,同时与最先进的PEFT方法相比,提供了具有竞争力甚至更好的性能。值得注意的是,DEPT效率随着模型大小的增加而扩大,使其特别适合LLMs。我们进一步的分析显示了DEPT与PETL方法的兼容性,并强调了它在不同模型体系结构和规模上的通用性。

局限性和未来的工作。我们概述了我们工作中的几个限制:(1)DEPT的主要限制是引入额外的超参数进行调优,例如,低秩矩阵的学习率。这可能会在模型训练的超参数优化阶段引入一些额外的计算开销。在我们的工作中,我们训练DEPT达到30万步(在数据丰富的环境中)(Vu et al, 2022),并仔细寻找最佳学习率,这可能会增加训练成本。然而,PETL可以有效地减少训练步骤的数量,我们计划在未来的工作中对此进行研究。此外,重要的是要注意模型训练过程是一次性事件,而模型推理不是。在这种背景下,DEPT的效率效益变得尤为重要;(2) DEPT中可训练参数的数量取决于最大序列长度 s s s。在这项工作中,我们将评估限制在具有数百个输入令牌的任务上。未来的工作可以探索当 s s s非常大时DEPT的性能;(3)我们的研究重点是利用LMs的提示技术,之前的研究(Bender & Koller, 2020;Brown et al, 2020;Bender等人,2021)已经解决了与LMs相关的担忧和潜在危害。

参考资料

论文下载(ICLR 2024)

https://arxiv.org/pdf/2309.05173

代码地址

https://github.com/ZhengxiangShi/DePT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器视觉系统硬件组成之工业相机篇

工业相机是一种非常重要的机器视觉器件&#xff0c;它能够将被采集的图像信息通过电路转换成电信号&#xff0c;再通过模数转换器&#xff08;ADC&#xff09;将其转化为数字信号&#xff0c;最后以标准的视频信号输出。工业相机在机器视觉领域得到了广泛应用&#xff0c;包括质…

springboot055服装生产管理的设计与实现(论文+源码)_kaic

毕业设计(论文) 协力服装厂服装生产管理系统 的设计与实现 学生姓名 XXX 学 号 XXXXXXXX 分院名称 XXXXXXXX 专业班级 XXXXX 指导教师 XXXX 填写…

CROss PlatformS (CROPS) 与 Docker

CROPS 是一个开源的、跨平台的开发框架&#xff0c;专为利用 Docker 容器在 Windows、macOS 和 Linux 系统上创建和管理构建主机而设计。它简化了在非 Linux 系统上运行 Yocto 项目及其他基于 Linux 的工具的过程&#xff0c;同时提供了一个可扩展的开发环境&#xff0c;支持多…

基于vue框架的的地铁站智慧管理系统的设计n09jb(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,上班打卡,下班打卡,人员管理,交接班,视频巡检,车辆巡检,车辆管理 开题报告内容 基于Vue框架的地铁站智慧管理系统的设计开题报告 一、研究背景与意义 随着城市化进程的加速&#xff0c;地铁站作为城市交通系统的重要组成部分&am…

全能型选手视频播放器VLC 3.0.21 for Windows 64 bits支持Windows、Mac OS等供大家学习参考

全能型选手视频播放器&#xff0c;支持Windows、Mac OS、Linux、Android、iOS等系统&#xff0c;也支持播放几乎所有主流视频格式。 推荐指数&#xff1a; ★★★★★ 优点&#xff1a; ◆、界面干净简洁&#xff0c;播放流畅 ◆、支持打开绝大多数的文件格式&#xff0c;包…

用Aconvert.com将MOBI文件转换为PDF:一步步指南

在今天的数字时代&#xff0c;文件格式转换是日常办公和学习中常见的需求之一。MOBI格式的电子书文件在某些设备上不太方便阅读&#xff0c;而PDF格式则更加通用。本文将为你详细介绍如何使用Aconvert.com将MOBI文件转换为PDF文件。 1. 访问Aconvert.com 首先&#xff0c;打开…

装修公司行业通用的小程序源码系统 让装修公司实现信息智能化 带完整的安装代码包以及搭建部署教程

系统概述 装修公司行业通用的小程序源码系统是一款专门为装修公司设计的智能化解决方案。它基于先进的技术架构&#xff0c;结合装修行业的特点和需求&#xff0c;为装修公司提供了全方位的业务支持和管理功能。 该系统通过小程序的形式呈现给用户&#xff0c;方便客户随时随…

MacOS13虚拟机VMware Workstation Pro 16安装

资源 安装unlocker 安装虚拟机 低版本的还没有MacOS13选项&#xff0c;这也是我安装低版本虚拟机踩过的坑 找个教程安装就可以了 省略…自己去找找教程… 过程中我使用桥接是不行的&#xff0c;没有网络&#xff0c;后面重新下一步一步的选择默认的网络重装后就好了&am…

基于yolov10的驾驶员抽烟打电话安全带检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv10的驾驶员抽烟、打电话、安全带检测系统是一种先进的驾驶行为监测系统。该系统利用YOLOv10算法的高效性和准确性&#xff0c;实现对驾驶员行为的实时检测与识别。 YOLOv10是一种最新的实时物体检测模型&#xff0c;其通过深度学习技术&#xff0c;如卷…

如何看ip属于什么地址

在数字化时代&#xff0c;IP地址作为互联网通信的基石&#xff0c;扮演着至关重要的角色。无论是网络管理、安全防护&#xff0c;还是日常的网络访问&#xff0c;理解IP地址的性质和分类都是必不可少的技能。本文将深入探讨如何判断一个IP地址属于哪一类地址&#xff0c;并详细…

Java项目-基于springboot框架的校园医疗保险管理系统项目实战(附源码+文档)

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 开发运行环境 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/…

Spring Boot整合Stripe订阅支付指南

在当今的在线支付市场中&#xff0c;Stripe 作为一款一体化的全球支付平台&#xff0c;因其易用性和广泛的支付方式支持&#xff0c;得到了许多企业的青睐。本文将详细介绍如何在 Spring Boot 项目中整合 Stripe 实现订阅支付功能。 1.Stripe简介 Stripe 是一家为个人或公司提…

低代码赋能项目管理系统:打造高效协同的数字化工作环境

项目管理是企业日常运营中的重要环节&#xff0c;其运作效率直接关系到项目的成功交付、资源的优化配置及企业的市场竞争力。然而&#xff0c;传统的项目管理系统却面临着诸多挑战。 传统管理系统开发周期长、耗资大、需要大量时间和资源来定制和优化。同时&#xff0c;高昂的维…

K8s-pod详解3(pod调度)

Pod调度 在默认情况下&#xff0c;一个Pod在哪个Node节点上运行&#xff0c;是由Scheduler组件采用相应的算法计算出来的&#xff0c;这个过程是不受人工控制的。但是在实际使用中&#xff0c;这并不满足的需求&#xff0c;因为很多情况下&#xff0c;我们想控制某些Pod到达某…

基于卷积神经网络的花卉分类系统,resnet50,mobilenet模型【pytorch框架+python源码】

更多目标检测和图像分类识别项目可看我主页其他文章 功能演示&#xff1a; 卷积神经网络&#xff0c;花卉识别系统&#xff0c;resnet50&#xff0c;mobilenet【pytorch框架&#xff0c;python源码】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积神经网络的…

SpringSecurity源码分析以及如何解决前后端分离出现的跨域问题

解决Security前后端分离出现的跨域问题 一. Security源码分析 首先在看源码之前我们先来看这张图 , 这张图展示了Security执行的全部流程 从上图可知Security执行的入口是UsernamePasswordAuthenticationFilter这个抽象类 , 那我们就先从该类进行分析 1. UsernamePasswordAu…

029_基于nodejs外卖网站设计和实现

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

Java应用程序的测试覆盖率之设计与实现(一)-- 总体设计

一、背景 作为测试&#xff0c;如何保证开发人员提交上来的代码都被测试覆盖到&#xff0c;是衡量测试质量的一个重要指标。 本系列文章将要说一说&#xff0c;如何搭建一套测试覆盖率的系统。 包括以下内容&#xff1a; jacoco agent采集执行覆盖率数据jacoco climaven集成…

基于Multisim的模拟拔河游戏比赛设计与仿真

1.设计一个模拟拔河游戏比赛的逻辑电路 2.使用15个发光二极管表示绳子&#xff0c;开机后只有最中间的发光二极管亮。 3.比赛双方各持一个按钮&#xff0c;快速不断地按动按钮&#xff0c;产生脉冲&#xff0c;谁按的快&#xff0c;发光的二极管就向谁的方向移动&#xff0c;每…

越狱你的 iPhone 安全吗?

越狱 iPhone 并不安全&#xff0c;可能会导致您的个人信息被盗、手机感染恶意软件以及软件出现故障。越狱 iPhone 会增加网络犯罪分子可利用来访问您的私人信息的安全漏洞数量。 继续阅读&#xff0c;了解什么是越狱以及为什么你永远不应该越狱你的 iPhone。 什么是越狱&…