【AI大模型】LLM主流开源大模型介绍

简介: 【AI大模型】LLM主流开源大模型介绍

学习目标

🍀 了解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的实现思想(训练目标):

  1. 原始文本 $x=[x_1, x_2,...,x_6]$随机进行连续 mask,这里假设 mask 掉$[x_3]$和 $[x_5,x_6]$ .
  2. 将$[x_3]$和 $[x_5,x_6]$ 替换为 [M] 标志,并打乱 Part B 的顺序。为了捕捉跨度之间的内在联系,随机交换跨度的顺序。
  3. GLM 自回归地生成 Part B。 每个片段在输入时前面加上 [S],在输出时后面加上 [E]。 二维位置编码表示不同片段之间和片段内部的位置关系。
  4. 自注意力掩码。 灰色区域被掩盖。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(无量化) 13GB 14GB
INT8 10GB 9GB
INT4 6GB 7GB

2.5 模型特点

优点:

  • 较低的部署门槛: INT4 精度下,只需6GB显存,使得 ChatGLM-6B 可以部署在消费级显卡上进行推理。
  • 更长的序列长度: 相比 GLM-10B(序列长度1024),ChatGLM2-6B 序列长度达32K,支持更长对话和应用。
  • 人类类意图对齐训练

缺点:

  • 模型容量小,相对较弱的模型记忆和语言能力。
  • 较弱的多轮对话能力。

2.6 衍生应用

LangChain-ChatGLM:基于 LangChain 的 ChatGLM 应用,实现基于可扩展知识库的问答。

闻达:大型语言模型调用平台,基于 ChatGLM-6B 实现了类 ChatPDF 功能


🍔 LLaMA模型

LLaMA(Large Language Model Meta AI),由 Meta AI 于2023年发布的一个开放且高效的大型基础语言模型,共有 7B、13B、33B、65B(650 亿)四种版本。

LLaMA训练数据是以英语为主的拉丁语系,另外还包含了来自 GitHub 的代码数据。训练数据以英文为主,不包含中韩日文,所有训练数据都是开源的。其中LLaMA-65B 和 LLaMA-33B 是在 1.4万亿 (1.4T) 个 token上训练的,而最小的模型 LLaMA-7B 和LLaMA-13B 是在 1万亿 (1T) 个 token 上训练的。


3.1 训练目标

在训练目标上,LLaMA 的训练目标是语言模型,即根据已有的上文去预测下一个词。

关于tokenizer,LLaMA 的训练语料以英文为主,使用了 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 的训练目标是语言模型,即根据已有的上文去预测下一个词。

关于tokenizer,BLOOM 在多语种语料上使用 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主流的开源大模型,对不同模型架构、训练目标、优缺点进行了分析和总结。
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
打赏
0
5
5
0
15
分享
相关文章
Omnitool:开发者桌面革命!开源神器一键整合ChatGPT+Stable Diffusion等主流AI平台,本地运行不联网
Omnitool 是一款开源的 AI 桌面环境,支持本地运行,提供统一交互界面,快速接入 OpenAI、Stable Diffusion、Hugging Face 等主流 AI 平台,具备高度扩展性。
210 94
Omnitool:开发者桌面革命!开源神器一键整合ChatGPT+Stable Diffusion等主流AI平台,本地运行不联网
SkyReels-V1:短剧AI革命来了!昆仑开源视频生成AI秒出影视级短剧,比Sora更懂表演!
SkyReels-V1是昆仑万维开源的首个面向AI短剧创作的视频生成模型,支持高质量影视级视频生成、33种细腻表情和400多种自然动作组合。
219 92
SkyReels-V1:短剧AI革命来了!昆仑开源视频生成AI秒出影视级短剧,比Sora更懂表演!
Step-Audio:开源语音交互新标杆!这个国产AI能说方言会rap,1个模型搞定ASR+TTS+角色扮演
Step-Audio 是由阶跃星辰团队推出的开源语音交互模型,支持多语言、方言和情感表达,能够实现高质量的语音识别、对话和合成。本文将详细介绍其核心功能和技术原理。
165 91
Step-Audio:开源语音交互新标杆!这个国产AI能说方言会rap,1个模型搞定ASR+TTS+角色扮演
【重磅发布】 免费领取阿里云百炼AI大模型100万Tokens教程出炉,API接口实战操作,DeepSeek-R1满血版即刻体验!
阿里云百炼是一站式大模型开发及应用构建平台,支持开发者和业务人员轻松设计、构建大模型应用。通过简单操作,用户可在5分钟内开发出大模型应用或在几小时内训练专属模型,专注于创新。
230 87
【重磅发布】 免费领取阿里云百炼AI大模型100万Tokens教程出炉,API接口实战操作,DeepSeek-R1满血版即刻体验!
MakeAnything:手残党有救了!新加坡国立大学开源AI教程生成器:上传任意作品,自动生成分步图示指南!
MakeAnything 是新加坡国立大学推出的一致性图片序列生成框架,基于扩散变换器和非对称低秩适配技术,支持从文本或图像生成高质量的分步教程。
60 15
MakeAnything:手残党有救了!新加坡国立大学开源AI教程生成器:上传任意作品,自动生成分步图示指南!
Light-A-Video:好莱坞级打光自由!上海AI Lab开源视频打光AI,无需训练秒改画面氛围,3步让阴天变夕阳
Light-A-Video 是由上海AI Lab联合交大等高校推出的无需训练的视频重照明方法,支持高质量、时间一致的光照控制,零样本生成和前景背景分离处理。
27 9
AI大模型发展对语音直播交友系统源码开发搭建的影响
近年来,AI大模型技术的迅猛发展深刻影响了语音直播交友系统的开发与应用。本文探讨了AI大模型如何提升语音交互的自然流畅性、内容审核的精准度、个性化推荐的智能性以及虚拟主播的表现力,并分析其对开发流程和用户体验的变革。同时,展望了多模态交互、情感陪伴及元宇宙社交等未来发展方向,指出在把握机遇的同时需应对数据安全、算法偏见等挑战,以实现更智能、安全、有趣的语音直播交友平台。
Ai好记全面接入DeepSeek大模型!重塑知识管理新体验
Ai好记融合DeepSeek大模型,带来知识管理新纪元。视频秒变知识胶囊,外语资料自动转母语,一键构建思维导图。六大核心能力包括结构化笔记、AI播客、全平台解析等,全面提升学习和工作效率。立即登录aihaoji.com体验!
如何在云效中使用DeepSeek等大模型实现AI智能评审
本文介绍了一种基于云效平台和DeepSeek的AI智能代码评审解决方案。通过云效代码管理Codeup、流水线Flow和DeepSeek大模型,企业可快速实现自动化代码评审。具体步骤包括:创建云效组织并获取API令牌、配置百炼APIKey、开发自定义Flow步骤调用大模型、创建示例代码库和流水线,并通过合并请求触发智能评审。最终,评审结果将自动回写到Codeup中,帮助开发者提升代码质量。
15 1
MoBA:LLM长文本救星!月之暗面开源新一代注意力机制:处理1000万token能快16倍,已在Kimi上进行验证
MoBA 是一种新型注意力机制,通过块稀疏注意力和无参数门控机制,显著提升大型语言模型在长上下文任务中的效率。
53 3

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等