提升数据质量的三大要素:清洗prompt、数据溯源、数据增强(含Reviewer2和PeerRead)​

前言

我带队的整个大模型项目团队超过40人了,分六个项目组,每个项目组都是全职带兼职,且都会每周确定任务/目标/计划,然后各项目组各自做任务拆解,有时同组内任务多时 则2-4人一组 方便并行和讨论,每周文档记录当周工作内容,平时群内随时讨论 1-2周一次语音会,最后通过相关课程不断招募各项目组成员 ​​​

比如在我司审稿项目之前的工作中,我们依次想尽各种办法微调以下模型(我之外,包括且不限于阿荀、朝阳、三太子、文弱、鸿飞、apple、不染、贾斯丁等)

  1. 七月论文审稿GPT第1版:通过3万多篇paper和10多万的review数据微调RWKV
  2. 七月论文审稿GPT第2版:用一万多条paper-review数据集微调LLaMA2 7B最终反超GPT4
  3. 七月论文审稿GPT第2.5和第3版:分别微调GPT3.5、Llama2 13B以扩大对GPT4的优势
  4. 七月论文审稿GPT第3.2版和第3.5版:通过paper-review数据集分别微调Mistral、gemma
  5. 七月论文审稿GPT第4版:通过paper-review数据集微调Mixtral-8x7b,对GPT4胜率超过80%

如上文文末回复一读者的评论所说,“近期 我们一方面 等llama2 70b的结果,一方面 准备提高下数据的质量了”,故有了本文

而如何提高数据质量呢,便是我和我司审稿项目组在3月底登杜甫江阁时所确定的:

  • 一个是提高review的质量(从而考虑到可以提高GPT对一篇篇paper的多个review做多聚一摘要出来的大review的质量,由于是设计prompt从而让GPT做多聚一的摘要操作,故可以优化下该prompt)
  • 一个是看有没办法可以拿到review出来之前更早期的论文版本

总之,对于4月和整个Q2而言,除了RAG 2.0版(含通用文档理解)、机器人、两个agent项目之外,论文项目组也有9个事待并行推进:

  • 1 70b的微调
    2 清洗prompt的优化
    3 论文早期版本的爬取
    4 review特异性的增强
  • 5 论文评分
    6 审稿新数据爬取
    7 金融审稿模型的微调
    8 论文翻译
    9 论文检索 idea提炼

第一部分 提升七月论文审稿之数据质量的三大要素

1.1 数据清洗:让GPT对Review做多聚一操作的摘要prompt的优化

如本文开头所说,当我们把各种模型都微调一遍之后,发现最终还是得回归到我司爬的数据上

  • 在针对review做多聚一之前,只是经过简单初筛(比如去除过短的review)后的总paper数-30186份:
    \rightarrow  2023Q4(含全部会议,2018-2023)-23176份
    \rightarrow  2024Q1(含全部会议,2017-2024)-7010份

    这里面ICLR、NeurIPS这两个会议的总数是24210份「相当于,ICLR(2017-2024,从某paperreview网页访问可以访问到2013-2016的iclr,但相关的详细数据接口没有暴露这部分年份的数据,所以只能取到2017-2024的iclr),和NIPS(2019-2023)的量还是很大的
    当然,这个数据量是在多聚一之前的(也就是只去除了Review过短项后的),后续还会根据是否有对应paper、去除无效内容等进一步过滤,还会再少一截
    」,其中包含:
    \rightarrow  2023Q4爬到的(含ICLR 2018-2023共14424份、NeurIPS 2019-2022共6347份)-20571份
    \rightarrow  2024Q1爬到的(含ICLR 2017/2021/2024共1653份、NeurIPS 2019/2021/2022/2023共1986份)-3639份
  • 让鸿飞爬取NIPS官方源的review数据(这部分数据唯一的不足是paper和review均没带具体日期:即没带年月日)
    共爬取有2485篇(2014-2020,21年review项都是导向了某paperreview网站,22年、23年均没有提供review这一选项,24年的话就完全还没有存在内容 ),初步去掉与上面30186份中重叠的18篇,最终剩余2467篇
    至于NIPS 2013的数据则还待爬

那怎么提高数据质量呢?其中一个便是提高review的质量

在我们之前的一系列工作中,我们针对一篇篇论文的多个review做多聚一,且摘要出多个要点,从而,一篇paper 一条review,最后,就可以弄成qa对 去微调开源模型

而之前5k 15k条paper-review数据对中的review,就是根据旧prompt 通过GPT3.5 16K摘要出来的,但之前的旧prompt 比较简单,就4个点

  1. 重要性和新颖性
  2. 可能被接收的原因
  3. 可能被拒绝的原因
  4. 其他改进建议

现在,想把review摘要的更好些,好提高微调效果,说白了,如果摘要出来的review质量不够高,会非常影响咱们微调模型的效果

总之,咱们的核心目标还是

不断逼近顶会审稿人的视角,以一针见血指出论文的问题、闪光点,从而侧面帮助作者修订论文

在经过反复看一系列论文的review意见之后我个人的反复琢磨,以及七月平台上一系列顶会审稿人对审稿的意见,外加和审稿项目组阿荀、朝阳等人的反复讨论之后,暂定把摘要prompt优化如下(至于完整的prompt设计见七月官网的:大模型商用项目之审稿GPT实战)

  1. ** How to evaluate the idea of the paper **, 
  2. ** Compared to previous similar works, what are the essential differences **, 
  3. ** How to evaluate the experimental results in the paper **, 
  4. ** Possible reasons for its acceptance **, 
  5. ** Possible reasons for its rejection **, 
  6. ** Other suggestions for improving the quality of the paper **, 
  7. and ** Other important review comments **.

总的思路就是,对于一篇paper,先看它的重要性、新颖性以及与众不同之处;接着看实验是否充分有说服力,然后总结闪光点、不足;最后看如果改进,看往哪几个方面做改进

1.2 数据溯源:论文早期版本的爬取

我们之前爬的paper-review数据中,paper大部分都是根据某个或某几个review意见而修改后的版本,相当于paper是新paper,可review还是旧review,相当于没法做到paper与review的100%匹配,这个问题曾一度困扰我们

包括来自厦门大学NLP实验室的这篇论文《MOPRD: A multidisciplinary open peer review dataset,其对应数据地址为dataset》也提到了这个问题:
大多数提供公开访问同行评审数据的期刊只呈现其论文的已发表版本,而原始手稿通常是保密的。没有原始手稿,许多与开放同行评审相关的研究将变得不可能。 例如,基于修订来研究审稿意见将毫无意义。毕竟在修订中,已经采纳了审稿意见,并解决了原始手稿中的相关问题。

总之,如果没有可靠地与原始手稿进行比较,将无法充分理解审稿意见的有效性,对于开放同行评审的研究,审稿意见将变得不太有效 


顺带,意外收获了一个可以获取各个学科审稿意见的网站,即:PeerJ

4.3日,我又开始反复琢磨之前阿荀爬下来的review数据

结果意外发现可爬到review对应的论文早期版本 ​​​

从而,也就解决了审稿项目的这个「paper与review匹配度不足」的大问题,毕竟我们要的就是这种论文所对应的最早的审稿版本,这样和review的匹配程度 才能更高(至于如何具体爬取见七月官网的:大模型商用项目之审稿GPT实战)

1.3 数据增强:增强review数据的特异性

什么叫做特异性?比如最左侧的review便是特异性,而最右侧的review则丧失了特异性(对于作者而言,最不希望看到的就是这种放之四海而皆准的review,因为其对论文的改进帮助不大)

那如何解决呢?请看下文的第二部分

自从我司于23年7月开始涉足论文审稿领域之后,在业界的影响力越来越大,所以身边朋友如发现业界有相似的工作,一般都会第一时间发给我,比如本文第二部分之康奈尔大学的reviewer2

此外,我自己也会各种看类似工作的论文,毕竟

在大模型时代

  • 一个技术人保持竞争力的最佳方式就两点:保持对最新技术/paper的跟踪,每天各种大量实践/折腾/实验
  • ​对于一个组织也是如此,通过项目(整个小组 + 2-4人的小队伍双重协作),是提高组织战斗力的最佳方式,不然各自为战 ​​​

比如本文第三部分的PeerRead,毕竟同行之间的工作一定会互相借鉴的,我们会学他们,他们看到我们的工作后自然也会受到不小的启发

第二部分 康奈尔大学之Reviewer2:特异性很强

对于论文审稿,我司的思路是通过一系列paper-review对去微调一系列开源模型,而对于review数据的处理更多是把一篇篇paper的多个review做多聚一的摘要操作,且从中梳理出来4或7个要点,然后基于这4-7个要点让微调后的模型去自动生成一篇篇新paper的review

而这4-7个要点的定义就比较关键了

  • 一方面要尽可能涵盖所有论文的核心特征,这叫通用性,比如斯坦福那篇论文让GPT4当审稿人,梳理出来4个方面的要点:重要性 新颖性、可能被接收的原因、可能被拒绝的原因、其他重要改进建议
  • 二方面 又要尽可能抓住每一篇具体paper的各自特色,这叫特异性,比如马上要介绍的康奈尔大学的reviewer2

总之,这两方面在一定程度上是有点矛盾的,所以需要想尽办法做好平衡

接下来,咱们来具体看下康奈尔大学的reviewer2

2.1 REVIEWER2的整体训练流程与推理流程

2.1.1 REVIEWER2的整体训练流程

24年2月,康奈尔大学通过此篇论文《Reviewer2: Optimizing Review Generation Through Prompt Generation》,也提出了一个论文审稿模型Reviewer2,其整体流程为(注意,x表示review的prompt,y表示review本身,p表示论文)

  1. PGE方法从人工review中生成预设问题数据(相当于从review当中提炼审稿人针对一篇篇paper所对应的关注问题点),相当于paper =》 人工review =》通过PGE:即llama2 70B提炼预设问题 =》预设问题
    然后使用 [paper, 预设问题] 数据训练得到一个能根据不同paper提出不同预设问题的模型M_p
    相当于让模型A学会根据不同的paper提问(毕竟,每篇review的预设问题不太一样),毕竟提问是门艺术
    M_{p}: p \rightarrow\left\{x^{1}, \ldots, x^{k}\right\}
    即to produce a set of aspect prompts x1, ...xk for paper p that cover the aspects that a reviewer may comment on for this paper

    这里有比较重要的一点是,可能会有读者疑问,这个prompt到底是根据paper生成,还是根据review去生成,实际上可以这么理解,即prompt的ground true是基于PGE方法从人工review当中生成的prompt,而训练模型M_p的时候(当然 更包括推理),M_p是根据paper去预测prompt
    可能又有读者疑问,那为何不人工根据一些paper标注其对应的「ground true版的prompt」,然后再训练模型M_p去预测prompt呢?这点请读者先自行思考,^_^。至于什么是PGE,下文2.2节会重点阐述
  2. 使用 [paper + M_p产生的预设问题, review] 训练模型M_r
    M_{r}:(p, x) \rightarrow y
    a) 即先把不同的paper输入模型M_p来产生对应的预设问题(好引导或提示模型M_r去输出与paper息息相关的review)
    b) 然后再把paper和预设问题输入模型M_r来得到review
    c) 最终和人工review对比词的叠度以不断迭代模型M_r

    且类似七月审稿GPT,其也基于longlora的S2-Attn和FlashAttention2把llama2 70B的上下文长度扩展到了32k

2.1.2 Reviewer2的推理流程

推理的时候,在为新的论文 p'生成评论时,我们首先查询 M_p以获取review prompt x。 然后我们查询 M_r以为生成的方面提示生成review y

2.2 PGE:在上下文示例下基于Review生成ground true版prompt(含其评估)

为了给每个review生成相应的prompt,Reviewer2提出了带有评估的提示生成(Prompt Generation with Evaluatio,简称PGE)流程,包括生成步骤和评估步骤

具体来说,给定m篇论文P=\left\{p_{1}, p_{2}, \ldots, p_{m}\right\},和相应的人工reviewY=\left\{y_{i}^{n} \mid 1 \leq i \leq m, 1 \leq n \leq n_{i}\right\}其中n_i是论文i的review数量,即一篇paper一般都会有多个review,比如一篇论文5个review

  1. 该流程的目标是在上下文数百个review-prompt的示例下生成一组review的promptX=\left\{x_{i}^{n} \mid 1 \leq i \leq m, 1 \leq n \leq n_{i}\right\},其中一个prompt对应一个review,比如5个review则有5个对应的prompt
    对于reviewy_{i}^{n},生成步骤生成一个promptx_{i}^{n}
  2. 然后对生成的prompt进行评估,评估在上下文25个review-prompt-score的示例下且基于一个5分制度,完成对生成的prompt的打分(比如1-5分)
  3. 如果x_{i}^{n}得分为5,那么\left(x_{i}^{n}, y_{i}^{n}\right)对便存储在集合 S中,S=S \cup\left\{\left(x_{i}^{n}, y_{i}^{n}\right)\right\},否则重新生成提示

整个过程跟self-instruct还是有点类似的(至于什么是self-instruct,详见此文的2.1.2 什么是self-instruct方式:提示GPT3/GPT3.5/GPT4的API收集数据 ),下面更加细致的逐一阐述上述三个步骤

2.2.1 Prompt的具体生成:基于数百个示例

为了更好的根据review生成prompt,咱们总得有些示例 是不?那怎么构建review-prompt的示例呢,先机器生成然后人工注释,最后示例生成后便可以初始化S,具体而言

  1. 首先使用Llama-2-70B-Chat以zero-shot的方式为随机选择的100个review生成prompt「To construct these examples, we use Llama-2-70B-Chat (Touvron et al., 2023) to generate prompts for a randomly selected subset of 100 reviews in a zero-shot fashion 
  2. 然后,通过删除prompt中与review不相关的问题,且添加在review中涵盖但prompt中遗漏的问题,并以与实际review中蕴含问题的开放式格式对齐等这3种方式来手动优化review prompt(we manually refine the prompts by removing irrelevant questions, adding missing questions that are covered in the review, and refining to align with the open-ended format of review questions)
    以下便是一个review-prompt对的示例

这些示例将在prompt的生成过程中用作初始上下文示例「即We initialize S with human-annotated examples that will be used as initial in-context examples during generation,说白了,为了提高提示生成的性能,作者团队在review prompt生成的过程运用了上下文学习(in-context learning,简称ICL)

其中,有两个小细节

  1. 由于上下文示例是从S中随机抽样的。 随着更多的prompt生成并保存到S中,可用示例的池也扩大了(一开始S中虽然只有100个review-prompt示例,但可以不断扩大到数百个示例),确保了prompt的多样性
    As more prompts are generated and saved to S, the pool of available examples also expands, ensuring the diversity of the prompts.
  2. 且总是在满足模型上下文长度约束的同时,采样最大可能数量的上下文示例
    We always sample the maximum possible number of in-context examples while satisfying the context length constraint

2.2.2 Prompt的具体评估:以25个人工review-prompt-score示例为参考基准

与生成类似,Reviewer2在评估步骤中也应用ICL

使用Llama-2-70B-Chat根据5分制评估review-prompt对,每个分数从1到5都有五个上下文示例(相当于总计有25个评分示例)。注意,此处的上下文示例是手动构建的,并在所有评估中保持一致「We use Llama-2-70B-Chat to evaluate the review-prompt pair based on a 5-point scale with five in-context ex-amples for each score from 1 to 5. The in-context examples (shown in Appendix C) are manually constructed and remain consistent across all evalutions

以下便是一个最终对所生成的review prompt评分为3分的示例(可想而知,这样评分为3分的示例有5个)

且受到思维链提示的启发,还会提示LLM在生成最终分数之前为分数生成解释,以鼓励更准确的评估

2.2.3 Prompt的再生:基于人工评分基准评判下得分不够则重新生成

为了确保生成的prompt的质量,如果得分不是 5,则会重新生成prompt

由于生成prompt时的上下文示例是随机抽样而不是固定集合,重新生成步骤保证了与之前的生成相比,必会生成不同的prompt,从而减少冗余(Since the in-context examples for generation are randomly sampled rather than a fixed set, the regeneration step is guaranteed to generate a different prompt compared to the previ-ous generations, minimizing redundancy)

最终,我们每个review限制生成prompt 5次,并且如果超过限制,则不再生成。超过 90%的prompt在3次或更少的生成次数内达到 5分(We use a limit of 5 generations per review, and the review is excluded from further generation if it exceeds the limit. More than 90% of the reviews take less than or equal to 3 generations to reach a score of 5)

2.3 Reviewer2数据集的详细信息

如下图所示,对于Reviewer2的数据集,其来源于多个会议

  1. 来自PeerRead的CONLL-16和ACL-17
  2. 来自NLPeer的 COLING-20和 ARR-22
  3. 来自openreview的ICLR papers from 2017 to 2023
  4. 来自papers.neurips.cc的NeurIPS papers from 2016 to 2020
  5. 来自openreview的NeurIPS papers 2021 to 2022

综合3 4 5,则意味着包含了ICLR 17-23 and NeurIPS 16-22的paper

// 待更

第三部分 PeerRead:根据review给paper的各方面要点打分

昨晚在思考:如何评判一篇论文是否是好论文,或是否可以中稿顶会,然后无意中看到这篇论文:A Dataset of Peer Reviews (PeerRead): Collection, Insights and NLP Applications

接下来,咱们好好看下这篇论文

3.1 PeerRead的两个工作及对我司审稿GPT的启发

3.1.1 PeerRead的两个工作:预测论文是否能被接受、根据paper的review给paper打分

2018年,来自CMU、艾伦人工智能研究所等机构的研究者提出了同行评审数据集PeerRead,其对应论文为《A Dataset of Peer Reviews (PeerRead): Collection, Insights and NLP Applications》,对应的GitHub为:https://github.com/allenai/PeerRead

PeerRea主要做了两个工作

  1. 给定论文,预测其是否会被某个会议接收(ground true自然是该篇论文的实际中稿情况),用的模型有逻辑回归、SVM、神经网络二分类、随机森林等
  2. 给定论文的review,预测论文在某些方面的数值评分,比如新颖性能得几分,比如1-5分
    In the second task, given a textual review, we predict the aspect scores for the paper such as novelty, substance and meaningful comparison


    至于预测分值所参照的的「ground true——人工评分」是怎么来的呢?具体步骤是
    a) 先爬取openreview上一篇篇paper和其对应的review(比如某paperreview上ICLR 2017的427篇paper及其对应的1304条review)
    b) 然后根据实际的review内容,给论文的各个要点人工打分(比如新颖性等各个方面均做对应评分:1-5分)

    当然 这第二个工作,最终本质是为了给定论文,然后评判其在某些要点方面的评分,但模型一开始时,直接根据论文给出各个方面的评分 还是相对困难的,而由于可以爬到论文的review,从而根据review去打出论文各个方面的评分 则相对容易些
    毕竟review有点类似对论文的摘要、或信息上的浓缩,且review通常涵盖很多主观上的喜好、优点 缺点,相对更容易打分

3.1.2 PeerRead的工作对我司审稿GPT的启发

首先,PeerRead的第一个工作,我们可能可以通过他们爬的的paper-review数据微调,以预测review,当然,我们要的是:他们的数据里面那些我们之前没有爬到的数据

其次,PeerRead的第二个工作 对我们的启发在于

  1. 借助18年「他们人工标注的review各方面要点的评分」这个工作,我们可以训练我们的模型基于review给论文各个方面打分,且数据、代码也开源了(但完整度 还有待查看)
    至于要点方面,他们的要点(比如适当性、清晰度、原创性、准确性、有意义的比较、内容和影响等等)跟我们不太一样,他们的要点更多是评价一篇论文可以得多少分
  2. 然后我们自己的模型 本身又可以针对论文自动生成review,那我们自然也就可以再做一个动作,即基于自动生成的review 给论文各个方面打分
  3. 最终 就可以做到:给定任意一篇论文,不但自动生成其对应的review,我们还能依次给review当中的比如7个要点 逐一打分
    然后每个要点的得分乘以各自不同的权重,得到该篇论文的最终总得分
    嗯,还是挺顺畅且理想化的

3.2 PeerRead论文解读

3.2.1 peerread数据集的构成

数据构成如下图所示

  1. peerread的作者们与Softconf会议管理系统和CoNLL 20162和ACL 20173会议的会议主席协调,允许作者和评审者选择加入他们的草稿和评审
    从而便导致CoNLL 2016的22个提交有39个评审,ACL 2017的137个提交有275个评审
  2. 2013年,NIPS会议开始将所有被接受的论文与匿名的文本review一起发布,还附带了1-3的置信度评级
    peerread因此收集了NIPS 2013-2017年间所有被接受的论文及其review,总共有9,152条review和2,420篇论文
  3. 此外,还收集了ICLR 2017会议的所有投稿,总共有1,304条官方匿名review,其中包括427篇论文(177篇被接受,255篇被拒绝)
  4. 至于arxiv上的11778篇论文,则均没带review

3.2.2 对review各个方面要点的评分

根据review的各个方面给paper评分,本质是一个多分类任务(The second task is a multi-class regression task to predict scores for seven review aspects)

  1. 至于哪七个方面呢?
    答案是他们为每个review注释了这七个方面:适当性、清晰度、原创性、准确性、有意义的比较、内容和影响(即‘impact’, ‘substance’, ‘appropriateness’, ‘comparison’, ‘soundness’, ‘originality’ and ‘clarity’,当然,对于这7个要点,可能大部分论文的review会涉及某个几个要点更多些,而某几个要点则在大部分review中讨论的比较少),具体操作时
    \rightarrow  对于每个方面,向注释者提供了ACL 2016评审人员针对该方面的指示。注释者的任务是阅读详细的评审文本(如论文原文所说,In order to increase the utility of the dataset, we annotated 1.3K reviews with aspect scores, based on the corresponding review text. Annotations were done by two of the authors,最终,两位注释者完成了对1.3K也可能是1.5K个review在各个方面的评分,每个review平均几百个单词,并为每个方面选择1-5之间的分数 )
    \rightarrow  当评审review没有涉及特定方面时,我们不为该方面选择任何分数,而是使用特殊的“未讨论”值
  2. For this task, we use the two sections of PeerRead which include aspect scores: ACL 2017 and ICLR 2017
    顺道说一嘴,CoNLL 2016部分也包括方面得分,但对于训练来说太小了
  3. 为了预测各个方面的分数,可以训练一个模型做多分类,每个分类得到的logits对应这个类别的被预测的分数(损失函数是预测分数与人工标注的真实分数之间的均方误差),他们选择了3种架构:CNN RNN DAN
    最终不单训练根据单纯review打分的模型,还训练了分别根据paper、paper+review打分的模型

    不足之处在于
    a) 用的18年或之前的模型 所以效果不会太好
    b) 更何况他们当时因为由于论文往往很长,所以只取了每篇论文和review的前1000和200个token,然后在模型同时考虑论文和review时将这两个部分连接起来
    Since scientific papers tend to be long, we only take the first 1000 and 200 tokens of each paper and review, respectively, and concatenate the two prefixes when the model conditions on both the paper and review text

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

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

相关文章

Vue3实现pdf本地预览功能

一、先直接看看效果吧 放大后 缩小后 也可以分页显示 二、选用vue-pdf-embed和vue3-pdfjs的原因 选用这两个的插件是因为如果实现pdf预览其实使用iframe标签就可以的,但是使用iframe标签实现的比较臭,vue-pdf-embed是能够自定义样式的,更…

如何使用hugging face的模型库?

Hugging Face 是一个流行的自然语言处理 (NLP) 模型库和社区,提供了大量预训练模型、工具和资源,使得 NLP 的开发者和研究人员能够快速高效地构建和应用各种文本相关应用。在这里,我将向您介绍如何在 1 天内快速熟悉 Hugging Face 的基本功能…

分析系统性能问题从哪里入手?

本人十年大厂经验,整理技术资料不易, 完整详细文章关注公众号,后续还会有免费学习资料 1. 高性能架构的三个核心优化手段 负载均衡:通过分发用户请求到多个服务器,降低单一服务器的负载压力。 应用层负载均衡&#xf…

Python零基础从小白打怪升级中~~~~~~~TCP网络编程

TCP网络编程 一、什么是TCP协议 TCP( Transmission control protocol )即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 面向连接 :数据传输之前客户端和…

Stable Diffusion AI绘画宝典:从新手到高手,一图胜千言!

在这个数字化时代的浪潮中,人工智能技术以其惊人的创造力和创新性席卷全球。党的二十大报告把“实施科教兴国战略,强化现代化建设人才支撑”作为战略举措进行系统阐述,彰显我国不断发展新动能、新优势的决心和气魄。 Stable Diffusion是一款…

Vue3 + Element-Plus 使用 Table 预览图片发生元素遮挡

Vue3 Element-Plus 使用 Table 预览图片发生元素遮挡 问题代码问题重现解决方法最终效果 问题代码 <el-table-column label"视频" align"center"><template #default"scope" style"display: flex;"><div style"…

碾压LoRA!Meta CMU | 提出高效大模型微调方法:GaLore,内存可减少63.3%

引言 大模型训练通常会遇到内存资源的限制。目前常用的内存减少方法低秩适应&#xff08;LoRA&#xff09;&#xff0c;通过引入低秩&#xff08;low-rank&#xff09;适配器来更新模型的权重&#xff0c;而不是直接更新整个权重矩阵。然而&#xff0c;这种方法在预训练和微调…

消息队列和分布式消息队列

文章目录 分析系统现状不足中间件消息队列什么是消息队列&#xff1f;应用场景消息队列的模型为什么不直接传输&#xff0c;而要用消息队列&#xff1f;为什么要用消息队列&#xff1f;消息队列的缺点&#xff1f; 分布式消息队列分布式消息队列的优势&#xff1f;消息队列应用…

LeetCode55题:跳跃游戏(原创)

【题目描述】 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&am…

Oracle 19c补丁升级(Windows)

文章目录 一、打补丁前备份检查1、补丁包获取2、备份数据包以及数据库软件3、检查OPatch版本 二、补丁升级1、更新OPatch2、关闭监听以及服务3、补丁升级过程4、启动监听以及服务 三、数据库补丁应用 一、打补丁前备份检查 1、补丁包获取 补丁包&#xff1a; 百度网盘链接&am…

甘特图使用小诀窍,项目把控游刃有余

在项目管理过程中,掌握甘特图的使用技巧可以让你事半功倍,高效规划和监控项目进度。作为一种视觉化的工具,甘特图直观地展示了任务的开始和结束时间、持续时间以及任务之间的依赖关系,有助于预测和优化资源分配。掌握以下几个小诀窍,你就能驾驭甘特图,游刃有余地把控整个项目。…

运营商三要素验证API接口怎么对接

运营商三要素验证API接口又叫手机三要素验证API接口、运营商实名认证接口&#xff0c;这个接口是验证姓名、身份证号、手机号三者是否一致&#xff0c;返回验证结果&#xff0c;如果一致则说明三者信息匹配&#xff0c;可以有效确认当前注册用户的身份信息&#xff0c;那么运营…

山姆·奥特曼是如何成为亿万富豪的?

2017年夏天&#xff0c;Superhuman公司首席执行官拉胡尔沃拉&#xff08;Rahul Vohra&#xff09;开始疯狂向投资者一一发消息&#xff0c;缘由是他的初创公司尝试了谷歌浏览器Chrome的一项即将推出的更新。由于一个看似无害的代码更改&#xff0c;Superhuman的智能电子邮件服务…

【环境】原则

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 一、培养项目系统性思维 1.1 系统性思维 1.2 系统性思维的价值 1.3 建模和推演&数字孪生 二、项目的复杂性和如何驾驭复杂性 2.1 复杂性的三个维度 2.2 如何驾驭复杂性 三、…

vs配置opencv找不到opencv_world480d.dll的问题

如下图所示 博主附加依赖项加了&#xff0c;但是运行程序的时候就是跳出来找不到opencv_world480d.dll。 最后是在电脑环境变量中添加了opencv安装后cv15文件夹中的bin目录的路径得以解决。 【此电脑】→【属性】→【高级系统设置】→【环境变量】→【系统变量】→【PATH】…

【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一

目录 引言 1 -> C语言传统的处理错误的方式 2 -> C异常概念 3 -> 异常的使用 3.1 -> 异常的抛出和捕获 3.2 -> 异常的重新抛出 3.3 -> 异常规范 4 -> 自定义异常体系 5 -> C标准库的异常体系 6 -> 异常的优缺点 引言 在C编程中&#xff…

冯喜运:4.16中东对抗风暴下,黄金原油市场何去何从?

黄金行情走势分析&#xff1a;4小时图布林道开始收口&#xff0c;昨日下探至下轨附近&#xff0c;也是此前的起涨低点2320启稳上升&#xff0c;十字K线配合单阳拉起&#xff0c;重新去摸高上轨。目前4小时图处于摸高当中。周线和日线留意多空转换&#xff0c;摸高之后是强势延续…

Codeforces Round 926 (Div. 2) ---- E. Sasha and the Happy Tree Cutting ----题解

E. Sasha and the Happy Tree Cutting&#xff1a; 题目大意&#xff1a; 思路解析&#xff1a; 现在有一颗树&#xff0c;然后给出了k对路径&#xff0c;然后要求路径上至少有一个结点是被染色了的&#xff0c;如果这k对路径没有共用边&#xff0c;那我们至少需要染色k条边。…

Docker安装及开启远程访问

这几天有人问我docker是怎么开启远程服务的&#xff1f; 正好之前我做过这件事情&#xff0c;并且写了相关的笔记&#xff0c;现在整理为一篇博客发出来。 安装Docker 首先更新一下自己的yum版本 yum update安装一下所需要的软件包 yum install -y yum-utils device-mappe…

MySQL进阶-----limit、count、update优化

目录 前言 一、limit优化 1. 未优化案例 2.优化后案例 二、count优化 count用法 三、update优化 1.锁行情况&#xff08;有索引&#xff09; 2.锁表情况&#xff08;无索引&#xff09; 前言 上一期我们学习了order by优化和group by优化&#xff0c;本期我们就继续学习…