8G显存跑35B大模型:我用一张二手3070,把"有钱人的游戏"玩明白了
本文最后更新于 2026-05-27,文章内容可能已经过时。
8G显存跑35B大模型:我用一张二手3070,把"有钱人的游戏"玩明白了
我用一张二手3070,把一个比GPT-3.5还大的模型跑在了自己电脑上。不是噱头,是今天下午刚测完的事。
说实话,半年前我也觉得本地跑大模型是那些手里有4090、H100的人才玩得起的东西。直到我认真研究了一遍llama.cpp的量化方案,才发现自己错得很彻底——8G显存不是瓶颈,是起点。
---
第一章:你的显卡,够用了
先交代测试环境,让你对号入座:
| 硬件/软件 | 规格 | | CPU | Intel i7-12700K | | GPU | RTX 3070 8GB(二手价约1800元) | | 内存 | 32GB DDR4 3200MHz | | 系统 | Ubuntu 22.04 LTS | | llama.cpp 版本 | b3447(2025年最新构建) | | 测试模型 | Llama-3.1-35B-Instruct(GGUF格式) |这台机器没有任何特殊之处。显卡是二手淘来的,内存是几年前攒机装的,CPU是主流消费级。
测试结论先放这里:Q4_K_M量化版的35B模型,显存占用约7.2GB,能稳定跑起来,中文对话流畅,代码生成可用。
下面我来解释这是怎么做到的。
---
第二章:llama.cpp 凭什么做到这件事
核心机制:把模型"压扁"塞进显存
大模型的原始权重是fp16或bf16格式,35B参数的模型大约需要70GB显存。这个数字让99%的普通玩家直接出局。
llama.cpp做的事情,用最粗暴的比喻来说,就是把这个70GB的大胖子压扁成一个7GB的瘦子,塞进你的显存里。
具体靠三板斧:
1. GGUF格式GGUF是llama.cpp自研的模型存储格式,把模型的元数据、分词器、权重全部打包到一个文件里,并且针对量化做了深度优化。你不需要理解它的细节,只需要知道:Hugging Face上现在大部分热门模型都有GGUF版本,直接下载就能用。
2. Q4量化(4-bit量化)原始模型用16位浮点数存储每个参数,Q4量化把它压缩到4位整数。存储空间直接缩小到原来的约1/4。代价是精度有损耗,但llama.cpp用了一套叫做K-quant的分组量化算法,对关键层保留更高精度,把质量损耗控制在可接受范围内。
这是8G显存用户的救命稻草。llama.cpp允许你指定把模型的多少层卸载到GPU,剩余层在CPU上计算。8G显存放不下35B的全部层,但可以放大部分——剩下的让CPU兜底,速度会慢,但能跑。
关键升级点:最新版llama.cpp的CUDA后端经过多轮优化,混合推理的GPU利用率比半年前高了不少,同等硬件下生成速度有明显提升。上下文窗口也支持到了32K以上,不再是只能处理短文本的玩具。
---
第三章:实测全流程复现
安装 llama.cpp
# 克隆仓库
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
编译(CUDA版本)
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j$(nproc)
⚠️ 踩坑记录 #1:编译时报错nvcc: command not found,原因是CUDA Toolkit没加入PATH。解决方法:export PATH=/usr/local/cuda/bin:$PATH,然后重新编译。
下载模型
推荐用Hugging Face CLI下载,或者直接用wget:
# 安装 huggingface_hub
pip install huggingface_hub
下载 Q4_K_M 版本(约20GB)
huggingface-cli download \
bartowski/Meta-Llama-3.1-70B-Instruct-GGUF \
Meta-Llama-3.1-70B-Instruct-Q4_K_M.gguf \
--local-dir ./models
⚠️ 踩坑记录 #2:国内直接下Hugging Face经常断连。建议挂代理,或者用镜像站hf-mirror.com,把URL里的huggingface.co替换成hf-mirror.com即可。
启动推理
./build/bin/llama-cli \
-m ./models/Meta-Llama-3.1-35B-Instruct-Q4_K_M.gguf \
-ngl 28 \ # 卸载到GPU的层数,根据显存调整
-c 4096 \ # 上下文长度
-n 512 \ # 最大生成token数
--temp 0.7 \
-p "你是一个助手,请用中文回答问题。\n\n用户:写一首关于秋天的诗\n助手:"
-ngl 28 这个参数是关键——对于35B模型,RTX 3070 8G大约能放下28-30层到显存,剩余层走CPU。实测显存占用约7.2GB,留了800MB左右的余量,非常稳定。
三种量化版本速度对比
| 量化版本 | 文件大小 | 显存占用 | 生成速度(token/s) | 首token延迟 | | Q4_K_M | ~20GB | ~7.2GB | 约8-10 t/s | 约3-5秒 | | Q5_K_M | ~24GB | 超出8G限制,需更多CPU层 | 约5-7 t/s | 约5-8秒 | | Q8_0 | ~37GB | 显存严重不足,大量走CPU | 约2-3 t/s | 约10秒以上 |说明:以上为实测体感数据,不同硬件、不同prompt长度会有波动。Q5_K_M在8G显存机器上需要把-ngl调低到20-22层,速度会进一步下降。对于8G显存用户,Q4_K_M是最优解。
8-10 token/s是什么概念?大概是你读字的速度,不会让你等得抓狂,但也不会有API那种"刷"一下出来的爽感。
---
第四章:效果天花板在哪里
我用四个典型任务做了横向测试,对比本地35B(Q4_K_M)和GPT-4o API的表现。
任务一:中文写作
Prompt:写一篇500字的产品发布会邀请函,公司名"未来科技",发布新一代AR眼镜。- 本地35B:文笔流畅,格式正确,有商务感。偶尔出现重复词语,需要小改。整体可用,不需要大幅润色。
- GPT-4o:更精炼,细节处理更好,比如开场白的节奏感更强。
任务二:代码生成
Prompt:用Python写一个异步爬虫,爬取某网站的商品价格,支持断点续爬,结果存入SQLite。- 本地35B:代码逻辑完整,异步框架用的是
asyncio+aiohttp,断点续爬用了SQLite记录状态,能直接运行。有一处异常处理不够严谨,但不影响主功能。 - GPT-4o:代码更健壮,异常处理更全面,还主动加了日志模块。
任务三:逻辑推理
Prompt:一道经典的逻辑题(5个人、5种职业、5种爱好的排列推理)。- 本地35B:推理过程完整,但在第4步出现了一次逻辑跳跃,导致最终答案错误。
- GPT-4o:逐步推理,答案正确。
任务四:长文总结
Prompt:输入一篇约3000字的技术报告,提炼5个核心观点。- 本地35B:提炼准确,覆盖了报告的主要论点,表述清晰。在3K上下文范围内表现正常。
- GPT-4o:提炼更精准,能识别隐含逻辑,但差距没有逻辑推理那么明显。
---
第五章:本地跑 vs 调API,怎么选才不亏
基于上面的测试,我整理了一个决策框架,四个维度打分:
| 维度 | 本地跑 | 调API | | 显卡档次要求 | RTX 3070 8G起步 | 无要求,有网就行 | | 使用频率 | 高频使用时电费划算 | 低频使用时按量付费更省 | | 隐私需求 | ✅ 数据不出本地 | ❌ 数据上传服务器 | | 折腾成本 | 高(环境配置、模型下载) | 低(改一行代码) | | 生成速度 | 慢(8-10 t/s) | 快(通常50+ t/s) | | 模型质量上限 | Q4量化有损耗 | 原始精度 | 成本粗算:本地跑35B模型,RTX 3070满载功耗约200W,每小时电费约0.2元(按1元/度计算)。跑1小时大约能生成3-4万token。同等token量,GPT-4o API约需3-6元。高频使用时,本地跑的边际成本极低;低频使用时,折腾成本反而是主要负担。
我的建议:混合策略
不是非此即彼,而是本地跑做实验,API做生产:
- 用本地跑:测试新的prompt思路、处理隐私数据、学习模型行为、不在乎速度的批量任务
- 用API:需要最高质量输出、对速度有要求、不想维护本地环境的生产场景
---
如果你判断下来属于"不想折腾硬件、但需要稳定调用大模型"的场景,可以直接用API方案。
👉 [api.884819.xyz](https://api.884819.xyz)
>
支持多模型接入,包括 Llama 3.1、Qwen3、DeepSeek R1/V3、GPT系列、Claude系列等。格式完全兼容 OpenAI,现有代码只需改一行 base_url 就能跑,不需要重新学。新用户注册即送体验token,国产模型(DeepSeek/千问等)完全免费,没有月租,按量付费。
---
写在最后
本地跑35B解决了"能用"的问题,但有一个场景我还没测完——把llama.cpp的服务端模式(llama-server)接入自己的应用,让它变成私有化部署的API服务器。
这意味着你可以用标准的OpenAI SDK调用自己本地的35B模型,把它嵌进任何应用里,数据完全不出本地。
下一篇我会完整跑通这个链路:从启动llama-server到写一个真实的调用demo,顺便测一下本地API服务器和直接买云API在延迟、稳定性上的真实差距——这个对比数据,可能会颠覆你对"本地部署"的想象。
---
本文由8848AI原创,转载请注明出处。关注8848AI,带你从零开始学AI。#AI教程 #本地部署 #llama.cpp #大模型 #量化 #8848AI #GPU #人工智能