ChatGLM
- 开源代码
- 2025-09-02 04:00:02

ChatGLM 实现思想模型结构配置迭代版本
ChatGLM-6B : 清华大学的一个开源、支持中英双语的对话语言模型,基于 General Language Model(GLM)架构,具有 62 亿参数
特点 :
优点 : INT4下,只要 6GB 显存 ; ChatGLM2-6B 序列长度达 32K ; 人类类意图对齐训练缺点 : 模型容量小, 模型记忆和语言能力较弱 ; 多轮对话能力较弱衍生应用 :
LangChain : ChatGLM 应用 , 实现基于可扩展知识库的问答闻达 : 基于 ChatGLM-6B 实现类 ChatPDF 功能 实现思想GLM : 基于自回归空白填充目标的通用预训练框架
原理 : 输入文本中随机挖去一些连续的文本片段,然后训练模型按照任意顺序重建这些片段具体实现思想:
原始文本 x=[x_1,x_2,...,x_6] 随机进行连续 mask,如 : mask掉[x_3]和[x_5,x_6]将[x_3]和[x_5,x_6]替换为[MASK],并打乱 PartB 顺序。为了捕捉跨度之间的内在联系,才随机交换跨度的顺序GLM 自回归地生成 PartB。每个片段在输入时 , 前面加上[S],在输出时 , 后面加上[E]。表示不同片段之间的位置关系自注意力掩码 (灰色区域被掩盖) : PartA 词语能自我看到 (图蓝色框) ,但不能看到 PartB。PartB 词语能看到 PartA 和 PartB 中的前面的词语 (图黄色 , 绿色框对应两个片段) 模型结构ChatGLM : 采用 Transformer 的改进 Decoder 模块,又名 Prefix-Decoder
改动点 :
embedding : embedding 层的梯度缩小10倍,减小了梯度的范数 , 提升训练稳定性layer normalization : 基于 DeepNorm 的 post layer norm激活函数 : 用 GeGLU 替换 ReLU 激活函数位置编码 : 用 旋转位置编码 ROPE 替换 绝对位置编码 配置ChatGLM-6B 参数 :
配置数值参数6.2B隐藏层维度4096层数28注意力头数32训练数据1T词表大小130528最大长度2048硬件要求 :
量化等级最低GPU显存 (推理)最低GPU显存 (高效参数微调)FP16(无量化)13GB14GBINT810GB9GBINT46GB7GB 迭代版本ChatGLM2-6B : 比第一代 , 改进 :
更强大的性能 : 在各项对话任务中性能提升了整整571%更长的上下文 : 支持 32K 的上下文长度,而 ChatGLM-6B 只能支持2K更高效的推理 : 采用 FlashAttention 技术,在更低的显存资源下以更快的速度进行推理ChatGLM3-6B : 比前两代 , 改进 :
多模态理解能力 : 在 10 余个国际标准图文评测集上取得 SOTA代码增强模块 : 根据用户需求生成代码并执行,自动完成数据分析、文件处理等复杂任务网络搜索增强 : 能自动根据问题在互联网上查找相关资料并在回答时提供参考相关文献或者文章链接