llama模型参数含义
llama模型参数含义
内容
以下是这些模型参数的详细解释,它们描述了一个基于 Transformer 架构的大型语言模型(如 LLaMA、GPT 等)的核心结构。这些参数共同决定了模型的规模、计算能力和资源消耗。
1. 核心维度参数
| 参数名 | 值 | 含义 |
|---|---|---|
dim |
4096 | 模型的隐藏层维度(d_model),即每个词向量经过嵌入后的维度。 |
layer_num |
32 | Transformer 层的总数(即模型深度),决定了堆叠的注意力层和前馈层数量。 |
seq_len_ |
2048 | 模型支持的最大上下文窗口长度(Token 数量),超过此长度的文本需截断处理。 |
vocab_size_ |
32000 | 词表大小,即模型能识别的不同 Token 数量(如常见于 LLaMA 的 32k 词表)。 |
2. 注意力机制参数
| 参数名 | 值 | 含义 |
|---|---|---|
head_num_ |
32 | 多头注意力(MHA) 的头数,决定了并行计算的注意力路径数量。 |
kv_head_num |
32 | Key/Value 的头数。若与 head_num_ 相等,说明是标准 MHA;若更小,则为分组查询注意力(GQA)。 |
head_size |
128 | 每个注意力头的维度(d_head),满足 dim = head_num_ * head_size(32*128=4096)。 |
kv_dim |
4096 | Key/Value 向量的总维度,通常等于 dim,若使用 GQA 可能小于 dim。 |
kv_mul_ |
1 | Key/Value 维度的扩展因子(某些模型会设置 kv_dim = dim * kv_mul)。 |
3. 前馈网络(FFN)参数
| 参数名 | 值 | 含义 |
|---|---|---|
hidden_dim_ |
11008 | FFN 中间层的维度,通常为 dim 的倍数(如 dim * 2.68,这里 4096*2.68≈11008)。 |
is_shared_weight |
0 | 是否共享输入/输出嵌入权重(1 表示共享,0 表示不共享)。共享可减少参数量但可能影响性能。 |
4. 参数关系与模型规模
(1) 总参数量估算
-
注意力层参数:
每层的参数量 =4 * dim^2(Q/K/V/O 四个权重矩阵)。
总参数量 =layer_num * 4 * dim^2= 32 * 4 * 4096² ≈ 21.5 亿。 -
前馈网络参数:
每层的参数量 =2 * dim * hidden_dim_(升维 + 降维)。
总参数量 =layer_num * 2 * dim * hidden_dim_= 32 * 2 * 4096 * 11008 ≈ 28.9 亿。 -
总计:约 50 亿 参数(未计入嵌入层和 LayerNorm)。
(2) 内存占用
- 以 FP16 精度为例,总内存 ≈ 参数量 * 2 字节 ≈ 50亿 * 2B = 10GB(实际需更多内存用于计算中间激活值)。
5. 典型模型对照
- LLaMA-7B:
dim=4096,layer_num=32,head_num=32,hidden_dim=11008,与本参数完全一致,推测这是一个 7B 规模的类 LLaMA 模型。
6. 关键影响
-
计算资源:
dim和layer_num主导计算量,训练需多卡并行。seq_len_影响显存占用(显存需求随序列长度平方增长)。
-
模型能力:
head_num_和head_size决定注意力多样性。hidden_dim_影响 FFN 的表达能力。
通过调整这些参数,可灵活平衡模型性能和资源消耗。例如,减少 layer_num 可缩小模型规模,但可能损失长程依赖建模能力。

浙公网安备 33010602011771号