清华大学大模型共学课程--大模型训练方法笔记

114 阅读5分钟

预训练

任何信息都可以被转化为 Token-文字、代码、DNA、图片。任何 Token都可被学习(被泛化)。

Tokenization

  • Token化将文本(或其他信息)分解为子词( tokens)
  • Token化文本的方法有很多种
  • Tokens可以用词嵌入( embeddings)的方式进一步表示

词向量以上下文无关的方式应用训练语言神经网络模型,根据句子中的前几个单词预测下一个单词使用其内部表示作为词向量。

ELMo情景化预训练

架构:堆叠的双向长短期记忆网络(Bi- LSTMS),基于10亿词语基准测试,将每层的隐状态组合在一起作为上下文词向量。

  • 情境化:每个词向量,都有上下文决定
  • 深度:每个词向量表示结合了预训练深度神经网络的所有层

Transformer

image.png

image.png

GPT是第一个基于Transformer的预训练语言模型,通过前面的单词的概率去预测后面单词的概率,在实现过程中我们会使用attention mask让模型不去看到后面的单词。

image.png

BERT:2018-2022年最受欢迎的预训练语言模型,显著改变NLP范式,超过当时几乎所有的机器学习模型效果并且模型能力超过人类水平。

训练方法:遮盖输入词汇中的k%部分,然后预测被遮蔽的词。

在BERT中k=15%。

遮盖过少:训练成本过高。遮盖过多:上下文不够

image.png T5

任务最自然的格式是文本到文本(例如,机器翻译)如果我们训练一个通用模型来处理所有文本到文本的数据,我们实际上可以将所有语言任务统一到这种格式,并通过一个模型完成所有任务

  • T5使用编码器来编码输入,并使用解码器来预测输出
  • T5在原始文本中制作掩码跨度,并预测被掩码的内容
  • T5证明了NLP任务实际上可以统一为文本生成任务

image.png

三种训练范式

image.png

语言建模

语言建模的任务是预测下一个即将出现的单词(下一个 Token)

语言建模是一种极致的多任务学习,当模型真正的去正确预测出下一个token时,其实我们可以理解他就是在真正理解这个世界,也就是我们常说的真正的智能。

  • 语言建模不需要任何其他地除去语料库
  • 更少的要求意味着更多的数据: ebook,code,htm, latex等等
  • 更多数据是实现更多智能的先决条件

计算即将出现的单词Wn的条件概率:

image.png

  • 我们可以计算任何文本和任何模型的困惑度(ppl)
  • 对于词汇表中有W个词的模型,随机困惑度是W。我们不能直接比较词汇量不同的模型
  • 由于预测 Token的概率通常很小,因此我们通常计算对数概率和,然后计算指数以确保精确度,这也被称为交叉熵损失

image.png

OpenAI

image.png

Scaling Law(扩增定律)

扩增定律:随着模型大小、数据集大小和用于训练的计算量增加,语言模型的性能会平稳提升。只要我们扩展模型和数据大小,性能也是可以预测的

image.png

后训练

后训练(对齐)是做什么?

  • 场景适配:让模型在特定场景下完成特定任务
  • 能力激发:激发模型在预训练过程中学到的知识
  • 稳定和鲁棒:让模型输出稳健、安全的内容
  • 价值对齐:让模型的表现和价值观与人类保持一致

让大语言模型更强大、可靠、安全

参数高效微调:Delta Tuning

增量式方法:引入了原始模型中不存在的额外可训练参数(例如提示微调)

指定式方法:指定原始模型或过程中的某些参数变为可训陈练,而其他参数保持不变。

重参数化的方法:转换将现有参数重新参数化为参数高效的形式。

image.png

低秩适配(LoRA)

在每个 Transformer层中注入可训练的秩分解矩阵,说人话就是调整模型参数的变化量,而不是具体的模型参数。

image.png

prompt

image.pngimage.png

  • 通过不同的提示(指令)和答案来微调语言模型
  • 极大地增强模型的泛化能力和对用户意图的理解
  • 最初来自任务→没有明确的任务
  • 更大的模型,更多的任务,更好的性能

大语言模型的核心是由指令微调带来的零样本泛化生成能力。

RLHF

image.png

  • 准备一个语言模型
  • 在海量未标记语料库上训练(预训练)
  • 在高质量指令微调数据上训练(微调)
  • 对齐模型的质量由基础模型决定(对齐)

对齐方法RLHF

image.png

  • 准备偏序数据
  • 通常由人类(或AI)评分
  • 基于一套标准(3H?)
    • 有用性( Helpfulness)
    • 无害性( Harmless)
    • 城市性( Honesty)
  • 使用偏好数据训练一个奖励模型
奖励模型

image.png

强化学习PPO:

image.png

  • 偏好代表隐含的价值观和大规模的监督
  • 偏好学习可以进一步提升监督微调的大语言模型
  • 偏好学习是构建更专业模型的必要步骤