8-大模型(LLMs)进阶面¶
来源 PDF:
200页AI大模型面试高频必刷题(附详解)/8-大模型(LLMs)进阶面.pdf
主题:Transformer / 基础架构
页数:10
字符数:10022
索引片段数:25
摘要¶
大模型(LLMs)进阶面 来自: AiGC面试宝典 宁静致远 2023年09月28日 21:54 一、什么是生成式大模型? 生成式大模型(一般简称大模型LLMs)是指能用于创作新内容,例如文本、图片、音频以及视频的一类深度学 习模型。相比普通深度学习模型,主要有两点不同: 二、大模型是怎么让生成的文本丰富而不单调的呢? • 大模型(LLMs)进阶面 • 一、什么是生成式大模型? • 二、大模型是怎么让生成的文本丰富而不单调的呢? • 三、LLMs 复读机问题 • 3.1 什么是 LLMs 复读机问题? • 3.2
代表性原文片段¶
片段 1¶
大模型(LLMs)进阶面 来自: AiGC面试宝典 宁静致远 2023年09月28日 21:54 一、什么是生成式大模型? 生成式大模型(一般简称大模型LLMs)是指能用于创作新内容,例如文本、图片、音频以及视频的一类深度学 习模型。相比普通深度学习模型,主要有两点不同: 二、大模型是怎么让生成的文本丰富而不单调的呢? • 大模型(LLMs)进阶面 • 一、什么是生成式大模型? • 二、大模型是怎么让生成的文本丰富而不单调的呢? • 三、LLMs 复读机问题 • 3.1 什么是 LLMs 复读机问题? • 3.2 为什么会出现 LLMs 复读机问题? • 3.3 如何缓解 LLMs 复读机问题? • 3.3.1 Unlikelihood Training • 3.3.2 引入噪声 • 3.3.3 Repetition Penalty • 3.3.4 Contrastive Search • 3.3.5 Beam Search • 3.3.6 TopK sampling • 3.3.7 Nucleus sampler • 3.3.8 Temperature • 3.3.9 No repeat ngram size
片段 2¶
3.6 TopK sampling • 3.3.7 Nucleus sampler • 3.3.8 Temperature • 3.3.9 No repeat ngram size • 3.3.10 重复率指标检测 • 3.3.11 后处理和过滤 • 3.3.12 人工干预和控制 • 四、llama 系列问题 • 4.1 llama 输入句子长度理论上可以无限长吗? • 五、什么情况用Bert模型,什么情况用LLaMA、ChatGLM类大模型,咋选? • 六、各个专业领域是否需要各自的大模型来服务? • 七、如何让大模型处理更长的文本? • 致谢 1. 模型参数量更大,参数量都在Billion级别; 2. 可通过条件或上下文引导,产生生成式的内容(所谓的prompt engineer就是由此而来)。 1. 从训练角度来看: a. 基于Transformer的模型参数量巨大,有助于模型学习到多样化的语言模式与结构; b. 各种模型微调技术的出现,例如P-Tuning、Lora,让大模型微调成本更低,也可以让模型在垂直领域 有更强的生成能力; 查看更多
三、LLMs 复读机问题
片段 3¶
的出现,例如P-Tuning、Lora,让大模型微调成本更低,也可以让模型在垂直领域 有更强的生成能力; 查看更多
三、LLMs 复读机问题 3.1 什么是 LLMs 复读机问题? LLMs 复读机问题: 例如在电商翻译场景上,会出现“steckdose steckdose steckdose steckdose steckdose steckdose steckdose steckdose...”; 例如在多模态大模型图片理解上,生成的结果可能会不断重复图片的部分内容,比如“这是一个杯子,这是一个 杯子...”; 比如你让大模型给你写一篇关于春天的小作文,结果发现大模型的生成结果千篇一律,甚至近乎一摸一样。 3.2 为什么会出现 LLMs 复读机问题? 注:我们分别以flores-101通用文本和电商标题文本做了尝试,后者出现重复的概率是前者的20倍以上。 另一点,就是为什么会一直是一个词L的反复重复?因为当前面t-1个词的分布趋于稳定,t以及t+1后面重复出现 的L词的分布基本会沿着前面t-1个词的TSNE二维分布均匀铺开,也就是我们常说的各向异性,虽然生成的数量
片段 4¶
L的反复重复?因为当前面t-1个词的分布趋于稳定,t以及t+1后面重复出现
的L词的分布基本会沿着前面t-1个词的TSNE二维分布均匀铺开,也就是我们常说的各向异性,虽然生成的数量
长了,但是
片段 5¶
- 章节级别重复,多次相同的prompt输出完全相同或十分近似的内容,没有一点创新性的内容
- 大模型针对不同的prompt也可能会生成类似的内容,且有效信息很少、信息熵偏低
- 数据偏差:大型语言模型通常是通过预训练阶段使用大规模无标签数据进行训练的。如果训练数据中存在大 量的重复文本或者某些特定的句子或短语出现频率较高,模型在生成文本时可能会倾向于复制这些常见的模 式。
- 训练目标的限制:大型语言模型的训练通常是基于自监督学习的方法,通过预测下一个词或掩盖词来学习语 言模型。这样的训练目标可能使得模型更倾向于生成与输入相似的文本,导致复读机问题的出现。
- 缺乏多样性的训练数据:虽然大型语言模型可以处理大规模的数据,但如果训练数据中缺乏多样性的语言表 达和语境,模型可能无法学习到足够的多样性和创造性,导致复读机问题的出现。
- 模型结构和参数设置:大型语言模型的结构和参数设置也可能对复读机问题产生影响。例如,模型的注意力 机制和生成策略可能导致模型更倾向于复制输入的文本。
- 从 induction head[1]机制的影响角度:也就是模型会倾向于从前面已经预测的word里面挑选最匹配的词;
片段 6¶
意力
机制和生成策略可能导致模型更倾向于复制输入的文本。
5. 从 induction head[1]机制的影响角度:也就是模型会倾向于从前面已经预测的word里面挑选最匹配的词;
在翻译上,由于input和output的天然差异性,你会发现容易出现重复的都是一些复杂度perplexity比较高的文
本:也就是说input的句式越不常见,本身重复度越高,翻译结果重复的可能性也越高。
1. 从信息熵的角度分析。“在模型生成采样时,我们就应该只采样那些与条件熵对应概率接近的字符”[2],但是
我更理解为信息淹没;比如电商标题,作为一种语句连贯性很弱、基本是词序堆叠的文本,它的信息熵无疑
是很高的,下一个词预测时,概率后验基本上很难预测出来,Softmax的分布也倾向于平稳,也就是说模型
也预测不出来下一个词应该是什么。因此模型会倾向从前面的word里面挑选。无论是专业翻译大模型
M2M、NLLB还是通用语言模型ChatGPT,LLAMA等,
片段 7¶
T,LLAMA等,
式中集合C代表上文生成的token,本身likelihood training loss是要促使模型学习到原标签中自然的语言逻辑,而 修改后的loss不仅要促进模型学习到真实标签的语言自然性,也要通过unlikelihood loss抑制模型,使其尽量不生 成集合C中的token。一般对于生成式任务,只需要在原模型基础上加入unlikelihood training进行sentence级 别finetune即可,不需要通过token级别的unlikelihood和likelihood loss叠加训练。(如果进入叠加训练虽然 会降低重复率,但是句子困惑度会升高,准确率会下降) token级unlikelihood training loss sentence级unlikelihood training loss 各训练Loss下的重复度结果
片段 8¶
确率会下降) token级unlikelihood training loss sentence级unlikelihood training loss 各训练Loss下的重复度结果 注:上图为论文中的结果,其中seq-rep-4代表4-gram重复率;uniq-seq代表总共出现的不同词的 个数;ppl代表句子困惑度;acc代表句子准确性;rep代表前词重复率;wrep代表加权前词重复 率。从这些指标中可以明显观察到,unlikelihood training能降低整体生成句子的重复度。 unlikelihood training方法是一种表现不错的抑制重复方式,但其中集合C的设计比较困难。针对不同的任务,集 合C都需要进行精心的设计,才能保证在生成精度基本不降的情况下抑制模型生成重复与单调的结果。(该方法 仅能解决1.1节中阐述的前两种重复问题,无法解决输入多次相同prompt输出单调性的问题) 参考:NEURAL TEXT DEGENERATION WITH UNLIKELIHOOD TRAINING 3.3.2 引入噪声
片段 9¶
法解决输入多次相同prompt输出单调性的问题) 参考:NEURAL TEXT DEGENERATION WITH UNLIKELIHOOD TRAINING 3.3.2 引入噪声 在生成文本时,引入一些随机性或噪声,例如通过采样不同的词或短语,或者引入随机的变换操作,以增加生成 文本的多样性。这可以通过在生成过程中对模型的输出进行采样或添加随机性来实现。 3.3.3 Repetition Penalty • 思路:在训练中加入对重复词的抑制来减少重复输出; • 介绍
注:其中T代表温度,温度越高,生成的句子随机性越强,模型效果越不显著;I就代表惩罚项, c代表我们保存的一个list,一般为1-gram之前出现过的单词,theta值一般设置为1.2,1.0代表没 有惩罚。 重复性惩罚方法是一种简单有效的重复抑制手段,因为它通过提高I值,有效降低集合c中词再次被选中的概率。 当然,类似与unlikelihood training,本方法也可以通过设置不同的c集合来改变惩罚的方向。(该方法仅能解决 1.1节中阐述的前两种重复问题,无法解决输入多次相同prompt输出单调性的问题)
片段 10¶
ihood training,本方法也可以通过设置不同的c集合来改变惩罚的方向。(该方法仅能解决 1.1节中阐述的前两种重复问题,无法解决输入多次相同prompt输出单调性的问题) 参考:CTRL: A CONDITIONAL TRANSFORMER LANGUAGE MODEL FOR CONTROLLABLE GENERATION Huggingface中,model.generate已经包含此参数,仅需设置repetition_penalty=p(p>1.0)即可 开启重复惩罚因子 3.3.4 Contrastive Search 其中对比loss通过在原loss基础上添加对比loss,即对比token间相似度的方式去解决生成式模型重复单调问题, 公式如下: 其中 就是余弦相似度,下图给出了训练前后token间的相似度: • 思路:重复性惩罚方法通过在模型推理过程中加入重复惩罚因子,对原有softmax结果进行修正,降低重复生 成的token被选中的概率 • 动机:Contrastive Search方法是为了解决原先解码方法,例如Beam Search,在采用最大化生成方式解码时
片段 11¶
果进行修正,降低重复生 成的token被选中的概率 • 动机:Contrastive Search方法是为了解决原先解码方法,例如Beam Search,在采用最大化生成方式解码时 出现解码退化的问题即生成的文本不自然的,并包含文本重复而提出的一种解决方案 • 思路:对比loss以及对比搜索两个创新点,从模型训练和模型推理层面缓解了生成式模型重复以及单调问 题。
对比训练前后token相似度 从图上可以明显看出token间相似度降低了,token间相似度降低即不同token在高维空间表征分离能有效降低模 型仅生成个别重复词或字的概率。 而对比搜索方法就是在decode阶段限制相似token生成的概率,大大降低生成内容重复率和单调性。 其中第一项就是原模型的概率,后面一项可以理解成一种惩罚,当前token与历史token相似度较高时,就降低 当前token的概率。 对比loss和对比search在训练和推理两个阶段限制生成token间的相似度,有效降低了模型对一些特别常见表达的 依赖,让模型尝试生成不一样的表达,整体上提升模型的创造性。(该方法仅能解决1.1节中阐述的前两种重复
片段 12¶
和推理两个阶段限制生成token间的相似度,有效降低了模型对一些特别常见表达的 依赖,让模型尝试生成不一样的表达,整体上提升模型的创造性。(该方法仅能解决1.1节中阐述的前两种重复 问题,无法解决输入多次相同prompt输出单调性的问题) 参考论文地址:A Contrastive Framework for Neural Text Generation Github 地址:https://github.com/yxuansu/SimCTG Huggingface中,model.generate已经包含此参数,仅需设置penalty_alpha=alpha (0<alpha<1) 即可开启对比Search因子alpha 3.3.5 Beam Search 下图是一个实际的例子,每个时间步有ABCDE共5种可能的输出,图中的num_beams=2,也就是说每个时间步 都会保留到当前步为止条件概率最优的2个序列。 Beam Search搜索方式 • 思路:Beam Search是对贪心策略一种改进。思路简单,就是稍微放宽考察的范围。在每一个时间步,不再
使用建议¶
- 这些内容来自授权公开 PDF 的文本抽取结果,网页端会基于同一份静态索引做关键词检索。
- 面试复习时建议先用网页 PDF 原文检索定位题目,再回到主 notes 学系统化答案。
- 如果片段出现排版噪声,以原 PDF 语义为准,并优先整理成自己的回答模板。