游乐游手机版
首页/AI教程/文章详情

大模型内部揭秘:拆开黑箱看本质

时间:2026-07-03 15:55
以GPT-2为例,模型参数分布揭示:hidden_size决定表征精度,参数主要集中在FFN层(约占66%),层数越多抽象层次越高。从词汇、句法到语义层层递进,每层含注意力、前馈网络和层归一化。理解这些可估算显存、优化微调策略。

今天我们来深入探讨一个非常具体、但理解大模型底层运行机制时无法绕开的关键问题:模型中的参数到底是如何分布的?以经典的GPT-2模型为切入点,我们将彻底拆解其内部结构,你会发现每一个数字背后都蕴含着切实的工程考量。

先为模型建立一份档案:以 GPT-2 为例

将模型展开来看,其基本规格如下:

属性含义
层数(num_layers)12Transformer block 的数量
隐藏维度(hidden_size)768每个 token 的向量表示长度
注意力头数(num_heads)12Attention 分拆成多个头并行计算
词表大小(vocab_size)50257模型能识别的 token 总数
上下文长度(context_length)1024一次能够处理的最大文本长度
参数量约 1.24 亿模型的总体规模

这些数值并非随意设定——每一项参数都具有明确的工程含义。让我们逐一拆解分析。


hidden_size 究竟是什么

hidden_size 代表每个 token 在模型内部的表征粒度。打个比方,它就像每个词的“指纹”长度。

当模型读到“你好”这两个字时,首先会查询词表,获得两个 token ID。随后 Embedding 层将每个 ID 映射成一个 768 维的向量——这就是 token 在模型内部的“表示”。

768 维是什么概念?可以理解为一个 768 维的坐标系。每个词在这个空间里都有一个位置,语义相近的词在空间中的位置也彼此靠近。这正是大语言模型能够进行类比推理(例如“国王-男人+女人≈女王”)的根本原因——这些关系全部编码在向量空间的几何结构之中。

为什么选择 768 而不是 1000?这又是一个典型的工程折中:hidden_size 越大,向量空间的表达能力就越强,能够编码更细腻的语义关系;但参数量会随着 hidden_size 的平方增长——如果 hidden_size 翻倍,参数量将变为原来的 4 倍,同时计算量(FLOPs)和显存占用也会大幅攀升。

因此,模型设计的本质就是在表达能力和计算成本之间寻求平衡。GPT-2 选用了 768,而 GPT-3 则用了 12288——并非 768 不够用,而是不同时期的算力约束条件完全不同。


参数都分布在哪里

在一个标准的 Transformer 层中,参数主要分布在四个关键部分:

1. Self-Attention 的 Q/K/V 投影

每个 token 都有一个输入向量 x(维度 = hidden_size = 768)。Attention 机制需要将其转换成三份:

Q = x × Wq (形状:[768, 768])
K = x × Wk (形状:[768, 768])
V = x × Wv (形状:[768, 768])

Wq、Wk、Wv 是三个独立的权重矩阵,每个矩阵拥有 768 × 768 = 589,824 个参数。此外还有一个 Wo 矩阵(形状:[768, 768]),用于将多个注意力头的输出拼接后再投影回来。这四个矩阵合计:4 × 768² = 2,359,296 个参数。

2. 前馈网络(FFN)

Attention 层之后,紧接着是一个两层全连接网络:

FFN(x) = gelu(x × W1) × W2

其中 W1 的形状为 [768, 3072],W2 的形状为 [3072, 768]。为什么中间维度是 3072 = 768 × 4?这是 Transformer 的标准配置:FFN 的中间层维度通常设为 hidden_size 的 4 倍。FFN 合计参数:(768 × 3072) + (3072 × 768) = 4,718,592 个——这是整个 Transformer 层中参数量最大的部分,约占一层的 66%。

3. 层归一化(Layer Norm)

每个 Transformer 层中会进行两次层归一化:

LayerNorm(x) = γ × (x - μ) / σ + β

其中 γ 和 β 分别是可学习的缩放向量和偏移向量,每个向量的长度均为 768。Layer Norm 合计参数:2 × 2 × 768 = 3,072 个。

4. 残差连接

残差连接本身不包含参数,但它能够使梯度直接回传到浅层,是保证训练稳定性的关键组件。


将上述所有部分加起来

一层 Transformer 的参数总量:

  • Attention(Wq/Wk/Wv/Wo): 2,359,296
  • FFN(W1/W2): 4,718,592
  • Layer Norm: 3,072
  • 总计: ~7,080,960

GPT-2 共有 12 层,因此仅 Transformer 层就有 12 × 7,080,960 ≈ 84,971,520 个参数。再加上输入 Embedding 层(约 50,257 × 768 ≈ 38,597,376)和输出层(同样约 38,597,376),总参数量约为 1.24 亿。这就是 GPT-2 被称为 “1.24B model” 的原因。


一层 Transformer 的完整旅程

了解参数分布之后,我们来看看数据流经一层 Transformer 时究竟发生了什么:

  • 第 N 层输入向量(形状:[batch, seq_len, 768])
  • ① Layer Norm → 归一化处理,稳定数值分布
  • ② 多头自注意力(Multi-Head Self-Attention)
    ├─ 将输入复制三份,分别与 Wq, Wk, Wv 相乘得到 Q, K, V
    ├─ Q × Kᵀ / √d → 计算相关度分数(d=768)
    ├─ softmax → 归一化为概率分布
    └─ 概率分布 × V → 加权求和,得到融合了上下文信息的输出
  • ③ 残差连接:output = input + attention_output
  • ④ Layer Norm → 再次归一化
  • ⑤ FFN:gelu(W2·(gelu(W1·x)))
  • ⑥ 残差连接:output = input + ffn_output
  • 第 N 层输出向量(形状:[batch, seq_len, 768])

重复 12 次(GPT-2 的情况),每经过一层,向量表示都变得更加抽象。


层数与抽象层次:层层递进的语义

研究显示,Transformer 各层所做的事情存在明显的规律:

层范围主要任务具体表现
第 1-3 层词汇级识别词形、词频、位置编码
第 4-6 层句法级主谓关系、动宾关系、依存分析
第 7-9 层语义级实体识别、语义角色、常识关系
第 10-12 层任务级推理、问答、生成逻辑

这就是为什么可以利用 Probing Classifier,在特定层的激活向量上训练分类器,从而“透视”模型在某个层级关注哪些信息。


真实模型的规模对比

模型层数hidden_size参数量所需显存(估算)
GPT-2127681.2 亿~2GB
GPT-396122881750 亿~350GB
LLaMA-232409670 亿~140GB
Claude 340+8192+数千亿数千GB

一个粗略的估算公式:模型所需显存 ≈ 参数量 × 2(FP16 存储)。因此 GPT-3(1750 亿参数)在 FP16 格式下大约需要 350GB 显存——这已经超出单张显卡的容量,需要多卡并行部署。


面向工程师的实用视角

如果你是一名开发者,理解这些知识有哪些实际用途?

首先,可以预估推理所需的显存。使用 transformers 加载模型时,先计算参数量:在 float16 精度下,每 10 亿参数大约需要 2GB 显存。其次,能够理解为什么 batch_size 通常很小——显存大部分被模型权重占据,剩余的空间才分配给激活值和 KV cache,因此大模型的自然 batch size 往往很小。最后,有助于理解微调策略。全量微调 GPT-3 需要 350GB 以上显存,于是催生了 LoRA、QLoRA 等参数高效微调方法——它们只更新一小部分参数,而非整个模型。


总结:三个核心要点

  1. hidden_size 是每个 token 的向量维度——决定了模型对单个词的表示精度,GPT-2 为 768,GPT-3 为 12288。
  2. 参数主要集中在 FFN 层——占一层的 2/3,是主要的计算和存储瓶颈。
  3. 层数代表抽象的深度——从词汇到句法再到语义,层层递进,越深层越抽象。

读完本文,你应该能够回答:Attention 中的 Wq/K/V 形状是什么([768, 768]),FFN 为什么采用 4 倍 hidden_size(工程经验值,实验效果最佳),以及残差连接的作用是什么(使梯度直接回传,防止深层训练不稳定)。

第 3 篇我们将探讨大模型的“涌现能力”——为什么当规模突破临界点后,模型会突然展现出全新的能力,以及这种现象背后的深层含义。

来源:https://cloud.tencent.com.cn/developer/article/2701934
上一篇大白话解析Transformer的Attention机制 下一篇AI融入协作场景 Hermes接入云信IM实现高效智能沟通
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
批处理BAT入门教程第一篇
AI教程 · 2026-07-03

批处理BAT入门教程第一篇

提供13个批处理实战技巧,覆盖全盘查找并删除文件夹或文件、拷贝移动文件、创建畸形文件夹及设置隐藏属性等场景,可一键完成系统维护与文件管理工作,极大提升自动化操作效率和便捷性。

从零开始批处理命令For循环详解与实战案例
AI教程 · 2026-07-03

从零开始批处理命令For循环详解与实战案例

批处理For命令支持 d、 l、 r、 f四个参数。 d仅列出当前目录下的目录名; r递归搜索指定路径及其子目录中的文件; l生成数值序列; f可解析文件、字符串或命令输出,通过delims、tokens、skip、eol等选项灵活处理内容。

批评你的人是你生命中的贵人
AI教程 · 2026-07-03

批评你的人是你生命中的贵人

批评你的人往往最值得珍惜,因为他们关注你、助你成长。面对批评应包容反思,用行动改进而非辩解。接受批评是自我完善的过程,能让人少走弯路,避免重复犯错。这样的人正是生命中的贵人,值得感恩与珍惜。

测试人员角色定位与职责详解
AI教程 · 2026-07-03

测试人员角色定位与职责详解

测试人员角色经历了从找问题、保证质量到分析风险的转变,最终核心职责是提供关键信息,协助团队创造优秀产品。这包括识别问题、评估风险及帮助团队了解项目状态,而非单纯把关或追求完美。

经营成功测试生涯的实用方法与策略
AI教程 · 2026-07-03

经营成功测试生涯的实用方法与策略

一、测试生涯的起点 1989年,我在田纳西大学攻读研究生时,意外地从软件开发人员转行成为一名软件测试工程师。这并非我主动选择,说起来还有些戏剧性——某个早晨,教授质问我为何缺席那么多开发会议,我解释说这些会议总是安排在周末早上,对我这个第一次离家、刚入学的学生来说实在不便。结果呢?等待我的不是解聘通