【小沐学NLP】Python实现聊天机器人(OpenAI,模型概述笔记)

news2024/11/18 5:56:32
🍺NLP开发系列相关文章编写如下🍺:
1🎈【小沐学NLP】Python实现词云图🎈
2🎈【小沐学NLP】Python实现图片文字识别🎈
3🎈【小沐学NLP】Python实现中文、英文分词🎈
4🎈【小沐学NLP】Python实现聊天机器人(ELIZA))🎈
5🎈【小沐学NLP】Python实现聊天机器人(ALICE)🎈
6🎈【小沐学NLP】Python实现聊天机器人(微软Azure)🎈
7🎈【小沐学NLP】Python实现聊天机器人(微软小冰)🎈
8🎈【小沐学NLP】Python实现聊天机器人(钉钉机器人)🎈
9🎈【小沐学NLP】Python实现聊天机器人(微信机器人)🎈
10🎈【小沐学NLP】Python实现聊天机器人(Selenium、七嘴八舌)🎈
11🎈【小沐学NLP】Python实现聊天机器人(若干在线聊天机器人)🎈
12🎈【小沐学NLP】Python实现聊天机器人(ChatterBot,代码示例)🎈
13🎈【小沐学NLP】Python实现聊天机器人(ChatterBot,集成前端页面)🎈
14🎈【小沐学NLP】Python实现聊天机器人(ChatterBot,集成web服务)🎈
15🎈【小沐学NLP】Python实现聊天机器人(OpenAI,模型概述笔记)🎈

文章目录

  • 1、简介
    • 1.1 OpenAI
      • 1.1.1 发布时间
      • 1.1.2 论文出处
      • 1.1.3 算法示意图
    • 1.2 ChatGPT
  • 2、研究(Research)
    • 2.1 Text
    • 2.2 Image
    • 2.3 Audio
  • 3、模型(Model)
    • 3.1 GPT
    • 3.2 DALL·E
    • 3.3 Whisper
  • 4、开发接口(Made for developers)
    • 4.1 Chat
    • 4.2 Embeddings
    • 4.3 Analysis
    • 4.4 Fine-tuning
  • 5、定价(Pricing)
    • 5.1 GPT-4
    • 5.2 Chat
    • 5.2 InstructGPT
    • 5.3 Fine-tuning models
    • 5.4 Embedding models
    • 5.5 Image models
    • 5.6 Audio models
  • 结语

1、简介

1.1 OpenAI

OpenAI是全球最著名的人工智能研究机构,发布了许多著名的人工智能技术和成果,如大语言模型GPT系列、文本生成图片预训练模型DALL·E系列、语音识别模型Whisper系列等。由于这些模型在各自领域都有相当惊艳的表现,引起了全世界广泛的关注。
在这里插入图片描述

GPT之前有几个的前辈,包括GPT-1、GPT-2和GPT-3和ChatGPT。GPT家族与BERT模型都是知名的NLP模型族,都基于Transformer技术。GPT-1只有12层,而到了GPT-3,则增加到96层。GPT-4增加了额外的视觉语言模块,理论上具有更大的模型尺寸和输入窗口。

在这里插入图片描述

  • 2020年5月28日,OpenAI的研究人员直接提交了论文《Language Models are Few-Shot Learners》,正式公布了GPT-3相关的研究结果,这也是当时全球最大的预训练模型,参数1750亿!GPT-3在论文中展示了强大的能力,但是如前面的版本一样,官方没有公布预训练结果文件。但是,同年9月,GPT-3的商业化授权给了微软。
  • 2021年8月10日,OpenAI发布了Codex。OpenAI Codex是GPT-3的后代;它的训练数据既包含自然语言,也包含数十亿行公开的源代码,包括GitHub公共存储库中的代码。OpenAI Codex就是Github Coplilot背后的模型。当然,Codex也没有公布,而是OpenAI收费的API。
  • 2022年1月27日,OpenAI发布了InstructGPT。这是比GPT-3更好的遵循用户意图的语言模型,同时也让它们更真实,且less toxic,使用的技术是通过alignment研究开发的。这些InstructGPT模型是在人类的参与下训练的,这是一个AI对话系统,也是OpenAI收费的API。
  • 2022年3月15日,OpenAI新版本的GPT-3和Codex发布,新增了编辑和插入新内容的能力。也就是说除了之前的生成能力外,新增编辑和修改。
  • 2022年11月30日,OpenAI发布ChatGPT系统,这是一个AI对话系统,其强大的能力也让大家再次见识到了其强大的能力。ChatGPT在很多问题上近乎完美的表现使得它仅仅5天就有了100万用户。它可以帮助我们写代码、写博客、解释技术,可以多轮对话,写短剧等等。

1.1.1 发布时间

模型发布时间参数量描述
GPT2018 年 6 月1.17 亿无监督预训练,分为无监督的预训练和有监督的模型微调
GPT-22019 年 2 月15 亿多任务学习,使用无监督的预训练模型做有监督的任务。
GPT-32020 年 5 月1750 亿海量参数
GPT-42023 年 3 月大于1750亿100万亿参数,多了对对于图片的理解。多模模型,Large Multimodal Model

在这里插入图片描述

1.1.2 论文出处

  • GPT-1
    第一代模型 GPT-1,当时的论文叫做「通过生成式预训练模型,来提升对于语言本身的理解」Improving Language Understanding by Generative Pre-Training。其中的 Generative Pre-Training,便是现在 GPT 的来源。
    2018年6月,OpenAI发表了GPT-1,GPT家族首次登上历史舞台。GPT-1模型训练使用了BooksCorpus数据集。训练主要包含两个阶段:第一个阶段,先利用大量无标注的语料预训练一个语言模型,接着,在第二个阶段对预训练好的语言模型进行精调,将其迁移到各种有监督的NLP任务。也就是前面提到过的“预训练+精调”模式。
    GPT-1的核心是Transformer。Transformer在数学上是大矩阵的计算,通过计算不同语义之间的关联度(概率)来生成具有最高概率的语义反馈。
    GPT-1着重解决两个问题:
    1)通过无监督训练解决需要大量高质量标注数据的问题。
    2)通过大量语料训练解决训练任务的泛化问题。
    在这里插入图片描述

  • GPT-2
    第二代模型 GPT-2, OpenAI 手头拿着学会了语言模型,但的确是没什么用。他们就在思考,现在是能理解文字了,但是这什么也不能干呀,这个模型到底能做什么呢?提出了第二篇论文「大语言模型,是无需监督的多任务学习者」Language Models are Unsupervised Multitask Learners。即它可以自己学会做很多很多事,不用监督瞪大眼睛看它学对没,先学再说。学会的知识,应该是具备普适性的,能够处理很多任务。
    2019年,OpenAI发表了另一篇关于他们最新模型GPT-2的论文(Language Models are Unsupervised Multitask Learners)。该模型开源并在一些NLP任务中开始使用。相对GPT-1,GPT-2是泛化能力更强的词向量模型,尽管并没有过多的结构创新,但是训练数据集(WebText,来自于Reddit上高赞的文章)和模型参数量更大。目前很多开源的GPT类模型是基于GPT-2进行的结构修改或优化。

  • GPT-3
    第三代模型 GPT-3,也就是大家熟悉的 ChatGPT 的前身。这个阶段,OpenAI 在冲着充分堆料,已经学会很多内容的模型陷入深深思考。第三篇论文「大语言模型,通过几个例子就能学会你要他做什么」Language Models are Few-Shot Learners。比如,如果你和一个智慧球举例,说从一数到一百,1,2,3… 它就应该能根据你的例子,去完成内容补全。甚至多学学,不用举例子也行。
    2020年6月,OpenAI发表了另一篇关于GPT-3模型的论文(Language Models are Few-Shot Learners)。该模型的参数是GPT-2的100倍(175B),并且在更大的文本数据集(低质量的Common Crawl,高质量的WebText2,Books1,Books2和Wikipedia)上进行训练,从而获得更好的模型性能。GPT-3实际上由多个版本组成的第3代家族,具有不同数量的参数和所需的计算资源。包括专门用于代码编程的code系列。GPT-3的后继知名版本包括InstructGPT和ChatGPT。

  • GPT-3.5
    OpenAI 手头的这几个模型一个比一个大,但是最大的问题在于,它们擅长生成符合人类说话风格的胡言乱语,但是这不符合和人类和他们交流的习惯。如果学会了世界上所有代码,应该能给人带来帮助。于是在此尝试下,推出了包含代码数据集的 OpenAI Codex,并且把这个包含了代码和新数据训练的模型叫做 GPT-3.5。
    2022年3月15日,OpenAI发布了名为“text-davinci-003”的新版GPT-3,该模型被描述为比以前版本的GPT更强大。目前有若干个属于GPT-3.5系列的模型分支,其中code-davinci针对代码完成任务进行了优化。
    ChatGPT是基于GPT-3.5(Generative Pre-trained Transformer 3.5)架构开发的对话AI模型,是InstructGPT的兄弟模型。ChatGPT很可能是OpenAI在GPT-4正式推出之前的演练,或用于收集大量对话数据。
    OpenAI使用RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)技术对ChatGPT进行了训练,且加入了更多人工监督进行微调。
    ChatGPT具有以下特征:
    1)可以主动承认自身错误。若用户指出其错误,模型会听取意见并优化答案。
    2)ChatGPT可以质疑不正确的问题。例如被询问“哥伦布2015年来到美国的情景”的问题时,机器人会说明哥伦布不属于这一时代并调整输出结果。
    3)ChatGPT可以承认自身的无知,承认对专业技术的不了解。
    4)支持连续多轮对话。

  • InstructGPT
    因为在人类世界中,我说上句你补充下句意义不大。重点还是交流,交流涉及沟通,于是便训练了基于 GPT-3.5 的对话模型 InstructGPT。这个模型中用到了很多人工反馈,对问答方式和表述方式进行更符合人性的指导。而我们现在最熟悉,最出圈的 ChatGPT,就是 InstructGPT 的一个更适合大众的姊妹模型变种。

  • GPT-4
    第四代模型 GPT-4,重点强化了创作能力,如作曲,写小说等;增加了对于长文本的处理能力。最重要的,还是多了一种新的交互方式,就是对于图片的理解。也就是本次新论文的标题「多模模型」 Large Multimodal Model。与大语言模型(LLM)相比,多模态大语言模型(Multi-modal Large Language Model,MLLM)可实现更好的常识推理性能,跨模态迁移更有利于知识获取,产生更多新的能力,加速了能力的涌现。这

1.1.3 算法示意图

  • GPT-1
    在这里插入图片描述
  • GPT-2
    在这里插入图片描述
  • GPT-3
    在这里插入图片描述

1.2 ChatGPT

ChatGPT(全名:Chat Generative Pre-trained Transformer)是由 OpenAI 开发的一个人工智能聊天机器人程序,于 2022 年 11 月推出。该程序使用基于 GPT-3.5 架构的大型语言模型并通过强化学习进行训练。

在这里插入图片描述
ChatGPT的前世是GPT-3(Generative Pretrained Transformer-3),GPT-3是一种基于预训练的自然语言生成模型,是当前最大的语言生成模型。为了更好地处理对话任务,OpenAI在GPT-3的基础上改进了模型,并命名为ChatGPT,以适应对话应用领域的需求。

2017年,谷歌大脑团队(Google Brain)在神经信息处理系统大会(NeurIPS,该会议为机器学习与人工智能领域的顶级学术会议)发表了一篇名为“Attention is all you need”(自我注意力是你所需要的全部)的论文。作者在文中首次提出了基于自我注意力机制(self-attention)的变换器(transformer)模型,并首次将其用于理解人类的语言,即自然语言处理。

Transformer模型能够同时并行进行数据计算和模型训练,训练时长更短,并且训练得出的模型可用语法解释,也就是模型具有可解释性。

由于ChatGPT并没有放出论文,我们没法直接了解ChatGPT的设计细节。但它的blog中提到一个相似的工作InstructGPT,两者的区别是ChatGPT在后者的基础上针对多轮对话的训练任务做了优化,因此我们可以参考后者的论文去理解ChatGPT。

在这里插入图片描述

Transforming work and creativity with AI

OpenAI已经训练了一个名为ChatGPT的模型,它以对话方式进行交互。对话形式使 ChatGPT 能够回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。

ChatGPT 是一个兄弟模型指示GPT,经过训练以遵循提示中的说明并提供详细的响应。

https://chat.openai.com/

我们使用来自人类反馈的强化学习(RLHF)训练了这个模型,使用的方法与InstructGPT,但在数据收集设置上略有不同。我们使用监督微调训练了一个初始模型:人类人工智能训练师提供对话,他们在其中扮演双方——用户和人工智能助手。我们让培训师可以访问模型编写的建议,以帮助他们撰写答案。我们将这个新的对话数据集与 InstructGPT 数据集混合,并将其转换为对话格式。

为了创建强化学习的奖励模型,我们需要收集比较数据,其中包括两个或多个按质量排名的模型响应。为了收集这些数据,我们进行了人工智能培训师与聊天机器人的对话。我们随机选择了一个模型编写的消息,抽样了几个替代完成,并让AI培训师对它们进行排名。使用这些奖励模型,我们可以通过以下方式微调模型近端策略优化.我们执行了此过程的多次迭代。

在这里插入图片描述

ChatGPT 是从 GPT-3.5 系列中的模型进行微调的,该模型于 2022 年初完成训练。您可以了解有关 3.5 系列的更多信息这里.ChatGPT 和 GPT-3.5 在 Azure AI 超级计算基础架构上进行了训练。

2、研究(Research)

2.1 Text

OpenAI的文本模型是先进的语言处理工具,可以以高度的连贯性和准确性生成、分类和总结文本。
在这里插入图片描述

2.2 Image

OpenAI对图像生成建模的研究导致了诸如CLIP之类的表示模型,它可以在文本和图像之间制作AI可以读取的地图,以及DALL-E,一种用于从文本描述中创建生动图像的工具。
在这里插入图片描述

2.3 Audio

OpenAI对将人工智能应用于音频处理和音频生成的研究导致了自动语音识别和原创音乐作品的发展。
在这里插入图片描述

3、模型(Model)

GPT-4 的开发,这是一种大规模的多模式模型,可以 接受图像和文本输入并生成文本输出。虽然能力不如 在许多现实世界场景中,GPT-4 在 各种专业和学术基准,包括通过模拟酒吧 考试成绩在考生中排名前 10% 左右。GPT-4 是一个 预先训练的基于转换器的模型,用于预测文档中的下一个标记。 培训后对齐过程可提高度量值的性能 事实性和对期望行为的坚持。

3.1 GPT

GPT-4 由于其更广泛的一般知识和解决问题的能力,可以更准确地解决难题。GPT-4 是一个大型多模态模型(接受图像和文本输入,发出文本输出),虽然在许多现实世界场景中的能力不如人类,但在各种专业和学术基准上表现出人类水平的表现。

在这里插入图片描述

  • 创造力
    GPT-4 比以往任何时候都更具创造力和协作性。它可以生成、编辑和迭代用户进行创意和技术写作任务,例如创作歌曲、编写剧本或学习用户的写作风格。
  • 视觉输入
    GPT-4 可以接受图像作为输入并生成标题、分类和分析。
  • 更长的背景
    GPT-4 能够处理超过 25,000 字的文本,允许使用长篇内容创建、扩展对话以及文档搜索和分析等用例。
  • 基础设施
    GPT-4 在 Microsoft Azure AI 超级计算机上接受训练。Azure 的 AI 优化基础结构还使我们能够向世界各地的用户提供 GPT-4。
  • 局限性
    GPT-4 仍然存在许多我们正在努力解决的已知限制,例如社会偏见、幻觉和对抗性提示。
  • 可用性
    GPT-4 可在 ChatGPT Plus 上使用,并作为开发人员构建应用程序和服务的 API。
    在这里插入图片描述

3.2 DALL·E

DALL·E是一个人工智能系统,可以从自然语言的描述中创建逼真的图像和艺术。

  • Image generation
    达尔·E 2 可以从文本描述中创建原始、逼真的图像和艺术。它可以组合概念、属性和样式。
  • Outpainting
    达尔·E 2 可以将图像扩展到原始画布之外,从而创建广阔的新构图。
  • Inpainting
    达尔·E 2 可以从自然语言标题对现有图像进行逼真的编辑。它可以添加和删除元素,同时考虑阴影、反射和纹理。
  • Variations
    达尔·E 2 可以拍摄图像并创建受原件启发的不同变体。
    在这里插入图片描述

3.3 Whisper

Whisper 是一种多功能语音识别模型,可以转录、识别和翻译多种语言。

Whisper可以将语音转录为文本,并将多种语言翻译成英语。

4、开发接口(Made for developers)

开发人员可以通过简单的 API 调用开始构建。

import openai

openai.Completion.create(
  engine="davinci",
  prompt="Make a list of astronomical observatories:"
)

开始使用:
https://platform.openai.com/signup
阅读文档:
https://platform.openai.com/docs/introduction

4.1 Chat

开发人员可以使用 GPT-3 构建交互式聊天机器人和虚拟助手,以自然且引人入胜的方式进行对话。

4.2 Embeddings

借助 GPT-3,开发人员可以生成可用于文本分类、搜索和聚类等任务的嵌入。

4.3 Analysis

开发人员可以使用 GPT-3 来汇总、合成和回答有关大量文本的问题。

4.4 Fine-tuning

开发人员可以通过对自定义数据进行训练,在特定任务或域上微调 GPT-3,以提高其性能。

5、定价(Pricing)

简单灵活。只需按使用量付费。
Multiple models, each with different capabilities and price points. Prices are per 1,000 tokens. You can think of tokens as pieces of words, where 1,000 tokens is about 750 words. This paragraph is 35 tokens.

Why OpenAI?

  • 免费开始 开始尝试 5 美元的免费信用额度,可在前 3 个月内使用。
  • 即用即付 为了使事情变得简单灵活,请只为您使用的资源付费。
  • 选择您的型号 为作业使用正确的型号。我们提供一系列功能和价位。

5.1 GPT-4

在这里插入图片描述

5.2 Chat

ChatGPT 模型针对对话进行了优化。gpt-3.5-turbo的性能与Instruct Davinci相当。
在这里插入图片描述

5.2 InstructGPT

Instruct models are optimized to follow single-turn instructions. Ada is the fastest model, while Davinci is the most powerful.
指令模型是经过优化的满足单轮指令集。Ada 是最快的模型,而Davinci 是最强大的。
在这里插入图片描述

5.3 Fine-tuning models

通过使用训练数据微调基本模型来创建自己的自定义模型。微调模型后,只需为在对该模型的请求中使用的令牌付费。

在这里插入图片描述

5.4 Embedding models

使用我们的嵌入产品构建高级搜索、聚类、主题建模和分类功能。
在这里插入图片描述

5.5 Image models

Build DALL·E directly into your apps to generate and edit novel images and art. Our image models offer three tiers of resolution for flexibility.
在这里插入图片描述

5.6 Audio models

Whisper can transcribe speech into text and translate many languages into English.
在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!
在这里插入图片描述

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

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

相关文章

Springcloud1----->Hystrix

目录 雪崩问题服务降级原理实践order降级处理user降级处理 服务熔断原理实践 hystrix,英文意思是豪猪,全是是刺,一种保护机制,即熔断器。 主页:https://github.com/Netflix/Hystrix/ 雪崩问题 在微服务中,…

selenium自动化测试报告_selenium自动化测试断言

一、元素操作方法 方法: 1、.send_keys() # 输入方法 2、.click() # 点击方法 3、.clear() # 清空方法 复制 注意:在输入方法之前一定要清空操作!! # 导包 from time import sleep from selenium import webdriver# 实例化浏览器 driver webdriver…

这才是自动化测试,资深测试构建持续交付体系(高质量)持续集成...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 软件测试-自动化测…

OptimizePI仿真流程

OptimizePI软件介绍 OptimizePI是用于针对PI设计进行优化的一个设计流程,可以针对PDN的设计进行仿真计算,主要功能包括以下几个: PDN前仿真分析PDN后仿真分析PDN阻抗检查去耦电容的回路电感分析芯片的电源管脚的电感分析去耦电容最佳位置评…

一文参透AB斗篷的前世今生

做FP独立站的应该都对cloak斗篷不陌生,cloak已经成为出海营销行业的必备工具之一。尽管使用cloak并不能保证一定有效,但不使用cloak却也是不可行的。今天本文将详细讲解cloak系统的“前世今生”,以便让大家更好地了解cloak系统并能挑选到最适…

【中间件】通过 docker-compose 快速部署 Zookeeper 保姆级教程

文章目录 一、概述二、前期准备1)部署 docker2)部署 docker-compose 三、创建网络四、Zookeeper 编排部署1)下载 Zookeeper2)配置3)启动脚本 bootstrap.sh4)构建镜像 Dockerfile5)编排 docker-c…

如何使用ChatGpt来学习和提问【对话ChatGPT】?

ChatGPT的不断发展和进步,我们需要工作中很多时候会用到ChatGPT,那么如何使用ChatGPT来解决我们工作中的问题呢? Q1如何向ChatGPT提问,从而更快解决我们的问题? ChatGPT:以下是向ChatGPT提问的一些提示&a…

CISSP和Security+的区别和学习建议

当谈到网络安全认证时,经常有朋友问我CISSP 与 Security认证。两者都是业内比较认可,对实际工作有所帮助的认证,但是哪一个适合自己呢,区别又是什么呢? 在深入研究细节之前,让我们先简要了解一下 CISSP 与 …

深度学习之自编码器实现——实现图像去噪

大家好,我是带我去滑雪! 自编码器是一种无监督学习的神经网络,是一种数据压缩算法,主要用于数据降维和特征提取。它的基本思想是将输入数据经过一个编码器映射到隐藏层,再通过一个解码器映射到输出层,使得输…

数字宁夏“1244+N”行动进行时,实在智能以AI为宁夏全区县数字化转型加“数”度

建设数字中国是数字时代推进中国式现代化的重要引擎,是构筑国家竞争新优势的有力支撑。现如今,政府部门发展数字经济已然成为新科技浪潮下的战略选择。可以预见,在数字化浪潮的推动下,中国经济将迎来新的高峰。 近日,宁…

English Learning - L3 作业打卡 Lesson2 Day13 2023.5.17 周三

English Learning - L3 作业打卡 Lesson2 Day13 2023.5.17 周三 引言🍉句1: A blacklist is illegal now.成分划分弱读爆破语调 🍉句2: But at one time, some businesses refused to employ people who were on a blacklist for belonging to unpopular…

【正点原子STM32连载】 第十一章 STM32时钟配置 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十一…

log4net在Asp.net MVC4中的使用

1、安装log4net插件 新建Asp.net MVC4项目&#xff0c;并在Nuget控制台输入命令&#xff0c;或者直接搜索log4net在线安装&#xff0c;安装log4net >Install-Package log4net -Version 2.0.15 2、配置web.config文件 <?xml version"1.0" encoding"ut…

小试牛刀:应用深度强化学习优化文本摘要思路及在裁判文书摘要上的实践效果

一、引言 近期&#xff0c;随着大模型的出现&#xff0c;强化学习再一次的引起了本人的兴趣&#xff0c;本文将应用深度强化学习来优化文本摘要模型&#xff0c;使生成的摘要更加的流畅。在此之前&#xff0c;大家都采用了很多种方式训练摘要系统&#xff0c;例如&#xff1a;…

MySQL的主从实战

MySQL的主从实战 1、Mysql主从的必要性 访问量不断增减&#xff0c;Mysql服务器的压力增大&#xff1b;就需要对Mysql进行优化与改造&#xff1b; 实现Mysql的高可用MySQL的主从复制搭建 主从搭建的目的就是实现数据库冗余备份同步主服务器和Slave服务器&#xff0c;一旦Mas…

Vivado综合属性系列之七 DONT TOUCH

目录 一、前言 二、DONT TOUCH ​ ​2.1 属性说明 ​ ​2.2 属性用法 ​ ​2.3 工程代码 ​ ​2.4 参考资料 一、前言 ​ ​设计中经常会遇到一些信号&#xff0c;模块等被综合工具优化&#xff0c;而实际这些部分确是我们所需要的&#xff0c;针对这种情况&a…

哨兵机制原理详解

文章目录 初始化 Sentinel三个定时任务&#xff08;重要&#xff09;INFO任务订阅/发布任务心跳任务 Redis节点下线判断主观下线判断客观下线判断 Sentinel Leader 选举故障转移过程整体过程Master 选择算法修改从服务器的复制目标将旧的主服务器变为从服务器 节点上线原Redis节…

如何用Nginx实现对国家/城市以及指定IP的访问限制?

1.前言 在【如何用Nginx代理MySQL连接&#xff0c;并限制可访问IP】一文中&#xff0c;我们实现了通过Nginx代理MySQL连接&#xff0c;并限制了指定IP才能通过Nginx进行连接&#xff0c;以提高数据安全性。 该场景适用于根据具体的IP地址来进行访问限制&#xff0c;假如我们要…

synchronized优化原理

文章目录 一、Monitor1.1 Monitor结构 二、轻量级锁三、锁膨胀四、自旋优化五、偏向锁 一、Monitor Monitor的工作原理也是synchronized底层原理 每个Java对象都可以关联一个Monitor对象&#xff0c;如果使用synchronized给对象上锁之后&#xff0c;该对象头的MarkWord中就被设…

怎样从“点点点”进阶到自动化测试?

为什么要学习自动化测试 在讨论这个问题之前&#xff0c;先来聊一下测试人员的职业发展路线&#xff0c;无非就是两条&#xff0c;技术路线和管理路线&#xff0c;技术路线一般就是功能测试&#xff08;60%&#xff09;-->自动化测试&#xff08;25%&#xff09;-->测试…