知识全景图/ 软件工程与系统/ 人工智能全景图/ 参数、权重、Checkpoint 与文件格式

模型参数、权重、Checkpoint 与文件格式底层图谱

把“模型”从抽象能力还原成真实张量资产:参数、权重、激活值、checkpoint、adapter、safetensors、GGUF、ONNX、量化格式和加载链路到底是什么

阅读定位: 这一页补在 Tokenizer / 词表Transformer开源部署 之间。 它不重复讲 Attention 公式、训练算法或推理网关治理,而是解释一个模型文件里到底有哪些张量、这些张量怎样被加载到内存 / 显存、为什么格式转换和量化会改变部署边界。 如果要理解这些权重和 checkpoint 怎样从 dataset、batch、loss、backward 与 optimizer update 中形成,继续看 训练数据到模型能力形成的一生
一、一个模型从文件到推理的最小链路
模型仓库
config / tokenizer
权重文件
safetensors / bin
加载张量
CPU RAM / mmap
放入显存
GPU / NPU
前向计算
activations / KV
输出 logits
vocab scores
资产 / 阶段它是什么工程上影响什么常见误解
config层数、hidden size、head 数、词表大小、上下文长度、架构类型等元数据决定如何创建模型骨架和解释权重形状以为只有权重文件重要
tokenizer文本与 token id 的映射协议决定输入输出 id 是否和权重学到的词表一致随便换 tokenizer 仍能保持能力
weights训练得到的参数张量集合决定模型容量、文件大小、显存占用和加载时间把权重文件等同于完整可用系统
runtime把张量调度到 CPU / GPU / NPU 并执行算子的引擎决定吞吐、延迟、batch、KV Cache 和硬件兼容只要权重相同,哪个引擎都一样
activations一次请求中间产生的临时张量影响训练显存、推理峰值内存和长上下文成本只算权重显存,不算运行时中间状态

最小直觉

模型不是一个神秘对象,而是一组按架构命名的张量,加上一套 tokenizer、config、generation config 和运行时约定。权重是能力资产,runtime 是执行能力,tokenizer 是输入输出协议。

二、参数、权重、梯度、激活值不要混在一起
概念训练时推理时为什么重要
Parameter / Weight被梯度更新的可学习张量固定参与前向计算决定模型文件大小和基础显存需求
Gradientloss 对参数的导数,用来更新权重一般不存在,除非做训练 / 微调 / 反传分析训练显存远高于纯推理的重要原因
Optimizer StateAdam 的动量、方差等状态推理不需要训练 checkpoint 可能比推理权重大很多
Activation前向中间结果,需要保留用于反传前向临时结果,可尽快释放长序列、batch 和训练峰值显存都受它影响
KV Cache训练通常不作为长期缓存保存decode 时保存历史 Key / Value长上下文和高并发推理的显存核心瓶颈
Embedding Matrixtoken id 到向量的可学习表输入查表,输出常和 lm_head 共享或相关词表大小会直接影响参数量和输出候选空间
一句话: 参数是长期记忆下来的能力,激活值是一次计算中的中间状态,梯度是训练时改参数的方向,optimizer state 是训练算法为了稳定更新额外保存的记账本。
三、模型文件里常见的张量
Embedding / lm_head
  • embedding 把 token id 查表成向量
  • lm_head 把最终 hidden state 投回词表 logits
  • 有些模型会共享输入 embedding 和输出投影权重
Attention 权重
  • Q / K / V / O projection 负责信息读取和混合
  • head 数、hidden size 和 GQA / MQA 会改变张量形状
  • 这些权重决定模型如何在上下文里路由信息
MLP / FFN 权重
  • Transformer block 里很大一部分参数在 FFN / MLP
  • 常见 gate / up / down projection 共同完成非线性变换
  • MoE 会把部分 FFN 换成多个专家权重
Norm / Bias / Router
  • LayerNorm / RMSNorm 稳定每层分布
  • bias 不一定存在,取决于模型家族
  • MoE router 权重决定 token 分配到哪些专家

为什么张量名很重要

格式转换、LoRA 合并、权重裁剪、量化和跨框架加载都依赖张量名和形状能对上。张量名错、shape 错、config 错,轻则加载失败,重则模型能跑但行为异常。

四、Checkpoint、推理权重、Adapter 与 Merge
资产里面通常有什么适合用途注意点
Training Checkpoint模型权重、optimizer state、scheduler、随机数状态、训练步数继续训练、断点恢复、实验复现体积很大,不一定适合直接推理分发
Inference Weights只保留推理需要的模型权重和配置部署、发布、模型仓库分发必须带齐 tokenizer、config、generation config
Adapter / LoRA低秩增量权重,依赖 base model低成本微调、多客户适配、快速迭代离开正确 base model 就没有意义
Merged Weightsbase model + adapter 合并后的完整权重简化部署、减少运行时动态加载合并后版本、许可证和回滚要重新登记
Delta / Patch相对某个基座的权重差异节省分发体积、受限许可场景必须严格绑定基座 hash 和版本
上线提醒: 生产台账不能只写“用了某某模型”。至少要记录 base model、adapter、merge 方式、tokenizer、config、量化格式、runtime 版本、许可证和评测结果。
五、常见文件格式与它们的工程含义
格式核心定位优势风险 / 边界
safetensors安全、快速加载张量的权重格式避免 pickle 执行风险,支持元数据和分片只是张量容器,仍需 config / tokenizer
PyTorch .bin / .pt传统 PyTorch 权重或 checkpoint生态广、训练流程常见pickle 反序列化有安全风险,生产分发要谨慎
GGUFllama.cpp 生态常用的本地推理格式适合 CPU / 本地 / 量化部署,单文件友好转换后要验证 tokenizer、chat template 和量化质量
ONNX跨框架计算图交换格式利于推理优化和硬件后端适配动态 shape、特殊算子和生成循环可能复杂
TensorRT / Engine针对特定 GPU 和输入形状优化后的引擎性能强,适合固定生产形态硬件、驱动、shape 和版本绑定更强
MLC / Core ML / NPU 格式端侧和特定硬件部署格式低功耗、靠近用户、离线可用设备碎片、算子支持和更新治理更难

格式不是中立包装

不同格式会影响加载方式、内存映射、量化支持、算子融合、硬件兼容、分发体积和安全边界。格式转换不是“另存为”,而是一次需要评测和回滚的模型变更。

六、权重大小、显存与精度怎么估算
变量直觉估算容易漏掉什么继续下钻
权重显存参数量 × 每参数字节数,例如 FP16 约 2 bytes / param分片、metadata、runtime buffer、对齐开销压缩 / 量化
KV Cache随层数、hidden size、序列长度、batch、精度增长长上下文并发时可能超过权重显存压力推理计算 / KV Cache
Activations训练时大量保留,推理时通常临时释放prefill 峰值、FlashAttention、pipeline 并行策略训练 / 推理 / Scaling
Optimizer StateAdam 类优化器可能额外保存多份参数大小状态训练 checkpoint 远大于推理权重优化器 / Loss
QuantizationINT8 / INT4 降低权重存储和带宽压力scale、zero point、混合精度层、kernel 支持开源部署
经验判断: “模型文件能放进显存”不等于“服务能稳定跑”。还要给 KV Cache、batch、prefill 峰值、runtime buffer、并发和碎片留空间。
七、模型加载、分片与并行
Sharding 权重分片
大模型通常拆成多个 shard,便于下载、校验、并行加载和跨设备放置。分片索引错了,加载会失败或读到错误张量。
Tensor Parallel
把同一层的大矩阵切到多张卡上一起算,能放下更大模型,但需要高带宽通信。
Pipeline Parallel
把不同层放到不同设备,像流水线一样推进 batch。适合超大模型,但延迟和气泡管理更复杂。
CPU Offload / mmap
把部分权重或缓存留在 CPU / 磁盘映射中,降低显存门槛,但会受带宽和延迟限制。

加载链路也是性能问题

冷启动、模型切换、弹性扩容和多模型路由,都会被权重大小、存储带宽、节点缓存、分片策略和预热流程影响。模型资产治理做不好,推理网关再聪明也会卡在加载和分发上。

八、格式转换、量化和合并的发布风险
动作看似在做什么实际可能改变什么必须验证
格式转换把 safetensors 转成 GGUF / ONNX / engine算子、精度、tokenizer 元数据、chat template、动态 shape同输入回放、结构化输出、停词、长上下文
量化降低权重 bit 数分布校准、数值误差、长尾能力、工具参数稳定性业务评测、安全评测、格式评测、设备矩阵
LoRA 合并把 adapter 合入 base model模型版本、能力边界、许可证和回滚路径base hash、merge 脚本、差异评测
裁剪 / 删除层减少模型大小或加速内部表示、长上下文、复杂推理和安全拒答分桶评测、拒答边界、输出一致性
换 runtime从一个引擎切到另一个引擎采样、stop、padding、KV Cache、batch、精度路径端到端 trace、延迟、输出差异、失败率
发布原则: 只要模型文件、tokenizer、config、runtime、量化方式或 adapter 任一项变化,都应该视为一次模型版本变更,而不是普通配置调整。
九、常见误区
误区:模型就是一个权重文件
可用模型至少包含权重、config、tokenizer、generation config、许可证、评测和运行时约定。缺一项都可能出问题。
误区:训练 checkpoint 可以直接当生产模型
训练 checkpoint 可能包含 optimizer state、实验状态和不适合分发的内容。上线需要导出推理权重并跑发布评测。
误区:格式转换不改变模型
格式转换可能伴随量化、算子替换、模板丢失、精度路径变化和 stop 行为差异,必须回放验证。
误区:参数量就是运行成本
推理成本还受精度、KV Cache、上下文长度、batch、runtime、硬件带宽和并行通信影响。
误区:LoRA 文件很小,所以风险也小
LoRA 是对模型行为的增量修改。它可能改变风格、知识、安全边界和工具调用表现,仍要按模型变更治理。
误区:能加载就代表兼容
有些不兼容不会在加载时报错,而会表现为输出异常、停不下来、格式不稳或长尾任务退化。
十、回到 AI 主干
AI 全景 Tokenizer / 词表 Transformer 参数 / 权重 / Checkpoint 训练数据到能力 模型架构 / MoE 压缩 / 量化 开源部署 推理计算 / KV Cache 模型服务 / 网关

这张图在主线里的位置

如果说 Tokenizer 解释文本如何变成 token id,Transformer 解释这些 id 如何被计算,那么这一页解释“被训练出来并部署出去的模型资产”到底是什么:权重张量、checkpoint、adapter、格式、量化和加载链路。