系统学习大模型的20篇论文

news2024/10/5 17:19:51

【引子】“脚踏实地,仰望星空”, 知其然还要知其所以然。读论文是一条重要的途径,这一篇文章https://magazine.sebastianraschka.com/p/understanding-large-language-models非常值得借鉴,不敢私藏,编译成文。

bb4b89940430036069ed750d988182ca.jpeg

大型语言模型已经成为公众关注的焦点,这几乎彻底改变了自然语言处理领域,甚至是在过去的五年中,大型语言模型中的transformer也已经开始引领在计算机视觉和计算生物学领域中的革命。

由于LLM和transformer对每个领域的研究影响巨大,如何进行系统性学习呢?当然,还有许多其他有用的资源,例如,

  • Jay Alammar的Illustrated Transformer;

  • Lilian Weng的更多技术博客文章;

  • Xavier Amatriain 所有关于transformer的文字;

  • Andrej Karpathy为教育目的而实现的生成语言模型的minimal code implementation;

  • ......

但是,研读论文仍然是系统性学习的重要方式,了解来龙去脉,跟踪最新发展。

1. 理解架构和任务

从头开始,对于transformer/大型语言模型来说,从哪里读起呢?

(1) Neural Machine Translation by Jointly Learning to Align and Translate (2014) by Bahdanau, Cho, and Bengio, https://arxiv.org/abs/1409.0473

建议从上面的论文开始阅读。它介绍了一种注意力机制,用于改进循环神经网络(RNN)的长序列建模能力。这使得RNN能够更准确地翻译更长的句子——这也是后来开发原始Transformer架构的动机。

7cb520b7645e550b94e123a95f3c9343.jpeg

(2) Attention Is All You Need (2017) by Vaswani, Shazeer, Parmar, Uszkoreit, Jones, Gomez, Kaiser, and Polosukhin, https://arxiv.org/abs/1706.03762

这一篇是引用最为广泛的经典论文,介绍了最初的Transformer架构,包括后来成为单独模块的编码器和解码器部分。此外,还介绍了缩放点积注意力机制、多头注意力块和位置输入编码等概念,这些概念仍然是现代Transformer的基础。

e9e0684d47f6fba75a6a79ff036eba7a.jpeg

(3) BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (2018) by Devlin, Chang, Lee, and Toutanova, https://arxiv.org/abs/1810.04805

沿用原始的Transformer架构,大型语言模型研究开始分为两个方向:编码器风格的Transformer用于预测建模任务,如文本分类,解码器风格的Transformer用于生成建模任务,如翻译,摘要和其他形式的文本创作。而这一篇介绍了BERT掩码语言建模的原始概念,而下一个句子的预测仍然是一种有影响力的解码器风格架构。可以继续关注RoBERTa,它通过删除下一个句子的预测任务简化了预训练目标。

2e7c6319d4b8d0c08e76ffa560739367.jpeg

(4) Improving Language Understanding by Generative Pre-Training (2018) by Radford and Narasimhan, https://www.semanticscholar.org/paper/Improving-Language-Understanding-by-Generative-Radford-Narasimhan/cd18800a0fe0b668a1cc19f2ec95b5003d0a5035

原始的GPT论文介绍了流行的解码器架构和通过下一个单词预测进行预训练。由于其以掩码语言模型为预训练目标,BERT可以被认为是一个双向变压器,而GPT是一个单向的自回归模型。虽然GPT嵌入也可以用于分类,但GPT方法是当今最有影响力的LLM,也是ChatGPT的核心。

这两篇论文GPT-2和GPT-3说明了LLM能够进行zero-shot和few-shot样本学习,并突出了LLM的涌现能力。GPT-3是当LLM(如ChatGPT)训练的流行基线和基础模型。

b9e056504fc97fddaf7377ae9e5b04b6.jpeg

(5) BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (2019), by Lewis, Liu, Goyal, Ghazvininejad, Mohamed, Levy, Stoyanov, and Zettlemoyer, https://arxiv.org/abs/1910.13461.

如前所述,BERT类型的编码器LLM通常用于预测建模任务,而GPT类型的解码器LLM则更适合生成文本。为了兼顾两者优点,上面的BART论文结合了编码器和解码器部分(与本列表中的第二篇论文类似,就像原始的Transformer一样)。

6f2468578d1d7b8a0fb12fc246208823.jpeg

(6) Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond (2023) by Yang, Jin, Tang, Han, Feng, Jiang, Yin, and Hu, https://arxiv.org/abs/2304.13712

这可能是迄今为止最好的一篇通用架构调查,阐明了不同架构是如何演变的。然而,除了讨论BERT风格的掩码语言模型(编码器)和GPT风格的自回归语言模型(解码器)之外,它还提供了有关预训练和微调数据的有用讨论和指导。

8f09f9557fa1e71bf608d1763654a117.jpeg

2. 缩放方式与效率提升

如何进一步提高Transformer效率呢?2020 Efficient Transformers: A Survey 论文,接着是2023年的2023 A Survey on Efficient Training of Transformers论文,这两篇文章可以提供帮助。此外,下面的论文也非常值得一读。

(7) FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness (2022), by Dao, Fu, Ermon, Rudra, and Ré, https://arxiv.org/abs/2205.14135.

虽然大多数transformer论文都不会考虑替换实现自注意力的原始缩放点积机制,但FlashAttention则描绘这样一种机制。

0b2a51a9b441e4856a969a3794d39202.png

(8) Cramming: Training a Language Model on a Single GPU in One Day (2022) by Geiping and Goldstein, https://arxiv.org/abs/2212.14034.

在这篇论文中,使用掩码语言模型/编码器风格的LLM(这里是BERT)在单个GPU上进行了24小时的训练。相比之下,2018年的BERT论文使用16个TPU进行了为期四天的训练。有趣的是,较小的模型具有更高的吞吐量,较小的模型学习效率也更低。因此,较大的模型不需要更多的训练时间才能达到特定的预测性能阈值。

f2b7b62de1f86cb8ba505db1e79061f0.jpeg

(9) LoRA: Low-Rank Adaptation of Large Language Models (2021) by Hu, Shen, Wallis, Allen-Zhu, Li, L Wang, S Wang, and Chen, https://arxiv.org/abs/2106.09685.

在大型数据集上预训练的大语言模型表现出了新兴能力,并在各种任务中表现良好,包括语言翻译、摘要、编码和问答。然而,如果想要提高Transformer在特定领域数据和专业任务上的能力,值得进行微调。

LoRA是一种在参数效率方面进行大型语言模型微调时最有影响力的方法之一。虽然存在其他用于参数效率微调的方法,但是LoRA特别值得一提,因为它既是一种优雅的方法,也是一种非常通用的方法,可以应用于其他类型的模型。

虽然预训练模型的权重在预训练任务上具有完整的秩,但LoRA的作者指出,当它们适应于新任务时,预训练的大型语言模型具有低“内在维度”。因此,LoRA背后的主要思想是将权重变化ΔW分解为更具有有效参数的低秩表示。

5e5c5dfb2368b9bb7b43726ccadc549e.jpeg

(10) Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning (2022) by Lialin, Deshpande, and Rumshisky, https://arxiv.org/abs/2303.15647.

预训练在大规模数据集上的现代LLM中展示了新兴的能力,并在各种任务(包括语言翻译、摘要、编码和问答)中表现良好。然而,如果提高transformer在特定领域数据和专业任务上的能力,需要对变形金刚进行微调。这篇论文回顾了40多篇有关参数高效的微调方法(包括流行的技术,如前缀调整、适配器和低秩适应),以使微调计算实现高效率。

01d5e6bfc1d45fce97eb1ccd8cd15a92.jpeg

(11) Training Compute-Optimal Large Language Models (2022) by Hoffmann, Borgeaud, Mensch, Buchatskaya, Cai, Rutherford, de Las Casas, Hendricks, Welbl, Clark, Hennigan, Noland, Millican, van den Driessche, Damoc, Guy, Osindero, Simonyan, Elsen, Rae, Vinyals, and Sifre, https://arxiv.org/abs/2203.15556.

本文介绍了具有70亿参数的Chinchilla模型,该模型在生成模型任务上优于流行的具有1750亿参数的GPT-3模型。然而,其主要观点是LLM的“显著未经训练”。

本文为大型语言模型训练定义了线性缩放定律。例如,虽然Chinchilla只有GPT-3的一半大小,但它表现更好,因为它是在1.4万亿(而不仅仅是3000亿)token上进行训练的。换句话说,训练token数量与模型大小同样重要。

698f96ece5bfcee236788b9e289817c1.png

(12) Pythia: A Suite for Analyzing Large Language Models Across Training and Scaling (2023) by Biderman, Schoelkopf, Anthony, Bradley, O'Brien, Hallahan, Khan, Purohit, Prashanth, Raff, Skowron, Sutawika, and van der Wal, https://arxiv.org/abs/2304.01373

Pythia是一套开源LLM套件(70M到12B个参数),用于研究LLM在训练过程中的演变。

其架构类似于GPT-3,但包括一些改进,例如Flash Attention(类似于LLaMA)和Rotary Positional Embeddings(类似于PaLM)。Pythia是在The Pile dataset(825 Gb)上进行训练的,共训练了300 Btoken,在常规PILE上为约1个时期,在去重后的PILE上为约1.5个时期。

53b6525802a67c2d39049a00c964ace8.jpeg

Pythia 研究的主要结论如下:

  1. 在重复数据上进行训练(LLMs如何训练,这意味着训练超过一个 epoch)不会对性能造成影响。

  2. 训练顺序不会影响记忆。这很不幸,因为如果相反的情况是真的,可以通过重新排列训练数据来减轻不良的逐字记忆问题。

  3. 预先训练的词频会影响任务性能。例如,少量样本的准确率往往对更频繁出现的词语更高。

  4. 增加批量大小可以将训练时间减半,但不会影响收敛。

3.调整与对齐——引导LLM达到预期目标和收益

近年来,有许多大型语言模型可以生成逼真的文本(例如GPT-3和Chinchilla等),似乎已经达到了常用预训练范式的限制。

为了使语言模型更有用,减少错误信息和有害语言,可以设计了额外的训练范式来微调预训练基础模型。

(13) Training Language Models to Follow Instructions with Human Feedback (2022) by Ouyang, Wu, Jiang, Almeida, Wainwright, Mishkin, Zhang, Agarwal, Slama, Ray, Schulman, Hilton, Kelton, Miller, Simens, Askell, Welinder, Christiano, Leike, and Lowe, https://arxiv.org/abs/2203.02155.

在InstructGPT论文中,使用了一种人类反馈的强化学习机制(RLHF)。从预训练的GPT-3基础模型开始,并使用由人类生成的一组提示-响应进行监督学习进一步微调(步骤1)。接下来,要求人类对模型输出进行排名以训练奖励模型(步骤2)。最后,使用奖励模型通过近端策略优化来更新预训练和微调的GPT-3模型(步骤3)。

这篇论文也描述了ChatGPT背后思想,ChatGPT是InstructGPT的一个更大数据集微调的升级版。

Source: https://arxiv.org/abs/2203.02155

a23a42f54cc07cee2a8145b10b5c5ed7.jpeg

(14) Constitutional AI: Harmlessness from AI Feedback (2022) by Yuntao, Saurav, Sandipan, Amanda, Jackson, Jones, Chen, Anna, Mirhoseini, McKinnon, Chen, Olsson, Olah, Hernandez, Drain, Ganguli, Li, Tran-Johnson, Perez, Kerr, Mueller, Ladish, Landau, Ndousse, Lukosuite, Lovitt, Sellitto, Elhage, Schiefer, Mercado, DasSarma, Lasenby, Larson, Ringer, Johnston, Kravec, El Showk, Fort, Lanham, Telleen-Lawton, Conerly, Henighan, Hume, Bowman, Hatfield-Dodds, Mann, Amodei, Joseph, McCandlish, Brown, Kaplan, https://arxiv.org/abs/2212.08073.

在这篇论文中,将对齐思想推进了一步,提出了一种用于创建“无害”人工智能系统的训练机制。研究人员提出了一种基于规则列表的自我训练机制(这些规则由人类提供)。与上面提到的InstructGPT论文类似,所提出的方法采用强化学习方法。

693af365018d5897e8b491b2f6f484de.jpeg

(15) Self-Instruct: Aligning Language Model with Self Generated Instruction (2022) by Wang, Kordi, Mishra, Liu, Smith, Khashabi, and Hajishirzi, https://arxiv.org/abs/2212.10560

指令微调是从类似于GPT-3的预训练基础模型到更强大的LLM(例如ChatGPT)的方法。开源人工生成指令数据集(例如databricks-dolly-15k)可以帮助实现这一目标。但是如何扩大规模呢?一种方法是通过其自身的生成来引导LLM的训练。

自我指导是一种(几乎没有标注的)方法,用于将预训练的LLM与指令对齐。

这是怎么工作的?简而言之,它是一个4步骤的过程:

  1. 使用一组人工编写的指令(在本例中为175个)和示例指令填充任务池。

  2. 使用预训练的LLM(例如GPT-3)确定任务类别。

  3. 给定新指令,让预训练的LLM生成响应。

  4. 收集、修剪和过滤响应,然后将其添加到任务池中。

2332feb9f0f2967dfc454dae5d036f87.jpeg

实践表明,基于 ROUGE 分数的方法相对有效。

例如,一个自我指导微调 LLM 的表现优于 GPT-3 基础 LLM(1),并且可以与预先训练了大量人工编写的指令集的 LLM 竞争(2)。同时,自我指导也可以为已经在人类指令上进行了微调的 LLM带来好处(3)。

当然,评估 LLM 的黄金标准是要询问人类评估者的意见。基于人类评估,自我指导的表现优于基础 LLM,以及在监督方式下训练的人工指令数据集的 LLM(SuperNI,T0 Trainer)。但有趣的是,Self-Instruct 并没有超越通过人类反馈进行强化学习训练的方法(RLHF)。

哪种方法更有前途,是人类生成的指令数据集还是自我指导的数据集?可能两者都有前途。为什么不从一个人类生成的指令数据集(如来自 databricks-dolly-15k 的 15k 指令)开始,然后再使用自我指导进行扩展呢?

4. 补充: 人类反馈的增强学习(RLHF)

虽然强化学习与人类反馈(RLHF)可能无法完全解决当前LLM的问题,但它目前被认为是最好的选择,可能会看到更多创造性的方法将RLHF应用于LLM的其他领域。

上述两篇论文,“InstructGPT”和“Constitutional AI”都使用了RLHF。由于RLHF将成为一种有影响力的方法,因此本节还包括了其他论文资源。

(16) Asynchronous Methods for Deep Reinforcement Learning (2016) by Mnih, Badia, Mirza, Graves, Lillicrap, Harley, Silver, and Kavukcuoglu (https://arxiv.org/abs/1602.01783) 

本文介绍了一种梯度方法,可以作为深度学习和强化学习中 Q-learning 的替代方法。

(17) Proximal Policy Optimization Algorithms (2017) by Schulman, Wolski, Dhariwal, Radford, Klimov (https://arxiv.org/abs/1707.06347) 

本文介绍了一种改进的近端策略优化增强学习算法,比上述基本策略优化算法更具数据效率和可伸缩性。

(18) Fine-Tuning Language Models from Human Preferences (2020) by Ziegler, Stiennon, Wu, Brown, Radford, Amodei, Christiano, Irving (https://arxiv.org/abs/1909.08593) 

本文将PPO和奖励学习的概念应用于预训练语言模型,包括KL正则化,以防止策略偏离自然语言。

(19) Learning to Summarize from Human Feedback (2022) by Stiennon, Ouyang, Wu, Ziegler, Lowe, Voss, Radford, Amodei, Christiano https://arxiv.org/abs/2009.01325 

本文介绍了流行的RLHF三个步骤:

  1. 预训练GPT-3

  2. 有监督地微调它,

  3. 以有监督的方式训练奖励模型。然后使用近端策略优化器使用此奖励模型对微调模型进行训练。

本文还表明,使用近端策略优化的强化学习比仅使用常规有监督学习得到更好的模型。

8380b76afd90ebaa536d4e1d7347a7bc.jpeg

(20) Training Language Models to Follow Instructions with Human Feedback (2022) by Ouyang, Wu, Jiang, Almeida, Wainwright, Mishkin, Zhang, Agarwal, Slama, Ray, Schulman, Hilton, Kelton, Miller, Simens, Askell, Welinder, Christiano, Leike, and Lowe (https://arxiv.org/abs/2203.02155), also known as InstructGPT paper)

RLHF 使用与上述类似的三步骤过程,但不是总结文本,而是基于人类指令生成文本。此外,还使用一个标签器将输出从最佳到最差进行排名,而不仅仅是人工和 AI 生成文本之间的比较。

5. 结论与扩展阅读

大模型的研究日新月异,这里重点关注大语言模型的设计、约束和演变,包括前10篇论文(以及3篇关于RLHF的论文)。我们可以跟随上述论文中的参考文献进行更深入的学习。当然,还有很多其他的资源,例如:

Open-source alternatives to GPT

  • BLOOM: A 176B-Parameter Open-Access Multilingual Language Model (2022), https://arxiv.org/abs/2211.05100

  • OPT: Open Pre-trained Transformer Language Models (2022), https://arxiv.org/abs/2205.01068

  • UL2: Unifying Language Learning Paradigms (2022), https://arxiv.org/abs/2205.05131

ChatGPT alternatives

  • LaMDA: Language Models for Dialog Applications (2022), https://arxiv.org/abs/2201.08239

  • (Bloomz) Crosslingual Generalization through Multitask Finetuning (2022), https://arxiv.org/abs/2211.01786

  • (Sparrow) Improving Alignment of Dialogue Agents via Targeted Human Judgements (2022), https://arxiv.org/abs/2209.14375

  • BlenderBot 3: A Deployed Conversational Agent that Continually Learns to Responsibly Engage, https://arxiv.org/abs/2208.03188

Large language models in computational biology

  • ProtTrans: Towards Cracking the Language of Life’s Code Through Self-Supervised Deep Learning and High Performance Computing (2021), https://arxiv.org/abs/2007.06225

  • Highly Accurate Protein Structure Prediction with AlphaFold (2021), https://www.nature.com/articles/s41586-021-03819-2

  • Large Language Models Generate Functional Protein Sequences Across Diverse Families (2023), https://www.nature.com/articles/s41587-022-01618-2

【关联阅读】

  • 一文读懂“语言模型”

  • 解读TaskMatrix.AI

  • 深度学习架构的对比分析

  • 解读ChatGPT中的RLHF

  • 解读Toolformer

  • 知识图谱的5G追溯

  • 图计算的学习与思考

  • AI系统中的偏差与偏见

  • 面向AI 的数据生态系统

  • 机器学习与微分方程的浅析

  • 神经网络中常见的激活函数

  • 老码农眼中的大模型(LLM)

  • 《深入浅出Embedding》随笔

  • 机器学习系统架构的10个要素

  • 清单管理?面向机器学习中的数据集

  • DuerOS 应用实战示例——机器狗DIY

  • 《基于混合方法的自然语言处理》译者序

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

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

相关文章

Vue-生命周期

Vue实例有一个完整的生命周期,也就是说从开始创建、初始化数据、编译模板、挂在DOM、渲染-更新-渲染、卸载等一系列过程,我们成为Vue 实例的生命周期,钩子就是在某个阶段给你一个做某些处理的机会。 注册周期钩子​ 举例来说,mo…

聚观早报 | ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备

今日要闻:ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备;索尼正开发小尺寸折叠屏手机;万达辟谣大规模裁员;智能仿生手让截肢者重获手心的温度 ChatGPT登顶美区iOS免费榜 ChatGPT 在 iOS 美区免费 App 排行榜上位列…

一种轻量级的消息传输协议-MQTT

正文 大家周末好,我是bug菌~ 最近项目中用到了MQTT,感觉挺优秀的一种协议,所以这里分享一些相关的知识。 1 什么是MQTT MQTT是一种轻量级的消息传输协议,用于物联网设备和应用程序之间的通信。其最初由IBM开发&#xf…

TCP可靠数据传输

TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输的。 1 重传机制 TCP 利用重传机制解决数据包丢失的情况,常见的重传机制如下: 超时重传快速重传SACKD-SACK 1.1 超时重传 重传机制的其中一个方式,就是…

网络的七层模型

网络的七层模型 七层模型结构 OSI七层模型TCP/IP五层模型说明协议硬件解释应用层应用层网络服务与最终用户的一个接口HTTP HTTPS FTP TFTP SMTP POP3 IMAP TELNET SNMP DHCP这层不涉及硬件,主要是web应用的表形式为应用程序提供网络服务表示层数据的表示、安全、压…

[学习笔记] [机器学习] 6. [下]决策树算法(熵Entropy、信息增益(率)、基尼值(指数)、CART剪枝、特征工程特征提取、回归决策树)

7. 回归决策树 学习目标: 知道回归决策树的实现原理 前面已经讲到,关于数据类型,我们主要可以把其分为两类,①连续型数据和②离散型数据。 在面对不同数据时,决策树也可以分为两大类型: 分类决策树&…

第三篇:强化学习发展历史

你好,我是zhenguo(郭震) 这是强化学习第三篇,我们回顾一下它的发展历史:强化学习发展历史 强化学习作为一门研究领域,经历了多年的发展和演进。以下是强化学习的主要发展历史里程碑: 1950年代-1…

前沿重器[33] | 试了试简单的prompt

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…

容器简单介绍

目录 一、容器简介​编辑 二、容器和虚拟化技术差异 三、容器基本概念 四、容器技术对企业优势 五、容器的工具 一、容器简介 docker只是容器工具,真正容器技术是LXC (linux container) 二、容器和虚拟化技术差异 虚拟机模式&#xff…

微服务开发系列 第二篇:Nacos

总概 A、技术栈 开发语言:Java 1.8数据库:MySQL、Redis、MongoDB、Elasticsearch微服务框架:Spring Cloud Alibaba微服务网关:Spring Cloud Gateway服务注册和配置中心:Nacos分布式事务:Seata链路追踪框架…

【腾讯云 Finops Crane 集训营】云架构成本大,浪费支出太高?何不试试Crane

一、前言 近年来,很多公司随着业务的发展都开始采用云原生的架构方式来部署服务系统,以便满足系统的弹性需求。但随着业务的进一步增长,k8s的节点数不断的增加,每个月消耗的费用也随之增加,导致了资源的利用率并不平均…

Python自动化办公对每个子文件夹的Excel表加个表头(Excel同名)

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 玉容寂寞泪阑干,梨花一枝春带雨。 大家好,我是皮皮。 一、前言 前几天在Python粉丝【彩】问了一个Python自动化办公处理的问题&…

python整合合并两个excel文件,保留各自excel文件的样式,包含字体大小和字体颜色等格式

一、实现目标 现有两个excel文件data1.xlsx和data2.xlsx,要求将这两个excel文件合并为一个excel文件,同时保留这两个excel文件各自带有的样式,包括字体、颜色等格式需要保留。 data1.xlsx: …

装饰者设计模式解读

问题引进 星巴克咖啡订单项目(咖啡馆): 1) 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡) 2) 调料:Milk、Soy(豆浆)、Chocolate 3) 要求在扩展新的咖啡种类时&#x…

Redis主从集群搭建及其原理

Redis主从集群搭建及其原理 1.Redis主从1.1.搭建主从架构1.2.准备实例和配置1.3.启动1.4.开启主从关系1.5.测试 2.主从数据同步原理2.1.全量同步2.2.增量同步2.3.repl_backlog原理 3.主从同步优化4.小结 1.Redis主从 1.1.搭建主从架构 单节点Redis的并发能力是有上限的&#…

车辆合格证怎么转为结构化excel数据?

一、为何要将车辆合格证转为结构化excel? 车辆合格证是在车辆制造完成后,经过各项检测合格的证明。对于车辆行业来说,车辆合格证是一种重要的合规证明,在车辆的生产制造、售后服务、质量管理等各个环节中都有着重要的作用。同时&…

【架构】常见技术点--监控告警

导读:收集常见架构技术点,作为项目经理了解这些知识点以及解决具体场景是很有必要的。技术要服务业务,技术跟业务具体结合才能发挥技术的价值。 目录 1. 服务监控 2. 全链路监控 2.1 服务拨测 2.2 节点探测 2.3 告警过滤 2.4 告警去重 …

内网 monorepo 配置指南(PNPM、YARN、Rush.js)

此处的内网是指没办法连接互联网进行依赖下载的环境,本文以windows平台为例 背景说明 绝大部分政府机关、国有企业都是在内网开发,无法从互联网同步依赖,就需要另辟蹊径解决项目依赖的问题。 传统的单包项目还好,从互联网机器将…

音视频技术开发周刊 | 294

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 五问「ChatGPT医学影像」:新一代的 AI 能否成为放射科医生的一把利器? 在医学等专业性较强的领域内,ChatGPT的表现还不够好&#xff0c…

Linux 防火墙 SNAT DNAT

SNAT原理与应用 SNAT 应用环境 局域网主机共享单个公网IP地址接入Internet (私有IP地址不能在Internet中正常路由) SNAT原理 修改数据包的源地址 SNAT可以认为是路由器NAT中的easy ip DNAT可以认为是路由器NAT中的 nat server SNAT将 内网源地址 转化为网…