本地跑大模型卡在显存?RTX 3090升级实测与量化调优指南

📅 发布时间:2026/10/1 9:06:23
本地跑大模型卡在显存?RTX 3090升级实测与量化调优指南
这台机器原本是 i7-8700K 加 GTX 1080 Ti 的配置平时打游戏没什么怨言但自从开始折腾本地跑大模型这块卡就越来越让我难受。11GB 显存看着不少可真用起来7B 模型想上 Q8 量化非常勉强14B 更是连边都摸不着多轮对话稍微长一点就直接 OOM 崩溃。前几天终于狠下心花 4400 收了一张二手 RTX 309024GB 显存。换完之后本地跑大模型的体验到底提升了多少我这次没有只给一个“起飞了”的结论而是把换卡前后的实测数据、量化选择、功耗温度和踩坑过程完整整理了出来适合正在纠结要不要升级显卡、以及想在本地跑大模型但预算卡在 4000 元上下的朋友参考。1. 换卡前的困局为什么 1080 Ti 跑不动本地大模型1.1 本地跑大模型的三道硬门槛很多人以为跑大模型就是“显卡好一点就行”实际拆开看本地推理的瓶颈至少有三个显存容量、显存带宽、以及算力指令集的支持程度。这三者缺一个体验都会断崖式下降。先说显存容量。模型权重文件多大推理时基本就得占多大显存。一个 7B 参数模型用 Q4 量化权重大约 4.5GB 到 5GB听起来不大对吧可别忘了还有 KV cache也就是模型在对话过程中缓存历史计算结果的那部分内存。上下文越长KV cache 占用越大2K 上下文可能只要 0.5GB拉到 8K 就要 2GB 上下如果是 14B 甚至 32B 的模型KV cache 占用还会翻倍。所以“显存刚够装权重”和“显存真正跑得舒服”是两回事。第二道门槛是显存带宽。大模型推理时每生成一个 token理论上都要把整个模型的权重从显存里读一遍。这就像一个查字典的人每次要抄一个字但每次都得从头把字典翻一遍。字典越大翻得越慢显存带宽越高翻得越快。生成速度的上限粗略可以用“显存带宽 ÷ 模型权重体积”来估算。8B Q4 模型权重约 5GB如果显存带宽是 936GB/s理论上限大约 180 tokens/s实际受各种因素影响打个三折四折也能有 40 到 60 tokens/s。但 1080 Ti 的带宽只有 484GB/s理论上限直接砍半。第三道门槛是算力和指令集。现代显卡上的 Tensor Core 对 FP16 和 BF16 的计算有专门加速而 1080 Ti 属于 Pascal 架构根本没有 Tensor Core跑 FP16 全靠普通 CUDA 核心硬算效率很低。这意味着同样一段 prompt 在做 prefill也就是第一次生成前处理整段输入时老卡要慢得多长文档、长提示词场景下尤其明显。1.2 GTX 1080 Ti 的极限在哪里换卡之前我拿 1080 Ti 做了几组对照测试。首先是 8B 模型比如 Llama 3 8B 或者 Qwen2.5 7B用 Q4_K_M 量化上下文拉到 4096生成速度勉强能有 10 到 14 tokens/s。单看这个数字好像还能用但一旦对话历史变长KV cache 涨上去速度就会掉到 8 左右而且连续生成 1000 个 token 的时候明显感觉卡顿。再往上14B 模型用 Q4 量化权重大约 9GB加上 KV cache 差不多 10 到 11GB正好顶在 1080 Ti 的显存上限边缘。我试过强行加载结果要么直接 OOM要么刚开始能跑聊两轮之后上下文一长就崩。就算运气好加载成功了生成速度也只有 3 到 4 tokens/s基本属于“能出字但没法用”的状态。至于 32B 模型那就完全不用想了20GB 权重往显存里一怼连加载都过不去。所以当时的处境很尴尬小模型配上低量化勉强能玩中大型模型要么跑不动要么慢到怀疑人生。这才是换卡最核心的动机——不是追求帧数而是想让模型规模、量化精度和生成速度三者至少能兼顾一下。2. 4400 元选卡为什么我最后锁定了 RTX 30902.1 同价位候选卡横向对比4400 元这个预算放在现在是挺尴尬的。买新卡的话能摸到 RTX 4070 Super 的入门价也能买到 4060 Ti 16GB但这两张卡的显存分别是 12GB 和 16GB。如果是打游戏4070 Super 确实香DLSS 3、光追、能效比都很好可我要的是本地跑大模型游戏性能再强帮不上忙。我把自己关心的参数列了个表显卡显存显存带宽Tensor Core二手/新卡情况适合的大模型场景RTX 4070 Super12GB GDDR6X504GB/s有第四代新卡4400 左右8B 模型高量化14B 勉强RTX 4060 Ti 16GB16GB GDDR6288GB/s有第四代新卡3500 左右14B 低量化能跑但带宽偏低RTX 3090 二手24GB GDDR6X936GB/s有第三代二手4400 左右14B/32B 量化后流畅推理RTX 4080 二手16GB GDDR6X717GB/s有第四代二手 6000预算够的话更均衡4060 Ti 16GB 的显存看着够但带宽只有 288GB/s这是硬伤。生成 token 是典型的带宽敏感型任务带宽低了哪怕模型塞得进去速度也会很难看。4070 Super 带宽 504GB/s 好一些但 12GB 显存跑 14B 模型还是紧巴巴32B 想都别想。相比之下二手 3090 的核心优势就非常突出了24GB 显存加上 936GB/s 带宽恰好是本地跑大模型最刚需的两个指标。还有个事情值得说清楚3090 是安培架构虽然 Tensor Core 比 40 系晚一代但对 llama.cpp、LM Studio、Ollama 这类工具来说FP16 和量化后的推理差异没有想象中那么大。真正拉开差距的是显存容量和带宽这两项 3090 在同价位几乎无解。2.2 显存带宽和 Tensor Core 才是本地大模型的关键为什么带宽这么重要我再展开算一笔账。以 14B 模型 Q4_K_M 量化为例权重文件大约 9GB。在 3090 上生成一个 token需要把这 9GB 权重从显存读一遍3090 的显存带宽是 936GB/s理论极限大约是 100 tokens/s 出头换到 4070 Super带宽 504GB/s理论极限直接掉到 50 多 tokens/s再换到 4060 Ti 的 288GB/s理论极限只剩 30 多。实际由于线程调度、总线开销、模型结构等因素真实速度大概只有理论值的四分之一到三分之一但带宽的倍数关系基本还是能体现出来。这就是为什么我反复强调买显卡跑大模型先看显存和带宽再看算力。游戏显卡看中的 CUDA 核心数量、频率、光追单元在大模型推理场景里权重没有想象中那么大。Tensor Core 的作用主要体现在 prefill 阶段和训练/微调阶段。生成式对话的时候第一次处理用户输入的 prompt 需要做大量矩阵乘法Tensor Core 快就能明显缩短“首字延迟”。我用 1080 Ti 的时候一段 500 字的 prompt等第一个 token 出来经常要等好几秒换到 3090 之后基本是输入完就第一字就出来了。这个体验差异比 tokens/s 数字上的提升更直观。2.3 二手 3090 的验卡流程与避坑二手 3090 水很深我收卡的时候没有直接付款交机而是约在当面测试的地方跑了几个流程。首先是外观检查看背板有没有发黄、螺丝有没有拆卸痕迹、防拆贴是否还在、散热鳍片灰尘情况。然后是上机测试用 GPU-Z 查看传感器是否正常识别确认显存颗粒品牌和 BIOS 信息再用 3DMark Time Spy 跑一遍压力测试观察有没有花屏、掉驱动、温度异常。更关键的一步是显存检测。3090 这类大显存卡最容易出暗病的就是显存颗粒尤其是曾经被拿去挖矿的卡显存高温虚焊、坏块的问题不少。我特意找了一版能在本地 Linux 环境跑的 MATS 显存检测工具跑了一遍完整测试检查有没有报错地址。MATS 全称是 Modular Automated Test System是 NVIDIA 官方给板卡厂商用的显存测试工具民间有不少修改版可以跑在普通机器上。跑一次大约十几分钟如果显存有坏块会直接标出地址。这一步虽然麻烦但能筛掉大部分问题卡。还有一点容易被忽略供电和接口。3090 满载功耗能到 350W 以上非公版卡还有三 8pin 供电的型号买卡之前一定要确认自己的电源功率和模组线够不够。我原来的电源只有 650W这次换卡顺便换成了 850W 金牌全模组这钱也得算进预算里。3. 换卡前后的实测数据tokens/s 和模型规模都变了3.1 测试环境与测试方法为了尽量公平这次测试我固定了软件环境Windows 11 系统驱动用 551.86 版本推理工具以 LM Studio 0.2.29 为主底层调用 llama.cpp 的 CUDA 后端同时用 Ollama 跑了一遍同样的模型做交叉验证。模型统一从模型仓库拉取 GGUF 格式权重量化版本覆盖 Q4_K_M、Q8_0 两档。测试 prompt 用的是同一段描述大模型概念的中文段落固定输出长度 128 tokens上下文窗口分别测试了 2048 和 8192 两档。每项测试先做一次 30 秒的 warmup避免冷启动导致的数值偏低再取三次生成速度的平均值。CPU 是 i7-8700K内存 32GB没有做任何超频。这里说明一下同型号显卡在不同驱动、不同散热条件、不同推理后端下数据会有浮动我这组结果只代表这台机器的实际情况但趋势是有参考价值的。3.2 7B/8B 模型从“勉强能用”到“跑满速”先看最常用的 7B/8B 档位。这里测的是 Llama 3 8B 和 Qwen2.5 7B两个模型表现接近我以 Qwen2.5 7B 为例量化上下文1080 Ti 速度1080 Ti 情况3090 速度3090 情况Q4_K_M204812 tokens/s稳定运行41 tokens/s显存占用约 6.5GBQ4_K_M81928.5 tokens/s接近显存上限速度下滑35 tokens/s显存占用约 8.2GBQ8_020486.5 tokens/s勉强运行内存吃紧25 tokens/s显存占用约 9.1GBQ8_08192无法运行OOM 崩溃22 tokens/s显存占用约 10.8GB对比下来非常直观。1080 Ti 在跑 8B 模型的时候Q4 量化本来就偏慢Q8 量化更是直接被显存卡死长上下文基本免谈。3090 跑 Q4 能稳定在 35 到 41 tokens/sQ8 也有 22 到 25 tokens/s。也就是说同样的模型我把量化精度从 Q4 提升到 Q8速度反而比原来 Q4 还快一倍多。为什么 Q8 反而很关键因为量化精度直接关系到模型输出的质量。Q8 相比 Q4数值误差小很多在需要严谨回答、代码生成、数学推理的场景下答案的准确率提升是可以感知的。以前我只能跑低质量量化现在可以默认跑 Q8这是体验质变的第一层。3.3 14B/32B 模型从“看不了”到“流畅推理”中大型模型才是这次换卡收益最大的区间。14B Qwen2.5 和 32B Qwen2.5 分别做了测试模型量化上下文1080 Ti 速度1080 Ti 情况3090 速度3090 情况Qwen2.5 14BQ4_K_M2048无法稳定运行加载成功概率低偶发 OOM20 tokens/s显存占用约 16GBQwen2.5 14BQ4_K_M8192无法运行直接 OOM16 tokens/s显存占用约 18GBQwen2.5 32BQ4_K_M2048无法加载显存不足11 tokens/s显存占用约 21GBQwen2.5 32BQ4_K_M4096无法加载显存不足9 tokens/s显存占用约 22.5GB14B 模型在 1080 Ti 上基本属于“理论能跑但实际没法用”的状态加载成功率低加载成功之后多轮对话也容易崩。到了 3090 上14B Q4 稳定在 16 到 20 tokens/s这个速度已经完全够日常对话和文档处理了。32B 模型更是从“完全不可用”变成了“可用”9 到 11 tokens/s 虽然不算快但拿来写代码、做分析、跑批量任务已经能接受。我还额外试了一下 70B 级别的模型比如 Qwen2.5 72B Q4权重约 40GB3090 那 24GB 显存肯定是装不下的需要把一部分层 offload 到 CPU。结果速度掉到 2 到 3 tokens/s基本没法正常对话。这个结果也说明了一个现实24GB 显存的甜蜜点就是 32B 模型的 Q4 量化想跑 70B 级别要么上 48GB 的专业卡要么接受 CPU offload 的低速煎熬。3.4 体验层面的变化比数字更明显数字之外有几个体感上的变化让我觉得这 4400 花得值。首先是首字延迟。原来用 1080 Ti 跑 8B 模型输入一段中文 prompt 之后常常要盯着屏幕等两三秒才开始出字现在 3090 基本是秒回长 prompt 场景下差距更大。其次是多轮对话稳定性。原来聊到五轮以上就担心 OOM现在 24GB 显存给了很高的冗余哪怕把上下文拉到 81928B 模型也只用了三分之一不到的显存完全不需要担心崩掉。还有一个容易忽略的点同时开多个模型的能力。以前显存只够同时跑一个模型切换模型要全部卸载再加载。3090 的 24GB 显存可以在后台保持一个 32B 模型驻留另外再开一个小模型处理简单任务这种多实例工作流在以前是想都不敢想的。4. 换卡之后才明白的事量化、上下文与微调4.1 量化精度终于有了选择权以前我总觉得“能跑起来就行”量化越低越好因为低量化省显存、跑得快。但换到 3090 之后我发现量化选择权本身就是一种性能提升。以 8B 模型为例Q4_K_M 和 Q8_0 的显存差距大约 3GB速度差距约 1.5 倍。在 1080 Ti 上跑 Q8 需要把上下文压缩到 2048 以内才能不 OOM这等于用性能换质量还要牺牲对话长度。而在 3090 上Q8 配合 8192 上下文仍然只占一半显卡显存根本不需要做取舍。对有编程需求的场景我实测过 Q4 和 Q8 生成代码的正确率差异。Q4 在处理复杂逻辑时容易出现变量名混乱、漏括号这类低级错误Q8 虽然不能保证完全正确但整体可靠度明显更高。所以我现在跑代码生成的默认配置就是 Q8只有跑 32B 模型的时候才切回 Q4。4.2 KV cache 和长上下文24GB 显存的真正红利长上下文是很多人忽略的显存杀手。上下文窗口一开大KV cache 的占用会线性增长模型越大、头数越多涨得越快。我用 Qwen2.5 32B 跑了一个简单估算Q4 权重大约 20GB4K 上下文的 KV cache 大约 2.5GB8K 就到 5GB 左右。如果显存只有 16GB可能模型权重装下了上下文却卡死在 2K这种情况下模型哪怕再聪明也白搭因为对话历史稍微一长就被截断。3090 的 24GB 显存跑 14B Q8 加 8K 上下文绰绰有余跑 32B Q4 加 4K 到 6K 上下文也在合理范围内。这让我在处理长文档、做知识库问答的时候终于不用频繁手动清空对话历史了。有些推理引擎还支持 KV cache 量化比如把 KV cache 压到 8bit 或者 4bit能进一步省显存。如果你发现显存刚好差一口气可以去试试这个开关。我个人实测KV cache 量化对生成质量影响不大但对显存占用的缓解非常明显尤其是上下文窗口开得很大的时候。4.3 本地微调从“玩推理”到“跑 LoRA 训练”换卡之后我做的另一件事是尝试本地微调。以前只有 11GB 显存想微调 7B 模型都费劲因为训练和推理不一样训练要同时保存权重、梯度、优化器状态显存占用比推理高好几倍。3090 的 24GB 显存让我可以用 LlamaFactory 跑 7B 模型的 LoRA 微调批大小设 2 到 4显存占用在 18GB 到 22GB 之间勉强能跑起来。微调的意义在于把通用模型变成“懂你数据”的模型。我用一批业务文档做了 LoRA 微调实验训练大概跑了一个小时效果确实比直接用 RAG 提示词工程要自然很多。如果你的目标不止是对话还想让模型学会自己的写作风格、特定领域的术语用法24GB 显存正好踩在了本地微调的入门门槛上。老规矩训练的时候温度控制比推理要严格得多。我跑 LoRA 训练时 GPU 温度稳定在 75 度上下显存温度比核心温度更容易被忽略建议开着监控看整卡温度而不是只看核心。5. 换卡过程踩过的坑和排查实录5.1 硬件层面的坑电源、机箱与温度这次换卡最大的硬件坑是电源。原来 650W 电源带 1080 Ti 用了三年都没事换 3090 之后才发现不够。3090 的瞬时功耗可以冲到 400W 以上加上 CPU 和其他配件650W 电源直接触发过流保护黑屏重启。后来换成 850W 金牌全模组问题才解决。这里提醒一句换 3090 先看电源额定功率至少 850W最好选单路 12V 输出能力强的型号。第二个坑是机箱风道。3090 是非公三风扇版本卡身又厚又长原来的中塔机箱塞进去之后离侧板只差两厘米散热空间很差。跑 32B 模型长时间满载核心温度能到 85 度以上热点温度破百风扇转速拉满跟飞机起飞似的。后来我把机箱侧板换成透风款又加了一个机箱后置排风扇温度才压到 75 度左右。如果你买的是涡轮版 3090散热压力会更大建议拿到手先清灰换硅脂。5.2 软件层面的坑驱动、WSL2 与 TCC/WDDM 模式软件层面我踩的第一个坑是驱动没有干净卸载。从 1080 Ti 换到 3090直接在旧驱动基础上装新驱动结果设备管理器里识别正常但一跑 CUDA 程序就报错。后来用 DDU 在安全模式下彻底卸载旧驱动再装干净的新驱动问题才消失。这个步骤看起来简单但真遇到问题的时候很容易忽略。另外很多人会纠结 Windows 下到底应该用 WDDM 模式还是 TCC 模式。这里有个知识点TCCTesla Compute Cluster模式是 NVIDIA 给部分专业卡和计算卡提供的驱动模式主要为了最大化计算性能、禁用显示输出而 WDDM 是 Windows 下常规的显示驱动模型游戏卡默认就是这种模式。我的 3090 作为消费级显卡在 Windows 下只能用 WDDM 模式并不支持切换 TCC。所以如果你也用的是游戏卡别去折腾 TCC 了WDDM 模式下跑 llama.cpp 和 Ollama 是完全没问题的。如果你习惯用 WSL2 跑大模型还有一点要注意WSL2 里默认调用的显卡驱动和 Windows 侧是同一个所以只要 Windows 侧驱动装好了WSL2 里一般直接就能用 CUDA。我一开始在 WSL2 里跑 Ollama 发现识别不到 GPU排查了一圈才发现是 Windows 侧的 NVIDIA 驱动版本太老升级之后 WSL2 里瞬间就识别到了。5.3 常见问题速查表最后整理一下我这次折腾过程中的问题合集按频率排序问题现象排查方向显存不足 OOM加载模型或长对话中途报 CUDA out of memory换更低的量化精度、缩短上下文窗口、启用 KV cache 量化电源过载黑屏满载生成时整机断电重启换额定功率至少 850W 的电源检查供电线是否插满显卡温度过高核心温度 85 度以上热点 100 度以上清灰换硅脂、调整机箱风道、锁功耗墙二手卡花屏/掉驱动跑分或推理过程中画面花屏、驱动停止响应先用 MATS 检测显存排查硬件问题再考虑重装驱动速度没有提升换卡后 tokens/s 变化不大检查模型是否跑在核显上、驱动是否正确安装、推理后端是否调用了 CUDA长上下文越聊越慢对话超过 5 轮后速度明显下降看 KV cache 是否吃满显存、是否需要缩短 ctx 或启用 KV cache 量化WSL2 识别不到 GPUWSL2 里 nvidia-smi 为空升级 Windows 侧显卡驱动确认已安装 WSL 版 CUDA 驱动我个人实际操作中还有一个小体会换卡之后不要急着跑大模型先跑一遍 3DMark 和显存压力测试把卡的基础健康状况确认好再应用到实际推理场景。本地跑大模型对显卡的稳定性要求比玩游戏高得多一次长时间生成任务如果中途崩了前面的对话内容全得重来那种挫败感比慢还难受。再说回这 4400 块值不值。我的答案很明确如果你只是偶尔玩玩 8B 模型那不需要换卡用云端 API 反而更省钱但如果你像我一样希望本地跑 14B 以上、想体验高量化精度、想折腾长上下文甚至 LoRA 微调那么 3090 的 24GB 显存和 936GB/s 带宽带来的自由度是这个价位任何新卡都给不了的。换卡之后我最大的感受不是“变快了”而是“终于不用在量化、上下文、模型大小之间做痛苦的三选一了”。这笔账算下来花得值。