wordpress x站,即买即送的网站有哪些,唐山seo网络推广,网站建设武清目录 #x1f354; LLM主流大模型类别
#x1f354; ChatGLM-6B模型
2.1 训练目标
2.2 模型结构
2.3 模型配置(6B)
2.4 硬件要求
2.5 模型特点
2.6 衍生应用
#x1f354; LLaMA模型
3.1 训练目标
3.2 模型结构
3.3 模型配置#xff08;7B#xff09;
3.4 硬件… 目录 LLM主流大模型类别 ChatGLM-6B模型
2.1 训练目标
2.2 模型结构
2.3 模型配置(6B)
2.4 硬件要求
2.5 模型特点
2.6 衍生应用 LLaMA模型
3.1 训练目标
3.2 模型结构
3.3 模型配置7B
3.4 硬件要求
3.5 模型特点
3.6 衍生应用 BLOOM模型
4.1 训练目标
4.2 模型结构
4.3 模型配置176B
4.4 硬件要求
4.5 模型特点
4.6 衍生应用 小结 学习目标 了解LLM主流开源大模型. 掌握ChatGLM、LLaMA、Bloom等基础大模型的原理 LLM主流大模型类别
随着ChatGPT迅速火爆引发了大模型的时代变革国内外各大公司也快速跟进生成式AI市场近百款大模型发布及应用。
目前市面上已经开源了各种类型的大语言模型本章节我们主要介绍其中的三大类 ChatGLM-6B衍生的大模型wenda、ChatSQL等 LLaMA衍生的大模型Alpaca、Vicuna、BELLE、Phoenix、Chimera等 Bloom衍生的大模型Bloomz、BELLE、Phoenix等 ChatGLM-6B模型 ChatGLM-6B 是清华大学提出的一个开源、支持中英双语的对话语言模型基于 General Language Model (GLM) 架构具有 62 亿参数。该模型使用了和 ChatGPT 相似的技术经过约 1T 标识符的中英双语训练(中英文比例为 1:1)辅以监督微调、反馈自助、人类反馈强化学习等技术的加持62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答目前中文支持最好。 2.1 训练目标
GLM是一种基于自回归空白填充目标的通用预训练框架。GLM 将 NLU 任务转化为包含任务描述的完形填空问题可以通过自回归生成的方式来回答。自回归空白填充目标是指在输入文本中随机挖去一些连续的文本片段然后训练模型按照任意顺序重建这些片段。完形填空问题是指在输入文本中用一个特殊的符号如[MASK]替换掉一个或多个词然后训练模型预测被替换掉的词。
上图说明了GLM的实现思想训练目标 原始文本 $x[x_1, x_2,...,x_6]$随机进行连续 mask这里假设 mask 掉$[x_3]$和 $[x_5,x_6]$ . 将$[x_3]$和 $[x_5,x_6]$ 替换为 [M] 标志并打乱 Part B 的顺序。为了捕捉跨度之间的内在联系随机交换跨度的顺序。 GLM 自回归地生成 Part B。 每个片段在输入时前面加上 [S]在输出时后面加上 [E]。 二维位置编码表示不同片段之间和片段内部的位置关系。 自注意力掩码。 灰色区域被掩盖。Part A 的词语可以自我看到图蓝色框但不能看到 Part B。 Part B 的词语可以看到 Part A 和 Part B 中的前面的词语图黄色和绿色框对应两个片段。 [M] : [MASK][S] : [START][E] : [END] 注意 Position1 和 Position2 是输入的二维编码第一个维度表示片段在原始文本中的相对位置第二个维度表示片段内部的相对位置。 假设原始文本是 $x[x_1, x_2,...,x_6]$其中$[x_3]$和 $[x_5,x_6]$ 被挖去。那么被挖去的片段在第一个维度上的位置编码就是它们在原始文本中的索引即$[x_3]$来自片段 3$[x_5,x_6]$ 来自片段 5。在第二个维度上的位置编码就是它们在片段中的索引即 0 和 1。因此 $x_3$的二维位置编码是[3, 0] $x_5$的二维位置编码是[5, 0]$x_6$ 的二维编码是[5, 1]。 同样我们可以得到$x_1$的二维位置编码是[1, 0] $x_2$的位置编码是[2, 0] $x_4$的位置编码是[4, 0]。 2.2 模型结构
ChatGLM-6B 采用了 prefix decoder-only 的 transformer 模型框架在输入上采用双向的注意力机制在输出上采用单向注意力机制。
相比原始Decoder模块模型结构有如下改动点 embedding 层梯度缩减为了提升训练稳定性减小了 embedding 层的梯度。梯度缩减的效果相当于把 embedding 层的梯度缩小了 10 倍减小了梯度的范数。 layer normalization采用了基于 Deep Norm 的 post layer norm。 激活函数替换ReLU激活函数采用了 GeLU 激活函数。 GeLU的特点 相比ReLU稳定且高效 缓解梯度消失 位置编码去除了绝对位置编码采用了旋转位置编码 RoPE。
2.3 模型配置(6B)
配置数据参数6.2B隐藏层维度4096层数28注意力头数32训练数据1T词表大小130528最大长度2048 2.4 硬件要求
量化等级最低GPU显存推理最低GPU显存高效参数微调FP16(无量化)13GB14GBINT810GB9GBINT46GB7GB 2.5 模型特点
优点 较低的部署门槛 INT4 精度下只需6GB显存使得 ChatGLM-6B 可以部署在消费级显卡上进行推理。 更长的序列长度 相比 GLM-10B序列长度1024ChatGLM2-6B 序列长度达32K支持更长对话和应用。 人类类意图对齐训练
缺点 模型容量小相对较弱的模型记忆和语言能力。 较弱的多轮对话能力。
2.6 衍生应用
LangChain-ChatGLM基于 LangChain 的 ChatGLM 应用实现基于可扩展知识库的问答。
闻达大型语言模型调用平台基于 ChatGLM-6B 实现了类 ChatPDF 功能 LLaMA模型
LLaMALarge Language Model Meta AI由 Meta AI 于2023年发布的一个开放且高效的大型基础语言模型共有 7B、13B、33B、65B650 亿四种版本。
LLaMA训练数据是以英语为主的拉丁语系另外还包含了来自 GitHub 的代码数据。训练数据以英文为主不包含中韩日文所有训练数据都是开源的。其中LLaMA-65B 和 LLaMA-33B 是在 1.4万亿 (1.4T) 个 token上训练的而最小的模型 LLaMA-7B 和LLaMA-13B 是在 1万亿 (1T) 个 token 上训练的。 3.1 训练目标
在训练目标上LLaMA 的训练目标是语言模型即根据已有的上文去预测下一个词。
关于tokenizerLLaMA 的训练语料以英文为主使用了 Sentence Piece 作为 tokenizer词表大小只有 32000。词表里的中文 token 很少只有几百个LLaMA tokenizer 对中文分词的编码效率比较低。
3.2 模型结构
和 GPT 系列一样LLaMA 模型也是 Decoder-only架构但结合前人的工作做了一些改进比如 Pre-normalization为了提高训练稳定性没有使用传统的 post layer norm而是使用了 pre layer Norm同时使用 RMSNorm归一化函数RMS Norm的主要区别在于去掉了减去均值的部分简化了Layer Norm 的计算可以在减少约 7%∼64% 的计算时间。 layer normalization采用了基于 Deep Norm 的 post layer norm。 激活函数将 ReLU 非线性替换为 SwiGLU 激活函数。 位置编码去除了绝对位置编码采用了旋转位置编码 RoPE。
3.3 模型配置7B
配置数据参数6.7B隐藏层维度4096层数32注意力头数32训练数据1T词表大小32000最大长度2048 3.4 硬件要求
65B的模型在2048个80G的A100 GPU上可以达到380 tokens/sec/GPU的速度。训练1.4T tokens需要21天。 3.5 模型特点
优点 具有 130 亿参数的 LLaMA 模型「在大多数基准上」可以胜过 GPT-3 参数量达 1750 亿。 可以在单块 V100 GPU 上运行而最大的 650 亿参数的 LLaMA 模型可以媲美谷歌的 Chinchilla-70B 和 PaLM-540B。
缺点 会产生偏见性、有毒或者虚假的内容. 在中文上效果差训练语料不包含中文或者一个汉字切分为多个 token编码效率低模型学习难度大。
3.6 衍生应用
Alpaca: 斯坦福大学在 52k 条英文指令遵循数据集上微调了 7B 规模的 LLaMA。
Vicuna: 加州大学伯克利分校在 ShareGPT 收集的用户共享对话数据上微调了 13B 规模的 LLaMA。
BELLE: 链家仅使用由 ChatGPT 生产的数据对 LLaMA 进行了指令微调并针对中文进行了优化。
Chinese LLaMA 扩充中文词表常见做法在中文语料上使用 Sentence Piece 训练一个中文 tokenizer使用了 20000 个中文词汇。然后将中文 tokenizer 与原始的 LLaMA tokenizer 合并起来通过组合二者的词汇表最终获得一个合并的 tokenizer称为 Chinese LLaMA tokenizer。词表大小为 49953。 BLOOM模型
BLOOM系列模型是由 Hugging Face公司的BigScience 团队训练的大语言模型。训练数据包含了英语、中文、法语、西班牙语、葡萄牙语等共 46 种语言另外还包含 13 种编程语言。1.5TB 经过去重和清洗的文本转换为 350B 的 tokens。训练数据的语言分布如下图所示可以看到中文语料占比为 16.2%
按照模型参数量BLOOM 模型有 560M、1.1B、1.7B、3B、7.1B 和 176B 这几个不同参数规模的模型。 4.1 训练目标
在训练目标上LLaMA 的训练目标是语言模型即根据已有的上文去预测下一个词。
关于tokenizerBLOOM 在多语种语料上使用 Byte Pair Encoding(BPE)算法进行训练得到 tokenizer词表大小为 250880。
4.2 模型结构
和 GPT 系列一样LLaMA 模型也是 Decoder-only 架构但结合前人的工作做了一些改进比如 embedding layer norm在 embedding 层后添加了一个 layer normalization来使训练更加稳定。 layer normalization为了提升训练的稳定性没有使用传统的 post layer norm而是使用了 pre layer Norm。 激活函数采用了 GeLU 激活函数。 位置编码去除了绝对位置编码采用了相对位置编码 ALiBi。相比于绝对位置编码ALiBi 的外推性更好即虽然训练阶段的最大序列长度为 2048模型在推理过程中可以处理更长的序列。
4.3 模型配置176B
配置数据参数176B隐藏层维度14336层数70注意力头数112训练数据366B词表大小250880最大长度2048 4.4 硬件要求
176B-BLOOM 模型在384 张 NVIDIA A100 80GB GPU上训练于 2022 年 3 月至 7 月期间耗时约 3.5 个月完成 (约 100 万计算时)算力成本超过300万欧元 4.5 模型特点
优点 具有良好的多语言适应性能够在多种语言间进行切换且无需重新训练
缺点 会产生偏见性、有毒或者虚假的内容.
4.6 衍生应用
轩辕: 金融领域大模型度小满在 BLOOM-176B 的基础上针对中文通用领域和金融领域进行了针对性的预训练与微调。
BELLE: 链家仅使用由 ChatGPT 生产的数据对 BLOOMZ-7B1-mt 进行了指令微调。 小结 本小节主要介绍了LLM主流的开源大模型对不同模型架构、训练目标、优缺点进行了分析和总结。