大模型基于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

ChatGLM-6B创新应用:智能写作助手提升创作效率

ChatGLM-6B创新应用:智能写作助手提升创作效率 1. 为什么你需要一个“会写”的AI助手? 你有没有过这样的经历: * 明明思路很清晰,但一动笔就卡壳,半天写不出开头; * 写完一段文案反复删改,总觉得不够精炼、不够有感染力; * 要同时产出公众号推文、小红书笔记、产品介绍、会议纪要……每种文体风格都不同,改来改去耗掉大半天; * 甚至只是想把一段口语化的想法整理成专业表达,也得花不少时间润色。 这些不是你能力的问题,而是人脑在重复性语言组织任务上天然存在带宽限制。而ChatGLM-6B,正是一位能真正“陪你一起写”的智能写作助手——它不替代你的思考,但能立刻把你的灵感变成结构完整、语气得体、风格匹配的初稿。 这不是一个需要调参、搭环境、查文档才能用的模型,而是一个开箱即用的写作协作者。接下来,我们就从真实使用场景出发,看看它如何把“写东西”这件事变得轻松、高效、有质感。 2. 它不是普通聊天机器人,而是一个懂中文写作的“笔友” 2.1 模型底子扎实,中文理解不靠猜

By Ne0inhk

Stable-Diffusion-3.5提示词不生效?CLIP模块调优指南

Stable-Diffusion-3.5提示词不生效?CLIP模块调优指南 你是不是也遇到过这种情况:在Stable Diffusion 3.5里输入了精心构思的提示词,满怀期待地点击生成,结果出来的图片却和你的描述差了十万八千里?比如你想生成“一个穿着宇航服的小猫在月球上喝咖啡”,结果却得到了一只普通的猫,或者一个没有咖啡的宇航员。 别担心,这不是你的问题,也不是模型的问题。问题很可能出在连接你文字和生成图像的“翻译官”——CLIP文本编码模块上。今天,我就带你深入这个核心环节,通过几个简单的调优技巧,让你的提示词真正“生效”,精准控制SD3.5的输出。 1. 问题根源:为什么提示词会“失效”? 在深入调优之前,我们先得明白问题出在哪。SD3.5的生成过程,可以简单理解为两个关键步骤: 1. 理解文字(CLIP编码):模型首先需要读懂你的提示词,比如“宇航服”、“小猫”、“月球”、“咖啡”。这个理解过程,就是由CLIP(Contrastive Language-Image Pre-training)

By Ne0inhk
Llama-2-7b在昇腾NPU上的六大核心场景性能基准报告

Llama-2-7b在昇腾NPU上的六大核心场景性能基准报告

引言 随着大语言模型(LLM)技术的飞速发展,其底层算力支撑硬件的重要性日益凸显。传统的GPU方案之外,以华为昇腾(Ascend)为代表的NPU(神经网络处理单元)正成为业界关注的焦点。为了全面、深入地评估昇腾NPU在实际LLM应用中的性能表现,我们进行了一项针对性的深度测评。本次测评选用业界广泛应用的开源模型Llama-2-7b,在 Atlas 800T A2 训练卡 平台上进行部署、测试与分析,旨在为开发者和决策者提供一份详实的核心性能数据、深度的场景性能剖析、以及可靠的硬件选型与部署策略参考。 模型资源链接:本项目测评使用的模型权重及相关资源可在 GitCode 社区获取:https://gitcode.com/NousResearch/Llama-2-7b-hf 一、 测评环境搭建与准备 扎实的前期准备是确保测评数据准确可靠的基石。本章节将详细记录从激活昇腾NPU计算环境到完成所有依赖库安装的全过程,确保测试流程的透明与可复现性。 1.1 激活NPU Notebook实例 我们通过GitCode平台进行本次操作。首先,需要进入项目环境并激活一个Notebook实例,这

By Ne0inhk
技术速递|GitHub Copilot SDK 与云原生的完美融合

技术速递|GitHub Copilot SDK 与云原生的完美融合

作者:卢建晖 - 微软高级云技术布道师 排版:Alan Wang 引言 在当今快速演进的 AI 技术格局中,我们已经见证了从简单聊天机器人到复杂智能体系统的转变。作为一名开发者和技术布道者,我观察到一个正在形成的趋势——重点不在于让 AI 无所不能,而在于让每一个 AI Agent 在特定领域做到极致、做到专业。 今天,我想分享一套令人兴奋的技术组合:GitHub Copilot SDK(将生产级智能体引擎嵌入任意应用的开发工具包) + Agent-to-Agent(A2A)Protocol(实现智能体标准化协作的通信规范) + 云原生部署(支撑生产系统的基础设施)。这三者结合在一起,使我们能够构建真正具备协作能力的多智能体系统。 从 AI 助手到智能体引擎:重新定义能力边界 传统的 AI 助手往往追求“全能”——试图回答你抛给它的任何问题。但在真实的生产环境中,这种方式会遇到严重挑战: * 质量不一致:一个模型同时写代码、做数据分析、

By Ne0inhk