2G 内存无显卡 VPS 也能跑 AI!Ollama + 1.5B/3B 超轻量大模型(DeepSeek/Qwen)CPU 推理实战
2026-08-14 · DevCraft Studio
没显卡的几美元VPS也能跑AI!用Ollama或llama.cpp在纯CPU上跑DeepSeek/Qwen的1.5B/3B量化小模型,再接Telegram或Web界面做私有助手。
很多人以为“跑大模型必须有显卡”,于是一看自己那台几美元、没有 GPU 的 VPS 就觉得跟 AI 绝缘了。其实不是。1.5B、3B 级别的超轻量模型,在纯 CPU 上完全能跑,只是速度慢一点,但用来做代码补全、写文案、问答、当私人知识库的前端,已经足够。这篇文章就手把手教你在 2G 内存、无显卡的便宜 VPS 上,用 Ollama 跑起 DeepSeek、Qwen 的蒸馏小模型,再接个 Telegram Bot 或 Web 界面,做成你自己的 24 小时私有 AI 助手。全程不需要任何显卡,月成本可以压到几美元。
延伸阅读
更多相关攻略推荐:点几下鼠标就能管服务器:cPanel、宝塔、1Panel 与 Hes、【Docker实战 01】低配VPS运行10个核心服务、教你看懂 %st 乱飙!深入揭秘 VPS 厂商的 CPU 偷窃(St、【VPS 进阶玩法精选 04】Linux 内核与 VPS:为什么内核、【发行版选型 10】如何选择合适的 Linux 发行版。
没有显卡也能跑?CPU 推理的原理与边界
大语言模型的推理,本质是一连串矩阵乘法。GPU 擅长大规模并行,所以快;CPU 核心少、但也能算,只是慢。所谓“CPU 推理”,就是不让模型去显卡,而是用 CPU 的多个核心一起算。Ollama 和 llama.cpp 都支持纯 CPU 模式,开启后模型权重放在内存里,计算全靠 CPU。
边界在哪?主要是内存和速度。模型权重要整块加载进内存,所以“内存够不够装下模型”是第一道坎;其次,CPU 算 1.5B 模型大约每秒几个到十几个 token,比显卡慢一个数量级,但用来做代码补全、写文案、问答这种不那么追求实时性的活,完全够用。先把预期管理好:它不是用来跟 ChatGPT 抢速度的,而是用来在你自己的机器上、数据不出服务器地干轻活。
为什么 2G 内存也能跑:权重体积与运行内存的账
先算笔账,很多人是被“大模型要几十 G 显存”吓退的,但那是 70B、权重没压缩的版本。我们用的 1.5B 模型,原始 fp16 权重也就 3GB 出头,量化到 q4 之后权重只剩 1GB 左右,加上运行时 KV 缓存,总内存占用 1.5~2GB,正好卡在 2G 小机的边缘。也就是说,2G 内存的物理上限决定了:你只能玩 0.5B / 1.5B 这种量级,3B 最好上 4G。这账算清了,就不会盲目去拉一个 7B 把自己 OOM 搞崩。
选对模型:1.5B / 3B 超轻量量化模型怎么挑
关键在“量化”。原始模型权重是 16 位浮点(fp16),体积大;量化把它压成 4 位整数(q4)等低精度,体积和内存占用直接砍掉一大半,精度损失很小。常见的量化等级:
- q4_K_M:平衡之选,速度和精度都好,最推荐。
- q4_0 / q2_K:更省内存,精度略降,适合极低成本机器。
- q8_0 / fp16:几乎无损,但内存翻倍,没必要在 CPU 小机器上用。
内存占用有个粗略公式:模型参数量(十亿)除以 10,再乘量化系数。比如 1.5B 的 q4 量化,权重大约 1.5 / 10 × 5 ≈ 0.75GB,加上 KV 缓存,实际跑起来 qwen2.5:1.5b-q4_K_M 约占 1.6GB 内存;DeepSeek-R1-Distill-Qwen-1.5B 的 q4_k_m 版约 1.8~2.1GB;qwen2.5:0.5b 只要 0.8GB 左右;qwen2.5:3b 的 q4 版约 2.2GB。
所以对你那台 2G 内存的 VPS:qwen2.5:0.5b 最稳;qwen2.5:1.5b-q4_K_M 也能跑,但建议加一块 swap 当保险;3B 模型最好上 4G 内存的方案。模型推荐:DeepSeek-R1-Distill-Qwen-1.5B(推理能力强,适合思考/代码)、Qwen2.5-1.5B / 3B(中英文均衡,通用对话和写作)。想看本机已有哪些模型,用 ollama list;想删掉占地方的,用 ollama rm 模型名。
用 Ollama 三步跑起来
第一步,安装 Ollama(支持 Debian / Ubuntu 等主流 Linux):
curl -fsSL https://ollama.com/install.sh | sh第二步,拉取并运行一个量化小模型。比如拉 DeepSeek 的 1.5B 蒸馏版:
ollama pull deepseek-r1-distill-qwen:1.5b-q4_k_m
ollama run deepseek-r1-distill-qwen:1.5b-q4_k_m或者 Qwen2.5 的 1.5B:
ollama pull qwen2.5:1.5b-q4_K_M
ollama run qwen2.5:1.5b-q4_K_M第三步,关键的内存与线程调优。无显卡小机器最怕 OOM(内存撑爆),用环境变量约束一下:
export OLLAMA_NUM_THREADS=1
export OLLAMA_CONTEXT_LENGTH=2048
export OLLAMA_KEEP_ALIVE=24h
export OLLAMA_MAX_LOADED_MODELS=1
export OLLAMA_NO_CUDA=1说明:OLLAMA_NUM_THREADS 设成“核心数减 1”,留一个核给系统,否则 Ollama 占满所有核,SSH 都可能卡死;OLLAMA_CONTEXT_LENGTH 从默认 4096 降到 2048,能少占近一半内存;KEEP_ALIVE=24h 让模型常驻内存,避免每次提问都重新加载等半分钟;MAX_LOADED_MODELS=1 保证同时只加载一个模型;OLLAMA_NO_CUDA=1 强制走 CPU(没有显卡时加上更稳)。
如果你的 VPS 只有 2G 内存又想跑 1.5B,先开一块 swap:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile然后就可以用 API 调用了,比如:
curl http://localhost:11434/api/generate -d '{
"model": "qwen2.5:1.5b-q4_K_M",
"prompt": "用一句话解释什么是量化",
"stream": false
}'llama.cpp 备选方案(纯命令行 / API)
如果你不想用 Ollama,或者想更轻量,llama.cpp 是另一个好选择,纯 C++、几乎零依赖:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make准备好一个 GGUF 格式的模型文件后,单轮推理(强制 CPU、4 线程):
./llama-cli -m model.gguf -p "你好,介绍一下你自己" -ngl 0 -t 4想对外提供 OpenAI 兼容的 API,就起 llama-server:
./llama-server -m model.gguf -ngl 0 -t 4 -c 2048 --host 0.0.0.0 --port 8080这里 -ngl 0 表示不把任何层放到 GPU(纯 CPU),-t 是线程数,-c 是上下文长度。
接上 Telegram Bot 或 Open WebUI,打造 24h 私有 AI
模型跑起来后,最直接的交互方式有两种。一是 Web 界面 Open WebUI,它自带聊天窗口,只要让它连上 Ollama 就行(通过环境变量 OLLAMA_BASE_URL 指向你的服务地址),适合自己或团队在浏览器里用。二是 Telegram Bot,适合随时在手机上问。
一个最小化的 Telegram Bot 思路:用 python-telegram-bot 之类库,机器人收到消息后,把文本当作 prompt,POST 到上面那个 Ollama 的 /api/generate 接口,拿到回复再发回聊天框。这样你就拥有了一个 7×24 在线、数据留在自己 VPS 上的私人助手,可以拿来写文案、做代码补全、回复常见问题。
注意事项:一是别把 11434 端口直接暴露公网,至少加个反向代理 + 密码,或者用防火墙只放行 Telegram 的 IP;二是 Bot 调用时给个适中的 num_predict(比如 512),避免一次生成太久把连接拖垮;三是 2G 小机器就专心跑一个小模型,别同时挂 Bot 又开 WebUI 又跑别的重活。
速度预期与避坑
在 4G 内存、无 GPU 的普通云虚拟机上,社区实测的大致体验是:简单问答(几十字)本地 5~10 秒出结果;生成一段代码(百来行)约 30~60 秒;复杂长文可能 2~5 分钟。换算成速度,体面的现代 CPU 跑 1.5B 大约 5~15 token/s,老架构(比如上篇说的洋垃圾 Xeon E5)会更慢,可能只有 2~5 token/s,体验上要有耐心。一个粗略对照:0.5B 模型最快、1.5B 适中、3B 明显变慢,挑模型时就是在“能力”和“速度”之间做取舍。
几个常见坑:内存不够会直接 OOM 被杀,务必按上面开 swap、限上下文;线程设太多会拖垮 SSH,留一个核给系统;模型首次加载慢,靠 KEEP_ALIVE 常驻解决;中文长文本建议分段提问,别一次塞几千字;如果用了 swap,生成时偶尔会卡顿一下,那是系统在换页,属于正常现象。另外记得定期 ollama rm 清理不用的模型,别让磁盘被一堆 q4 文件塞满。
进阶玩法:用 Modelfile 定制你的专属小模型
默认模型是“通用人格”,想让它更听话,可以写一个简单的 Modelfile 来固化系统提示词和参数。比如建一个文件,用 FROM 指定基础模型,再用 PARAMETER 设置温度和上下文长度,用 SYSTEM 写一段角色设定:
FROM qwen2.5:1.5b-q4_K_M
PARAMETER temperature 0.3
PARAMETER num_ctx 2048
SYSTEM 你是一个简洁的中文技术助手,回答尽量短,能用代码就用代码。然后构建并运行这个定制模型:
ollama create my-assistant -f Modelfile
ollama run my-assistant这样你就得到了一个风格固定的私有助手。实践里还有几个小技巧:一是把 temperature 调低(0.2~0.4),代码和事实类回答会更稳,不容易胡编;二是把它当代码补全用,在编辑器里配个 REST 客户端,选中一段函数签名发给模型,就能拿到补全建议;三是定期 ollama rm 掉不用的模型,别让一堆 q4 文件把磁盘塞满。2G 小机别贪多,一个定制模型常驻就够,需要换风格时再重建。
最后说一句什么时候该升级:如果你发现 1.5B 的回答经常答非所问、记不住长上下文,或者速度慢到没法日常用,那就别硬撑了,直接换 4G 内存的方案跑 3B,或者干脆上带 GPU 的实例。小模型胜在免费和隐私,不是用来替代旗舰大模型的,想清楚自己的需求再掏钱。另外在 2G 机器上跑模型时,尽量关掉其它占内存的服务(比如暂停不必要的 docker 容器),给推理多腾出一点空间,体验会顺滑不少。
一句话总结:几美元的无显卡 VPS 真能跑 AI,核心是“选 1.5B/3B 的 q4 量化小模型 + 用 Ollama/llama.cpp 走 CPU + 留足内存和线程”。把它接成 Telegram 机器人或私有 Web 助手,低成本也能拥有自己的 24 小时 AI。
常见问题 FAQ
问:2GB 内存无显卡真能跑大模型吗? 答:能跑超轻量模型。Ollama 配合 1.5B/3B 级模型(如 Qwen2.5-1.5B、DeepSeek-R1-Distill-1.5B)在 CPU 量化推理可行,响应慢但能用,适合学习与原型,别指望实时高并发。
问:2GB 够吗,要加 SWAP 吗? 答:2GB 偏紧,建议加 2–4GB SWAP 防 OOM,并选 Q4/Q2 量化模型减显存/内存占用。模型权重放磁盘、推理走 CPU,首次加载慢,后续靠缓存。生产高并发需更大内存或 GPU。
问:适合什么场景? 答:个人助手、代码补全、文档摘要、本地知识库问答等低频调用最合适。配 Ollama + Open WebUI 练手,或用 API 包装成小服务。高并发/商用建议上更大实例或 GPU 机。