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

news2024/11/17 1:30:17

论文传送门:
[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
  • 框架总结
    • 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数量通常有很大的区别,这主要基于以下几个方面:

6. 资源需求:
   - 训练:训练阶段需要处理大量的数据并进行重复的前向传播和反向传播计算,这需要大量的计算资源。因此,通常会使用更多的GPU,甚至是成百上千的GPU,以加快训练速度和处理大规模数据集。
   - 推理:推理阶段通常只需要进行单次的前向传播,计算量相对较小,因此通常需要较少的GPU。在许多应用中,一个或几个GPU就足够用于推理。

7. 并行策略:
   - 数据并行:在训练时,经常使用数据并行策略,将大型数据集分割成小批量,分配到多个GPU上并行处理。
   - 模型并行:对于极大的模型,可能需要使用模型并行策略,将模型的不同部分放在不同的GPU上。
   - 推理时并行:在推理时,通常不需要模型并行,因为一次只处理一个或几个请求。

8. 效率和成本:
   - 训练大模型通常是一项耗时且昂贵的任务,使用更多的GPU可以提高训练效率,但也大大增加了成本。
   - 推理需要尽可能高效和经济,特别是在生产环境中,因此通常会尽量减少所需的GPU数量,以降低成本。

9. 可扩展性和灵活性:
   - 训练阶段的模型通常被设计为能够在大规模分布式系统上扩展。
   - 推理模型通常需要在各种环境中灵活部署,包括边缘设备,因此可能更注重模型的压缩和优化。

总的来说,训练大模型时使用的GPU数量远多于推理阶段,主要是因为训练阶段的资源和计算需求远大于推理。然而,随着量化技术和模型优化的发展,推理阶段所需的资源正在逐渐减少,允许即使是大模型也能在资源受限的环境中运行。

在这里插入图片描述

框架总结

1. 模型架构

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

2. 预训练设置

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

3. 训练稳定性

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

4. 并行策略和模型配置

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

5. 量化和推理优化

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

6. 结果分析

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

7. 相关工作

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

8. 结论和经验教训

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

9. 伦理评估

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

10. 可复现性

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

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

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

相关文章

MySQL的Linux安装

在MySQL官网下载压缩包MySQL :: Download MySQL Community Server (Archived Versions) 下载完成后将压缩包上传到Linux中。我这里是下的CentOS的压缩包。 并且用的是FinalShell连接工具,可以选择压缩包直接上传。 ​ 上传完毕后,新建mysql文件夹&…

[DASCTF 2023 0X401七月暑期挑战赛] web刷题记录

文章目录 EzFlask方法一 python原型链污染方法二 flask框架静态文件方法三 pin码计算 MyPicDisk方法一 字符串拼接执行命令方法二 phar反序列化 EzFlask 考点:python原型链污染、flask框架理解、pin码计算 源码如下 import uuidfrom flask import Flask, request, …

Linux驱动开发笔记(五):驱动连接用户层与内核层的文件操作集原理和Demo

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134561660 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

OpenVINO异步Stable Diffusion推理优化方案

文章目录 Stable Diffusion 推理优化背景技术讲解:异步优化方案思路:异步推理优化原理OpenVINO异步推理Python API同步和异步实现方式对比 oneflow分布式调度优化优势:实现思路 总结: Stable Diffusion 推理优化 背景 2022年&am…

山西电力市场日前价格预测【2023-11-29】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-29)山西电力市场全天平均日前电价为275.28元/MWh。其中,最高日前电价为415.78元/MWh,预计出现在17:45。最低日前电价为0.00元/MWh,预计出…

Make Pixels Dance: High-Dynamic Video Generation论文解析

高动态视频生成的新进展 Make Pixels Dance: High-Dynamic Video Generation高动态视频生成的新进展前言视频生成模式摘要论文十问实验数据集定量评估指标消融研究 训练和推理技巧训练技术推理技术 更多的应用 Make Pixels Dance: High-Dynamic Video Generation 高动态视频生…

MySQL在Docker容器中的性能损失分析与优化策略

文章目录 1. Docker容器对MySQL性能的潜在影响1.1. IO性能1.2. 网络性能1.3. 资源隔离 2. 优化策略2.1. 使用本地数据卷2.2. 配置合理的容器网络2.3. 限制容器资源2.4. 使用容器编排工具 3. 性能测试与监控4. 结论 🎉MySQL在Docker容器中的性能损失分析与优化策略 ☆…

sqli-labs靶场详解(less17-less22)

目录 less-17 less-18 less-19 less-20 less-21 less-22 less-17 修改密码关卡 服务器后端 账号密码都存在数据库中 使用UPDATE进行修改密码 尝试username处 尝试好久尝试不出来应该是对用户名进行了过滤 于是对password进行注入 判断注入点 passwdadmin 报错&#xff1a…

MySQL使用函数和存储过程实现:向数据表快速插入大量测试数据

实现过程 1.创建表 CREATE TABLE user_info (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(20) DEFAULT NULL,age INT(3) DEFAULT NULL,pwd VARCHAR(20) DEFAULT NULL,phone_number VARCHAR(11) DEFAULT NULL,email VARCHAR(255) DEFAULT NULL,address VARCHAR(255) DEF…

【TinyALSA全解析(二)】wav和pcm音频文件格式详解

wav和pcm音频文件格式详解 一、本文的目的二、wav和pcm格式文件介绍三、pcm格式文件解析四、wav文件内容解析4.1 文件内容描述4.2 实战分析 五、如何在各种音频格式之间进行转换 /******************************************************************************************…

技术SEO的基础知识和 10 个最佳实践

你有没有想过导致某些网站在搜索结果中排名比其他网站更好的因素?针对搜索引擎进行优化是关键(SEO)。SEO,即搜索引擎优化,是一种用于提高网站在搜索引擎中的知名度的方法。技术搜索引擎优化(SEO&#xff09…

用CHAT总结费曼学习法的关键

问CHAT:费曼学习法的关键 CHAT回复:费曼学习法是由著名物理学家理查德费曼所发明的一种学习方法,旨在以深入理解为目标,帮助自己学习新的知识和技能。 费曼学习法有四个关键步骤: 1. 学习:首先&#xff0…

服务器运行情况及线上排查问题常用命令

一、top命令 指令行: top返回: 返回分为两部分 (一)系统概览,见图知意 以下是几个需要注意的参数 1、load average: 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分…

VSCode Vue 开发环境配置

Vue是前端开发中的重要工具与框架,可以保住开发者高效构建用户界面。 Vue2官方文档:https://v2.cn.vuejs.org/ Vue3官方文档:https://cn.vuejs.org/ Vue的安装和引用 Vue2的官方安装指南:https://v2.cn.vuejs.org/v2/guide/ins…

数据分析工具比较:Excel vs Python vs R

写在开头 在数据分析的世界里,选择合适的工具至关重要。本篇博客将深入比较常用的数据分析工具,包括Excel、Python和R,以帮助读者更好地选择适合自己需求的工具。 1.Excel:经典易用的电子表格 优势: 用户友好: Excel是大多数人熟悉的电子表格工具,使用简单,无需编程…

汽车电子 -- 车载ADAS之RCTA(后方横向来车预警 )

国际标准: RCTA: GB/T XXXXX—XXXX 乘用车后部交通穿行提示系统性能要求及试验方法 一、后方横向来车预警RCTA( Rear Cross Traffic Assist) 在车辆倒车时,实时监测车辆后方横向接近的其它道路使用者,并在可能发生碰撞危险时发…

稳定视频扩散数据管理解密【stable video diffusion】

Stability AI 最近于 2023 年 11 月 21 日推出了其最新模型—稳定视频扩散(SVD)。视频生成模型的这一突破取决于数据管理的关键作用。 除了模型检查点之外,他们还发布了一份技术报告。 让我们在 Stability AI 的技术报告和一些引人注目的示例…

仿东郊到家预约按摩小程序开发;

在这个快节奏的现代社会,人们对便捷、高效的服务需求日益增大。正因如此,到家预约系统上门按摩小程序应运而生,它结合了互联网技术和传统按摩服务,不仅满足了人们对便捷按摩服务的需求,还为商家提供了全新的商业价值。…

2、XFP 与 SFP+:有什么区别?

在光纤网络领域,光模块是促进数据顺利传输的重要组件。市场继续接受10G XFP和10G SFP等10G光模块,促使人们对XFP与SFP进行更仔细的审视。他们有什么区别?XFP和SFP的定义是什么?他们的应用场景又如何呢?在下文中寻找所有…

Vue3-Eslint配置代码风格

prettier风格配置 官网:https://prettier.io Eslint:代码纠错,关注于规范 prettier:专注于代码格式化的插件,让代码更加美观 两者各有所长,配合使用优化代码 生效前提: 1)禁用…