跳转至

大模型

模型路径: /public/home/software/opt/models

查看下载好的模型

$ tree -L 2 /public/home/software/opt/models
/public/home/software/opt/models
├── BAAI
   └── bge-m3
├── deepseek-ai
   ├── DeepSeek-R1
   ├── DeepSeek-R1-Distill-Llama-70B
   ├── DeepSeek-R1-Distill-Qwen-32B
   ├── DeepSeek-V2-Lite-Chat
   └── DeepSeek-V3
├── KVCache-ai
   ├── DeepSeek-R1-GGML-FP8-Hybrid
   └── DeepSeek-V3-GGML-FP8-Hybrid
├── mradermacher
   └── DeepSeek-V2-Lite-Chat-GGUF
├── Qwen
   └── QwQ-32B
└── unsloth
    ├── DeepSeek-R1-Distill-Llama-70B-GGUF
    ├── DeepSeek-R1-GGUF
    └── DeepSeek-V3-GGUF

19 directories, 0 files

模型量化

介绍

*** 模型量化(Model Quantization)*** 是一种优化技术,用于减少深度学习模型的存储空间和计算复杂度,同时尽量保持模型的性能。它通过将模型的权重和激活函数从高精度(如32位浮点数,FP32)转换为低精度(如8位整数,INT8)来实现这一目标。

典型量化模型有 DeepSeek-R1 系列 DeepSeek-R1-Q4_K_M DeepSeek-R1-Q2_K DeepSeek-R1-Q3_K_M DeepSeek-R1-Q5_K_M DeepSeek-R1-Q8_0 DeepSeek-R1-UD-IQ1_M 等。

GGUF: gguf是一种在ggml框架在推理/训练时使用权重的文件格式。同时其也是模型参数量化的一种格式。所以对于模型的4/8 bit等量化来说,gguf有其规定的量化方式。

量化方法

  • 线性量化:将浮点数映射到整数区间,通过缩放因子和偏移量进行转换。
  • 非线性量化:使用非线性映射(如对数映射)进行量化。
  • 动态量化:在推理过程中动态调整量化参数,以适应不同的输入数据。
  • 静态量化:在模型训练完成后,对模型进行一次性量化。

量化精度

  1. F16(原始浮点 16 位)

    这是最基础的格式,使用 16 位浮点数存储每个权重。它提供最高的精度,但也需要最大的存储空间和内存。想象成这是一张无损的高清照片,保留了所有细节,但文件较大。

  2. Q4(4 位量化)系列:

    • Q4_0:最基础的 4 位量化方法。每个权重使用 4 位存储,外加一个缩放因子。这种方法内存占用最小,但可能在某些情况下影响模型性能。

    • Q4_1:在 Q4_0 的基础上增加了一个额外的偏置项,可以更好地处理权重分布的偏移。

    • Q4_K_M:使用 K-means 聚类的现代化 4 位量化方法。这种方法在保持模型性能和减小尺寸之间取得了很好的平衡,是目前最受欢迎的选择之一。

    • Q4_K_S:K-means 聚类的简化版本,牺牲一些性能来换取更快的量化速度。

  3. Q5(5 位量化)系列:

    • Q5_0:基础的 5 位量化,比 Q4 系列提供更好的精度,但文件更大一些。

    • Q5_1:带偏置项的 5 位量化,适合需要较高精度但仍然要控制大小的场景。

    • Q5_K_M:使用 K-means 聚类的 5 位量化,是 Q4_K_M 的更精确版本。

  4. Q2_K 和 Q3_K 系列:

    这些是更激进的压缩方法,分别使用 2 位和 3 位来存储权重。它们可以将模型大小压缩到极致,但可能会显著影响模型性能。这些方法适合在资源极其受限的环境中使用

优点:减少存储空间,量化后的模型体积显著减小,便于部署在资源受限的设备上。 例如,将FP32模型量化为INT8,模型体积可以减少约4倍;提升推理速度,低精度计算可以显著提升推理速度,减少延迟。例如,使用INT8量化后,推理速度可以提升2-4倍。

缺点:精度损失,量化可能会导致模型性能(如准确率)的轻微下降,但通过优化技术可以将这种损失控制在较低水平;复杂性增加,量化过程需要额外的步骤和工具支持,增加了模型开发和部署的复杂性。

参考:

模型量化

模型蒸馏

*** 模型蒸馏(Model Distillation) ,也称为 *** 知识蒸馏(Knowledge Distillation),是一种用于模型压缩的技术,旨在将一个大型、复杂模型(通常称为“教师模型”)的知识迁移到一个小型、简单模型(通常称为“学生模型”)中。

典型蒸馏模型有 DeepSeek 官方的 DeepSeek-R1-Distill-Llama-70BDeepSeek-R1-Distill-Qwen-32B

优点:学生模型能够在保持较小体积的同时,接近或达到教师模型的性能。蒸馏技术使得模型的训练和部署成本大幅降低,适合中小企业和初创企业。

缺点:学生模型由于容量较小,可能无法完全捕捉教师模型的所有复杂知识和行为模式,导致在某些任务上性能出现一定程度的下降。

一文看懂深度学习模型压缩和加速

一文看懂模型蒸馏

推理工具

** 推理工具(Inference Tools)** 是指用于部署和运行预训练机器学习模型的软件工具或框架,它们能够将模型的预测能力应用于新数据,从而生成推理结果。这些工具通常优化了模型的加载、执行和输出生成过程,以确保在实际应用中能够高效、快速地提供预测。

常用的推理工具有 Ollama、Llama.cpp、vLLM、sglang、Ktransformer等。

Ollama

可在 Windows、macOS、Linux 上运行,提供简洁的命令行和 REST API 接口,适合快速部署。可自动识别并利用 GPU 加速(如果硬件支持)

Llama.cpp

VLLM

$ module load Singularity/3.7.3 
$ singularity exec --nv $IMAGE/vllm/vllm-0.7.3.sif vllm serve --tensor-parallel-size 8   --host 0.0.0.0 --port 11113   DeepSeek-R1-Distill-Llama-70B
  • --tensor-parallel-size 张量并行,表示将计算任务分成N份,分配到N个GPU上计算,通常等于使用的GPU卡数量

本文阅读量  次
本站总访问量  次