【LLM】LLM原理与实践(总结汇总)

LLM原理与实践(总结汇总)

https://www.datawhale.cn/learn/summary/48

1:引言

【语言模型】

  • 语言模型是序列 x 1 : L x_{1:L} x1:L 的概率分布 p。
  • 直观上,一个好的语言模型应具有语言能力和世界知识。
  • 自回归语言模型允许有效地生成给定提示 x 1 : i x_{1:i} x1:i 的补全 x i + 1 : L x_{i+1:L} xi+1:L
  • 温度可以用来控制生成中的变异量。

【信息理论、英语的熵、n-gram模型】

  • 语言模型最初是在信息理论的背景下研究的,可以用来估计英语的熵。
  • N-gram模型在计算上极其高效,但在统计上效率低下。
  • N-gram模型在短上下文长度中与另一个模型(用于语音识别的声学模型或用于机器翻译的翻译模型)联合使用是有用的。
  • 神经语言模型在统计上是高效的,但在计算上是低效的。
  • 随着时间的推移,训练大型神经网络已经变得足够可行,神经语言模型已经成为主导的模型范式。

【LLM】

  • 单一的大型语言模型是一个万事通(也是一无所长)。它可以执行广泛的任务,并且能够具备上下文学习等新出现的行为。
  • 它们在现实世界中得到广泛部署。
  • 大型语言模型仍然存在许多重要的风险,这些风险是开放的研究问题。
  • 成本是广泛获取的一大障碍。

2:大模型的能力

  • GPT-3在广泛的标准NLP基准测试和一次性任务上进行了评估。
  • GPT-3可以表现得极好或者非常普通。
  • 增加模型的大小和示例的数量都有助于提高性能。
  • 有一些启发式的方法可以将语言模型适应到感兴趣的任务。

3:模型架构

【transformer】

4:新的模型架构

【平衡专家】

  • 只有所有专家都参与进来,混合专家才有效。
  • 如果只有一个专家处于活跃状态(例如, g(x)=[0,1,0,0]g(x)=[0,1,0,0] ),那么这就是浪费。
  • 此外,如果我们一直处于这种状态,那么未使用的专家的梯度将为零,因此他们将不会收到任何梯度并得到改善。
  • 因此,使用混合专家的主要考虑因素之一是确保所有专家都能被输入使用。

【并行】

  • 混合专家非常有利于并行。
  • 每个专家都可以放置在不同的机器上。
  • 我们可以在中心节点计算近似门控函数 g   ( x ) g~(x) g (x)
  • 然后,我们只要求包含激活专家的机器(稀疏)来处理 x x x

【MoE】

  • 混合专家:起源于将不同专家应用于不同输入的经典理念
  • 允许训练更大的语言模型(1.1万亿个参数)
  • 与稠密Transformer模型相比,每个输入的效率高得多(FLOP更少)
  • 效果难以比较:在相同规模上,直接比较仍然具有挑战性(GPT-3与GLaM与FacebookMoE)
  • 对权力下放的重大影响

【RAG】

  • 基于检索的模型高度适合知识密集型的问答任务。
  • 除了可扩展性之外,基于检索的模型还提供了可解释性和更新存储库的能力。
  • 目前尚不清楚这些模型是否具有与稠密Transformer相同的通用能力。

【2种新架构】

  • 为了扩大模型规模,需要改进稠密Transformer。
  • 混合专家和基于检索的方法相结合更有效。
  • 如何设计更好的、可扩展的体系结构仍然是一个悬而未决的问题。

5:大模型的数据

  • 在机器学习中,训练数据和测试(评估)数据是相似的,或者至少是同一类型的。
  • 在大型语言模型中,训练数据就是“原始文本”。

6:模型训练

【初始化】

  • 给定矩阵 W ∈ R m × n W∈Rm×n WRm×n,标准初始化(即,xavier初始化)为 W i j ∼ N ( 0 , 1 / n ) Wij∼N(0,1/n) WijN(0,1/n)
  • GPT-2和GPT-3通过额外的 1/N 缩放权重,其中 N 是残差层的数量。
  • T5将注意力矩阵增加一个 1/d (代码)。

7:大模型之Adaptation

【Probing】

  • 探测通过冻结语言模型表示编码器和优化特定任务的探针来工作。
  • 这些模型可以是线性的或浅前馈预测头,提供了一种灵活的方法来理解和解释深度学习模型的内部工作机制。
  • 固定长度表示的策略提供了灵活而有效的解决方案。

【Fine-tuning】

  • 微调可以使预先训练的语言模型更好地符合人类的期望和需求。
  • 通过监督学习、人类反馈和强化学习等手段,可以显著提高模型在特定任务和场景下的性能。
  • 需关注并解决某些方面的挑战,如偏见和虚构信息的产生,以确保语言模型的安全和可靠使用。

【Lightweight Fine-tuning】

  • 冻结:整个/大部分语言模型
  • 优化(根据任务变化):少量额外参数(参数的<1%)
  • 方法:提示调整、前缀调整、适配器调整,以及其他方法(LoRABitFit等)

【下游任务】

  • 探测法(Probing):探测法在冻结的语言模型之上训练一个特定任务的预测头,将语言模型视为良好的表示提取器。冻结语言模型倾向于限制该方法的表现能力。
  • 微调(Fine-tuning):微调将大型语言模型参数视为下游任务的进一步训练的初始化,这比探测更具表现力,但也更昂贵,因为我们必须为每个下游任务保存整个模型。
  • 轻量级微调(Lightweight fine-tuning):轻量级微调在微调和探测之间取得了平衡,只优化少量参数(模型的<1%),但它优化了模型的高杠杆部分,因此仍然非常具有表现力。 通过上述方法,可以更灵活地应对各种不同的下游任务,既实现了对特定任务的精确适配,又在一定程度上控制了计算和存储的成本,从而在实际应用中取得更好的性能和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MorleyOlsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值