概念界定

向量、矩阵与张量是深度学习中表示数据、参数和中间计算结果的基本对象。对大模型而言,token embedding、hidden states、attention weights、logits、梯度和优化器状态都可以看作不同形状的张量。

背景与问题

自然语言本身无法直接参与神经网络计算。模型需要先把文本转换成 token id,再把 token id 映射为向量,并在多层网络中不断更新这些向量表示。理解这些对象的层级关系,是读懂模型结构、调试 shape 错误和估算显存占用的前提。

定义与记号

常见对象包括:

对象记号示例含义大模型例子
标量x单个数值loss、learning rate
向量x ∈ R^d一维数值数组单个 token embedding
矩阵X ∈ R^{m×n}二维数值数组一个序列的 hidden states
张量X ∈ R^{B×T×D}多维数值数组一个 batch 的 hidden states

典型 NLP 张量流:

input_ids:     [B, T]
embeddings:    [B, T, D]
hidden states: [B, T, D]
logits:        [B, T, V]

其中 B 是 batch size,T 是 sequence length,D 是 hidden size,V 是 vocabulary size。

直观解释

可以把向量理解为“一个对象在多个数值维度上的表示”。一个 token embedding 不是 token 本身,而是模型用一组连续数值对这个 token 的表示。矩阵则可以看作一组向量的排列,例如一个句子中每个 token 一个向量,组合起来就是 [T, D] 的矩阵。张量是在矩阵之上继续增加 batch、head、layer 等轴。

基本性质

  • 张量的语义由每个轴共同决定,不能只看元素个数。
  • 同一个 shape 的张量可能表示完全不同的对象,例如 hidden states 和 embeddings 都可能是 [B, T, D]
  • 大模型中的参数也是张量,参数量就是这些权重张量元素数量的总和。
  • 训练和推理的显存占用不仅来自参数,也来自激活、梯度、KV cache 和优化器状态。

示例

一个 Transformer 层的输入通常是:

X: [B, T, D]

经过 Q/K/V 投影后得到:

Q: [B, H, T, Dh]
K: [B, H, T, Dh]
V: [B, H, T, Dh]

这里 H * Dh = D 通常成立。理解这个变化,是理解 Attention 机制 的前提。

常见误解

  • 误解:向量就是一个词的语义。
    • 正确理解:向量只是模型内部的数值表示,语义来自训练目标、上下文和表示空间结构。
  • 误解:张量维度越高,模型一定越强。
    • 正确理解:维度提供表示容量,但效果取决于数据、结构、优化和训练目标。
  • 误解:只要知道公式就能读懂模型。
    • 正确理解:很多模型理解和工程排错都首先依赖 shape 追踪。

相关概念