《A Survey of Large Language Models》notes

以此笔记帮助自己学习加深印象,欢迎大家交流批评指正。

论文地址:

arxiv.org/pdf/2303.18223.pdf​arxiv.org/pdf/2303.18223.pdf

  1. Introduction

统计语言模型(SLM):SLM是基于20世纪90年代兴起的统计学习方法开发的。其基本思想是基于马尔可夫假设构建单词预测模型,经常受到维度灾难的困扰:由于需要估计指数数量的转移概率,因此很难准确估计高阶语言模型。e.g. GMM

神经网络语言模型(NLM):通过建模神经网络来描述单词序列的概率。最显著的贡献是引入了单词的分布式表示的概念,并构建了基于聚合上下文特征(即分布式单词向量)的单词预测函数。e.g. RNN, LSTM

预训练语言模型(PLM):早期是在BiLSTM上做预训练,针对特定的下游task做微调。现在主流是通过基于Transformer和self-attention的架构进行预训练任务的设计训练。e.g. BERT, BART, GPT-2

大型语言模型(LLM):在大型的PLM的基础上,其通常会表现出和一般的PLM不同的性能,在任务上展现出不同的能力。LLM的一个显着应用是ChatGPT,具有与人类惊人的对话能力。

文章提出PLM和LLM的三个主要区别:

  1. LLMs展示了一些令人惊讶的新兴能力,这些能力在以前较小的PLMs中可能不会被观察到
  2. LLMs将彻底改变人类开发和使用人工智能算法的方式
  3. LLMs的发展不再明确区分研究和工程。LLMs的训练需要大规模数据处理和分布式并行训练的广泛实际经验。为了开发有能力的LLMs,研究人员必须解决复杂的工程问题,与工程师合作或成为工程师

2. Overview

Emergent Abilities of LLMs.

  • In-context learning (ICT)
  • Instruction following
  • Step-by-step reasoning, e.g. CoT

3. RESOURCES OF LLMS

LLM中用到的library:

Transformers, DeepSpeed, Megatron-LM, JAX , Colossal-AI, BMTrain, FastMoE .

4. Pre-training

4.1 数据准备

General Text Data:网页数据、书籍数据、对话文本

Specialized Text Data:多语言文本、科学文本、代码

4.2 数据处理

Quality Filtering:

去除低质量文本一般有两种方法:基于分类器和基于启发式的方法。

基于分类器:

训练一个区分高质量文本和低质量文本的分类器。

基于启发式:

语言基础过滤:如果一个大型语言模型主要用于某种语言的任务,那么可以对其他语言的文本进行过滤。

基于度量的过滤:可以使用生成文本的评估指标,例如困惑度,来检测并删除不自然的句子。

基于统计的过滤:可以利用语料库的统计特征,例如标点分布、符号与词语的比率以及句子长度,来衡量文本的质量,并过滤低质量的数据。

基于关键词的过滤:根据特定的关键词集,可以识别和删除文本中的噪音或无用元素,如HTML标签、超链接、模板文本和冒犯性词语。

De-duplication:

包括sentence-level, document-level, and dataset-level 层面的去重。

Privacy Reduction:

去除个人敏感信息(personally identifiable information (PII))

Tokenization:

将原始文本分割成一系列单独的标记序列,随后这些标记将用作大型语言模型的输入。

e.g. Byte-Pair编码(BPE)tokenization, WordPiece tokenization, Unigram tokenization.

4.3 模型架构

4.3.1 Typical Architectures

Encoder-decoder Architecture, Causal Decoder Architecture, Prefix Decoder Architecture, Emergent Architectures.

Encoder-decoder Architecture: 编码器采用堆叠的多头自注意力层来编码输入序列,生成其潜在表示,而解码器对这些表示进行交叉注意力操作,并自回归地生成目标序列. e.g. Transformer, BART

Causal Decoder Architecture:因果解码器架构包含单向注意力掩码,以确保每个输入标记只能与过去的标记和自己进行关联。输入和输出标记都通过解码器以相同的方式进行处理。e.g. GPT

Prefix Decoder Architecture: 修改了因果解码器的屏蔽机制,以实现对前缀标记的双向关注,并仅在生成的标记上进行单向关注。通过这种方式,类似于编码器-解码器架构,前缀解码器可以双向编码前缀序列,并自回归地逐个预测输出标记,编码和解码期间共享相同的参数。与从头开始进行预训练不同,一个实际的建议是继续训练因果解码器,然后将它们转化为前缀解码器以加速收敛.。 e.g. U-PaLM, GLM130B, Switch Transformer, GLaM.

Emergent Architectures: 传统的Transformer架构通常面临二次计算复杂度的问题。因此,在处理长输入时,效率已经成为训练和推理的重要问题。为了解决这些问题提出的一些架构。e.g.

一些模型细节

4.4 预训练任务

Language Modeling:语言建模任务(LM)是预训练仅包含解码器的大型语言模型(LLM)最常用的目标之一,例如GPT-3和PaLM。

给定一个标记序列x = {x1, . . . , xn},LM任务的目标是根据序列中之前的标记x<i,自回归地预测目标标记xi。一般的训练目标是最大化以下似然函数:

Denoising Autoencoding:

DAE任务的输入 �~是被破坏的文本,其中包含了随机替换的部分,类似MLM的mask,LM训练回原来的标记。

4.5 模型训练

4.5.1 参数设置:

3D Parallelism: e.g. data parallelism, Pipeline parallelism, Tensor parallelism.

ZeRO

Mixed Precision Training.

5. ADAPTATION OF LLMS

tuning = instruction tuning + alignment tuning

5.1 Instruction Tuning:增强(或解锁)LLM的能力

Formatted Instance Construction :

Formatting Task Datasets, Formatting Daily Chat Data, Formatting Synthetic Data

Instruction Tuning Strategies: 保持数据分布平衡、合并指令微调和预训练、多阶段指令微调,或者其他(e.g. Efficient training for multi-turn chat data, Filtering low-quality instructions using LLMs, Establishing self-identification for LLM)

5.2 Alignment tuning :使 LLM 的行为与人类价值观或偏好保持一致

对齐准则:Helpfulness、Honesty、Harmlessness

Collecting Human Feedback:

  1. 基于排名的方法:e.g. Elo算法
  2. 基于问题的方法
  3. 基于规则的方法

5.3 Reinforcement Learning from Human Feedback

other tuning :

6.Utilization

经过预训练或适应性调整后,使用LLM的一个主要方法是设计合适的提示策略来解决各种任务。典型的提示方法是in-context learning,它以自然语言文本的形式制定任务描述或演示。此外,CoT可以通过在提示中涉及一系列中间推理步骤来增强情境学习。此外,planning 被提出来解决复杂的任务,首先将它们分解为更小的子任务,然后生成一个行动计划来逐个解决这些子任务。

6.1 in-context learning

作为一种特殊的Prompt形式,情境学习(ICL)首先与 GPT-3一起提出,已成为利用 LLM 的典型方法。

LLM 预测过程为:

其中范例可以用两种方法来生成

  1. Heuristic approaches: 由于其简单性和低成本,现有工作广泛采用启发式方法来选择演示。
  2. LLM-based approaches: 利用LLM生成

CoT:思维链(CoT)是一种改进的提示策略,可提高LLM在复杂推理任务上的表现,例如算术推理、常识推理和符号推理。

CoT:并没有像 ICL 那样简单地使用输入输出对构建提示,而是将中间推理步骤纳入提示中,这些步骤可以将最终输出引入到提示中。

Few-shot CoT: Few-shot CoT 是 ICL 的一个特例,它通过合并 CoT 推理步骤将每个演示〈输入,输出〉 增强为〈输入,CoT,输出〉。除了丰富上下文信息之外,CoT 提示还提供了更多选项来推断给定问题的答案。

Zero-shot CoT: 其中LLM首先由“Let’s think step by step”提示生成推理步骤,然后由“Therefore, the answer is”提示得出最终答案。当模型规模超过一定规模时,这种策略会极大地提高性能,但对于小规模模型则无效,显示出显着的涌现能力模式。

7. CAPACITY AND EVALUATION

人们提出了大量的任务和基准来对LLM进行实证能力评估和分析。

7.1 Basic Ability

7.1.1 Language Generation

Language Modeling:为了更好地测试文本中远程依赖关系的建模能力,引入了 LAMBADA 数据集,其中要求LLM根据一段上下文来预测句子的最后一个单词。然后,使用预测的最后单词的准确性和复杂度来评估LLM。

Conditional Text Generation: 专注于根据给定条件生成满足特定任务需求的文本,通常包括机器翻译、文本摘要和QA。为了衡量生成文本的质量,自动指标(例如准确性、BLEU和 ROUGE)和人工评分通常用于评估性能。
Code Synthesis: 与自然语言生成不同,生成的代码可以通过相应的编译器或解释器执行来直接检查,现有的工作主要通过计算测试用例的通过率来评估LLM生成代码的质量,即pass@k. (给定 LLM 生成的 k 个程序,当至少一个程序通过所有测试用例时,pass@k 计算为 1,否则0)

Major issues:Unreliable generation evaluation, Underperforming specialized generation.

7.1.2 Knowledge Utilization

Closed-Book QA

Open-Book QA

Knowledge Completion

Major issues:

7.1.3 Complex Reasoning

Knowledge Reasoning

Symbolic Reasoning

Mathematical Reasoning

Major issues: Reasoning inconsistency, Numerical computation

7.2 Advanced Ability

Human Alignment

Interaction with External Environment

Tool Manipulation

7.3 Benchmarks and Evaluation Approaches

8. A PRACTICAL GUIDEBOOK OF PROMPT DESIGN

9. APPLICATIONS

Healthcare

Education

Law

Finance

Scientific research

10. CONCLUSION AND FUTURE DIRECTIONS

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值