废旧电脑跑本地大模型:从"装不上"到"能聊天"的完整踩坑实录

废旧电脑跑本地大模型:从”装不上”到”能聊天”的完整踩坑实录

本地 LLM 部署 · 推理引擎选型 · 模型评测 · 一篇写给同好的实操笔记

前阵子清理硬盘,翻出几个 .gguf 格式的本地大模型文件。本来只是想”试试能不能跑”,结果一路踩坑——网络被墙、引擎不认新架构、模型命名是假的……折腾了一整圈,最终不仅跑通了,还顺手搭了一套可复用的评测环境。本文把整个过程原样记录下来,给想在二手/老旧机器上玩本地模型的你少走点弯路。

说明(脱敏):文中涉及的具体用户名、绝对路径、内网环境均已做泛化处理;代码里的路径请替换成你自己的实际目录。评测在纯 CPU 环境下进行,无独立显卡。

一、先摸底:老机器能不能扛?

本地推理最怕两件事:显存不够内存不够。我的这台机器配置很普通:

  • CPU:一颗 4 核的 Intel 老处理器(支持 AVX2,没有 AVX-512)
  • 内存:16 GB(空闲约 7~8 GB)
  • 显卡:无独显,纯 CPU 推理
  • 系统:Windows 10

结论是够用。常见的 1B3B 量化模型(Q4 级别)单文件 0.62 GB,全部能塞进内存。真正卡我的不是硬件,是下面这两关。

二、第一道坎:网络

做本地部署,第一步几乎都要从 GitHub / HuggingFace 拉工具或模型。但我的网络环境一度访问不了 GitHub(Releases、各类 ghproxy 镜像全都超时)。这直接卡死了最省事的方案:

  • llama-cpp-python 的预编译 wheel 在 GitHub Releases 上 → 拉不下来;
  • HuggingFace 本体 → 连不上;
  • 源码编译需要本地 C++ 工具链 → 这台机器没有。

后来网络恢复后,GitHub 能通了,但 Release 资产下载依然不稳(动不动中断)。最终的解法:用脚本对 Release 的 wheel 地址做分块断点续传拉到本地,再 pip install --no-index 离线安装;而 numpydiskcache 这类依赖走国内 PyPI 镜像(如腾讯云镜像)就很快。

经验:在国内环境装 Python 包,永远先加 -i https://mirrors.cloud.tencent.com/pypi/simple/(或清华/阿里云镜像),能省大量时间。

三、引擎选型:踩了一圈坑

GGUF 只是个文件格式,真正”让它说话”的是推理引擎。我先后试了三个:

引擎结果原因
ctransformers
从 PyPI 直装失败版本太旧,连 Llama-3.2 架构都不认识,遇到非标准架构直接崩溃。
gpt4all
走国内镜像装部分可用能跑标准 Transformer(Llama 系),但遇到非标准架构标签直接报错。
llama-cpp-python
wheel 断点续传 + 离线装成功底层是较新的 llama.cpp,架构兼容最好,三个模型全部加载成功。

结论先行:本地 GGUF 推理,无脑选 llama-cpp-python(或它的上游 llama.cpp)。它架构支持最全、社区最活跃,后面所有评测都基于它(0.3.35,CPU 版)。

四、三个模型,三种”人格”

手头(以及后来陆续往里加的)模型里,最初这三个最有代表性:

① Hermes-3-Llama-3.2-3B —— 最靠谱的主力

真实存在的开源指令模型(NousResearch 出品,Llama-3.2 底座)。中文连贯、会写代码、能出标准 JSON,安全护栏正常(明确拒绝危险请求)。规模虽只有 3B,但综合表现最好,推荐作为日常主力

② TinyLlama-1.1B-Chat —— 快但”莽”

1.1B 小模型,速度最快(CPU 下 ~22 token/s),但能力弱:中文指令遵循差、数学容易胡说、JSON 输出不稳。最要命的是——它没有安全护栏,在安全测试中直接把危险步骤列了出来。结论:适合做轻量草稿/分类,别用在面向用户或涉安全的场景

③ 那个”缝合怪”:qwen3.5-2B-deepseek-v4

这个命名本身就是警示信号——“Qwen3.5””DeepSeek v4”都不是真实发布的型号。扒开它的 GGUF 元数据和张量结构后发现:

  • 架构标签是自定义的 qwen35,但张量里混着 ssm_a / ssm_dt / ssm_conv1dMamba 系(状态空间模型)张量 + Transformer 注意力 → 这是一个来源不明的混合架构
  • 行为是推理型模型:先 <think> 思考再作答;
  • 意外的是,它的安全护栏是正常的(会引用法律拒绝危险请求)。

用对的引擎(llama-cpp-python)它能正常加载、能聊天(~11.5 token/s)。但来源和真实架构核实不了,我的态度是:当实验对象可以,当主力或上生产不行。

踩坑提醒:下载模型只认 HuggingFace 官方或可信作者。凡是出现”Qwen3.5 / DeepSeek v4 / 某某 Pro Max”这类不存在的型号名,基本都是引流或缝合模型,谨慎对待。

五、评测结果速览

我写了一套评测脚本(7 个维度:中文解释、数学推理、代码、知识问答、JSON 格式、安全护栏、指令遵循)+ 速度基准,全在 CPU 下实测。核心数据:

模型速度
(CPU token/s)中文能力代码/JSON安全护栏综合建议
Hermes-3-Llama-3.2-3B7.5好好有推荐主力
qwen3.5-2B-deepseek-v4
来源存疑
11.5中中有可实验,勿上生产
TinyLlama-1.1B~22弱弱轻量草稿专用

注:速度受 CPU、线程数、上下文长度影响很大;有独显时把层数卸载到 GPU(n_gpu_layers)能快数倍。

六、你想自己动手?最小步骤

环境搭好后,日常就是两件事:聊天评测。核心脚本(对话 chat.py、评测 eval_harness_lcpp.py)都已就绪,路径请替换成你自己的:

1) 进入你的模型目录

cd “你的项目目录”

2) 跟模型聊天(默认加载 qwen35,可换 –model hermes / tinyllama)

“你的虚拟环境\Scripts\python.exe” chat.py –model qwen35

想看模型的”内心思考”过程,加 –show_think

“你的虚拟环境\Scripts\python.exe” chat.py –model qwen35 –show_think

3) 跑自动评测(7 维 + 速度),结果存成 JSON

“你的虚拟环境\Scripts\python.exe” eval_harness_lcpp.py

只评某一个,省时间:

“你的虚拟环境\Scripts\python.exe” eval_harness_lcpp.py qwen35


想要最佳体验:联网后直接用 `ollama pull hermes3:3b` 再 `ollama run hermes3:3b`,Ollama 会自动启用 GPU/优化内核,比纯 CPU 快得多,也最省心。

七、给后来者的避坑清单

  • 引擎选 llama-cpp-python,别在旧引擎上浪费时间。
  • 国内网络装包走镜像;GitHub 大文件用断点续传,别硬刚。
  • 警惕虚构型号名的模型,先查架构再下载。
  • 小模型一定要测安全护栏,TinyLlama 这类无护栏模型别碰敏感场景。
  • 纯 CPU 能玩,但别指望快;真要日常用,上一张能跑起来的显卡或换 Ollama。
  • 推理型模型会输出思考过程,对话时默认隐藏、需要时再看,体验更干净。

八、结语

折腾这一圈最大的体会是:本地大模型真正的门槛,往往不在模型本身,而在环境——网络、引擎版本、架构兼容,随便哪一处都能让你卡半天。但一旦跑通,那种"模型就在我自己电脑里、不上传任何数据"的踏实感,是云端 API 给不了的。

这台老机器现在成了我的"模型试验田",陆续又塞进去十几个 .gguf。如果你也在玩本地模型,欢迎在评论区聊聊你的引擎选型和翻车经历。

本文为个人实操记录,模型表现仅代表在作者硬件/引擎下的实测,不构成任何下载或生产建议。涉及具体模型请自行核实来源与许可证。