啊啊啊啊啊!没想到第一次面试就进了字节!
给大家分享一下我的面试经验~
1、目前 主流的开源模型体系 有哪些?
目前主流的开源 LLM(语言模型)模型体系包括以下几个:
GPT(Generative Pre-trained Transformer)系列:由 OpenAl发布的一系列基于 Transformer 架构的语言模型,包括 GPT、GPT-2、GPT-3 等。GPT 模型通过在大规模无标签文本上进行预训练,然后在特定任务上进行微调,具有很强的生成能力和语言理解能力。
2BERT (Bidirectional Encoder Representations from Transformers):由 Google 发布的一种基于Transformer 架构的双向预训练语言模型。BERT 模型通过在大规模无标签文本上进行预训练,然后在下游任务上进行微调,具有强大的语言理解能力和表征能力。
3XLNet:由 CMU 和 Google Brain 发布的一种基于 Transformer 架构的自回归预训练语言模型。XLNet模型通过自回归方式预训练,可以建模全局依赖关系,具有更好的语言建模能力和生成能力,
ROBERTa:由 Facebook发布的一种基于Transformer 架构的预训练语言模型。RoBERTa 模型在 BERT 的基础上进行了改进,通过更大规模的数据和更长的训练时间,取得了更好的性能。
T5(Text-to-Text Transfer Transformer):由 Google 发布的一种基于 Transformer架构的多任务预训练语言模型。T5 模型通过在大规模数据集上进行预训练,可以用于多种自然语言处理任务,如文本分类、机器翻译、问答等。
这些模型在自然语言处理领域取得了显著的成果,并被广泛应用于各种任务和应用中。
2、prefixLM 和 causal LM 区别是什么?
Prefix LM(前缀语言模型)和 Causal LM(因果语言模型)是两种不同类型的语言模型,它们的区别在于生成文本的方式和训练目标。
Prefix LM:前缀语言模型是一种生成模型,它在生成每个词时都可以考虑之前的上下文信息。在生成时,前缀语言模型会根据给定的前缀(即部分文本序列)预测下一个可能的词。这种模型可以用于文本生成、机器翻译等任务。
3、涌现能力是啥原因?
大模型的涌现能力主要是由以下几个原因造成的:
数据量的增加:随着互联网的发展和数字化信息的爆炸增长,可用于训练模型的数据量大大增加。更多的数据可以提供更丰富、更广泛的语言知识和语境,使得模型能够更好地理解和生成文本。
计算能力的提升:随着计算硬件的发展,特别是图形处理器(GPU)和专用的 Al 芯片(如 TPU)的出现,计算能力大幅提升。这使得训练更大、更复杂的模型成为可能,从而提高了模型的性能和涌现能力。
模型架构的改进:近年来,一些新的模型架构被引入,如 Transformer,它在处理序列数据上表现出色。这些新的架构通过引入自注意力机制等技术,使得模型能够更好地捕捉长距离的依赖关系和语言结构,提高了模型的表达能力和生成能力。
预训练和微调的方法:预训练和微调是一种有效的训练策略,可以在大规模无标签数据上进行预训练,然后在特定任务上进行微调。这种方法可以使模型从大规模数据中学习到更丰富的语言知识和语义理解,从而提高模型的涌现能力。
综上所述,大模型的涌现能力是由数据量的增加、计算能力的提升、模型架构的改进以及预训练和微调等因素共同作用的结果。这些因素的进步使得大模型能够更好地理解和生成文本,为自然语言处理领域带来了显著的进展。
4、大模型 LLM 的架构介绍?
LLM(Large Language Model,大型语言模型)是指基于大规模数据和参数量的语言模型。具体的架构可以有多种选择,以下是一种常见的大模型 LLM 的架构介绍:
Transformer 架构:大模型 LLM 常使用 Transformer 架构,它是一种基于自注意力机制的序列模型Transformer 架构由多个编码器层和解码器层组成,每个层都包含多头自注意力机制和前馈神经网络。这种架构可以捕捉长距离的依赖关系和语言结构,适用于处理大规模语言数据。
大模型(LLMS)基础面
1 目前 主流的开源模型体系 有哪些?
目前 主流的开源模型体系 分三种:
·第一种:prefix Decoder系
·介绍:输入双向注意力,输出单向注意力
代表模型:ChatGLM、ChatGLM2、U-PaLM
·第二种:causalDecoder系
·介绍:从左到右的单向注意力
·代表模型:LLaMA-7B、LLaMa行生物第三种:Encoder-Decoder
介绍:输入双向注意力,输出单向注意力
·代表模型:T5、Flan-T5、BART
2 prefix Decoder和causal Decoder和Encoder-Decoder 区别是什么?
prefix Decoder 和causal Decoder 和 Encoder-Decoder 区别在于 attention mask不同:Encoder-Decoder:
·在输入上采用双向注意力,对问题的编码理解更充分
适用任务:在偏理解的 NLP 任务上效果好
缺点:在长文本生成任务上效果差,训练效率低;*causal Decoder:
·自回归语言模型,预训练和下游应用是完全一致的,严格遵守只有后面的token才能看到前面的
token的规则;
·适用任务:文本生成任务效果好
一、什么是生成式大模型?
生成式大模型(一般简称大模型LLM)是指能用于创作新内容,例如文本、图片、音频以及视频的一类深度学习模型。相比普通深度学习模型,主要有两点不同:
1.模型参数量更大,参数量都在Biion级别;
2.可通过条件或上下文引导,产生生成式的内容(所谓的promptengineer就是由此而来)
大模型(LLMS)强化学习面
1 简单介绍强化学习?
强化学习:(Reinforcement Learning)一种机器学习的方法,通过从外部获得激励来校正学习方向从而获得-种自适应的学习能力.
2 简单介绍-下 RLHF?
基于人工反馈的强化学习(Reinforcement Learning fom Human Feedback,RLHF):构建人类反馈数据集训练一个激励模型,模仿人类偏好对结果打分,这是GPT-3后时代大语言模型越来越像人类对话核心技术,
3.奖励模型需要和基础模型一致吗?
不同实现方式似乎限制不同。(待实践确认)colossal-ai的coati中需要模型有相同的tokenizer,所以选模型只能从同系列中找。在ppo算法实现方式上据说rx是最符合论文的,
4.RLHF 在实践过程中存在哪些不足?
1.不足点1:人工产生的偏好数据集成本较高,很难量产:
2.不足点2:三个阶段的训练(SFT->RM->PPO)过程较长,更新迭代较慢;
3.不足点3:PPO 的训练过程同时存在4个模型(2训练,2推理),对计算资源的要求较高。
5.如何解决 人工产生的偏好数据集成本较高,很难量产问题?
·解决方法:AI专家替代派
·代表方法:
1. RLAE
该方法的核心在于通过A1模型监智其他 AI模型,即在SFT阶段,从初始模型中采样,然后生成自我批评和修正,然后根据修正后的反应微调原始模型。 在 RL 阶段,从微调模型中采样,使用一个模型来评估生成的样本。
大模型(LLMS)微调面
般 n B的模型,最低需要 16-20nG的显存。(cpu offoad基本不开的情况下)vicuna-7B为例,官方样例配置为 4*A100 40G,测试了一下确实能占满显存。(global batch size128,maxlength 2048)当然训练时用了FSDP、梯度累积、梯度检查点等方式降显存。
2.为什么SFT之后感觉LLM傻了?
·原版答案:
SFT的重点在于激发大模型的能力,SFT的数据量一般也就是万恶之源alpaca数据集的52k量级,相比于预训练的数据还是太少了。
如果抱着灌注领域知识而不是激发能力的想法,去做SFT的话,可能确实容易把LLM弄傻·新版答案:
指令微调是为了增强(或解锁)大语言模型的能力。
其真正作用:
指令微调后,大语言模型展现出泛化到未见过任务的卓越能力,即使在多语言场景下也能有不错表现 。
3. SFT 指令微调数据 如何构建?
1.代表性,应该选择多个有代表性的任务;
2.数据量。每个任务实例数量不应太多(比如:数百个)否则可能会潜在地导致过拟合问题并影
响模型性能;
3.不同任务数据量占比。应该平衡不同任务的比例,并且限制整个数据集的容量(通常几千或几万),防止较大的数据集压倒整个分布。
4.领域模型Continue PreTrain 数据选取?
技术标准文档或领域相关数据是领域模型Contnue PreTrain的关键。因为领域相关的网站和资讯重要性或者知识密度不如书籍和技术标准。
5.领域数据训练后,通用能力往往会有所下降,如何缓解模型遗忘通用能力?
·动机:仅仅使用领域数据集进行模型训练,模型很容易出现灾难性遗忘现象
·解决方法:通常在领域训练的过程中加入通用数据集
那么这个比例多少比较合适呢?
目前还没有一个准确的答案。主要与领域数据量有关系,当数据量没有那么多时,一般领域数据与通用数据的比例在1:5到1:10之间是比较合适的。