LLM 格式及模块

注意: 部分内容来自AI生成,可能存在错误,如有发现,欢迎指正!

一、标准模型文件格式

大模型文件通常以以下格式存储:

  1. PyTorch 格式 (.pth, .pt)
    • 包含完整的模型架构(state_dict保存参数)或仅参数
    • 支持动态计算图
  2. TensorFlow 格式 (.pb, SavedModel)
    • 包含计算图(GraphDef)、参数和元数据
  3. HDF5 格式 (.h5, .hdf5)
    • 支持分层存储参数和元数据(Keras 常用)
  4. ONNX 格式 (.onnx)
    • 跨框架的标准化中间表示,支持模型导出和部署
  5. GGUF/GGML 格式 (.gguf, .ggml)
    • 专为CPU推理优化的量化格式(Llama.cpp等使用)

二、模型内部核心模块

以Transformer架构为例,典型模块包括:

  1. 输入嵌入层 (Embedding Layer)
    • 将输入Token映射为高维向量
  2. 位置编码模块 (Positional Encoding)
    • 添加位置信息(如绝对/相对位置编码)
  3. 编码器/解码器堆叠层
    • 自注意力子层 (Self-Attention)
      • 计算Query、Key、Value,生成上下文相关表示
    • 前馈网络子层 (Feed-Forward Network, FFN)
      • 非线性变换(如两层全连接+激活函数)
    • 残差连接与层归一化 (Residual + LayerNorm)
      • 稳定训练,缓解梯度消失
  4. 交叉注意力层 (Decoder特有)
    • 在解码器中融合编码器输出信息
  5. 输出层 (Output Projection)
    • 将隐状态映射到词表空间(Logits)

三、从输入到输出的处理流程

以文本生成任务为例(如GPT类模型):

1. 输入处理阶段

2. 编码器处理阶段(仅Encoder或Encoder-Decoder架构)

3. 解码器处理阶段(仅Decoder或Encoder-Decoder架构)

4. 输出生成阶段

四、附加模块与优化技术

  1. 缓存机制 (KV Cache)
    • 推理时缓存Key/Value矩阵,加速自回归生成
  2. 量化压缩模块
    • 参数精度压缩(如FP16→INT8)
  3. 分布式训练模块
    • 参数分片(如ZeRO优化)
  4. 适配器模块 (Adapter)
    • 微调时插入小型可训练模块(如LoRA)

五、典型架构差异

六、训练与推理差异

阶段 关键操作
训练 反向传播、梯度更新、Dropout激活
推理 禁用Dropout、使用KV缓存、内存优化

通过这一流程,模型将原始输入逐步转化为高层次的语义表示,最终生成结构化输出。 不同框架和模型的具体实现可能有所不同,但核心模块和流程遵循类似模式。