mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
4416 字
12 分钟
GLM-130B:清华 130B 开源
2026-08-04

GLM-130B 论文解读:清华把 1300 亿参数的双语大模型,整个儿开源了#

论文:GLM-130B: An Open Bilingual Pre-trained Model 作者:Aohan Zeng, Xiao Liu, Zhengxiao Du 等 19 人(清华 KEG / 智谱) arXiv: 2210.02414,ICLR 2023 如果说上一篇 GLM 是”宪法”,那这篇就是第一次把宪法落成实打实的”大国重器”。1300 亿参数、中英双语、4000 亿 token、768 张 A100 训了 60 天——然后把权重、代码、训练日志、工具包一股脑全开源。这是 ChatGLM 的直接基座,也是那个年代少数几个你能真正下载、真正复现的千亿模型。


一、先说背景:2022 年,你想下一个千亿模型有多难#

先把时间拨回 2022 年年中。那会儿的开源社区是什么光景?

GPT-3 已经出来两年了,1750 亿参数,但权重不开源,你只能用 API。Google 的 PaLM、Switch Transformer 一个比一个大,但都是只发论文不给模型。国内的 ERNIE TITAN 3.0 号称 2600 亿参数,也是看得见摸不着

也就是说,对一个普通研究者、一个想搞中文大模型的小团队来说,局面是这样的:你知道千亿模型存在,你知道它大概怎么训的,但你拿不到它、复现不了它、更别提在它基础上做自己的东西了。整个领域被少数几家闭源玩家攥在手里。

GLM-130B 就是冲着这个局面来的。它的定位一句话:做一个完全开源、可复现、中英双语的千亿级基座模型。注意”完全”两个字——不是只放个权重,是权重、代码、训练日志、复现工具包全放。这在当时的千亿模型里,几乎找不到第二家。

这件事的战略意义,怎么强调都不过分。它等于给整个中文社区递了一把枪:你不用再从零开始证明”千亿模型能不能训出来”,人家已经训好、开源、还把踩过的坑写成日志给你看了。你要做的是直接站在它肩膀上,去做指令微调、去做 ChatGLM、去做你自己的应用。

后面的历史证明,这把枪打出去,正中靶心。

二、架构:GLM 骨架 + 一堆为稳定性堆的料#

模型架构还是继承上一篇的 GLM 填空骨架,但往 1300 亿这个规模上堆的时候,换了一堆更硬的零件。我把规格先摆出来:

  • 参数总量 1300 亿
  • 70 层 Transformer
  • 隐藏维度 1228896 个注意力头
  • 词表约 15 万,用自研的 icetk 分词器
  • 位置编码用 RoPE,激活用 GeGLU,归一化用 DeepNorm

这里面有三个点值得单独拎出来讲,因为它们都是”为了在 FP16 下把 1300 亿稳稳训完”而专门挑的。

词表:icetk,一个为中英双语省 token 的分词器#

icetk 是智谱自研的分词器,词表大概 15 万(其中约 13 万是文本 token,还预留了一部分给图像码本——名字里的”ice”就是 image 和 text 的意思,天生为多模态留了口子)。

为什么要专门搞一个?因为中文用 GPT 那套 BPE 分词特别吃亏。GPT 的词表是英文优先的,一个中文字经常被切成两三个 token,等于同样的中文文本,你要多花一倍以上的 token 才能表达完。训练和推理都按 token 算钱,这就是纯纯的浪费。

icetk 针对中英双语一起优化,中文的压缩效率高得多。同样的中文句子,用 icetk 分出来的 token 数明显更少。这意味着两件事:一是训练时同样的算力能看到更多中文内容,二是推理时生成中文更快更便宜。这个设计对”中文友好”是实打实的加成,后来 ChatGLM 的中文表现好,这儿是有底子在的。

DeepNorm:把 1300 亿稳住的关键一招#

1300 亿参数、70 层深,最大的敌人不是算不动,是训不稳。层数一深,梯度要么爆炸要么消失,训着训着 loss 就飞了。

GLM-130B 用的是 DeepNorm。简单说,它是在 Post-LN(归一化放在残差之后)的基础上,给残差连接和初始化各乘了一个跟深度相关的缩放系数。效果是:你可以把 Transformer 堆到上千层还不用那么小心翼翼地调学习率。原论文(DeepNet)宣称能稳到 1000 层,GLM-130B 这 70 层对它就是小菜一碟。

配合 DeepNorm,他们还把所有 bias 都初始化为 0,进一步降低早期训练的不稳定。这一套组合拳,是 1300 亿能在 60 天里一路训到底、不中途崩盘的重要保障。

RoPE + GeGLU:跟着当时最优解走#

位置编码用 RoPE(旋转位置编码),激活函数用 GeGLU(GLU 门控 + GeLU 激活)。这两个都是当时已经被证明在大规模下表现最好的选择,GLM-130B 没有在这俩上标新立异,就是稳稳地拿来用。这其实也是一种成熟——把创新预算花在刀刃上(双语、开源、稳定性),而不是每个零件都要自己造一遍

三、训练:4000 亿 token、768 张 A100、60 天#

数据:中英各 2000 亿,真正的双语#

这是 GLM-130B 最核心的差异化之一。训练数据总共 4000 亿 token

  • 英文 2000 亿:主要来自 Pile
  • 中文 2000 亿:来自 WuDaoCorpus(悟道)加上自采的中文语料

中英 1<1>。这个配比很重要。当时很多号称”多语言”的模型,中文占比低得可怜,本质还是英文模型带了个中文补丁。GLM-130B 是真金白银地砸了 2000 亿中文 token,这是它中文能力强的根本来源。

训练目标上,95% 的 token 走 GLM 那套自回归填空,剩下 5% 走多任务提示训练(Prompted Training)——就是把各种下游任务改写成”挖空填空”的形式混进去一起训。这 5% 相当于在预训练阶段就提前让模型见了几十个任务的题型,为后面的零样本/少样本能力打底。

填空本身也分两种:短空 [MASK](挖得短,偏理解)和长空 [gMASK](挖掉一大段甚至一整句,偏生成),两种混着用,比例大概是 30% 短空、70% 长空。这样理解和生成两头都照顾到——这是上一篇 GLM 那个”旋钮”思想在大规模上的直接落地。

算力:96 台 DGX-A100,60 天#

训练用了 96 台 DGX-A100,每台 8 张 A100 40G,加起来 768 张 A100,连续训了约 60 天。并行策略是三维混合并行:数据并行 + 4 路张量并行 + 8 路流水线并行

FP16 而不是 BF16:一个很有态度的选择#

这里有个细节特别能体现这个团队的品味。训练精度上,他们选了 FP16 混合精度,而不是当时更流行、更省心的 BF16。

为什么?因为 BF16 只有 A100 这类新卡才支持,FP16 几乎所有 GPU 都支持。选 FP16,是为了让模型将来能在更多样的硬件上复现和推理——包括国产硬件。这个选择是有代价的:FP16 的数值范围比 BF16 窄,更容易溢出,训练稳定性更难搞。

果然,训练中途他们就遇到了 loss 突刺(loss spike)。团队把这事完整复盘了,定位到根因是 embedding 层的梯度在 FP16 下溢出。解法有两手:一是跳过出问题的 batch,二是给 embedding 层的梯度乘一个 0.1 的缩放系数(梯度缩减),把它压回 FP16 能表示的范围。

最难得的是,他们把这次踩坑和解决过程,原原本本写进了开源的训练日志里。别人是报喜不报忧,他们是把摔跤的姿势也拍给你看。这种透明度,对复现者来说是真金白银。

四、性能:英文打 GPT-3,中文碾压同门#

数字摆出来:

基准GLM-130BGPT-3 175B差距
LAMBADA(零样本)80.276.2+5.0%
MMLU(5-shot)44.843.9+0.9pp
Big-Bench-lite更优领先

英文上,GLM-130B 整体优于 GPT-3 175B。考虑到它参数还更少(1300 亿 vs 1750 亿)、训练 token 量也更克制,这个结果是很硬的。

中文上更夸张,对比当时国内最强的 ERNIE TITAN 3.0(2600 亿参数):

基准GLM-130B 相对 ERNIE TITAN 3.0
CLUE+24.26%
FewCLUE+12.75%

注意,对面是 2600 亿参数,GLM-130B 只有 1300 亿,用一半的参数量,把中文理解基准拉开 24 个点。这就是 2000 亿中文 token + icetk 高效分词 + GLM 填空框架三者叠加的威力。中文这块,GLM-130B 在当时基本是独孤求败。

五、开源:这才是全篇最重的一笔#

性能再强,如果这篇论文只是又一个”看得见摸不着”的千亿模型,它的历史地位会大打折扣。真正让它成为里程碑的,是开源的深度

GLM-130B 放出来的东西包括:

  • 完整模型权重
  • 全部训练代码
  • 完整的训练日志(包括那次 loss spike 的复盘)
  • 复现工具包(从数据预处理到多机训练的全套)
  • 量化与推理加速工具

而且不是只能在 A100 上跑。它支持的平台横跨一大票硬件:NVIDIA A100海光 DCU华为昇腾 910,甚至神威超算。一份权重,多种国产硬件都能跑起来——这背后就是前面坚持用 FP16 而不是 BF16 埋的伏笔。

INT4 量化:4 张 3090 就能跑 1300 亿#

更贴心的是,他们还做了 INT4 量化。1300 亿参数,FP16 下要 260GB 显存,普通人根本碰不起。但做成仅权重 INT4、激活仍用 FP16之后,整个模型压到约 70GB——这意味着 4 张 RTX 3090(或者 8 张 RTX 2080 Ti)就能把它跑起来。

而且量化后的精度损失极小:LAMBADA 只掉了 0.74%,MMLU 甚至几乎没变(+0.05%)。也就是说,一个实验室、甚至几个博士生凑几张消费级显卡,就能跑动并研究一个千亿双语模型。这在 2022 年,是把大模型研究的门槛直接踹下来了一大截。

这个”量化下放”的动作,我认为是全篇最被低估的贡献之一。它让 GLM-130B 不只是一个 SOTA 数字,而是一个真正能被社区用起来、改起来的基础设施。ChatGLM 后来的爆发,根子就在这里。

六、承上启下:ChatGLM 的直接基座#

最后交代一下它在系列里的位置。

往上,GLM-130B 继承的是上一篇 GLM 的填空框架,把”自回归填空 + 二维位置 + Prefix-LM 掩码”放大到了 1300 亿,并用中英双语和工程稳定性证明了这套框架在大规模下依然成立。

往下,它就是 ChatGLM 的直接基座。后面 ChatGLM-6B、ChatGLM 系列,本质都是在这套 GLM 骨架上做指令微调和对话优化。可以说,没有 GLM-130B 这个开源的千亿基座把路趟出来,就没有后来 ChatGLM 在中文社区的燎原之势。

它是从”理论框架”到”开源生态”之间的那座桥。


收尾:我的一点看法#

这篇论文最了不起的地方,不是任何一个单点技术,而是**“完全开源”这个决定本身**。在 2022 年那个闭源玩家垄断千亿模型、所有人都在拿 API 说事的年代,清华团队选择把 1300 亿参数的权重、代码、日志、工具包一股脑放出来,还附带一份踩坑复盘。这不是一个技术决策,这是一个生态决策。它赌的是”把地基送出去,能换来一整片森林”,后来 ChatGLM 的爆发证明这个赌赢了。

第二个让我佩服的是那种”为别人着想”的工程品味。坚持用 FP16 而不是 BF16,就为了让更多硬件能复现;专门做 INT4 量化,就为了 4 张 3090 也能跑;自研 icetk,就为了中文少花 token。这些选择每一个都不是为了刷自己的 SOTA,而是为了降低别人的门槛。一个团队愿不愿意为社区牺牲一点自己的便利,是能看出格局的。GLM-130B 处处透着这种格局。

第三个是诚实。把 loss spike 这种训练事故完整写进日志、公开复盘根因和解法——这在当时是极其罕见的。大部分团队报喜不报忧,GLM-130B 却把摔跤的姿势也拍给你看。对想复现的人来说,这份”失败经验”比成功配方更值钱。

当然也有局限。放在今天看,1300 亿、4000 亿 token 已经算不上大了,MMLU 44.8 这个绝对分数在今天也只是入门水平。它的中文虽强,但中英 1<1> 的配比也意味着它的英文知识密度其实不如纯英文喂出来的模型。而且 GLM 那套填空+Part A/Part B 的结构,实现复杂度比纯自回归高,这也是后来社区里 GLM 路线相对小众的原因之一。

但我始终认为,评价一个模型不能只看它自己的跑分,还要看它释放了什么。GLM-130B 释放的是整个中文大模型社区的想象力——它让”训一个千亿双语模型”从一个只属于巨头的传说,变成了任何团队都能下载、能复现、能改进的现实。就凭这一点,它在中文 AI 史上的位置,无可替代。


附:核心数据速查#

模型规格

指标数值
参数量1300 亿
层数70
隐藏维度12288
注意力头96
词表~15 万(icetk,~13 万文本 token)
位置编码 / 激活 / 归一化RoPE / GeGLU / DeepNorm

训练配置

项目数值
训练数据4000 亿 token(中英各 2000 亿)
训练目标95% 自回归填空 + 5% 多任务提示
空类型~30% 短空 [MASK] + ~70% 长空 [gMASK]
算力96 台 DGX-A100(768 张 A100 40G)
时长约 60 天
并行数据 + 4 路张量 + 8 路流水线
精度FP16 混合精度(为兼容更多硬件)

性能对比

基准GLM-130B对手差距
LAMBADA(零样本)80.2GPT-3 76.2+5.0%
MMLU(5-shot)44.8GPT-3 43.9+0.9pp
CLUEERNIE TITAN 3.0+24.26%
FewCLUEERNIE TITAN 3.0+12.75%

开源与部署

项目内容
开源内容权重 + 代码 + 训练日志 + 复现工具包
支持硬件NVIDIA A100 / 海光 DCU / 昇腾 910 / 神威
INT4 量化~70GB,4×RTX 3090 可跑,精度几乎无损

关键概念清单

  • GLM-130B = 清华/智谱的 1300 亿开源双语基座模型
  • icetk = 自研中英多模态分词器(image + text,词表 ~15 万)
  • DeepNorm = Post-LN + 深度相关缩放,稳定超深 Transformer
  • RoPE = Rotary Positional Embedding(旋转位置编码)
  • GeGLU = GLU 门控 + GeLU 激活的组合
  • [MASK] / [gMASK] = 短空(偏理解)/ 长空(偏生成)标记
  • Prompted Training = 把下游任务改写成填空形式混入预训练
  • FP16 / BF16 = 两种半精度格式,FP16 兼容更广、BF16 数值更稳
  • Loss Spike = 训练中途的损失突刺,这里由 embedding 梯度溢出引起
  • 梯度缩减 = 给 embedding 梯度乘 0.1,压回 FP16 可表示范围
  • 3D 并行 = 数据 + 张量 + 流水线三维混合并行
  • INT4 量化 = 仅权重 4 比特,激活保持 FP16,显存压到 ~70GB
  • CLUE / FewCLUE = 中文理解 / 中文少样本理解基准
  • LAMBADA / MMLU = 英文长程依赖 / 多学科知识基准
  • ERNIE TITAN 3.0 = 百度 2600 亿中文模型(当时的对比对象)
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

GLM-130B:清华 130B 开源
https://mizuki-eaf.pages.dev/posts/glm/glm-130b清华-130b-开源/
作者
无名之子
发布于
2026-08-04
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录