LLM

大模型笔记(LLM)

大语言模型基础4

Posted by 月月鸟 on September 7, 2024

1. LLM 概念

大语言模型(Large Language Models,LLMs)是基于深度学习的语言模型,通常采用Transformer架构,训练于大规模的文本数据上。它们能够理解、生成和处理自然语言,以解决各种自然语言处理(NLP)任务,如文本生成、机器翻译、问答系统等。

2. 目前主流的开源模型体系

目前主流的开源LLM(语言模型)体系包括以下几类:

  • GPT(Generative Pre-trained Transformer)系列:由OpenAI发布的基于Transformer架构的生成式语言模型,包括GPT、GPT-2、GPT-3等。GPT系列模型通过在大规模未标注文本上进行预训练,然后在特定任务上微调,擅长生成任务和语言理解任务。
  • BERT(Bidirectional Encoder Representations from Transformers):由Google发布的一种双向预训练语言模型。BERT在大规模未标注文本上进行预训练,并在下游任务上微调,具有强大的语言理解和表征能力。
  • XLNet:由CMU和Google Brain发布的自回归预训练语言模型。XLNet采用自回归预训练方式,可以更好地建模全局依赖,提升语言建模和生成能力。
  • RoBERTa:由Facebook发布的基于BERT改进的语言模型。通过更大规模的数据和更长的训练时间,RoBERTa在多个任务上超过了BERT的表现。
  • T5(Text-to-Text Transfer Transformer):由Google发布的一种多任务预训练语言模型,基于“文本到文本”的框架,在大规模数据集上预训练,可用于多种自然语言处理任务,如文本分类、机器翻译、问答等。

这些模型在NLP领域中取得了显著成果,被广泛应用于各种任务和应用场景。

3. Prefix LM 与 Causal LM 的区别

Prefix LM(前缀语言模型)和 Causal LM(因果语言模型)是两种不同类型的语言模型,主要区别在于它们生成文本的方式和训练目标:

  • Prefix LM 是Encoder-Decoder模型的一种变体。在这种模型中,编码器和解码器共享一个Transformer结构,并通过注意力掩码(Attention Mask)机制进行区分。它使用自编码模式(AE)对前缀部分进行编码,并在解码时使用自回归模式(AR)生成文本。这种模型适用于生成任务和对话任务,比如 UniLM 和 GLM。

  • Causal LM 仅包括Transformer的解码器部分,通过自回归模式生成文本,即根据之前的token预测下一个token。Causal LM只能基于已生成的文本生成后续内容,适用于像GPT系列这样的文本生成任务。

4. 大语言模型的训练目标

大型语言模型(LLM)的训练目标通常是最大似然估计(Maximum Likelihood Estimation, MLE)。通过MLE,模型学习从大量文本语料中估计词序列的概率分布。训练过程旨在最大化模型生成的序列与真实数据之间的匹配度,优化过程使用梯度下降等方法来调整模型参数,使生成的文本与训练数据的分布一致。

5. 涌现能力的原因

涌现能力(Emergent Ability)是指模型在训练过程中生成出超出训练数据范畴、具有创新性和独特性的内容。其产生原因包括:

  • 任务评价指标的不平滑性:复杂任务的评估标准可能不够平滑,这使得在某些任务上模型的能力会突然提升,形成涌现现象。
  • 复杂任务与子任务的关系:涌现现象往往出现在复杂任务中,这些任务可以拆解为多个子任务。随着模型规模增大,模型对子任务的理解逐渐提升,进而在整体任务上表现出涌现能力。
  • Grokking(顿悟)现象:当模型规模和预训练数据量达到某个临界点时,与特定任务相关的数据量也达到足够水平,模型便会突然在这个任务上表现出显著提升。

6. 为什么大模型大多采用 Decoder-only 结构

大模型大多采用Decoder-only结构的原因包括:

  • Encoder的低秩问题:Encoder部分的双向注意力机制可能存在低秩问题,影响模型的表达能力,在生成任务中引入双向注意力并没有显著优势。
  • Zero-shot 性能更好:Decoder-only模型在没有微调数据的情况下表现更优,而Encoder-Decoder模型通常需要在标注数据上进行微调才能激发最佳性能。
  • 效率和多轮对话的优势:Decoder-only模型可以复用KV-Cache,对多轮对话更友好,因为它只需要关注先前生成的上下文,而Encoder-Decoder模型则较难实现这种优化。

7. LLMs 的复读机问题

LLMs 的复读机问题(Parroting Problem)指的是模型在生成文本时过度依赖输入文本的内容,缺乏创造性。原因包括:

  • 训练数据的偏差:如果模型在训练中接触到大量重复的文本,它可能会倾向于复制这些常见模式。
  • 训练目标限制:模型通常通过自监督学习进行训练,这使得它更容易生成与输入相似的文本。
  • 缺乏多样性:训练数据多样性不足会导致模型生成的内容缺乏新意。

缓解方法包括:使用多样化的训练数据、引入生成随机性、调整温度参数、优化搜索策略(如Beam Search),以及通过后处理去除重复内容。

8. LLMs 是否可以处理无限长的输入

理论上,LLMs 可以处理任意长度的输入文本,但实际应用中存在以下限制:

  • 计算资源:长文本处理需要更多的内存和计算时间,可能导致资源不足。
  • 模型结构的限制:Transformer模型的自注意力机制在长文本处理时会有计算瓶颈,需要更优化的结构。
  • 上下文建模:捕捉长文本中的复杂上下文关系对于模型提出更高要求。

9. 何时使用 Bert、LLaMA、ChatGLM 等模型?

选择使用哪种大模型取决于应用场景:

  • Bert:适合于文本分类、命名实体识别、语义相似度计算等任务,特别是需要理解文本语义的场景。Bert使用编码器结构,更适合NLU任务。
  • LLaMA:适合于需要通用知识和推理能力的任务,尤其是以英语为主的语言生成任务。
  • ChatGLM:适合需要连贯对话生成、智能客服等应用场景,特别是中英双语环境。

选择模型时应考虑数据可用性、计算资源以及对任务的具体需求。

10. 各个专业领域是否需要定制化的大模型?

各个专业领域往往需要定制化的大模型,原因包括:

  • 领域特定知识:每个领域都有其独特的专业知识,定制模型可以更好地理解这些内容。
  • 语言风格与表达:特定领域的语言风格、术语较为独特,定制模型能生成更符合行业标准的文本。
  • 数据稀缺性:在某些领域,通用模型无法充分利用有限的数据,而定制化模型可以更高效地进行训练和应用。

尽管如此,许多领域可以在通用大模型的基础上微调,以适应领域需求,这样能在保持通用性的同时提高领域特定的效果。

11. 如何让大模型处理更长的文本?

要让大模型处理更长的文本,可以采取以下方法:

  • 分块处理:将长文本分割为较短片段,并逐个处理,以减轻模型负担。可以使用重叠方式,确保上下文信息的传递。
  • 层次建模:将文本划分为段落、句子等层次,逐层处理,以提高上下文捕捉能力。
  • 部分生成:在生成长文本时,仅使用部分上下文生成剩余部分,从而减少单次输入的长度。
  • 注意力机制优化:通过改进注意力机制,使模型更有效地关注输入中的关键信息,从而处理更长的文本。
  • 优化模型结构:使用更高效的结构如Longformer、Reformer等,可以在不显著增加计算成本的前提下处理更长的输入。