废旧电脑跑本地大模型:从"装不上"到"能聊天"的完整踩坑实录
废旧电脑跑本地大模型:从”装不上”到”能聊天”的完整踩坑实录
本地 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 离线安装;而 numpy、diskcache 这类依赖走国内 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_conv1d等Mamba 系(状态空间模型)张量 + 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好好有推荐主力11.5中中有可实验,勿上生产
qwen3.5-2B-deepseek-v4
来源存疑
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。如果你也在玩本地模型,欢迎在评论区聊聊你的引擎选型和翻车经历。
本文为个人实操记录,模型表现仅代表在作者硬件/引擎下的实测,不构成任何下载或生产建议。涉及具体模型请自行核实来源与许可证。