LLM_Intro

LLM 笔记:从 Token 到 Embedding

一、 术语定义与层级关系

在 LLM 的处理流程中,文本经历了一个从离散符号高维连续向量的转化过程:

  1. Raw Text: 原始文本(字符串)。
  2. Token: 文本切分后的最小单位(整数 ID)。
  3. Vector (Embedding): Token 在高维空间中的数学表示(浮点数数组)。

二、 Tokenization(分词阶段)

本质:将原始字符串转换为模型可识别的离散整数索引 (Integer IDs)。一种基于统计规律的“查字典”过程。 Size: [Batch_Size, Sequence_Length] (数据类型: int64)

训练方法:BPE (Byte Pair Encoding)

  • 目标:在有限的词表大小(Vocab Size)下,实现最高效的编码。
  • 过程:从字符级开始,统计语料库中相邻单位的出现频率,不断合并高频组合(如 t + h -> th),直到词表达到预设规模。
  • 输出:一个静态的 Vocabulary (词表)

三、 Embedding

本质:一个可学习的权重矩阵,为 Token 注入“语义”。

1. 网络结构:查找表 (Lookup Table)

在 PyTorch 中通过 nn.Embedding(Vocab_Size, Hidden_Size) 实现。

  • 输入矩阵 $W$: 大小为 $[V, N]$($V$=词表大小,$N$=维度)。
  • 操作:输入一个整数 ID,直接从矩阵 $W$ 中提取对应的第 $i$ 行向量。

2. 训练机制:反向传播 (Backpropagation)

  • 随机初始化:训练初期,向量数值是随机的。
  • 任务驱动:通过“预测下一个词”或“完形填空”任务计算 Loss。
  • 梯度更新:误差回传至 $W$,调整向量坐标,使得语义相近的词在空间中距离更近

3. 训练范式

从零开始训练 (Pre-training)

GPT、Llama 这种大模型在预训练阶段做的事。

  • 做法: Embedding 随整个模型一起随机初始化。

  • 特点: 耗费巨大算力。随着数万亿个 Token 的输入,Embedding 矩阵逐渐自动学到了语义

Word2Vec

理解如何通过双矩阵架构训练出高质量的词向量。

训练流程
  • Input: 上下文词的 One-hot 编码。
  • Architecture:
    • $W$ (Input Matrix): 提取上下文词的向量并取平均。
    • $W’$ (Output Matrix): 将隐藏层向量映射回词表大小,做分类预测。
  • Loss: Cross Entropy (交叉熵)。通过比较预测概率与真实词(Target)的差异来产生梯度。

四、 伪代码

```python import torch import torch.nn as nn

class SimpleWord2Vec(nn.Module): def init(self, vocab_size, embedding_dim): super().init() # 矩阵 W: 将 ID 映射为向量 self.w_input = nn.Embedding(vocab_size, embedding_dim)

    # 矩阵 W': 将向量映射回词表大小进行预测
    self.w_output = nn.Linear(embedding_dim, vocab_size, bias=False)

def forward(self, context_ids):
    # 1. 查表得到向量 (利用 W)
    hidden = self.w_input(context_ids).mean(dim=1) 
    # 2. 线性映射做分类 (利用 W')
    output = self.w_output(hidden)
    return output

实例化模型

model = SimpleWord2Vec(vocab_size=50000, embedding_dim=300)

训练时,优化器会同时更新 model.w_input.weight 和 model.w_output.weight




    Enjoy Reading This Article?

    Here are some more articles you might like to read next:

  • Point Tracker
  • 3DGS Ray Tracing
  • 4DGS
  • Modeling (3) — 3D Shape
  • Modeling (2) — Surface Reconstruction