内网部署 Qwen2.5-7B 实操:日志、性能与模型选型的一次完整梳理
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
一、先说结论
二、我们的部署实况(先摸清家底)模型跑在
两个关键点:
三、怎么看日志Ollama 的日志主要有三层,从外到内: 1. 服务日志(主路径,systemd 托管)
日志里三类信息最有价值:
2. 更细的调试日志默认日志里没有逐 token 的性能明细。想要
3. 系统自己视角的日志(谁调了、花多久)我们这套中枢(Hub)本身也记调用:216 上的 四、怎么看性能性能数据有三个视角,互相印证。 1. 驻留状态:
|
| 指标 | 实测值 | 说明 |
|---|---|---|
load_duration |
5.85 s | 冷加载进内存(CPU 加载 4.7GB 权重) |
| 输入处理 prefill | 37 token / 0.54s ≈ 68 tok/s | 把提问编码进去 |
| 生成 decode | 28 token / 3.29s ≈ 8.5 tok/s | 纯 CPU 解码速度,7B 典型水平 |
total_duration |
9.7 s | 端到端 |
换算公式:decode 速度 = eval_count / eval_duration,prefill 速度 = prompt_eval_count / prompt_eval_duration(注意单位都是纳秒)。
top -p $(pgrep -f 'ollama serve') # CPU / 内存占用
free -h # 内存大盘
无 GPU,所以没有 nvidia-smi 可看——这是纯 CPU 机器的常态。
| 部分 | 含义 |
|---|---|
| qwen2.5 | 阿里 2024 开源系列,中文能力在开源模型里属第一梯队 |
| 7b | 7 Billion = 70 亿参数,模型的"脑容量",训练后固化的知识与能力 |
| instruct | 指令微调版,会用助手方式对话;同名 base 版只会续写文本,部署必须选 instruct |
| 4.7GB | 4bit 量化后的体积。原始半精度(FP16)要 ~14GB,量化压到约 1/3,效果损失通常 <1% |
参数量大致每上一个数量级台阶,能力上一档、部署成本也上一档。7B 正好卡在"第一台能认真干活的机器":
| 型号 | 量化后体积 | 运行内存(约) | 能跑的硬件 |
|---|---|---|---|
| qwen2.5-0.5b | 0.4 GB | ~1 GB | 手机 / 树莓派 |
| qwen2.5-1.5b | 1.0 GB | ~2 GB | 笔记本 |
| qwen2.5-3b | 2.0 GB | ~3 GB | 笔记本 |
| qwen2.5-7b(我们部署) | 4.7 GB | ~6 GB | 8GB 显卡 或 纯 CPU |
| qwen2.5-14b | 9 GB | ~12 GB | 12–16GB 显卡 |
| qwen2.5-32b | 20 GB | ~26 GB | 24GB 专业卡(4090 / A10) |
| qwen2.5-72b | 43 GB | ~50 GB+ | 多卡 / 服务器 |
运行内存 ≈ 模型体积 × 1.3(含上下文 KV cache)。14B 起需要专用显卡,32B/72B 进入服务器领域。
参数量不是均匀提升所有能力——7B 在"理解 + 表述"上已经接近大模型,但"推理 + 代码"差距明显:
| 任务类型 | 7B | 32B(参照) | 说明 |
|---|---|---|---|
| 中文理解 / 摘要 | 4 | 4.5 | 7B 强项 |
| RAG 答案组织 | 4 | 4.5 | 本项目核心用法 |
| 多轮对话 | 3.5 | 4.5 | |
| 复杂多步推理 | 2 | 4 | 7B 明显弱 |
| 代码生成 | 2 | 4 | 不建议拿 7B 写代码 |
这是最关键的一点,也是"小模型 + 检索"对抗"大模型靠记忆"的经典设计:
你的知识根本不在模型里——在向量库(Qdrant,我们这边是 815 个语料 chunk)里。
模型的活是"读检索到的证据 → 组织成通顺回答",也就是上表第一、二行(中文理解/摘要、RAG 答案组织),这正是 7B 的强项。
系统还做了规则兜底模式(rules):即使模型不可用,也能返回带章节定位的证据清单,系统不崩。
所以选 7B 不是"将就",而是架构上把对参数的要求降下来了。
当前实测 CPU decode 8.5 tok/s,一段 200 字答案要 15–20 秒——速度瓶颈在硬件不在选型。升级顺序建议:
OLLAMA_KEEP_ALIVE 调大(如 30m 或 -1 常驻),省掉每次首问 5.9s 冷加载。218 有 62GB 内存,常驻 5GB 毫无压力。qwen2.5:14b-instruct(量化后 ~9GB),推理和多轮明显更强;但 CPU 上会更慢(约减半),所以建议先 GPU 再换大模型。改动 systemd 配置需
systemctl restart ollama,会中断服务几十秒——生产环境按计划确认后再动。
部署:218 上 Ollama 为 systemd 服务,无 GPU、纯 CPU;KEEP_ALIVE=10m、MAX_LOADED_MODELS=1;模型 4.7GB 是 4bit 量化版。
看日志:journalctl -u ollama -f 看实时;想看逐 token 性能开 OLLAMA_DEBUG=1;系统侧用中枢 data/usage/*.jsonl 或模型管理页「调用统计」页签。
看性能:ollama ps 看驻留;API 非流式返回自带 load/prefill/decode 三段耗时;系统层用 top/free。
实测基线:冷加载 5.85s、prefill ≈68 tok/s、decode ≈8.5 tok/s、端到端 9.7s(纯 CPU)。
模型量级:7B = 70 亿参数、单机甜点档;强在理解/摘要/RAG 组织,弱在推理/代码。
够用原因:RAG 架构让知识在向量库、模型只做"读+组织",配合 rules 兜底,7B 完全胜任。
升级优先级:先 KEEP_ALIVE 常驻降冷启 → 再上 GPU 提速 → 最后考虑 14B。
一句话:7B 是"内网单机可部署"的入门甜点,配 RAG 做知识问答是标准实践;你现在卡在 CPU 速度,不在模型选型。
阅读原文:点击这里