核心问题:我们所说的“模型”究竟是什么?
主要概念:Model、Architecture、Parameters、Weights。
完整的模型生命周期示意:
界定
模型 在不同语境中含义并不完全相同。本文主要讨论大语言模型及多模态生成模型,并以 Hugging Face 上发布的模型仓库为工程实例。
| 语境 | “模型”通常指什么 | 例子 |
|---|---|---|
| 机器学习语境 | 由数据训练得到、能够根据输入计算输出的数学系统 | 分类模型、语言模型、扩散模型 |
| 架构语境 | 一种计算结构或设计方案 | Transformer、Decoder-only、Diffusion Transformer |
| 权重语境 | 某次训练得到的一组具体参数值 | Qwen3.8-27B 的权重 |
| 工程语境 | 可下载、加载和运行的一整套模型资源 | Hugging Face 模型仓库 |
有时把“Transformer”叫模型,有时把一个 .safetensors 文件叫模型,也会把整个 Hugging Face 仓库叫模型。它们并不完全是同一层面的东西。
本文所说的“一个可以运行的模型”,主要采用工程语境:以训练后的权重为核心,加上架构实现、配置、Tokenizer 或 Processor 等配套资源。
概念
从概念上,或者脑海中的印象来讲:
- 模型是一套能够根据输入计算输出的数学系统。它的架构规定了如何计算,参数的具体数值则通过训练获得。
- 架构像一套预先设计好的计算框架,权重是训练过程中填入其中的大量数值;两者结合,才形成一个具备具体能力的模型。
抽象来说,模型是一个通过训练获得参数,并能够根据输入计算输出的数学系统。
从工程实现的角度来讲:
架构实现
+ 训练后的权重
+ 模型配置
+ Tokenizer / Processor
+ 推理框架
≈ 一个可以被加载和运行的模型- 其中“模型核心”:
模型核心 = Architecture + Trained Parameters- 可运行模型包:
可运行模型包 ≈
模型核心
+ Config
+ Tokenizer / Processor
+ Generation Config
+ Chat Template-
推理框架负责把模型包真正运行起来,例如:
- Transformers
- vLLM
- llama.cpp
- ComfyUI
- Diffusers
架构示意
Model(模型)
│
├── Architecture(架构)
│ └── 规定模型由哪些计算模块组成,以及数据如何流动
│
├── Parameters / Weights(参数 / 权重)
│ └── 通过训练学习到的大量数值
│
├── Input Representation(输入表示)
│ ├── Tokenizer(文本)
│ └── Processor(图像 / 音频 / 视频)
│
└── Configuration(配置)
├── Model Config(模型结构配置)
└── Generation Config(生成配置)模型的不同状态:
| 分类维度 | 常见状态 |
|---|---|
| 按训练阶段 | Pretrained、Instruction-tuned、Fine-tuned |
| 按数值与部署形态 | BF16、FP16、FP8、INT8、INT4、Quantized |
| 按完整程度 | Base、Pruned、Distilled |
| 按用途或能力 | Text、Vision-Language、Embedding、Reranker |
工程中的“模型”并不总是单独一个文件,而经常表现为一个由权重、配置、分词器、预处理规则和说明文档共同组成的模型仓库。
示例
以 Qwen3.8 模型为例,其结构,包含了权重文件、结构配置、Tokenizer、输入预处理规则以及生成配置等。
其中:
- 架构配置和权重决定模型本身;
- Tokenizer 与预处理配置负责把输入转换成模型可以接收的形式;
- Chat Template 和 Generation Config 负责规范交互及生成行为;
- Model Card 与 License 则负责说明模型的能力、用法和使用边界。
Model Family · Variant · 系列与规格 — 千问 3.8 系列中的 27B 参数版本,此仓库为完整权重而非量化版
License · 许可证 — 使用和分发规则
Model Card · 模型说明书 — 介绍能力、用法、限制和示例
Chat Template · 对话模板 — 把 system / user / assistant 消息拼成模型熟悉的输入格式
Model Config · 模型配置 — 描述类型、层数、维度等结构,供程序据此创建模型
Generation Config · 生成配置 — 温度、采样等默认生成参数
BPE Merges · BPE 合并表 — 片段如何逐步合并成 Token
Weight Shard · 权重分片 — 完整权重的一部分;18 个分片合在一起才是整份参数
Weight Shards · 其余分片 — 不是 18 个独立模型
Weight Index · 权重索引 — 记录每个参数保存在哪一个分片中
Image Preprocessor · 图像预处理 — 图片缩放、归一化等规则
Tokenizer · 分词器 — 把文本转成 Token,也能把 Token 转回文本
Tokenizer Config · 分词配置 — Tokenizer 类型与特殊 Token
Video Preprocessor · 视频预处理 — 视频帧采样、缩放规则
Vocabulary · 词表 — Token 与数字 ID 的对应表
点击打开仓库 · Hugging Face / ModelScope
总结
模型是一套由架构和参数构成的计算系统;它通过训练获得权重,把输入转换为输出;训练结果被保存为模型仓库中的一组文件,最终由推理框架加载到内存和显存中运行。
架构规定模型“怎么算”,权重保存模型“学到了什么”。在工程中,它们还需要与配置、Tokenizer 或多模态 Processor 等资源配合,才能被正确加载和使用。