大语言模型之二 GPT发展史简介

得益于数据、模型结构以及并行算力的发展,大语言模型应用现今呈井喷式发展态势,大语言神经网络模型成为了不可忽视的一项技术。
GPT在自然语言处理NLP任务上取得了突破性的进展,扩散模型已经拥有了成为下一代图像生成模型的代表的潜力,它具有精度更高、可扩展性和并行性,无论是质量还是效率均有所提升,Transformer和扩散模型作为AIGC方向的当红选手,主要原因并不是本身效率更高(比如更少的参数得到更好的效果)而是带来了可扩展性和并行性,即大力出奇迹有了可以发力的方法。

关于Transformer及基于pytorch实现的翻译toy例子,参靠博客

自2012年以来的AI浪潮主要有三个重要特性:

  1. 通用性:一种架构往往可以解决多个问题,同一套模型既能处理文字,也能处理图片
  2. 能力强大:神经网络和深度学习远远超出了传统方法,可以实现媲美人类的能力,并且在一些特定任务上已经超过人类
  3. 可扩展性:大力出奇迹,模型越大性能越强(当然应用于大模型的架构也在不断进化)

本篇主要介绍大语言模型2017年及以后的发展史,这一年提出了奠定了当今的大语言模型神经网络结构基础基石,而chatGPT的推出,似乎很可能是AI界的奇点,这一事件极有可能改写人类历史。所以花一篇幅介绍这一技术发展史还是很有意义的。

做大语言模型技术和相关应用的公司和应用都呈现一个井喷的发展态势,从huggingface官网打分链接排行榜可以查看最新的开源大语言模型情况。从当前来看Meta的LlaMA很有可能是第一个最成功的开源商用大语言模型。
请添加图片描述
LlaMA放到后面再说,先从发展的时间史看大语言模型的发展历史。

发展简短历史

这里以影响力较大的模型为例,因为很多大语言模型都是闭源的,而这些闭源的模型都没有能够超过同期OpenAI的模型,所以不再这里列出了。开源大语言模型最好的目前是LLaMA,这张图中这两种模型的进化史代表整体大语言模的发展史。
请添加图片描述
2017年谷歌提出的Transformer是针对机器翻译的seq2seq的Encoder-decoder模型,而这一模型正巧被2015年底成立的OpenAI公司看到,当时OpenAI公司联合创始人及首席科学家伊尔亚-苏茨克维看到,从伊尔亚-苏茨克和黄仁勋在GPT-4发布会后第二天的公开对话可以看到,其实OpenAI早就有大模型、大数据实现智能的认知,而Transformer这一架构非常适合大算力计算,所以自然而然的就被OpenAI采用了。

从如今的发展情况来看,OpenAI似乎想把神经网络发展成真正意义上的人工智能,首先是训练文本的神经网络模型,其从网上等各种渠道收集了大量的文本数据,这些文本数据本质上是世界的一种映射,OpenAI是想通过这一层映射关系,让模型理解世界,然后在GPT-4又提出了多模态模型,不仅仅能够处理文本,还可以处理图片,OpenAI的目的是将人类视觉能力赋予模型,让其能够从视觉和文字融合映射的维度去理解世界。

表1:历代GPT的发布时间,参数量以及训练量

模型发布时间层数头数词向量长度参数量预训练数据量
GPT-12018 年 6 月12127681.17 亿约 5GB
BERT base/large2018年10月12/2412/161.10亿/3.4亿
GPT-22019 年 2 月48-160015 亿40GB
GPT-32020 年 5 月9696128881,750 亿45TB
GPT3.5
LLaMA2023年2月70亿/130亿/330亿/650亿4.5TB
LLaMA-22023年7月70亿~700亿6.3TB

GPT

GPT,即Generative Pre-trained Transformer,是基于2017年Google提出Transformer结构的解码器部分为模型基础结构的一种生成预训练模型。Transformer是Google提出的一种基于自注意力机制的新型神经网络架构,目前自然语言处理方向基本都是采用这一架构,这一架构的有点在于完全摒弃了传统的循环结构,取而代之的是通过注意力机制来计算模型的输入输出的隐含表示。不熟悉Transformer的结构见博客《》一文。

目前已经公布论文的有文本预训练GPT-1,GPT-2,GPT-3,chatGPT,GPT-4是一个多模态模型(截止2023年7月无官宣论文),以及图像预训练iGPT。OpenAI的大语言模型起初也是众多语言模型中的一种,一点也并不显眼直到GPT-3的发布,让业界认知到模型大到一定程度,其记忆性和泛化性可以同时兼顾且达到质变。

GPT 使用 Transformer 的 Decoder 结构,并对 Transformer Decoder 进行了一些改动,原本的 Decoder 包含了两个 Multi-Head Attention 结构,GPT 只保留了 Mask Multi-Head Attention,如下图所示。

请添加图片描述
GPT 使用句子序列预测下一个单词,因此要采用 Mask Multi-Head Attention 对单词的下文遮挡,防止信息泄露。例如给定一个句子包含4个单词 [A, B, C, D],GPT 需要利用 A 预测 B,利用 [A, B] 预测 C,利用 [A, B, C] 预测 D。如果利用A 预测B的时候,需要将 [B, C, D] Mask 起来。

在这里插入图片描述

GPT为什么只用 Decoder 部分:语言模型是利用上文预测下一个单词的,因为 Decoder 使用了 Masked Multi Self-Attention 屏蔽了单词的后面内容,所以 Decoder 是现成的语言模型。又因为没有使用 Encoder,所以也就不需要 encoder-decoder attention 了。

GPT 1-3

GPT-1的训练过程是无监督的预训练和有监督的Fine-Tuning,先预训练一个通用的模型,然后在各个子任务上进行微调,减少了传统方法需要针对各个任务定制设计模型的麻烦。
预训练好transformer模型之后,无论子任务怎么变化,模型本身都不再变化,而是调整前面的输入和后面的输出层。

GPT-1和GPT-2模型结构类似,只是GPT-2模型和数据集都更大(表1)。GPT-2提出了多任务训练和zero-shot的概念,“所有的有监督学习都是无监督语言模型的一个子集”的思想,该思想是提示学习(Prompt Learning)的前身。GPT-2生成的新闻足以欺骗大多数人类,达到以假乱真的效果,很多门户网站也命令禁止使用GPT-2生成的新闻。
GPT-3效果远超GPT-2,GPT-3引入few-shot概念,GPT-3引入了一种稀疏自注意力Sparse Transformer的概念,理解成效率更高的自注意力层就可以了,除了能完成常见的NLP任务外,还能写SQL,JavaScript等语言的代码,进行简单的数学运算上也有不错的表现效果。GPT-3的训练使用了情境学习(In-context Learning),它是元学习(Meta-learning)的一种,元学习的核心思想在于通过少量的数据寻找一个合适的初始化范围,使得模型能够在有限的数据集上快速拟合,并获得不错的效果,相比GPT-2,GPT-3模型和参数都更更大,这也让业界对“大”语言模型的认知从了解提升到了行动阶段。

GPT-3将互联网上几乎所有文本数据作为训练语料,过滤后的训练数据达到5000亿的单词数,其中庞大的维基百科数据仅占0.6%的比例

GPT-3也受到一些非议,因为预训练模型都是通过海量数据在超大参数量级的模型上训练出来的,由于海量的训练数据并没有都经过人工清洗,因而里面会有虚假的、偏见的、无用的、有害的、不合乎人类价值观的、邪恶的训练样本,所以没人可以确保预训练模型不会输出类似的回答,这也就是InstructGPT和ChatGPT的提出动机,论文中用3H概括了它们的优化目标,即High-Quality、Human-like、High-Diversity。

这一阶段OpenAI公布的技术文档如下:
2018 GPT-1《Improving Language Understanding with Unsupervised Learning》 《Improving Language Understanding by Generative Pre-Training》
2019 GPT-2 《Language Models are Unsupervised Multitask Learners》
2020 GPT-3/chatGPT《Language Models are Few-Shot Learners》
2022 InstructGPT(是GPT-4的预热模型,因而又被称为GPT-3.5)《Training language models to follow instructions with human feedback》

BERT

Paper: https://arxiv.org/abs/1810.04805

BERT 全称为Bidirectional Encoder Representation from Transformers(来自Transformers的双向编码表示),谷歌在论文《Pre-traning of Deep Bidirectional Transformers for Language Understanding》中提出的无监督预训练自然语言处理语言模型是近年来自然语言处理领域公认的里程碑模型。

BERT模型是由语言模型预训练模型和使用Fine-tuning 模式解决下游任务组成的自然语言处理模型。当年在11项NLP tasks中取得了state-of-the-art的结果,包括NER、问答等领域的任务。

BERT的创新在于Transformer Decoder(包含Masked Multi-Head Attention)作为提取器,并使用与之配套的掩码训练方法。BERT使用了双编码结构因而不具有文本生成能力,但BERT在对输入文本的编码过程中,利用了每个词的所有上下文信息,与只能使用前序信息提取语义的单向编码器相比,BERT的语义信息提取能力更强。

InstructGPT训练过程简介

这个模型是在GPT-3基础上的,是因为GPT-3的非议而提出的,这源于2022年的一篇paper,后面很多大语言模型,不论开源还是闭源都使用到了RLHF(reinforcement learning from human feedback ),这个模型是在GPT-3基础至少得fine-tune的模型。

SFT和强化学习使得这个模型可以商用。是核心之一,这里简单介绍,详细介绍见下一篇。
请添加图片描述
完整的训练过程如上图所示,其中左边第一列pretraining就是自监督学习GPT-3模型,InstructGPT中的Instruct提现在后面三个步骤。这也是很多学校里没有财力的实验室博士生在研究的东西,当然很多公司也在研究。有实力的公司是想把这四个部分都掌握在自己的手里。

ChatGPT和InstructGPT在模型结构和训练方式上都一样,它们都使用了指示学习(Instruction Learning)和人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)来指导模型的训练,不同的仅仅是采集数据的方式上有所差异。

自监督学习输出有时是有害的,而完全标注的监督学习成本一定条件下,答案是定的,天花板不高,但是强化学习不是这样,人工不再标注,没有正确答案,只有好于不好的答案,用打分的方式实现;因而强化学习是huggingface中排名靠前的模型必用的技术之一。

OpenAI公布的fine-tune的过程主要分为三个部分:
1.有监督微调学习(SFT),收集人工编写好的期望模型如何输出的数据集,并使用其来训练一个生成模型(GPT3.5-based)
2.训练奖励模型(RM),收集人工标注的模型多个输出之间的排序数据集。并训练一个奖励模型,以预测用户更喜欢哪个模型输出;
3.基于强化学习(PPO)持续迭代生成模型。使用这个奖励模型作为激励函数,微调监督学习训练出来的生成模型。
其过程如官网给出的下图所示。
在这里插入图片描述
模型很重要,数据也很重要,三步微调的数据如下:

需要SFT模型的原因:GPT3模型不一定能够保证根据人的指示、有帮助的、安全的生成答案,需要人工标注数据进行微调。
需要RM模型的原因:标注排序的判别式标注,成本远远低于生成答案的生成式标注。
需要RL模型的原因:在对SFT模型进行微调时,生成的答案分布也会发生变化,会导致RM模型的评分会有偏差,需要用到强化学习。

首先要收集问题集,prompt集:标注人员写出这些问题,写出一些指令,用户提交一些他们想得到答案的问题。先训练一个最基础的模型,给用户试用,同时可以继续收集用户提交的问题。划分数据集时按照用户ID划分,因为同一个用户问题会比较类似,不适合同时出现在训练集和验证集中。

SFT 数据集

GPT-3是一个基于提示学习的生成模型,因而SFT数据集也是由提示-答案对组成的样本,SFT数据一部分来自OpenAI的PlayGround用的,另一部分是OpenAI雇佣的40人标准,并且对这40人进行了培训,很多时候高质量的标注是模型训练的前提,在这个数据集上,标注者的工作内容是根据内容自己编写指示,并且要求编写的指示满足以下三点:

  • 简单任务:标注者给出任意一个简单的任务,同时要确保任务的多样性;
  • Few-Shot任务:标注者给出一个指示以及该指示的多个查询-应答对;
  • 用户相关的:从接口获取用例,然后让标注者根据这些用例编写指示;
    13000条数据。标注人员直接根据刚才的问题集里面的问题写答案。通常这一阶段需要数万条高质量的标注数据。

RM数据集

RM数据集用来训练第二步的奖励模型,奖励的目标是要对齐人类评价,通过人工打分的方式来提供这个奖励,因为人工可以对那些有害、无用、偏见等生成的内容打更低的分,这样可以让模型不容易生成那些内容。Instruct GPT/ChatGPT的做法是让模型针对同一个问题生成4~10个答案,然后人工对这些生成的答案从好到差人工排序。33000条数据。标注人员对答案进行排序。
其InstructGPT paper上展示了这一过程是如何进行的。
请添加图片描述

PPO数据集

强化学习通过奖励(Reward)机制来指导模型训练,奖励机制可以看做传统模型训练机制的损失函数。奖励的计算要比损失函数更灵活和多样(AlphaGO的奖励是对局的胜负),这带来的代价是奖励的计算是不可导的,因此不能直接拿来做反向传播。强化学习的思路是通过对奖励的大量采样来拟合损失函数,从而实现模型的训练。同样人类反馈也是不可导的,那么我们也可以将人工反馈作为强化学习的奖励,基于人类反馈的强化学习便应运而生。

RLHF最早可以追溯到Google在2017年发表的《Deep Reinforcement Learning from Human Preferences》,它通过人工标注作为反馈,提升了强化学习在模拟机器人以及雅达利游戏上的表现效果。

PPO(Proximal Policy Optimization)是一种新型的Policy Gradient算法,该算法对步长十分敏感,但又难以给出合适的步长,子啊训练过程中新旧策略的变化差异如果过大则不利于学习,PPO算法啊提出新的目标函数可以在多个训练步骤实现小批量的更新,解决了Policy Gradient算法中步长难以确定的问题。

InstructGPT的PPO数据集并没有进行标注,均来自GPT-3的用户API。31000条数据。只需要prompt集里面的问题就行,不需要标注。因为这一步的标注是RM模型来打分标注的。请添加图片描述
数据集中96%都是英文,其它20多个语种不到4%。从预训练到强化学习的完整过程如下:

GPT-4

为了让神经网络能够更好的理解世界,从而更为智能,视觉能力似乎是不可或缺的能力。

多模态,从文本和图像中学习,可以对文本和图像输入的请求做出响应,图像对神经网络有提升,会让其用处大大扩大,因为人类是视觉动物,人类大脑皮层的三分之一用于视觉处理。
GPT-4相比ChatGPT在很多方面都达到了人类水平,比如GRE、律师、医生等考试上,GPT-4比ChatGPT能更准确的预测下一个词,这意味着模型会有更多的理解力,此外模型还对一些高质量的图片通过强化学习变体进行微调。

Llama开源大语言模型

Meta的Llama源码是开源大语言模型,其主官宣的paper有如下两篇文章,Transformer结构也没有大的变动,但是其LLaMA-13B的性能优于OpenAI的GPT-3(175B),这足足小了十多倍的模型媲美了1750亿参数的模型。
《LLaMA: Open and Efficient Foundation Language Models 》
《Llama 2: Open Foundation and Fine-Tuned Chat Models 》

预训练数据集模型参数量模型结构体许可文本长度grouped-query attention (GQA)TokensA100-80GB 400W训练 /所需时间optimizer
LLaMA4.5TB6.3B, 13B,32.5B,62.5BAuto-regressive transformersresearch2k6.3B,13B /1.0T ;33B,65B / 1.4T7B 82,432h 13B 135,168h 33B 530,432h 65B 1,022,362hAdamW
LLaMA-2/LlaMA-2-chat6.3TB(较LLaMA增加40%)6.3B, 13B, and 70BAuto-regressive transformersresearch and commercial4k34B/70B2.0T7B 184,320h 13B 368,640h 70B 1,720,320h

LLaMA 65B参数模型使用了2048块A100 GPU经过21天训练得到预训练模型,预训练的过程花费了500万美元左右,

Llama-2先使用公开可获取的文本信息训练,然后使用SFT进行fine tune,然后再用Reinforcement Learning from Human Feedback (RLHF)再refine,RLHF包括rejection sampling and proximal policy optimization (PPO)。

Llama-2-chat使用RLHF(reinforcement learning from human feedback)以确保安全有用的。LlaMA-2-chat是几个月的研究和迭代应用的结果,包括指令调优,RLHF,算力和标注资源。
请添加图片描述

未来大语言模型的方向

“智能”源于数据、算力以及模型结构。模型的产出物朝着工具化和智能人化两个方向发展。
1.首先是数据,要不了几年,互联网上的公开数据就会被爬完用于模型训练,而新的源源不断的打语言模型产生数据极有可能被爬虫,再输入模型这是否会导致模型陷入自我强化?看来模型本身也需要反大语言模型产出物。
2.基于现有的RLHF架构存着以下问题:
a.fine-tune的过程是封印模型功能的过程,不是无中生有的过程,因而模型的能力还是取决于fine-tune,这会降低NLP的通用任务的性能下降。
b.模型的输出的价值观合规、模型的特定场景;
c.人工标注的成本比较高,InstructGPT强化学习雇佣了40人训练。
3.大模型预训练+微调(Fine-Tune)的形式将会继续存在,但是预训练和微调都会演进,大模型的演进方向在于通用任务处理上,而微调除了针对特定场景,依然还要进一步降低微调的门槛和成本,如LoRA。
Zero-shot Learning | One-shot Learning | Few-shot Learning是因为标注数据有限或成本而提出的学习方法。
4.PPO方法使用的代价函数并不能代表灵活多变的人类偏好,因而这个算法方向相对其它模块,更容易带来突破性进展;
5.RLHF现在的方法倾向于对所有人都有相同偏好的概率输出,但是人的喜好是多样性的,这意味着相同的偏好概率假设并不成立。所以现在生成的答案并不是那么令人赏心悦目。比如一看新闻都是新闻编辑排版决定了观众看到什么,但是头条收集个人偏好之后,每个人看到的事不一样的,即同一条推荐对不同人的概率是不一样的。
6.SFT阶段要训练所有参数(虽然训练时间可以缩短),但这对高学校实验室、创业公司并不友好,2卡或者4卡A100的SFT是需要的,因而基于(LoRA) 等freeze部分参数,只迭代相对较少的参数finetuning会是一个方向;
7.端上PC会local部署模型,大语言模型,图像生成式模型,以及工具类集成AI,因而量化、SIMD、GPU、剪枝等优化方法还是被用于尝试端上部署
8.某种程度上除了记忆性和泛化能力,我个人认为已经具备了初级的知觉、逻辑、意识能力,比如作为三国杀、狼人杀参与游戏,胜利的高于50%,只是是无机物逻辑,但这是一种意识,如果被赋予生存意识(某种程度上是可以的),那也会具备生存意识,超大模型、多模态神经网络将在感知、理解以及通用任务处理上扩展其应用边界,生成式AI工具类应用继续领跑,未来的方向之一是真正意识上的“智人”。
*

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

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

相关文章

第三届“赣政杯”网络安全大赛 | 赛宁筑牢安全应急防线

​​为持续强化江西省党政机关网络安全风险防范意识,提高信息化岗位从业人员基础技能,提升应对网络安全风险处置能力。由江西省委网信办、江西省发展改革委主办,江西省大数据中心、国家计算机网络与信息安全管理中心江西分中心承办&#xff0…

Vue在页面输出JSON对象,测试接口可复制使用

效果图&#xff1a; 数据处理前&#xff1a; 数据处理后&#xff1a; 代码实现&#xff1a; HTML: <el-table height"600" :data"tableData" border style"width: 100%" tooltip-effect"dark" size"mini"><el-…

考研 408 | 【计算机网络】 应用层

导图 网络应用模型 客户/服务器&#xff08;c/s&#xff09;模型 P2P模型 DNS 域名 域名服务器 域名解析过程 文件传输协议FTP FTP服务器和用户端 FTP工作原理 电子邮件 电子邮件的信息格式 组成结构 邮件服务器的功能&#xff1a; 1.发送&接收邮件 2.给发件人报告邮…

【JavaEE进阶】Bean 作用域和生命周期

文章目录 一. 关于Bean作用域的实例1. lombok2. 实例代码 二. 作用域定义1. Bean的六种作用域2. 设置作用域 三. Spring 执行流程和 Bean 的生命周期1. Spring 执行流程2. Bean生命周期 一. 关于Bean作用域的实例 注意在此例子中需要用到lombok 1. lombok lombok是什么? Lo…

Coremail AI实验室:利用高级语境和视觉智能进行钓鱼邮件检测

在这个日益数字化的时代&#xff0c;对电子邮件安全需求是至关重要的。新兴的高级威胁邮件&#xff1a;应用社工技术的钓鱼邮件&#xff0c;仿冒公检法的钓鱼邮件等等&#xff0c;都需要更高级的防御策略。 Coremail邮件安全人工智能实验室&#xff0c;整合了高级文本语境理解和…

使用 Visual Studio GoogleTest编写 C/C++ 单元测试——入门篇

入门教程 Visual Studio 新建 GoogleTest项目&#xff0c;一路选默认参数 pch.h #pragma once#include "gtest/gtest.h"int add(int a, int b);pch.cpp #include "pch.h"int add(int a, int b) {return a b; }test.cpp #include "pch.h"TES…

HTML详解连载(3)

HTML详解连载&#xff08;3&#xff09; 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽表单作用使用场景 input标签基本使用示例type属性值以及说明 input标签占位文本示例注意 单选框 radio代码示例 多选框-checkbox注意代码示例 文本域作用标签&#xff1…

抖音关键词搜索小程序排名怎么做

抖音关键词搜索小程序排名怎么做 1 分钟教你制作一个抖音小程序。 抖音小程序就是我的视频&#xff0c;左下方这个蓝色的链接&#xff0c;点进去就是抖音小程序。 如果你有了这个小程序&#xff0c;发布视频的时候可以挂载这个小程序&#xff0c;直播的时候也可以挂载这个小…

快速使用Linux系统中SSH

在Linux系统中&#xff0c;使用SSH代理跳板机是一种有效的方式&#xff0c;可以实现安全连接和访问远程服务器。本文将详细介绍SSH代理跳板机的设置和使用方法。 什么是SSH代理跳板机&#xff1f; SSH代理跳板机是一种在Linux系统中使用SSH协议实现的代理服务器。通过配置相关…

bytesec靶场

靶场下载 https://www.vulnhub.com/entry/hacknos-os-bytesec,393/ 下载完成后进入配置修改网卡 教程 配置 第一步&#xff1a;启动靶机时按下 shift 键&#xff0c; 进入以下界面 第二步&#xff1a;选择第二个选项&#xff0c;然后按下 e 键&#xff0c;进入编辑界面 将…

DRF的filter组件

DRF的Filter组件 如果某个API需要传递一些条件进行搜索&#xff0c;其实就在是URL后面通过GET传参即可&#xff0c;例如&#xff1a; /api/users?age19&category12在drf中filter组件可以支持条件搜索。 1. 自定义filter # models.py from django.db import modelsclas…

[NLP]LLM 训练时GPU显存耗用量估计

以LLM中最常见的Adam fp16混合精度训练为例&#xff0c;分析其显存占用有以下四个部分&#xff1a; GPT-2含有1.5B个参数&#xff0c;如果用fp16格式&#xff0c;只需要1.5G*2Byte3GB显存, 但是模型状态实际上需要耗费1.5B*1624GB. 比如说有一个模型参数量是1M&#xff0c;在…

[GAN] 使用GAN网络进行图片生成的“调参人”入门指南——生成向日葵图片

[GAN] 使用GAN网络进行图片生成的“炼丹人”日志——生成向日葵图片 文章目录 [GAN] 使用GAN网络进行图片生成的“炼丹人”日志——生成向日葵图片1. 写在前面&#xff1a;1.1 应用场景&#xff1a;1.2 数据集情况&#xff1a;1.3 实验原理讲解和分析&#xff08;简化版&#x…

Flink CDC系列之:TiDB CDC 导入 Elasticsearch

Flink CDC系列之&#xff1a;TiDB CDC 导入 Elasticsearch 一、通过docker 来启动 TiDB 集群二、下载 Flink 和所需要的依赖包三、在TiDB数据库中创建表和准备数据四、启动Flink 集群&#xff0c;再启动 SQL CLI五、在 Flink SQL CLI 中使用 Flink DDL 创建表六、Kibana查看Ela…

H3C QoS打标签和限速配置案例

EF&#xff1a;快速转发 AF&#xff1a;确保转发 CS&#xff1a;给各种协议用的 BE&#xff1a;默认标记(尽力而为) VSR-88-2 出口路由配置&#xff1a; [H3C]dis current-configuration version 7.1.075, ESS 8305 vlan 1 traffic classifier vlan10 operator and if-match a…

关于consul的下载方法

linux下 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo sudo yum -y install consulwindow下 https://developer.hashicorp.com/consul/downloads 然后把里面的exe文件放在gopath下就行了 验证…

苍穹外卖day11笔记

今日首先介绍前端技术Apache ECharts&#xff0c;说明后端需要准备的数据&#xff0c;然后讲解具体统计功能的实现&#xff0c;包括营业额统计、用户统计、订单统计、销量排名。 一、ECharts 是什么 ECharts是一款基于 Javascript 的数据可视化图表库。我们用它来展示图表数…

说一下什么是tcp的2MSL,为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间?

1.TCP之2MSL 1.1 MSL MSL:Maximum Segment Lifetime报文段最大生存时间&#xff0c;它是任何报文段被丢弃前在网络内的最长时间 1.2为什么存在MSL TCP报文段以IP数据报在网络内传输&#xff0c;而IP数据报则有限制其生存时间的TTL字段&#xff0c;并且TTL的限制是基于跳数 1.3…

ceph相关概念和部署

Ceph 可用于向云提供 Ceph 对象存储 平台和 Ceph 可用于提供 Ceph 块设备服务 到云平台。Ceph 可用于部署 Ceph 文件 系统。所有 Ceph 存储集群部署都从设置 每个 Ceph 节点&#xff0c;然后设置网络。 Ceph 存储集群需要满足以下条件&#xff1a;至少一个 Ceph 监控器&#x…

继承和多态C++

这里写目录标题 继承public、protected、private 修饰类的成员public、protected、private 指定继承方式改变访问权限 C继承时的名字遮蔽问题基类成员函数和派生类成员函数不构成重载C基类和派生类的构造函数构造函数的调用顺序基类构造函数调用规则 C基类和派生类的析构函数C多…