大模型基于llama.cpp量化详解

大模型基于llama.cpp量化详解

概述

llama.cpp 是一个高性能的 LLM 推理库,支持在各种硬件(包括 CPU 和 GPU)上运行量化后的大语言模型。本文档详细介绍如何使用 llama.cpp 将 HuggingFace 格式的模型转换为 GGUF 格式,并进行不同程度的量化。

GGUF 格式:GGUF(Georgi Gerganov Universal Format)是 llama.cpp 专门设计的模型文件格式,针对快速加载和保存模型进行了优化,支持单文件部署,包含加载模型所需的所有信息,无需依赖外部文件。

1.安装cmake
CMake 是跨平台的构建工具,用于编译 llama.cpp 项目。

下载地址:https://cmake.org/download/

安装建议

  • Windows 用户建议下载 cmake-3.x.x-windows-x86_64.msi 安装包
  • 安装时选择 “Add CMake to the system PATH”,以便在命令行中直接使用

验证安装

cmake --version 2.安装llama.cpp ```bash git clone https://github.com/ggerganov/llama.cpp 

convert_hf_to_gguf.py:HuggingFace 格式转 GGUF 的脚本
llama-quantize(或 quantize.exe):量化工具
main(或 main.exe):推理主程序
examples/:各种示例程序

3.编译

cd llama.cpp pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip install -r requirements/requirements-convert_hf_to_gguf.txt cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -B build cmake --build build --config Release 

4.模型转换
将safetensors转换为gguf

 convert-hf-to-gguf.py D:\\Project\\2026\\llama3-lora-merge --outtype f16 --outfile D:\\Project\\2026\\my_llama3.gguf 

参数说明:
D:\Project\2026\llama3-lora-merge:输入模型路径(包含 config.json 和权重文件的目录)
–outtype f16:输出类型,f16 表示半精度浮点数(16-bit),可选 f32(全精度)或 bf16
–outfile:输出 GGUF 文件路径

类型精度说明
f3232-bit全精度,文件最大,精度最高
f1616-bit半精度,平衡选择
bf1616-bitBrain Float,动态范围更大
q8_08-bit直接量化为 8 位

6.进一步量化

 D:\Project\2026\test_llama3.cpp\llama.cpp\build\bin\Release quantize.exe D:\\Project\\2026\\my_llama3.gguf D:\\Project\\2026\\quantized_model.gguf q4_0 

llama-quantize可执行文件来对模型进行进一步量化处理。量化可以帮助我们减少模型的大小,但是代价是损失了模型精度,也就是模型回答的能力可能有所下降。权衡以后我们可以选择合适的量化参数,保证模型的最大效益。
量化使用 q 表示存储权重的位数。位数越低,模型越小,速度越快,但精度损失越大。

量化类型位宽精度损失适用场景典型压缩率
q2_k2-bit极低资源环境,实验用途~75%
q3_k_s / q3_k_m / q3_k_l3-bit中高资源受限,可接受一定质量损失~60%
q4_0 / q4_14-bit最常用,平衡大小与质量~50%
q4_k_s / q4_k_m4-bit改进的 4-bit,质量更好~50%
q5_0 / q5_15-bit较高质量要求~40%
q5_k_s / q5_k_m5-bit改进的 5-bit~40%
q6_k6-bit很低接近原始质量~35%
q8_08-bit极低几乎无损,文件较大~25%
f1616-bit原始转换,未量化0%

K-quant 说明:
后缀带 _k 的(如 q4_k_m)使用改进的量化算法
混合量化策略:对 attention 层使用更高精度,其他层使用较低精度
_s(small)、_m(medium)、_l(large)表示混合程度

Read more

AI写作提示词实战:从设计原则到工程化落地

快速体验 在开始今天关于 AI写作提示词实战:从设计原则到工程化落地 的探讨之前,我想先分享一个最近让我觉得很有意思的全栈技术挑战。 我们常说 AI 是未来,但作为开发者,如何将大模型(LLM)真正落地为一个低延迟、可交互的实时系统,而不仅仅是调个 API? 这里有一个非常硬核的动手实验:基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。 从0到1构建生产级别应用,脱离Demo,点击打开 从0打造个人豆包实时通话AI动手实验 AI写作提示词实战:从设计原则到工程化落地 最近在项目里折腾AI写作生成,发现提示词(prompt)设计真是个技术活。明明感觉已经把需求写清楚了,AI却总像理解能力忽高忽低的小助理——有时惊艳,有时跑偏。经过几个月的实战踩坑,终于总结出一套结构化设计方法,

IQuest-Coder-V1 vs Meta-Llama-Code:开源模型部署全面对比

IQuest-Coder-V1 vs Meta-Llama-Code:开源模型部署全面对比 1. 为什么这次对比值得你花5分钟读完 你是不是也遇到过这些情况: * 想在本地跑一个真正能写代码的开源模型,结果发现部署卡在环境配置上,折腾半天连第一个hello world都没跑通; * 看到榜单上分数很高的模型,一试才发现——生成的代码要么缺依赖、要么逻辑错位、要么根本跑不起来; * 在Llama-Code和新出的IQuest之间反复横跳,却找不到一份从“下载镜像”到“实际写功能”的真实对比。 这篇不是参数罗列,也不是论文复述。我们用同一台32GB显存的服务器(A100),从零开始部署两个模型,全程记录: 哪个模型真正支持128K上下文(不是靠插件硬凑) 哪个模型在写Python工具脚本时,一次就生成可运行代码 哪个模型在处理多文件项目结构时,能准确引用模块路径 哪个模型在终端里输入几行提示词,就能直接补全带类型注解的函数 所有操作命令、配置文件、实测截图、失败日志都已验证。你照着做,15分钟内就能跑通任一模型。 2. 先看清它们到底是谁 2.1 IQuest-Co

AIGC实战——CycleGAN详解与实现

AIGC实战——CycleGAN详解与实现

AIGC实战——CycleGAN详解与实现 * 0. 前言 * 1. CycleGAN 基本原理 * 2. CycleGAN 模型分析 * 3. 实现 CycleGAN * 小结 * 系列链接 0. 前言 CycleGAN 是一种用于图像转换的生成对抗网络(Generative Adversarial Network, GAN),可以在不需要配对数据的情况下将一种风格的图像转换成另一种风格,而无需为每一对输入-输出图像配对训练数据。CycleGAN 的核心思想是利用两个生成器和两个判别器,它们共同学习两个域之间的映射关系。例如,将马的图像转换成斑马的图像,或者将苹果图像转换为橙子图像。在本节中,我们将学习 CycleGAN 的基本原理,并实现该模型用于将夏天的风景图像转换成冬天的风景图像,或反之将冬天的风景图像转换为夏天的风景图像。 1. CycleGAN 基本原理 CycleGAN 是一种无需配对的图像转换技术,它可以将一个图像域中的图像转换为另一个图像域中的图像,而不需要匹配这两个域中的图像。它使用两个生成器和两个判别器,其中一个生成器将一个域中的图像

Whisper语音识别终极指南:从零到精通的完整部署方案

Whisper语音识别终极指南:从零到精通的完整部署方案 【免费下载链接】whisper-tiny.en 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-tiny.en OpenAI Whisper语音识别技术正在彻底改变语音处理的游戏规则。这款强大的开源模型能够准确识别98种语言并实现实时翻译,为开发者提供了前所未有的语音处理能力。本指南将带你从基础配置到高级优化,全面掌握Whisper的实战应用技巧。 快速环境搭建与一键部署方案 必备依赖安装指南 部署Whisper的第一步是配置运行环境。推荐使用Python 3.9+和PyTorch 1.10+的组合,通过以下命令快速安装关键依赖: pip install transformers ffmpeg-python torchaudio 验证安装成功后,即可开始模型部署。选择合适的模型版本至关重要,tiny版本适合资源受限场景,而large版本则追求极致精度。 模型选择与性能平衡策略 根据实际应用场景选择最优模型配置: * Tiny模型:移动端和嵌入