以此笔记帮助自己学习加深印象,欢迎大家交流批评指正。
论文地址:
arxiv.org/pdf/2303.18223.pdfarxiv.org/pdf/2303.18223.pdf
- 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的三个主要区别:
- LLMs展示了一些令人惊讶的新兴能力,这些能力在以前较小的PLMs中可能不会被观察到
- LLMs将彻底改变人类开发和使用人工智能算法的方式
- 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:
- 基于排名的方法:e.g. Elo算法
- 基于问题的方法
- 基于规则的方法
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 预测过程为:
其中范例可以用两种方法来生成
- Heuristic approaches: 由于其简单性和低成本,现有工作广泛采用启发式方法来选择演示。
- 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