首页 > 其他分享 >ChatGLM

ChatGLM

时间:2024-07-17 15:41:27浏览次数:14  
标签:SwiGLU GLM text 模型 ChatGLM otimes 对齐

ChatGLM: A Family of Large Language Models from GLM-130B to GLM-4 All Tools(2024.7.16)

Code:https://github.com/THUDM and https://huggingface.co/THUDM

以下是模型架构的主要改进点:

  1. 无偏置(No Bias Except QKV):为了提高训练速度,除了Query、Key、Value(QKV)的偏置外,模型中去除了所有其他偏置项。这样做在长度外推方面观察到了轻微的性能提升。

  2. RMSNorm和SwiGLU:模型采用了RMSNorm替代LayerNorm,以及SwiGLU替代ReLU。这些替代策略被观察到可以提升模型性能。

RMSNorm:
[ \text{RMSNorm}(x) = \frac{x}{\text{RMS}(x)} \otimes g ]
[ \text{RMS}(x) = \sqrt{\frac{1}{d} \sum_{i=1}^{d} x_i^2} ]

  • ( \otimes ) denotes element-wise multiplication.
  • ( g ) is a learned scaling parameter.
  • ( d ) is the dimension of the input vector ( x ).

SwiGLU:
[ \text{SwiGLU}(x) = \sigma(xW_1 + b_1) \otimes (xW_2 + b_2) ]
where:

  • ( \sigma ) is a sigmoid activation function (or another non-linear activation function for the gating part).
  • ( W_1 ) and ( W_2 ) are weight matrices.
  • ( b_1 ) and ( b_2 ) are bias vectors.
  • ( \otimes ) represents element-wise multiplication.
  1. 二维旋转位置嵌入(Rotary Positional Embeddings, RoPE):为了适应GLM中的二维位置编码,将RoPE扩展为二维形式。

  2. 组查询注意力(Group Query Attention, GQA):为了在推理过程中减少KV缓存大小,用GQA替代了多头注意力(MHA)。由于GQA使用的参数少于MHA,因此增加了前馈网络(FFN)的参数数量,将dffn设置为隐藏大小的10/3,以保持模型大小不变。

  3. 上下文长度扩展:模型的上下文长度从最初的2K(ChatGLM),扩展到32K(ChatGLM2和ChatGLM3),再到128K和1M(GLM-4)。这种扩展不仅通过位置编码扩展和对长文本的持续训练实现,还通过长上下文对齐,使GLM-4能够有效处理长文本。

  4. 对齐技术:预训练为LLMs建立了基础,而后训练进一步细化这些模型以符合人类偏好。对于GLM-4,对齐主要通过监督式微调(SFT)和从人类反馈中学习的强化学习(RLHF)实现。SFT中使用真实的人类提示和交互,而不是基于模板或模型生成的响应,这对对齐质量至关重要。RLHF则可以进一步帮助解决响应拒绝、安全性、双语标记生成混合和多轮连贯性等问题。

  5. 智能工具集成:GLM-4 All Tools模型特别对齐,以更好地理解用户意图,并自主选择最合适的工具来完成任务。例如,它可以通过Web浏览器访问在线信息,使用Python解释器解决数学问题,利用文本到图像模型生成图像,并调用用户定义的函数。

finding and Tech:

  • 数据预处理包含了去重,过滤和编码三个过程,最终有10T的数据。去重简单在全部数据中去除重复元素,过滤了具有攻击性语言、占位符文本、源代码的数据,采用了byte pair encoding(BPE)编码。
  • 在SFT训练中发现,真实人类prompt的交互会比设计template进行模型交互更有利于提升对齐质量(Alignment Quality)。
  • Pretrain Loss能够一定程度预见在下游人物的指标,并且loss的下降只有当超过一定阈值才对于模型能力有较大提升。

标签:SwiGLU,GLM,text,模型,ChatGLM,otimes,对齐
From: https://www.cnblogs.com/chenfengshijie/p/18307565

相关文章

  • 在ubantu系统中部署ChatGLM-6B
    ChatGLM-6B介绍ChatGLM-6B是一个开源的、支持中英双语的对话语言模型,基于GeneralLanguageModel(GLM)架构,具有62亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4量化级别下最低只需6GB显存)。ChatGLM-6B使用了和ChatGPT相似的技术,针对中文问答......
  • [本科项目实训] ChatGLM3 与 ChatGLM4 简述
    ChatGLM3-6B简述ChatGLM3-6B是ChatGLM系列最新一代的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B引入了如下特性:更强大的基础模型:ChatGLM3-6B的基础模型ChatGLM3-6B-Base采用了更多样的训练数据、更充分的训练步数和更合理的......
  • 构建本地智能知识问答系统:基于Langchain和ChatGLM的简单实践
    在数字化时代,智能知识问答系统成为了提升企业效率和数据安全性的关键工具。本文将介绍如何基于Langchain和ChatGLM构建一个本地化、支持中文的智能知识问答系统。该系统不仅能够实现完全本地化推理,而且对开源模型友好,可满足企业对数据隐私和私域化部署的需求。项目概览本项目利......
  • 开源复刻apple 数学笔记;纯C++实现了ChatGLM系列模型;腾讯混元文生图模型发布新版本并开
    ✨1:AIMathNotesAIMathNotes是一个交互式绘图应用,可绘制并计算数学方程。AIMathNotes受到Apple在WWDC2024上的“MathNotes”演启发,开发的一个互动式绘图应用程序,用户可以在画布上绘制数学方程。一旦方程被绘制完成,应用程序将使用多模态LLM(LargeLanguageM......
  • 一文读懂多模态大模型的LLM主干(1):ChatGLM系列
    〔探索AI的无限可能,微信关注“AIGCmagic”公众号,让AIGC科技点亮生活〕本文作者:AIGCmagic社区  刘一手前言AI多模态大模型发展至今,每年都有非常优秀的工作产出,按照当前模型设计思路,多模态大模型的架构主要包括以下几个部分:模态编码器(ModalityEncoder,ME):负责将不同......
  • AttributeError: ‘ChatGLMModel‘ object has no attribute ‘prefix_encoder‘
    AttributeError:‘ChatGLMModel‘objecthasnoattribute‘prefix_encoder‘:全面解析问题概述当您使用ChatGLM模型或相关库时遇到AttributeError:‘ChatGLMModel‘objecthasnoattribute‘prefix_encoder‘错误时,这意味着ChatGLMModel类中不存在prefix_encod......
  • chatglm4 多显卡部署
    importtorchfromtransformersimportAutoModelForCausalLM,AutoTokenizerimportosos.environ['HF_ENDPOINT']='https://hf-mirror.com'#加上这行之后又恢复以前的速度了!device="cuda"print("是否可用:",torch.cuda.is_available())......
  • ChatGLM 智能体 搭建属于自己的AI知识库
    前言最近在看一本书《在线》,将所有数据都需要在线,才有生命力,那么我们的知识库也是。我们现在就可以用先进的大预言模型搭建属于自己的在线AI知识库,他就是ChatGLM智谱清言智能体。它可以将自己的知识库与ChatGLM结合,成为某一方面的专业知识问答系统。当然,市面上有很多类似......
  • ChatGLM-6B本地部署和P-Tuning微调尝试
    to2024/04/22部署环境OS:Windows10,WSL2(Ubuntu20.04)CPU:Intel(R)Core(TM)i5-12490FGPU:GeForceRTX4070Ti部署过程部署主要参考$[2]$,其中也遇到了一定的问题,记录如下:模型下载模型需要使用GitLFS工具进行下载,由于之前在Windows环境下已经下载过模型文件......
  • vllm 通过不同的chat_template推理部署常见qwen、chatglm、llama3等开源大模型
    vllm版本4.0.0镜像vllmgithub官方镜像gpuv10032ga80080gopenaiapi方式出现的问题通过chat-template聊天模板解决1推理部署qwen系列模型测试我是谁问题:回答内容含有分词符,回答有杂论冗余内容模型文件没有默认聊天模板vllm官方也没有聊天模板找不到不过......