大语言模型学习笔记-1

发布于:2024-06-16 ⋅ 阅读:(19) ⋅ 点赞:(0)

1. GPT发展历程

  • GPT-1:通用文本训练+特定任务微调
  • GPT-2/GPT-3:扩大与训练数据和模型参数规模,显著提升模型性能,并确立了基于自然语言形式的通用任务解决路径。
  • GPT-3.5:在GPT-3的基础上,通过代码训练、人类对其、工具使用等技术对模型性能不断升级推出GPT-3.5系列模型
  • GPT-4:全面提升->GPT-4V:拥有多模态功能

1.1 GPT敲重点:

  1. 可拓展的训练架构和学习范式:transformer架构能够拓展到百亿、千亿甚至万亿的参数规模,并且将预训练任务统一为预测下一个单词这一通用学习范式;
  2. 对于数据质量和数据规模的重视:不同于bert时代的预训练语言模型,这次大语言模型的成功与数据有着更为紧密的关系。

2. 语言模型发展历程

  • 统计语言模型(SLM):
    • 使用马尔可夫假设来建立语言序列的预测模型,通常是根据词序列中若干个连续的上下文单词来预测下一个词的出现概率。具有固定上下文长度n的统计语言模型通常被称为n-gram模型。
    • 缺点:随着n的增加,需要估计的转移概率项数呈现指数级增长,会受到“维数灾难”。
    • 缓解数据稀疏:平滑策略:回退估计/古德-图灵估计
  • 神经语言模型(NLM):
    • 使用神经网络来建模文本序列的生成,如RNN
    • word embedding:word2vec
  • 预训练语言模型(PLM):
    • 训练架构和训练数据做了改进和创新
    • ELMo:使用大量的无标注数据训练双向的LSTM,预训练完成的biLSTM可以用来学习上下文感知的单词表示,可以根据下游任务数据对biLSTM网络进行微调,实现特定任务的模型优化。缺点:对长文本建模能力较弱,不容易并行训练。
    • 基于Self-attention的transformer:通过自注意力机制建模长程序列关系。
      • 优点:对硬件友好,可以通过GPU或者TPU进行加速训练,提供可并行优化的神经网络架构。
    • 基于transformer架构,谷歌提出BERT,采用了仅有编码器的transformer架构,并通过在大规模无标注数据上使用专门设计的预训练任务来学习双向语言模型。
    • 同期,基于transformer架构,GPT-1开始训练,
    • bert vs gpt-1:gpt-1采用了仅有解码器的transformer架构,以及基于下一个词元预测的预训练任务进行模型的训练。
    • 编码器 vs 解码器:编码器架构被人为更加适合解决自然语言理解任务,如完形填空,解码器架构更适合解决自然语言生成任务,如文本摘要等。
    • 确立了预训练+微调的范式
  • 大语言模型(LLM):
    • 增加模型参数或数据规模可以带来下游任务模型性能的提升。即扩展法则:scaling law。

    • GPT-3 175B,PaLM:540B, BERT:330M,GPT-2:1.5B

    • GPT-3可以通过上下文学习(ICL)的方式来利用少样本数据解决下游任务,GPT-2不具备这个能力。

    • 特点:

      • 具有较为丰富的世界知识
      • 具有较强的通用任务解决能力
      • 具有较强的复杂任务推理能力
      • 具有较强的人类指令遵循能力
      • 具有较好的人类对齐能力
      • 具有可拓展的工具使用能力