【LLM】GLM系列模型要点

note

文章目录

  • note
  • GLM
  • 一、数据层面
    • 1. 预训练数据
  • 二、GLM4模型层面
  • 三、GLM-4 All Tools
  • 四、GLM的其他技术
  • Reference

GLM

Paper:https://arxiv.org/abs/2406.12793
GitHub:https://github.com/THUDM
HF:https://huggingface.co/THUDM
在这里插入图片描述

经过进一步优化的GLM-4 All Tools模型能够理解用户的意图,并自主决定何时以及如何使用包括网络浏览器、Python解释器、文本到图像模型以及用户自定义函数在内的工具来高效完成复杂任务。在实际应用中,GLM-4 All Tools在访问在线信息和使用Python解释器解决数学问题等任务中的表现超过了GPT-4 All Tools。

一、数据层面

1. 预训练数据

ChatGLM系列模型的预训练语料库由多种语言的文档构成,主要为英文和中文,涵盖了网页、维基百科、书籍、代码和论文等多种来源。数据处理流程精心设计,分为三个主要阶段:去重、过滤和分词。

  • 在去重阶段,我们通过精确匹配和模糊匹配技术剔除重复或相似的文档,确保数据集的多样性。
  • 在过滤阶段,我们移除了包含攻击性内容、占位符文本和源代码等噪声文档,以提升数据质量。最后,在分词阶段,文本被转换成token序列,为后续处理打下基础。
  • 预训练数据中的token数量对模型训练速度有直接影响。为了提高效率,我们采用了字节级字节对编码(BPE)算法,分别对中文和多语种文本进行学习,并将学到的token与tiktoken中的cl100k_base tokenizer的token合并,形成了一个包含15万词汇的统一token集。在最终训练集中,我们对不同来源的数据进行了重新加权,增加了高质量和教育性来源(如书籍和维基百科)的数据比例,使得预训练语料库包含了约十万亿个tokens。

二、GLM4模型层面

No Bias Except QKV:为了提升训练速度,我们去除了所有偏差项,除了注意力层中的查询(Query)、键(Key)和值(Value)偏差。这一变化略微改善了长度外推法的性能。

RMSNorm 和 SwiGLU:我们用RMSNorm替换了LayerNorm,并用SwiGLU替换了ReLU。这两种策略能够提升模型性能。

旋转位置嵌入(RoPE):我们将RoPE扩展到二维形式,以适应GLM中的二维位置编码。

分组查询注意力(GQA):我们用GQA替换了传统的多头注意力(MHA),以减少推理过程中的KV缓存大小。由于GQA使用的参数比MHA少,我们相应增加了FFN的参数数量,以保持模型大小的一致性。

ChatGLM系列模型的上下文长度经历了多次扩展,从ChatGLM的2K增长到ChatGLM2和ChatGLM3的32K,再进一步增长到GLM-4的128K和1M。这种扩展不仅仅是通过上下文长度的增加(位置编码的扩展和对长文本的持续训练)实现的,而且还通过对长上下文的优化对齐,使得GLM-4能够有效地处理长文本。

三、GLM-4 All Tools

GLM-4 All Tools 是专门为支持智能体和相关任务而进一步优化的模型版本。它能够自主理解用户的意图,规划复杂的指令,并能够调用一个或多个工具(例如网络浏览器、Python解释器和文本到图像模型)以完成复杂的任务。

下图展示了 GLM-4 All Tools系统的整体工作流程。当用户提出复杂请求时,模型会对任务进行分析,并逐步规划解决问题的过程。如果模型确定无法独立完成任务,它将依次调用一个或多个外部工具,利用它们的中间反馈和结果来协助解决任务。

在这里插入图片描述

四、GLM的其他技术

LLM 的涌现能力:我们深入研究了 LLM 的涌现能力,探讨了预训练损失与模型在下游任务上的性能之间的关系。我们发现,在不同模型大小和训练token数量下,当预训练损失相同时,LLMs在下游任务上展现出相似的性能。此外,我们还观察到,在某些任务(如MMLU和GSM8K)上,只有当预训练损失降至特定阈值以下时,模型性能才会显著超越随机概率。基于这些发现,我们将涌现能力重新定义为模型在较低预训练损失下所展现出的特殊能力。(arXiv:2403.15796)

LongAlign:为了扩展LLMs处理长上下文的能力,我们提出了LongAlign,这是一套全面的长上下文对齐方法。它使得GLM-4能够处理长达128K token的长文本,并且在性能上与Claude 2和GPT-4 Turbo (1106)持平。(arXiv:2401.18058)

ChatGLM-Math:我们还专注于提升LLMs在数学问题解决方面的能力,推出了ChatGLM-Math。这一方法通过自我批评机制来选择数据,而不是依赖于外部模型或手动标注。(arXiv:2404.02893)

ChatGLM-RLHF:为了使LLMs更好地与人类反馈对齐,我们提出了ChatGLM-RLHF,这是将PPO和DPO应用于LLMs的一种方法。(arXiv:2404.00934)

Self-Contrast:为了避免依赖昂贵的人类偏好反馈数据,我们开发了Self-Contrast,一种无需反馈的对齐策略。它利用目标LLM自身来生成大量负样本,以此进行RLHF对齐。(arXiv:2404.00604)

AgentTuning:为了提高 LLM 的智能体能力,我们开发了 AgentTurning 框架,该框架包括 AgentInstruct 指令微调数据集,其中包含智能体与环境之间的高质量交互轨迹。(arXiv:2310.12823)

APAR:为了提高LLMs对具有分层结构响应的推理速度,我们提出了自并行自回归(APAR)生成方法。它通过指令微调来训练LLM规划其并行生成过程,并执行APAR生成。(arXiv:2401.06761)

基准测试:我们还开发了一系列开放的LLM基准测试,包括用于评估LLMs作为智能体能力的AgentBench(arXiv:2308.03688),用于评估长上下文处理性能的LongBench(arXiv:2308.14508),用于测量ChatGLM与中文内容对齐质量的AlignBench(arXiv:2311.18743),用于评估非Python编程语言中HumanEval问题的HumanEval-X(arXiv:2303.17568),以及用于测量模型解决实际编程任务能力的NaturalCodeBench (NCB)(arXiv:2405.04520)。

Reference

[1] ChatGLM 技术报告:从 GLM-130B 到 GLM-4 All Tools

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

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

相关文章

Python二级考试试题②

1. 以下关于程序设计语言的描述,错误的选项是: A Python语言是一种脚本编程语言 B 汇编语言是直接操作计算机硬件的编程语言 C 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段 D 编译和解释的区别是一次性翻译程序还是每次执行时都要翻…

将独立的 Python 网络应用程序分发给非技术用户

1. 问题背景 我们需要编写一个 Python 网络应用程序,供教师和学生在课堂上使用。该应用程序将在托管的网站上运行,但我们也希望用户能够下载一个自包含的应用程序,以便他们可以在本地安装,以获得更好的性能或他们根本无法在教室中…

【Solr 学习笔记】Solr 源码启动教程

Solr 源码启动教程 本教程记录了如何通过 IDEA 启动并调试 Solr 源码,从 Solr9 开始 Solr 项目已由 ant 方式改成了 gradle 构建方式,本教程将以 Solr 9 为例进行演示,IDE 选择使用 IntelliJ IDEA。 Solr github 地址:https://gi…

mysql:mysql XA事务的简单例子

# 测试 创建测试表,并写入数据 create table cash_account(name varchar(10),balance decimal(10,2) ) engineinnodb;insert into cash_account values(Tom, 210000);第一个会话,执行XA事务的业务内容 xa start transfer_of_account,cash;update cas…

对比A100和4090:两者的区别以及适用点

自2022年年末英伟达发布4090芯片以来,这款产品凭借着其优异的性能迅速在科技界占据了一席之地。现如今,不论是在游戏体验、内容创作能力方面还是模型精度提升方面,4090都是一个绕不过去的名字。而A100作为早些发布的产品,其优异的…

盘点5款最热门的AI绘画软件!总有一款是你的菜

在数字化艺术日益盛行的今天,AI绘画软件成为了创作者们的新宠。这些软件不仅能够帮助艺术家们快速生成独特的艺术作品,还能为普通用户带来全新的绘画体验。今天,我们就来盘点五款最热门的AI绘画软件,看看哪一款是你的菜&#xff0…

Kubernates容器化JVM调优笔记(内存篇)

Kubernates容器化JVM调优笔记(内存篇) 先说结论背景思路方案 先说结论 1、首先如果是JDK8,需要使用JDK8_191版本以上,才支持容器化环境和以下参数,否则就更新到JDK10以上,选择对应的镜像构建就行了 2、在容…

Python使用策略模式绘制图片分析多组数据

趋势分析:折线图静态比较:条形图分布分析:箱线图离散情况:散点图 import matplotlib.pylab as plt from abc import ABC, abstractmethod import seaborn as sns import pandas as pd import plotly.graph_objects as go import p…

TC397的Trap机制

Trap机制 Trap是MCU内部引发的硬件中断。 Trap是由不可屏蔽中断 (NMI)、指令异常、内存管理异常或非法访问等事件导致的。 Trap

秒杀系统设计与实现

将从11 个点来进行秒杀系统得设计与实现分析。 1、哪些地方存在瞬时高并发? 1. 预抢购业务:活动未正式开始前,先进行活动预约。在真正秒杀的时间点,很多数据都是预处理好的了,可以很大程度削减系统压力。比如&#xff…

03 Shell编程之循环语句与函数

目录 3.1 for 循环语句 3.1.1 for 语句的结构 3.1.2 for 语句应用示例 1. 根据姓名列表批量添加用户 2. 根据IP地址列表检查主机状态 3.2 使用while循环语句 3.2.1 while语句的结构 3.2.2 while语句应用示例 1. 批量添加规律编号的用户 2. 猜价格游戏 3.3 until 循环语句 3.…

aws的eks(k8s)ingress+elb部署实践

eks(k8s)版本1.29 ingress 版本1.10.0 负载均衡elb 1. 创建Ingress-Nginx服务 部署项目地址【点我跳转】推荐自定义部署 可绑定acm证书什么的自己属性 这里就是aws上面Certificate Manager产品上面创建证书 导入 创建都行 对应集群版本推荐阵列GitH…

503.下一个更大元素||

循环解题&#xff1a; class Solution { public:vector<int> nextGreaterElements(vector<int>& nums) {int n nums.size();vector<int> res;for (int i 0; i <n; i){int k i;bool flag false;for (int j 1;j <n-1;j){if((kj)%n ! k &&a…

MySQL中实现随机排序

MySQL中实现随机排序有多种方法&#xff1a; 1、使用 RAND() 函数 通过使用 RAND() 函数可以给每条记录生成一个随机数&#xff0c;然后按照这个随机数进行排序。例如&#xff1a; SELECT * FROM table_name ORDER BY RAND();这种方法简单易用&#xff0c;但不适用于大数据量…

Arc2Face - 一张图生成逼真的多风格人脸,本地一键整合包下载

Arc2Face是用于人脸的基础模型训练&#xff0c;可批量生成超高质量主题的AI人脸艺术风格照&#xff0c;完美复制人脸。只需一张照片&#xff0c;几秒钟&#xff0c;即可批量生成超高质量主题的AI人脸艺术风格照&#xff0c;完美复制人脸。 Arc2Face 是一个创新的开源项目&…

微信小程序-scroll-view实现上拉加载和下拉刷新

一.scroll-view实现上拉加载 scroll-view组件通过自身一些属性实现上拉加载的功能。 lower-threshold“100"属性表示距离底部多少px就会实现触发下拉加载的事件。 类似于在.json文件里面配置"onReachBottomDistance”: 100 bindscrolltolower"getMore"属…

测评:【ONLYOFFICE】版本更迭与AI加持下的最新ONLYOFFICE桌面编辑器8.1

你是否还在为没有一款合适的在线桌面编辑器而苦恼&#xff1f;你是否还在因为办公软件的选择过少而只能使用WPS或者office&#xff1f;随着办公需求的不断变化和发展&#xff0c;办公软件也在不断更新和改进。ONLYOFFICE 作为一款全功能办公软件&#xff0c;一直致力于为用户提…

WordPress如何删除前端评论中的网址字段?

前面跟大家分享的『WordPress插件Comment Link Remove and Other Comment Tools&#xff0c;删除评论网址字段』一文&#xff0c;通过安装插件可轻松删除前端评论中的网址字段&#xff0c;不过有些站长不喜欢安装插件&#xff0c;那么是否可以通过纯代码去掉网址字段呢&#xf…

车辆检测之图像识别

1. 导入资源包 import torch.nn as nn import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTk,ImageDraw,ImageFont import torch from torchvision import transforms, models from efficientnet_pytorch import EfficientNet im…

微信QQ视频裂变加群推广强制分享引流系统

用户在达到一定观看次数后&#xff0c;需要分享给好友或群组。只有好友点击推广链接后&#xff0c;观看次数才会增加。 通过引导用户分享至QQ和微信&#xff0c;实现快速裂变引流的效果&#xff01; 视频裂变推广程序通过强制分享链接&#xff0c;引导用户转发&#xff0c;从…