中英双语大模型ChatGLM论文阅读笔记

论文传送门:
[1] GLM: General Language Model Pretraining with Autoregressive Blank Infilling
[2] Glm-130b: An open bilingual pre-trained model
Github链接:
THUDM/ChatGLM-6B

目录

  • 笔记
    • Abstract
    • Introduction
    • The design choices of GLM-130B
    • The training stability of GLM-130B
  • 框架总结
    • 1. 模型架构
    • 2. 预训练设置
    • 3. 训练稳定性
    • 4. 并行策略和模型配置
    • 5. 量化和推理优化
    • 6. 结果分析
    • 7. 相关工作
    • 8. 结论和经验教训
    • 9. 伦理评估
    • 10. 可复现性

笔记

Abstract

  1. GLM-130BGPT-3 175B(davinci)相比,参数量减少,但性能提升了。
  2. INT4 quantization without post training
    INT4量化是一种将模型的权重和激活从使用较高位宽(如32位或16位浮点数)的表示减少到使用4位整数(INT4)的表示的过程。量化可以显著减少模型的内存需求和计算量,因此可以在资源有限的硬件上运行更大的模型,或者加快模型的推理速度。
    不进行后续训练(post-training)的情况下进行INT4量化是一个挑战,因为通常量化会引入噪声和损失精度,影响模型的性能。后续训练(也称为量化感知训练)通常被用来微调量化后的模型,以恢复一些由于量化造成的性能损失。因此,如果没有进行这种微调就能实现几乎没有性能损失的INT4量化,就意味着模型具有非常好的量化鲁棒性。
    这样的成果表明,GLM-130B模型可以有效地进行低位宽量化,同时保持其预测性能,这在实际应用中非常重要,因为它使得模型能够在普通消费级硬件上运行,而不是仅限于高性能服务器。这样不仅可以降低使用成本,而且可以使得更广泛的用户群体和开发者能够访问和使用这种大规模的模型。

Introduction

  1. 10B-scale model相比,训练100B-scale model需要解决的挑战:pre-training efficiencystabilityconvergence
  2. 预训练使用了GPU集群,包含96个节点,每个节点配置8张 40G NVIDIA DGX-A100 GPU。训练时间为2022/5/6~2022/7/3。
  3. 架构:使用了[2]中的General Language Model (GLM) algorithm
  4. Pre-LN(预层归一化)AND 训练vs.推理的GPU资源使用情况
  • 在Transformer模型中,Pre-LN是指在每个子层(如自注意力层和前馈网络层)的输入之前进行层归一化。这种方式通常可以提高模型的训练稳定性,尤其是在训练非常深的网络时。Pre-LN有助于解决深度Transformer模型中的梯度消失问题,因为它能够使梯度直接流向较深的层。
大模型训练和推理(inference)阶段使用的GPU数量通常有很大的区别,这主要基于以下几个方面:1. 资源需求:- 训练:训练阶段需要处理大量的数据并进行重复的前向传播和反向传播计算,这需要大量的计算资源。因此,通常会使用更多的GPU,甚至是成百上千的GPU,以加快训练速度和处理大规模数据集。- 推理:推理阶段通常只需要进行单次的前向传播,计算量相对较小,因此通常需要较少的GPU。在许多应用中,一个或几个GPU就足够用于推理。2. 并行策略:- 数据并行:在训练时,经常使用数据并行策略,将大型数据集分割成小批量,分配到多个GPU上并行处理。- 模型并行:对于极大的模型,可能需要使用模型并行策略,将模型的不同部分放在不同的GPU上。- 推理时并行:在推理时,通常不需要模型并行,因为一次只处理一个或几个请求。3. 效率和成本:- 训练大模型通常是一项耗时且昂贵的任务,使用更多的GPU可以提高训练效率,但也大大增加了成本。- 推理需要尽可能高效和经济,特别是在生产环境中,因此通常会尽量减少所需的GPU数量,以降低成本。4. 可扩展性和灵活性:- 训练阶段的模型通常被设计为能够在大规模分布式系统上扩展。- 推理模型通常需要在各种环境中灵活部署,包括边缘设备,因此可能更注重模型的压缩和优化。总的来说,训练大模型时使用的GPU数量远多于推理阶段,主要是因为训练阶段的资源和计算需求远大于推理。然而,随着量化技术和模型优化的发展,推理阶段所需的资源正在逐渐减少,允许即使是大模型也能在资源受限的环境中运行。

在这里插入图片描述

  1. 为什么选择130B:单服务器支持。130亿参数的模型规模支持在单个含有A100 (8×40G) GPU的服务器上进行推理计算。

The design choices of GLM-130B

  1. Inductive bias:归纳偏置
在机器学习中,"inductive bias"指的是一个学习算法在学习过程中对某些模式假设的偏好,这些偏好影响了模型对数据的泛化能力。换句话说,就是当面对有限的数据时,算法如何推广到未见过的数据。它是算法的一种内在属性,决定了算法在学习时对解决问题的途径和方向的偏好。不同的机器学习模型有不同的归纳偏置。例如:决策树倾向于寻找数据中的分层逻辑规则。
支持向量机(SVM)通过最大化边界来寻找分类决策边界。
神经网络根据其层次结构寻找可以通过逐层变换来逼近的复杂模式。
在大型语言模型(LLM)如GLM-130B的背景下,模型架构(如Transformer架构)定义了它对语言数据中哪些特征和模式的偏好。例如,Transformer模型通过自注意力机制捕捉长距离依赖,这是它的归纳偏置之一。然而,由于大型模型的参数量极大,探索不同架构设计的计算成本是非常高的,因此通常需要在设计阶段就做出合理的选择,以确定如何构建模型才能最好地捕捉和泛化数据中的模式。这段文字表明,GLM-130B的设计者意识到了这一点,并且在模型设计中做出了一些独特的选择,以平衡归纳偏置和计算成本。
  1. GLM-130B没有采用传统的GPT架构,而是使用bidirectional GLM作为backbone。

The training stability of GLM-130B

  1. gradient norm的定义
    在这里插入图片描述
    梯度范数的具体变化情况也可能受到多种因素的影响,包括模型的复杂性、数据的多样性、优化算法的选择等。在某些情况下,梯度范数可能会因为模型陷入局部最小值或鞍点而暂时增大。此外,对于一些更复杂的模型或非凸优化问题,梯度范数的变化可能会更加复杂,不一定遵循单调下降的趋势。因此,梯度范数的监控通常被用作训练过程中健康状态的一个指标,帮助研究人员和工程师判断训练是否在进行得当。

框架总结

1. 模型架构

理解模型的基础架构以及与其他模型(如GPT-3等)的差异。

2. 预训练设置

了解模型预训练的具体过程,包括所使用的数据集、预训练目标、以及如何处理模型输入。

3. 训练稳定性

模型训练的稳定性对模型的性能至关重要。需关注文中提到的稳定性问题及解决方案。

4. 并行策略和模型配置

理解如何利用并行计算策略有效地训练这样大规模的模型。

5. 量化和推理优化

模型如何通过量化技术减少资源消耗,并优化推理过程。

6. 结果分析

模型在各种任务上的性能如何,特别是与其他大型模型相比。

7. 相关工作

熟悉本文中提到的相关工作,以便对整个领域有更好的理解。

8. 结论和经验教训

关注作者从训练过程中学到的经验教训。

9. 伦理评估

了解作者如何处理与大型语言模型相关的伦理风险。

10. 可复现性

文中如何确保实验结果的可复现性,以及如何使研究成果对社区开放。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/180987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac苹果视频剪辑:Final Cut Pro Mac

Final Cut Pro是一款由Apple公司开发的专业视频非线性编辑软件,是业界著名的视频剪辑软件之一。它最初发布于1999年,是Mac电脑上的一款独占软件。Final Cut Pro具有先进的剪辑工具、丰富的特效和颜色分级、音频处理等功能,使得用户可以轻松地…

elasticsearch 实战

文章目录 项目介绍导入项目 Elasticsearch Java API 查询文档快速入门发起查询请求解析响应完整代码 match查询精确查询布尔查询排序、分页高亮高亮请求构建高亮结果解析 项目介绍 本项目是一个由spring boot 3.0.2在gradle 8.4和java 21的环境下搭建的elasticsearch项目demo&…

JSP forEach 标签遍历map集合

之前我们说了 普通list 单纯按数量循环 bean类型list的遍历方式 那么 我们forEach标签 也能循环map语法非常简单&#xff0c;和循环list基本是一样的 我们直接上jsp代码 <% page import"java.util.Map" %> <% page import"java.util.HashMap" %…

JAVA基础进阶(十)

一、File类常用的API File类的对象可以用来表示文件或者文件夹,下面是File类常用的API。 1.1、File类判断文件类型、获取文件信息功能 代码中的体现: 1.2、File类的创建和删除方法 代码中的体现: 1.3、文件夹遍历方法 代码中的体现: 二、字符集 字符集&#xff08;Character…

C#常用运算符的优先级

前言 运算符在C#编程语言中扮演着重要的角色&#xff0c;用于执行各种计算和操作。了解运算符的优先级是编写高效和正确代码的关键。本文将深入探讨C#中38个常用运算符的优先级划分和理解&#xff0c;并提供详细的说明和示例&#xff0c;以帮助读者更好地理解运算符的使用。 目…

Stable Video Diffusion重磅发布:基于稳定扩散模型的AI生成视频

最近&#xff0c;stability.ai发布了稳定视频扩散&#xff0c;这是stability.ai第一个基于图像模型稳定扩散的生成视频基础模型。现在可以在研究预览中看到&#xff0c;这个最先进的生成人工智能视频模型代表着stability.ai在为每种类型的人创建模型的过程中迈出了重要的一步。…

FFA 2023|字节跳动 7 项议题入选

Flink Forward 是由 Apache 官方授权的 Apache Flink 社区官方技术大会&#xff0c;作为最受 Apache Flink 社区开发者期盼的年度峰会之一&#xff0c;FFA 2023 将持续集结行业最佳实践以及 Flink 最新技术动态&#xff0c;是中国 Flink 开发者和使用者不可错过的的技术盛宴。 …

中小型工厂如何进行数字化转型

随着科技的快速发展和市场竞争的日益激烈&#xff0c;中小型工厂面临着诸多挑战。为了提高生产效率、降低成本、优化资源配置&#xff0c;数字化转型已成为中小型工厂发展的必经之路。中小型工厂如何进行数字化转型呢&#xff1f; 一、明确数字化转型目标 在进行数字化转型之前…

怎么把dwg格式转换pdf?

怎么把dwg格式转换pdf&#xff1f;DWG是一种由AutoCAD开发的二维和三维计算机辅助设计&#xff08;CAD&#xff09;文件格式&#xff0c;它的名称是“绘图&#xff08;Drawing&#xff09;”的缩写。DWG文件通常包含了设计图纸、模型和元数据等信息&#xff0c;并且被广泛用于工…

Pytorch:torch.utils.data.DataLoader()

如果读者正在从事深度学习的项目&#xff0c;通常大部分时间都花在了处理数据上&#xff0c;而不是神经网络上。因为数据就像是网络的燃料&#xff1a;它越合适&#xff0c;结果就越快、越准确&#xff01;神经网络表现不佳的主要原因之一可能是由于数据不佳或理解不足。因此&a…

接口01-Java

接口-Java 一、引入(快速入门案例)二、接口介绍1、概念2、语法 三、应用场景四、接口使用注意事项五、练习题1 一、引入(快速入门案例) usb插槽就是现实中的接口。 你可以把手机、相机、u盘都插在usb插槽上&#xff0c;而不用担心那个插槽是专门插哪个的&#xff0c;原因是做u…

解决git action发布失败报错:Error: Resource not accessible by integration

现象&#xff1a; 网上说的解决方法都是什么到github个人中心setting里面的action设置里面去找。 可这玩意根本就没有&#xff01; 正确解决办法&#xff1a; 在你的仓库页面&#xff0c;注意是仓库页面的setting里面&#xff1a; Actions> General>Workflow permisss…

苹果手机如何格式化?五个步骤快速掌握!

如果手机出现异常情况&#xff0c;例如运行缓慢、频繁崩溃&#xff0c;又或者想将手机出售、转让给他人&#xff0c;那么将手机格式化可以有助于解决问题。苹果手机如何格式化&#xff1f;本文将为您介绍解决方法&#xff0c;只需要五个步骤就能搞定&#xff0c;帮助您快速掌握…

天软高频时序数据仓库

1天软高频时序数仓方案架构 天软高频时序数据仓库是深圳天软科技开发有限公司专为金融用户提供的专业高频行情数据处理方案&#xff0c;集数据接入、检查、处理、存储、查询、订阅、计算于一体。 方案支持各类系统的实时行情、非实时行情接入&#xff1b;还支持压缩存储、分布式…

使用 DMA 在 FPGA 中的 HDL 和嵌入式 C 之间传输数据

使用 DMA 在 FPGA 中的 HDL 和嵌入式 C 之间传输数据 该项目介绍了如何在 PL 中的 HDL 与 FPGA 中的处理器上运行的嵌入式 C 之间传输数据的基本结构。 介绍 鉴于机器学习和人工智能等应用的 FPGA 设计中硬件加速的兴起&#xff0c;现在是剥开几层“云雾”并讨论 HDL 之间来回传…

Peter算法小课堂—高精度减法

给大家看个小视频高精度减法_哔哩哔哩_bilibili 基本思想 计算机模拟人类做竖式计算&#xff0c;从而得到正确答案 大家还记得小学时学的“减法竖式”吗&#xff1f;是不是这样 x-y问题 函数总览&#xff1a; 1.converts() 字符串转为高精度大数 2.le() 判断大小 3.sub() …

【技术干货】宇视IPC音频问题解决步骤

近期技术人员从宇视官网下载sdk进行二次开发时&#xff0c;在启动实时直播&#xff0c;并通过回调函数拿到流数据&#xff0c;发现没有音频流数据。 通过下面的数据发现&#xff0c;codeType此字段一直是28&#xff0c;代表的是H.264数据&#xff0c;但未没发现有音频的数据包…

什么是Geo Trust OV证书

一、GeoTrust OV证书的介绍 GeoTrust OV证书是由GeoTrust公司提供的SSL证书&#xff0c;它是一种支持OpenSSL的数字证书&#xff0c;具有更高的安全性和可信度。GeoTrust是全球领先的网络安全解决方案提供商&#xff0c;为各类用户提供SSL证书和信任管理服务。GeoTrust OV证书…

如何使用ArcGIS实现生态廊道模拟

生态廊道是指一种连接不同生态系统的走廊或通道&#xff0c;其建立有助于解决人类活动对野生动植物栖息地破碎化和隔离化的问题&#xff0c;提高生物多样性&#xff0c;减轻生态系统的压力。在城市化和农业开发不断扩张的背景下&#xff0c;生态廊道对于野生动植物的生存和繁衍…

Hive安装与配置

你需要掌握&#xff1a; 1.Hive的基本安装&#xff1b; 2.Mysql的安装与设置&#xff1b; 3.Hive 的配置。 注意&#xff1a;Hive的安装与配置建立在Hadoop已安装配置好的情况下。 hadopp安装与配置 Hive 的基本安装 从 官网 下载Hive二进制包&#xff0c;下载好放在/op…