当前位置: 首页 > news >正文

基于llama.cpp部署私有大模型

部署llama.cpp

按照如下操作完成

1、在huggingface中找到合适的模型,地址:https://huggingface.co/
  1. 根据主机配置选择合适的模型(根据模型参数量xxb来判断,xxb越大那么模型效果越好,但需要的资源也越多)

  2. -xxb-chat的模型是指令微调后的模型,直接用来做人机对话的部署(这种模型的后缀也有是-xxb-Instruct)

  3. -xxb 像这样什么都不带的模型则是基础模型,所以说这个不适合直接拿来做人机对话,更适合在垂直领域上的训练或者微调

  4. -xxb-Chat-xx也算基础模型是在-xxb-Chat 模型上量化得到的,所谓的量化就是,将模型的参数从高精度模式转变为低精度格式,这样能减小模型消耗资源的大小,让低资源配置的机器也能够正常运行大模型。简单来说,模型量化(Model Quantization)就像是把一张“超高清蓝光原片”压缩成“720P清晰度”。虽然损失了一些细节,但文件变小了,播放也更流畅了。在深度学习中,量化是将模型参数(权重和激活值)从高精度(通常是 32 位浮点数,FP32)转换为低精度(如 8 位整数,INT8)的过程。

  5. -xxb-chat-gguf 格式的模型是针对llama.cpp框架的,这个框架是纯C++的实现,它的主要目标是在各种硬件资源上,实现高效的大模型推理(大模型推理框架有:Transfromer,vLLM,llama.cpp),它非常适合显存很小或者没有显卡的场景。llama.cpp的主要目标是让大语言模型在本地或云端的各种硬件上,以最少的设置和最先进的性能进行推理,它是基于C和C++实现的,这意味着它可以轻松的各种不通的操作系统上编译和运行。这个框架提供了各种的量化方案。在针对llama.cpp框架选择模型的时候,选择量化模型的-xxb-chat-qx_k_m.gguf模型版本,因为它保留了模型大部分的性能,而且模型的体积也得到了最够的压缩。

1.为什么要量化?(核心痛点)

现代大模型(如 Llama 3, GPT 系列)动辄拥有百亿、千亿级参数。如果不做处理,它们会面临以下三个严峻问题:

内存占用巨大:一个 FP32 的参数占用 4 字节。一个 70B(700亿参数)的模型仅权重就需要 280GB 显存,普通的消费级显卡(如 RTX 4090 仅 24GB)根本跑不动。

计算速度慢:浮点数运算(Floating Point)比整数运算(Integer)更复杂,消耗的时钟周期更多。

能耗高:在手机、摄像头等嵌入式设备上,高精度的计算会迅速耗尽电量并导致设备发烫。

2.量化的具体作用

1. 极大地压缩模型体积通过量化,模型大小通常能直接缩减为原来的1/4甚至更小。
FP32→ \rightarrowINT8:体积缩小 4 倍。

FP32→ \rightarrowINT4:体积缩小 8 倍(这是目前大模型端侧运行的主流格式)。
2. 显著提升推理速度
大多数现代芯片(如英伟达的 Tensor Core、手机的 NPU)在处理整数运算时,单位时间内的计算量(OPS)远高于浮点运算。量化后的模型在推理(Inference)时响应更积极。
3. 降低显存门槛量化让原本只能在昂贵服务器(如 A100/H100)上运行的模型,能够跑在个人电脑、甚至手机的主存里。

3.量化会有损失吗?

会有损失,但通常在可接受范围内。量化本质上是引入了舍入误差

  • 精度下降:模型的逻辑推理能力、分类准确率可能会轻微下降。

  • 补偿方案:现在的技术(如QLoRAAWQ)已经能做到在量化到 4-bit 的情况下,性能损失微乎其微。

  1. 下载llama.cpp ,下载地址: Release b8763 · ggml-org/llama.cpp · GitHub

  2. 下载gguf的量化模型,我选择千问3,离线方式进行部署,因为在线方式,网络不稳定。下载地址:Qwen/Qwen3-0.6B-GGUF at mainQwen/Qwen3-0.6B-GGUF at main

手动下载模型文件

由于llama-cli -hf这种自动下载方式受网络波动影响很大,最稳妥的方法是手动下载

  1. 前往镜像站或 HF 官网手动下载Qwen3-0.6B-GGUF.gguf文件。

  2. 将文件放在你的D:\app\llama-b8763-bin-win-cpu-x64文件夹下。

  3. 修改命令,直接指向本地文件,避开网络请求:

` Bash

llama-cli -m Qwen3-0.6B-Q8_0.gguf --jinja --color on -ngl 99 -fa on -sm row --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0 --presence-penalty 1.5 -c 40960 -n 32768 --no-context-shift`

(注意:请根据你下载的实际文件名修改-m后面的参数)一个温馨的小提醒我注意到你的路径里写着win-cpu-x64,并且日志显示加载的是ggml-cpu-icelake.dll。由于 Qwen3 虽然只有 0.6B,但如果你想用-fa on(Flash Attention) 和-ngl 99(GPU 卸载),纯 CPU 编译版的 llama.cpp 是跑不动这些硬件加速特性的。如果手动下载后运行依然报错,建议去掉-fa on-ngl 99,或者换成cublas(NVIDIA GPU) 版本的llama-cli

  1. 使用模型/运行模型,执行命令llama-cli -m Qwen3-0.6B-Q8_0.gguf --jinja --color on -ngl 99 -fa on -sm row --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0 --presence-penalty 1.5 -c 40960 -n 32768 --no-context-shift这个是终端方式进行交互,如下图:

  2. 想要像gpt这样在浏览器里优雅地对话,而不是对着黑乎乎的 CMD 窗口,需要启动llama.cpp自带的Server 模式。它会开启一个本地网页服务器,让你通过浏览器访问。使用llama-server(最快、最直接):在文件夹里,应该有一个叫llama-server.exe的程序。如果没有,通常llama-cli.exe所在的包里都会附带它。

  3. 启动服务器:在 CMD 中运行以下命令(参数和你之前的基本一致,只需把llama-cli换成llama-server):

  4. 下面的是已经下载好gguf模型执行方式,如果需要在线下载运行,使用-hf参数替换-m参数Bash llama-server -m Qwen3-0.6B-Q8_0.gguf --jinja -ngl 99 -fa on -sm row -c 8192 --host 0.0.0.0 --port 8080

  5. 访问网页:打开浏览器(Chrome, Edge 等),在地址栏输入:http://127.0.0.1:8080

  6. 开始对话:你会看到一个非常简洁的 Web 界面,功能齐全,支持调整参数和聊天模式。如下图:

关键点提示

  • 保持 CMD 运行:浏览器只是个“脸”,llama-server.exe才是“大脑”。如果你关掉了 CMD 窗口,网页就会失去响应。

  • 关于资源占用:浏览器也会占用一部分内存,如果你发现电脑卡顿,可以适当调小-c 40960(上下文窗口大小),比如改为-c 8192

http://www.jsqmd.com/news/636403/

相关文章:

  • 民办本科自动化,大三下,蓝桥杯刚考砸,会的不多,想学嵌入式还来得及找到工作吗?求前辈真实建议,骂醒我也行
  • **发散创新:基于LLM的智能代码助手在Python开发中的实战落地**在现代软件工程
  • GD32F103C8T6驱动W25Q32 SPI Flash保姆级教程(含源码与接线图)
  • 《OpenNAS - 从零开始写一个开源NAS系统》04 - ZFS存储池的管理
  • 2026企业AI Agent落地秘籍:少走3年弯路,抢占数字化风口!
  • 别再死记硬背C#语法了!用5个机器视觉小例子带你快速上手(Visual Studio 2022版)
  • 【R语言实战】批量单因素Logistic回归:从数据清洗到变量初筛的自动化流程
  • 手把手教你用GPT-oss:20b:CSDN平台图文教程,小白也能快速部署
  • 信息学奥赛实战解析:N进制回文数的高精度运算与优化策略
  • vivado hls的应用(题外话之AI编程)
  • AI Harness 学习清单(AI生成)
  • 微信小程序实战:打造优雅的互动消息列表(评论 / 点赞 / 关注
  • 如何5分钟上手Translumo:Windows平台最强的实时屏幕翻译神器
  • 从零开始掌握时序逻辑电路:状态机设计与FPGA实战解析
  • 解决403 Forbidden:Pixel Script Temple API访问权限配置详解
  • 实验19:Gazebo:三维物理仿真平台
  • 从 Rule-Based 到 LLM-Based:企业自动化流程的重塑
  • **基于Python与Unity的数字孪生系统开发实战:从建模到实时交互的全流程解析**在工业4.0浪潮中,**数字孪生(Digit
  • 全球化字体技术架构:Noto字体项目的企业级多语言解决方案
  • 斯坦福AI软件工程课:Claude Code开发者亲授
  • Ubuntu 配置 Claude Code + MiniMax湛
  • 这是我的第一篇文章
  • EF Core 慢查询排查实战:TagWith、OpenTelemetry、执行计划, 分钟定位性能瓶颈儆
  • Stm32F103R6之ADC:从基础配置到高级应用全解析
  • 如何快速掌握Akagi:雀魂AI辅助工具的完整实战教程
  • 告别云端依赖:3分钟上手Buzz,你的本地语音转文字专家
  • DeEAR语音情感识别惊艳案例:识别抑郁症患者语音中‘韵律平坦化’与‘自然度衰减’双指标
  • .NET对象转JSON,到底有几种方式?啃
  • Qwen3-ASR-1.7B多场景落地:直播实时转录、法庭笔录辅助生成案例
  • SARADC前仿真实战指南:从静态到动态的完整流程解析