赞
踩
ReLU(Rectified Linear Unit):ReLU 是目前神经网络中最常用的激活函数之一。它的函数形式如下:
f
(
x
)
=
max
(
0
,
x
)
f(x) = \max(0, x)
f(x)=max(0,x)
ReLU 将负数变为零,保持正数不变,具有简单的计算和快速收敛的特点 。
GELU(Gaussian Error Linear Units):GELU 是 ReLU 的平滑版本。它的定义如下:
GELU
(
x
)
=
x
⋅
Φ
(
x
)
\text{GELU}(x) = x \cdot \Phi(x)
GELU(x)=x⋅Φ(x)
其中
Φ
(
x
)
\Phi(x)
Φ(x) 是标准正态分布的累积分布函数(CDF)。GELU 在一些情况下比 ReLU 更优,因为它是处处可微的非线性函数 。
Swish:Swish 是对带有非零负值梯度的 ReLU 的平滑版本。它的定义如下:
Swish
(
x
,
β
)
=
x
⋅
1
1
+
e
−
β
x
\text{Swish}(x, \beta) = x \cdot \frac{1}{1 + e^{-\beta x}}
Swish(x,β)=x⋅1+e−βx1
Swish 同样是处处可微的非线性函数,其中参数 (\beta) 控制函数的形状。在实验中,通常取
β
=
1
\beta = 1
β=1。
SwiGLU:SwiGLU 是 Gated Linear Units(GLU)激活函数的一种变体,由 Noam Shazeer 在论文《GLU Variants Improve Transformer》中提出。它采用 Swish 作为激活函数的 GLU 变体,用于增强 Transformer 架构中的 Feed-Forward Network(FFN)层的性能。SwiGLU 的定义如下:
SwiGLU
(
x
,
W
,
V
,
b
,
c
)
=
Swish
1
(
x
W
+
b
)
⊗
(
x
V
+
c
)
\text{SwiGLU}(x, W, V, b, c) = \text{Swish}_1(xW + b) \otimes (xV + c)
SwiGLU(x,W,V,b,c)=Swish1(xW+b)⊗(xV+c)
其中
⊗
\otimes
⊗表示逐元素乘法。SwiGLU 引入了更多的权重矩阵,通常会对隐藏层的大小做一个缩放,以保证整体的参数量不变。
References
[1]: 大模型基础|激活函数|从ReLU 到SwiGLU - 知乎
[2]: 昇腾大模型|结构组件-2——ReLU、GeLU、SwiGLU、GeGLU
[3]: 深度学习中常见激活函数的原理和特点-腾讯云开发者社区-腾讯云
[4]: 大模型组件—激活函数 - 知乎
Multi-Head Attention (MHA):
Multi-Query Attention (MQA):
Grouped-Query Attention (GQA):
References
[1]: 理解Attention:从起源到MHA,MQA和GQA - 知乎
[2]: MHA、MQA、GQA区别和联系-CSDN博客
[3]: MHA、MQA、GQA区别和联系 - 知乎
[4]: 大模型中的注意力机制——MHA、GQA、MQA - CSDN博客
GPT-3:
LLAMA:
ChatGLM:
References
[1]: 超全总结!大模型算法岗面试指南来了! - 知乎
[2]: LLMs模型速览(GPTs、LaMDA、GLM/ChatGLM、PaLM …
[3]: 【LLM系列之底座模型对比】LLaMA、Palm、GLM …
[4]: Llama 2 vs GPT-4:有何区别? | Linux 中国 - 知乎
[5]: 大模型升级与设计之道:ChatGLM、LLAMA、Baichuan及 …
理论上,LLMs(大型语言模型) 可以处理任意长度的输入句子,但实际上存在一些限制
训练数据限制:LLMs在训练时学习的上下文窗口是有限的。更长的文本需要通过滑动窗口的方式分段处理。因此,理论上 RoPE 的 LLaMA 可以处理无限长度,但是太长的输入效果可能不佳,尤其是对于没有训练过的长度 .
长度外推性问题:想要让没有训练过的长度效果好,需要解决“长度外推性”问题。这意味着我们需要让模型在处理超出训练数据长度的输入时表现良好。目前,LLMs通常会限制在一定的输入长度范围内,例如2k的长度限制.
References
[1]: LLM学习记录(一)–关于大模型的一些知识 - 知乎
[2]: 大模型面试题目-LLaMA(Large Language Model Meta AI …
[3]: 大语言模型综述<演进,技术路线,区别,微调,实践,潜在 …
大型语言模型(LLM)的长上下文能力是一个显著的发展趋势。在过去的一年里,出现了几种长上下文语言模型,例如GPT-4(32k上下文)、MosaicML的MPT(65k上下文)以及Anthropic的Claude(100k上下文)。
然而,扩展Transformer模型的上下文长度是具有挑战性的,因为其核心注意力层的计算和内存复杂度与输入序列长度的平方成正比。为了解决这个问题,研究人员提出了一种快速、内存高效的注意力算法——FlashAttention。该算法无需近似即可加速注意力计算并减少内存占用,从而消除了GPU内存瓶颈。
以下是关于大模型长上下文能力的一些关键问题:
是否在固有短序列数据上浪费了注意力计算开销? 传统的预训练方法将来自随机文件的词元打包到上下文窗口中,导致16-32K的词元窗口中包含了许多不相关的文档。因此,研究人员建议使用更具意义的长文本预训练数据,例如通过超链接连接网页文档或通过代码库结构连接代码文件。
如何创建有意义的长文本预训练数据? 使用元数据(meta-data)可以创建更长的预训练数据,例如通过超链接连接网页文档,或者通过代码库结构连接代码文件。
是否可以在训练过程中使用可变的序列长度? 考虑到计算时间的增加,研究人员通常在微调阶段才使用长上下文,而在预训练阶段使用较短的序列长度。
如何评估长上下文能力? 长上下文能力的评估需要综合考虑模型的计算效率、内存占用和任务性能。
References
[1]: 大模型长上下文运行的关键问题 - 知乎
[2]: 语言模型长上下文研究总结 - 知乎
[3]: 如何让大模型处理更长的文本?_大模型如何提升长上下文 …
[4]: 一文理解“上下文学习”----大语言模型突现能力 - 知乎
[5]: 斯坦福大学:大模型“卷”错方向了?上下文窗口越长,模型越 …
LLMs复读机问题指的是大型语言模型(LLMs)在生成文本时出现的一种现象,即模型倾向于无限地复制输入的文本或者以过度频繁的方式重复相同的句子或短语。这种现象使得模型的输出缺乏多样性和创造性,给用户带来了不好的体验 。
References
[1]: 什么是 LLMs 复读机问题? - 知乎
LLMs 复读机问题指的是大型语言模型(LLMs)在生成文本时出现的一种现象,即模型倾向于无限地复制输入的文本或者以过度频繁的方式重复相同的句子或短语。这种现象使得模型的输出缺乏多样性和创造性,给用户带来了不好的体验。
复读机问题可能出现的原因包括:
References
[1]: 什么是 LLMs 复读机问题? - 知乎
[2]: 大模型面试题目-LLMs 复读机问题 - 知乎
[3]: LLM面面观之LLM复读机问题及解决方案 - 知乎
多样性训练数据:在训练阶段,尽量使用多样性的语料库来训练模型,避免数据偏差和重复文本的问题。从不同领域、不同来源和不同风格的文本中获取数据。
引入噪声:在生成文本时,可以引入一些随机性或噪声。例如,通过采样不同的词或短语,或者引入随机的变换操作,以增加生成文本的多样性。
温度参数调整:温度参数是用来控制生成文本的多样性的一个参数。通过调整温度参数的值,可以控制生成文本的独创性和多样性,从而减少复读机问题的出现。
后处理和过滤:对生成的文本进行后处理和过滤,去除重复的句子或短语,以提高生成文本的质量和多样性。
References
[1]: 什么是 LLMs 复读机问题? - 知乎
[2]: 大模型LLM的复读机问题分析 - 知乎
[3]: LLM面面观之LLM复读机问题及解决方案 - 知乎
Bert 模型由多层双向的 Transformer 编码器组成,共有 12 层,每层包含 768 隐藏单元和 12 个头,总共约有 1.15 亿个参数。Bert 在自然语言理解(NLU)任务方面表现良好,例如实体识别、信息抽取和文本分类。它适用于单卡 GPU 部署,速度较快。
ChatGLM-6B 和 LLaMA-7B 是大型模型,分别具有 60 亿和 70 亿个参数。这些大型模型基本上可以处理所有自然语言处理(NLP)任务,效果出色。然而,大型模型的部署成本较高,需要具备大显存的 GPU,并且预测速度较慢,即使在 V100 GPU 下也需要每秒处理一条数据。
因此:
References
[1]: 什么情况用Bert模型,什么情况用LLaMA、ChatGLM类大 …
[2]: 大模型面试题目-什么情况用Bert模型,什么情况用LLaMA …
[3]: 什么情况用Bert模型,什么情况用LLaMA、ChatGLM类大模型?
[4]: 大模型升级与设计之道:ChatGLM、LLAMA、Baichuan及 …
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。