首页 > 其他分享 >常见大模型——chatlm系列

常见大模型——chatlm系列

时间:2024-11-21 16:14:00浏览次数:3  
标签:6B 系列 chatlm 训练 模型 mask tokens 文本

ChatGLM

背景

主流的预训练框架主要有三种:
1、AutoRegressive自回归模型(AR模型):代表GPT。本质上是一个Left-to-Right的语言模型。通常用于生成式任务,在长文本生成方面取得了巨大的成功。当扩展到十亿级别参数时,变现出了少样本学习能力。缺点是单向注意力机制,在NLU任务中,无法完全捕捉上下文的依赖关系。
2、Autoencoding自编码模型(AE模型):代表BERT。是通过某个降噪目标(比如MLM)训练的双向文本编码器。编码器会产生适用于NLU任务的上下文表示,但无法直接用于文本生成。
3、Encoder-Decoder(Seq2seq模型):代表作T5。采用双向注意力机制,常用于条件生成任务,比如文本摘要、机器翻译等。

三种预训练框架各有利弊,没有一种框架在以下三种领域表现最佳:自然语言理解(NLU)、无条件生成以及条件生成。T5曾经尝试使用MTL的方式同意上述框架,然而自编码和自回归目标天然存在差异,简单的融合自然无法继承各个框架爱的优点。

GLM预训练框架

GLM特点:

  • 自编码思想:在输入文本中,随机删除连续的tokens。
  • 自回归细思:顺序重建连续tokens。在使用自回归方式预测缺失tokens时,模型既可以访问corrupted文本,又可以访问之前已经被预测的spans。
  • span shuffing+二维位置编码技术
  • 通过改变确实spans的数量和长度,自回归空格填充目标可以为条件生成以及无条件生成任务预训练语言模型。

自回归空格填充任务

给定一个输入文本x={x1,x2,...xn},可以采样得到多个文本spans的顺序进行随机排列,得到所有可能得排列
在这里插入图片描述

多目标预训练

上述方法适用于NLU任务。我们希望训练处一个既可以解决NLU任务,又具备文本生成能力的模型。因此除了空格填充目标之外,还需要增加一个生成长文本目标的任务。具体包含以下两个目标:
1、文档级别:从文档中采样一个文本片段进行Mask,且片段长度为文档长度的50%~100%。这个目标用于长文本生成。
2、句子级别:限制被mask的片段必须是完整句子。多个片段覆盖原始tokens的15%。这个目标适用于预测完整句子的或者段落的seq2seq任务。

模型结构

GLM在原始Single Transformer的基础上进行了一些修改:
1、重组了LN和残差连接的顺序;
2、使用了单个线性层对输出tokens进行预测;
3、激活函数ReLU换成了GeLU;

GLM微调

对于下游任务NLU任务来说,通常会将预训练模型产出的序列或者tokens表达最为输入,使用线性分类器预测label。所以预训练和微调之间存在天然不一致。

BERRXLNetT5UniLM
1、无法捕捉mask tokens的相互依赖性。2、不能够准确填充多个连续的tokens。为了推断长度为l的答案概率,BERT需要执行l次连续预测。与GLM相同,使用自回归目标预训练。1、使用文本mask之前的原始位置编码,推理过程中,需要事先知晓或枚举答案长度,与BERT的问题相同。2、双流自注意力机制,使预训练时间成本增加了一倍。使用类似的空格填充目标预训练encoder-decoder Transformer。在编码和解码阶段使用独立的位置编码,使用多个哨兵token来区分mask片段。而在下游任务中,仅使用一个token,造成模型能力的浪费以及预训练-微调的不一致。通过改变双向、单向以及交叉注意力之间的注意力mask,统一不同的预训练目标。1、总是使用[mask]token替代mask片段,限制了它对mask片段及其上下文的依赖关系进行建模的能力。2、在下游任务微调时,自编码比自回归更加低效。

ChatGLM-2

主要创新

1、更长的上下文:基于FlashAttention技术,将基座模型的上下文长度(context length)由ChatGLM-6B扩展到了32K,并在对话阶段使用8K的上下文长度训练。对于更长的上下文,发不了ChatGLM2-6B-32K模型。LongBench的测评结果表明,在等量级的开源模型中,ChatGLM2-6B-32K有着较为明显的竞争优势。
2、更强大的性能:基于ChatGLM初代模型的开发经验,全面升级了ChatGLM2-6B的基座模型。ChatGLM2-6B使用了GLM的混合目标函数,经过了1.4T中英标识符的预训练与人类偏好对齐训练,测评结果显示、相比于初代模型,ChatGLM2-6B在MMLU等数据集上又有着大幅度的提升,在同尺寸开原模型中有较强的竞争力。
3、更高效的推理:基于Multi-Query Attention技术,ChatGLM2-6B具有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了42%。
4、更开放的协议:ChatGLM2-6B权重对学术研究完全开放。

标签:6B,系列,chatlm,训练,模型,mask,tokens,文本
From: https://blog.csdn.net/cancer_s/article/details/143433678

相关文章

  • 【深度学习】模型训练时减少GPU显存占用
    训练过程中,显存的主要占用来自:激活值(Activations):前向传播过程中存储的中间计算结果。梯度存储:用于反向传播。权重和偏置参数。一、梯度检查点(GradientCheckpointing)在深度学习中,反向传播需要保留前向传播过程中生成的中间激活值(activations)来计算梯度。GradientCheckp......
  • FPGA经验谈系列文章——8、复位的设计
    前言        剑法往往有着固定的招式套路,而写代码似乎也存在类似的情况。不知从何时起,众多FPGA工程师们在编写代码时开启了一种关于always语句块的流行写法,那就是:always@(posedgei_clkornegedgei_rstn)        就笔者所经历的诸多项目以及所接触到......
  • 【python系列】python数据类型之列表
    一、什么是列表在Python中,列表(List)是一种用于存储有序数据的容器。它的特性包括:有序性:列表中的元素有固定的顺序。可变性:可以修改列表中的元素。支持任意数据类型:列表中的元素可以是数字、字符串、布尔值,甚至是其他列表。通过索引访问:列表使用从0开始的索引定位元素......
  • 数据准备与模型评估
    实验一:数据准备与模型评估 一、实验目的熟悉Python的基本操作,掌握对数据集的读写实现、对模型性能的评估实现的能力;加深对训练集、测试集、N折交叉验证、模型评估标准的理解。 二、实验内容(1)利用pandas库从本地读取iris数据集;(2)从scikit-learn库中直接加载iris......
  • 大模型推理指南:使用 vLLM 实现高效推理
    本文主要分享如何使用vLLM实现大模型推理服务。1.概述大模型推理有多种方式比如最基础的HuggingFaceTransformersTGIvLLMTriton+TensorRT-LLM...其中,热度最高的应该就是vLLM,性能好的同时使用也非常简单,本文就分享一下如何使用vLLM来启动大模型推理服务。根......
  • Baichuan2 模型详解,附实验代码复现
    简介近年来,大规模语言模型(LLM)领域取得了令人瞩目的进展。语言模型的参数规模从早期的数百万(如ELMo、GPT-1),发展到如今的数十亿甚至上万亿(如GPT-3、PaLM和SwitchTransformers)。随着模型规模的增长,LLM的能力显著提升,展现出更接近人类的语言流畅性,并能执行多样化的自然语......
  • 搭建个人知识库 | 手把手教你本地部署大模型
    一、引言今天给大家分享的是手把手教你如何部署本地大模型以及搭建个人知识库读完本文,你会学习到如何使用Ollama一键部署本地大模型通过搭建本地的聊天工具,了解ChatGPT的信息是如何流转的RAG的概念以及所用到的一些核心技术如何通过AnythingLLM这款软件搭建完全本......
  • 边缘计算服务,kubeedge+kserver搭建,【AI模型推理】
    生产运行环境推荐k8s版本1.29、Istio1.21、knative1.13.1单节点k8s:最少6C6G,30g存储多节点k8s:每节点最少2c4g,20g存储注意:部署中所属文件都将分别放置于kubeedge和kserver文件夹之中1)安装istio方法1istioctlinstall-y方法2mkdir-pkservercd!$#镜像名替换脚本......
  • 电源模块的作用隔离,保护,电压变换, 稳压,降噪 BOSHIDA定压输入,输出NR系列
    电源模块的作用隔离,保护,电压变换,稳压,降噪BOSHIDA定压输入,输出NR系列电源模块的作用一、隔离:安全隔离:包括强电与弱电隔离、IGBT隔离驱动、浪涌隔离保护、雷电隔离保护(如医疗电子设备对人体接触的隔离保护)。噪声隔离:包括模拟电路与数字电路隔离、强弱信号隔离,同时能消除接......
  • Python 实现基于BP神经网络的电力负荷预测模型
    目录1. 项目背景介绍...12. 项目目标与意义...13. 项目挑战...24. 项目特点与创新...25. 项目应用领域...26. 效果预测图程序设计...37. 项目模型架构...38. 项目模型描述...49. 项目模型算法流程图...510. 项目结构设计...511. 项目部署与应......