大模型相关知识学习整理
大模型相关知识学习整理
预训练-pre_train
数据处理
TODO
后训练-post_train
拿到 safetensors 之后要做的事
flowchart TD
A[LLM 训练阶段] -->|输出原始权重| B[PyTorch .bin/.pth]
A -->|安全高效存储| C[safetensors, 主流全能格式]
B -->|直接推理/继续训练| D[研究/实验环境]
C -->|推荐替代 .bin| D
A -->|量化转换| E[量化格式]
E --> F[GPTQ/AWQ]
E --> G[GGML]
E --> H[GGUF, 只能用来推理]
F -->|GPU推理优化| I[高性能GPU部署]
G -->|早期CPU推理| J[llama.cpp旧版本]
H -->|通用量化推理| K[llama.cpp / Ollama / 本地部署]
C -->|需转换为GGUF| H
微调-fine_tune
LoRA
另一篇文章有提到: LoRA微调训练和量化
量化-quantization
另一篇文章有提到: LoRA微调训练和量化
量化节省与精度对比
https://huggingface.co/mradermacher/Qwen3.5-2B-GPT-5.1-HighIQ-INSTRUCT-i1-GGUF
https://huggingface.co/Bedovyy/dasiwaWAN22I2V14B-GGUF/tree/main/HighNoise
有时候找模型会遇到不同精度的量化版本, 以 7B 模型为例, GGUF 量化
| 格式 | 典型大小 | 精度损失 | 推理速度提升 | 适用场景 |
|---|---|---|---|---|
| FP16 | ~14GB | 无损 | 基准速度 | 训练、基准推理 |
| q8_0 (8bit) | ~7.5GB | <0.5% | ~1.3× | 高精度服务器推理 |
| q6_k (6bit) | ~6.7GB | ~0.5–1% | ~1.5× | 高精度推理,接近无损 |
| q5_k_m (5bit混合) | ~4.5GB | ~1–3% | ~1.8× | 推荐的通用量化方案 |
| q4_k_m (4bit混合) | ~4.4GB | ~3–5% | ~2.0–2.2× | 主流移动端/轻量服务器部署 |
| q4_0 (原始4bit) | ~3.8GB | ~8–10% | ~2.5× | 基础推理,精度下降明显 |
| q3_k_m (3bit混合) | ~3.0GB | ~5–8% | ~3× | 移动端极限压缩 |
| q2_k (2bit) | ~2.7GB | >10% | ~3.5× | 极端压缩,精度损失大 |
量化方法和产物
| 标记 | 全称/含义 | 特点 | 适用场景 |
|---|---|---|---|
| Q | Quantized(量化) | 表示该模型是量化版本,后缀决定具体策略(如 q4_0、q4_k_m) | 所有量化模型的通用前缀 |
| K | K-quant(分组量化) | 改进的量化方法,分组存储权重,精度更好 | 主流推荐,如 q4_k_m、q5_k_m |
| M | Mixed(混合精度) | 不同部分使用不同 bit 数量,兼顾精度和体积 | 常见于 q4_k_m、q5_k_m,平衡最佳 |
| L | L-quant(低秩优化) | 针对部分权重做低秩近似,进一步压缩 | 更小体积,但精度略有下降 |
| IQ | Integer Quantization(整数量化) | 使用整数存储,推理速度更快 | 新方案,适合 CPU/GPU 高速推理 |
| 0 | 原始量化版本 | 最基础的量化实现,速度快,但精度损失较大 | 早期量化方案,适合极限压缩或测试 |
| S | Super-block 分组策略 | 在量化时使用更大的分组(block size),提升精度 | 常见于 q4_k_s,比 _0 精度更好 |
| S# | Super-block + 数字(如 S2, S3) | 表示不同的分组大小或策略,数字越大分组更细,精度更高 | 高精度量化,适合需要更好质量的推理 |
模型发布-huggingface
一般是发到 Huggingface, 部分国内模型会发到魔搭
| 仓库名称示例 | 核心存储内容 | 角色定位 | 适用场景/工具 |
|---|---|---|---|
*-LoRA | adapter_model.safetensors (几十MB) | 中间产物 (轻量级) | 二次微调、PEFT 动态加载、研究员交流 |
*-Full | model.safetensors (几个GB) | 标准产物 (工业级) | 服务器部署 (vLLM)、Transformers 库加载 |
*-GGUF | *.gguf (不同位宽) | 分发产物 (消费级) | 本地离线运行 (Ollama, llama.cpp, LM Studio) |
为了让 Hugging Face 自动识别模型之间的血缘关系(如你图中看到的 Tree 结构),你需要在每个仓库的 README.md 顶部配置 base_model 标签。
LoRA 仓库 (
*-LoRA)声明它是基于哪个原始大模型微调的。
base_model: Qwen/Qwen3.5-4B
library_name: peft
tags:
- lora
- latex完整版仓库 (
*-Full)它是合并后的模型,通常依然指向原始基座模型。
base_model: Qwen/Qwen3.5-4B
tags:
- merged
- latex量化版仓库 (
*-GGUF)关键点:它的基座应该是你微调合并后的那个仓库。
base_model: Weidows/Qwen3.5-4B-LaTeX
tags:
- gguf
- quantization
推理部署-inference
推理框架选择
速度太慢了, 大部分场景都不适合
看起来更新速度不太快, 支持不行, pass
推理加速
核心思路:在资源受限的机器上,推理加速通常是 “减小模型规模”(量化/剪枝/蒸馏)与 “高效执行”(选择合适的框架/内核) 的结合。
主流推理框架对比
| 框架 / 方法 | 适用场景 | 核心优势 | 推荐配置参数 | 备注 |
|---|---|---|---|---|
| vLLM | LLM 大语言模型服务(如 ChatGPT) | PagedAttention:通过分页管理 KV Cache,解决显存碎片化问题;支持 Speculative Decoding(推测解码)。在长上下文场景下(如 30K token)表现优越。 | --max-num-batched-token (控制批处理大小),--kv-cache-dtype (设置 KV 缓存类型)[[1]][[2]] | 在小显存机器上,优于 HuggingFace Transformers 2-4 倍吞吐量[[3]][[4]] |
| OpenVINO | Intel CPU / GPU / NPU (如 Xeon, Arc) | 深度优化:针对 Intel 硬件的异构执行、自动 batch、性能 Hint (Latency/Throughput)。 | ov::hint::performance_mode(ov::hint::PerformanceMode::THROUGHPUT) | 对于 CPU 推理(如 ResNet, BERT),往往优于 pure PyTorch/TensorRT[[5]] |
| TensorRT | NVIDIA GPU (A100, H100, RTX) | 极致加速:张量核心 + FP8/INT8 加速;支持混合精度。 | --precision (FP8/INT8) [[6]] | 对于视觉模型 (YOLO, Stable Diffusion) 常见首选[[7]][[8]] |
| ONNX Runtime | 跨平台部署 (CPU, GPU, NPU, Edge) | 通用性:支持 CUDA、DirectML、OpenVINO EP。 | ExecutionProvider 选择 (如 CUDAExecutionProvider)[[9]] | 适合 Edge 设备(如 Jetson, Graviton)[[10]] |
核心加速技术手段
| 技术 | 加速原理 | 典型收益 | 适用场景 | 参考 |
|---|---|---|---|---|
| PagedAttention | 类似 OS 虚拟内存分页,按需分配 KV Cache,减少显存碎片。 | 显存利用率近 100%,解决长上下文卡死问题[[17]] | 超长上下文 LLM (30K token 以上) | vLLM 独有技术[[18]] |
| Speculative Decoding | 预先生成多个候选 token,提前并行计算,减少解码串行瓶颈。 | 吞吐量提升 2-4x | 需要高 QPS 的聊天机器人 | vLLM 中实现[[19]] |
| 自动 Batch | 动态聚合多个推理请求,提高 GPU 利用率。 | 吞吐量提升 1.5x-3x | 低频请求的 API 服务 | OpenVINO & vLLM 支持[[20]] |
常见误区
- “多加一个 GPU 就能跑大模型”:在显存碎片严重时,即使是 2 块卡也可能卡死,PagedAttention 是关键
- “只要量化就行”:直接 INT8 量化有时会导致 LLM 输出乱码,建议先使用 W4A4 (GPTQ) 或者 INT8 + W8A8 (vLLM)
借物表
[1]: LLM
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ⭐️齐下无贰⭐️!
评论








