个人随笔
目录
初学Agent:对大模型参数的一些理解
2026-01-14 22:34:34

一、 核心基础概念

1. 模型参数(B的含义)

  • B:Billion的缩写,中文“十亿”,是衡量大模型参数规模的核心单位(如7B即70亿参数)

  • 参数本质:神经网络中可训练的权重和偏置值,是模型“记忆知识”的载体,分布在Transformer的各层结构中

  • 参数与硬件的关系:参数规模决定显存占用,12GB显存(如RTX 3060)在INT4量化下可流畅运行13B模型,核心规律:

  1. - FP32(单精度):≈4GB/10亿参数
  2. - FP16(半精度):≈2GB/10亿参数
  3. - INT88位量化):≈1GB/10亿参数
  4. - INT44位量化):≈0.5GB/10亿参数

大模型的参数总量,本质上就是模型中所有可训练参数矩阵的元素个数之和。

核心解释
大模型(尤其是 Transformer 架构)的参数主要分布在以下几个关键模块的矩阵中:
嵌入层(Embedding Layer)
词嵌入矩阵的维度为 vocab_size × hidden_size,参数个数就是 vocab_size × hidden_size。
(若包含位置嵌入,也需计入其参数数量)

注意力层(Attention Layer)
多头注意力中,每个头会涉及 Q/K/V 三个线性变换矩阵,维度均为 hidden_size × head_dim。
假设头数为 num_heads,则单头的参数总量为 3 × hidden_size × head_dim,多头合计为 num_heads × 3 × hidden_size × head_dim。
另外,注意力输出的投影矩阵维度为 num_heads × head_dim × hidden_size,参数个数也需计入。

前馈网络(FFN)
前馈网络包含两层线性变换,矩阵维度通常为 hidden_size × 4×hidden_size 和 4×hidden_size × hidden_size,参数总量为 hidden_size×4×hidden_size + 4×hidden_size×hidden_size = 8×hidden_size²。

归一化层(LayerNorm)
LayerNorm 包含 gamma(缩放)和 beta(偏移)两个可训练参数,每个参数的维度与 hidden_size 一致,单一层归一化的参数个数为 2×hidden_size。
输出层(Output Layer)
若为生成式模型,输出层矩阵维度为 hidden_size × vocab_size,参数个数为 hidden_size × vocab_size。
将所有模块的参数矩阵元素个数相加,就是大模型的总参数量。

举例验证
以 GPT-3 的 175B 参数为例,其核心是通过堆叠 Transformer 层、放大 hidden_size 和 num_heads 等维度,最终让所有参数矩阵的元素个数之和达到 1750 亿。

补充说明
偏置项(Bias):部分线性层会附带偏置向量,其元素个数也需计入总参数(例如线性层 y=Wx+b 中,b 的维度与 y 一致,个数为 output_dim)。
非训练参数:像位置编码若采用正弦编码(固定值,不可训练),则不计入总参数量;只有可训练的位置编码才会被统计。

2. 参数与Transformer Encoder层数(N)的区别

概念 本质 作用
模型参数 可训练的权重/偏置值总数量 决定模型“记忆容量”
Encoder层数(N) Transformer中堆叠的Encoder/Decoder模块个数 决定模型“特征提取深度”,层数越多越能捕捉复杂语言规律

关键关系:层数是参数的影响因素之一(总参数≈N×单层参数+词嵌入/输出层参数),但参数≠层数,还与词嵌入维度(d_model)、注意力头数(h)强相关

二、 Transformer架构核心组件与参数

1. 词嵌入层(Embedding Layer)

  • 作用:将输入的token(文字符号)转换为模型可处理的词嵌入向量(数学表示)

  • 词嵌入向量的变化规律:

  1. - 训练阶段:词嵌入矩阵是可训练参数,向量各元素随反向传播持续微调
  2. - 推理阶段:参数固定,向量各元素不再变化
  3. - 特殊情况:叠加位置编码(位置不同则最终输入向量不同)或经过Attention层(融合上下文后中间层向量不同)时,向量会“看起来变化”

2. Self-Attention层核心:W_Q/W_K/W_V三个参数矩阵

(1)核心作用

将词嵌入向量映射为三种不同角色的向量,实现“关注其他token信息并加权融合”:

  • Query(Q):当前token“想要找什么”

  • Key(K):其他token“能提供什么”

  • Value(V):其他token“实际要传递的信息”

(2)为什么需要三个独立矩阵?

  • 避免角色混淆:若只用一个矩阵(W_Q=W_K=W_V),会导致注意力得分同质化,模型只能学习固定关联规则,无法区分不同场景的语义关联(如“猫-老鼠”和“狗-骨头”的差异)

  • 灵活学习关联规则:三个矩阵独立训练,梯度更新独立,可精准优化“关注规则”(Q与K匹配)和“信息融合规则”(V的加权传递)

(3)参数计算逻辑(简化)

  • 单头Attention:参数=3×d_model×d_k(d_model为词嵌入维度,d_k为Q/K/V维度)

  • 多头Attention(h个头):参数=h×3×d_model×d_k(通常满足d_model=h×d_k)

3. FFN层(Feed-Forward Network)

  • 结构:Linear1(d_model→4×d_model)+ ReLU + Linear2(4×d_model→d_model)

  • 参数计算:≈8×d_model²(参数主要集中在两层线性变换)

4. 整个模型的参数构成

总参数 = N(Encoder/Decoder层数)× 单层参数(Attention+FFN) + 词嵌入层参数 + 输出层参数

三、 关键流程总结

1. 训练阶段核心逻辑

  1. 输入token经词嵌入层转换为初始向量(向量元素随训练变化)

  2. 通过W_Q/W_K/W_V映射为Q/K/V,计算注意力得分并加权融合V,得到Attention输出

  3. Attention输出经FFN层做非线性特征变换

  4. 多层堆叠处理后,输出层映射到词表维度,计算损失值

  5. 反向传播传递损失,微调所有可训练参数(词嵌入矩阵、W_Q/W_K/W_V、FFN层参数等)

2. 推理阶段核心逻辑

  1. 所有参数(词嵌入矩阵、W_Q/W_K/W_V等)固定,不再更新

  2. 输入token转换为固定词嵌入向量,叠加位置编码

  3. 通过固定参数矩阵做正向计算(Attention+FFN),最终输出预测结果

四、 核心结论速记

  • 参数是模型的“记忆载体”,层数是模型的“结构深度”,二者呈乘法关系但不等同

  • 训练时:W_Q/W_K/W_V和词嵌入向量均变化;推理时:均固定

  • 三个独立矩阵是Self-Attention的核心设计,保障模型灵活捕捉复杂语义关联

  • 显存制约模型参数规模,量化技术(如INT4)可大幅降低显存占用,让小显存显卡(如3060 12GB)运行更大B的模型

    (注:文档部分内容可能由 AI 生成)

 9

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2