资讯动态

Llama本地部署显存怎么算:配置、量化与调优指南

发布时间:2026/10/24 3:02:16 来源:尧图企业网站定制
显存不够这四个字是绝大多数人第一次尝试在本机跑 Llama 时撞上的第一堵墙。网上关于运行 Llama 大模型的 PC 配置要求的说法特别分裂有人说 8GB 显卡就够用有人说没 48GB 显存别碰两边说的其实都不是同一件事——他们跑的模型规模不同、量化等级不同、上下文长度不同甚至连跑起来的定义都不一样。有人觉得命令行里蹦出字来就算跑通有人要求首字延迟低于一秒、连续对话二十轮不崩。这篇东西就是想把这件事说透。从显存到底被什么吃掉了、怎么自己动手算到三档预算的整机配置单再到从零把环境搭起来、参数怎么调、跑不动了怎么排查一条线走完。适合两类人看一类是正准备下单买机器、想知道钱花在哪儿的另一类是机器已经在桌上、装完发现要么爆显存要么慢得像打字机的。零基础也能跟因为每个数字我都尽量给出算法和推导而不是甩一个结论让你背。1. 先把账算清楚Llama 到底吃多少显存动手配机器之前最值得花二十分钟做的事不是比价是把显存占用算一遍。这个账算明白了后面所有选择——买哪张卡、要不要上大内存、选哪个量化版本——全都是顺理成章的。反过来账不算就下单八成会买到一张差一点点的卡那种难受劲儿比直接买不起还折磨人。1.1 三条公式把显存占用拆成三块本地推理的显存占用本质上是三部分相加模型权重 KV Cache 计算缓冲区。三者缺一不可很多人只算了第一项就以为够了结果一加载就 OOM显存溢出问题基本都出在后两项。第一项最好算。权重显存约等于参数量乘以每参数字节数权重显存GB≈ 参数量B× 每参数字节数FP16 精度下每参数 2 字节一个 8B 模型就是 8 × 2 16GBQ8 量化约 1 字节8GBQ4 量化约 0.55 字节比 0.5 略高因为量化时会保留一部分高精度层和缩放系数8B 模型实测文件大小在 4.9GB 上下。这个 0.55 而不是 0.5 的差距不是抠字眼8B 模型差 0.4GB在 8GB 卡上就是能不能全量加载的分界线。第二项是 KV Cache也就是模型在生成每个字时需要记住的前文缓存它随上下文长度线性增长。公式是KV Cache字节 2 × 层数 × KV 头数 × 头维度 × 上下文长度 × 每元素字节数前面那个 2 是因为 Key 和 Value 各存一份。这里最关键的变量是KV 头数——现在的新模型普遍用了分组查询注意力GQAKV 头数远小于注意力头数缓存能小一个数量级。拿两个典型模型对比就明白了一个 32 层、32 个 KV 头、头维度 128 的老式 7B 模型FP16 下每 token 要吃 0.5MB4096 上下文就是 2GB而一个 32 层但只有 8 个 KV 头的新式 8B 模型每 token 只要 0.125MB8192 上下文才 1GB。同样叫8BKV 开销差四倍这就是为什么看配置建议时必须确认具体是哪个模型版本。第三项是计算缓冲区跟批大小batch size、上下文长度、是否开 FlashAttention 都有关经验值在 0.5GB 到 2GB 之间浮动。批大小开得大、上下文拉得长这块会明显膨胀。三块加起来我给你一张常用规模的对照表按 Q4_K_M 量化和 8K 上下文估算模型规模权重Q4_K_MKV Cache8K缓冲合计舒适显存8B约 4.9GB约 1.0GB约 1.2GB约 7.1GB8GB 起14B约 8.5GB约 1.5GB约 1.5GB约 11.5GB12GB 起32B约 19GB约 2.0GB约 2.0GB约 23GB24GB 起70B约 40GB约 2.5GB约 2.5GB约 45GB48GB 起看这张表你会发现一个残酷的事实显存的需求是台阶式的不是渐进的。从 8B 换到 14B显存需求从 7GB 跳到 11.5GB中间没有过渡带。这也是为什么显卡档位8G / 12G / 16G / 24G / 48G和模型档位几乎是一一对应的厂商定显存容量的时候心里想的也是这几档。1.2 量化等级怎么选省下来的每一分显存都要付代价量化就是拿精度换空间。同样是 8B 模型从 FP16 的 16GB 压到 Q4 的 4.9GB压缩了三倍多而日常对话质量的下降多数人其实感知不到。但不同量化等级之间的差异不是均匀的有几个坑得提前知道。量化等级每参数字节8B 实际大小质量感受适用场景FP162.0约 16GB基准训练、评测基线Q8_01.0约 8.5GB几乎无损显存宽裕追求稳定Q6_K0.8约 6.6GB接近无损12GB 卡跑 8B 的首选Q5_K_M0.7约 5.7GB微弱损失8GB 卡的安全区Q4_K_M0.55约 4.9GB可感知但不影响使用通用甜点最推荐Q3_K_M0.45约 4.0GB长文逻辑开始飘极限压显存Q2_K0.35约 3.0GB明显退化重复率高不推荐除非只做演示我的判断标准很朴素能用 Q4_K_M 就不要往下探能上 Q5_K_M 就不要停在 Q4。Q4_K_M 是社区验证最充分的甜点档绝大多数模型发布方都会专门为这个档位做校准质量损失被压到了很低。而 Q3 及以下短对话还看不出问题一旦让它写长文或者做多步推理就开始出现逻辑断裂、事实漂移、段落重复——你可能以为是模型能力不行其实是量化砍太狠了。有一个容易忽略的细节K 系列量化带 _K 后缀的比旧的非 K 系列好不少。老的 Q4_0、Q4_1 是整层统一处理K 系列会把模型里不同类型的张量分开对待对注意力层和 FFN 层用不同的策略同样体积下质量明显更好。现在拉模型认准 Q4_K_M、Q5_K_M 这类后缀就对了。还有一个隐性收益量化不光省显存还省带宽。而本地推理的生成速度恰恰是带宽瓶颈后面 4.1 节详细讲。所以同一张卡上Q4 版本不仅跑得动还比 Q8 版本快接近一倍。1.3 KV Cache 才是隐形杀手上下文长度不是随便拉的新手最容易犯的错是把上下文长度当成一个越大越好的旋钮直接拉到模型支持的上限。32K、128K 一路往上开结果显存炸了还找不到原因——权重才 5GB卡是 12GB怎么会 OOM原因就在 KV Cache 的线性增长上。前面那张表算的是 8K 上下文如果你的模型支持 128K把上下文拉到满KV Cache 就要乘以 16。还是那个 8B 模型从 1GB 涨到 16GB加上权重直接超出 12GB 卡的能力范围。这时候程序的行为往往是加载成功一开始生成就崩或者悄悄退回到 CPU 上跑速度断崖式下跌。两个实用的应对手段。第一个是 KV Cache 量化。主流推理框架都支持把 KV Cache 单独量化到 Q8 甚至 Q4显存直接减半到四分之一。开启方式通常是加一个参数llama.cpp 里是--cache-type-k q8_0 --cache-type-v q8_0。对生成质量的影响实测下来 Q8 的 KV 几乎无损Q4 的 KV 在长上下文里能感觉到一点点注意力涣散。我的习惯是优先用 Q8 KV只在显存实在紧张时降到 Q4。第二个是只给你真正需要的上下文。大部分人日常用不到 32K。写代码、翻译、总结一篇长文8K 到 16K 足够覆盖。真正需要长上下文的场景整本 PDF 问答、长代码库分析才值得为它付出显存代价。我自己的默认配置是 8K遇到具体任务再临时调高这个习惯帮我省下了好几次爆显存的麻烦。还有一个非常隐蔽的坑部分框架会在启动时就按最大上下文预分配 KV Cache而不是按实际用量动态增长。这意味着你设了 32K 但只聊了三句话显存照样按 32K 占着。判断方法是看启动后的显存占用是否远超预期如果是把上下文调小再试一次占用明显下降就说明是预分配行为。2. 三档预算的整机配置单账算完了可以谈具体配置。我不会给某某型号最优这种一刀切的答案因为预算和使用场景差异太大。我按显存档位分三档每档说清楚能跑什么、不能跑什么、钱该花在哪、哪里可以省。2.1 入门档8GB 显存能跑但要有心理准备8GB 显存是目前新装机的最低门槛对应的是主流中端显卡。这一档能做的事比很多人想象的多8B 模型 Q4_K_M 全量加载进显存8K 上下文日常问答、文案改写、简单代码补全都能跑得挺顺。速度大约在 40 到 50 tokens/s比人阅读速度快得多。但这一档的天花板也很硬14B 模型只能部分卸载把一部分层放显存、一部分留 CPU速度掉到 10 tokens/s 以下勉强能用但谈不上舒适。32B 及以上基本无望即使 Q3 量化也塞不进去混合推理的速度会慢到没法交互。上下文拉不长8K 以上必须开 KV 量化16K 以上即使量化了也紧张。多模态模型吃紧视觉编码器本身要占 1 到 2GB留给语言模型的余量就不够了。这一档的钱要花在刀刃上优先保证显存容量其次才是核心频率。同价位如果有 12GB 和 8GB 两个选择哪怕 12GB 那张卡的其他参数差一些也选 12GB。显存是不可扩展的频率不够只是慢一点显存不够是直接跑不了。另外提醒一句这一档别买只有 6GB 或 4GB 显存的卡那不是入门那是入不了门。4GB 显存连 8B 的 Q4 都放不下只能全 CPU 跑速度个位数体验极差。2.2 主流档12GB 到 16GB性价比最高的甜点区12GB 是我认为目前最值得推荐的一档原因是它能覆盖绝大多数人真正会用到的模型。8B 模型可以上 Q6_K 甚至 Q8_0质量拉满14B 模型 Q4_K_M 全量进显存8K 上下文速度 25 到 35 tokens/s32B 模型 Q3_K_M 可以勉强全量或者 Q4 部分卸载。16GB 是这一档的上沿多出来的 4GB 让你可以跑 14B 的 Q5_K_M、把上下文拉到 16K、开更大的批大小做批量处理。如果预算允许16GB 比 12GB 更从容特别是你打算一边跑模型一边开着浏览器和编辑器的时候——桌面环境本身会占掉 0.8 到 1.5GB 显存这个开销在 Windows 上尤其明显。这一档有个常被忽略的选型维度显存位宽和带宽。同样 16GB位宽 128bit 和 256bit 的卡生成速度可能差一倍。原因在 4.1 节会细说这里先记住结论本地推理的 decode 阶段是带宽瓶颈带宽越大tokens/s 越高。选购时把显存带宽作为一个必看参数它的重要性不亚于显存容量。2.3 高配档24GB 及以上为了 32B 和 70B24GB 是能正经跑 32B 模型的起点。32B 的 Q4_K_M 大约 19GB加上 KV 和缓冲刚好卡在 23GB 左右能全量进显存速度 15 到 20 tokens/s这个速度做实际工作已经完全够用。32B 相比 8B 的能力提升是质变的尤其在需要多步推理、长文写作、复杂指令遵循的任务上差距非常明显。再往上就是 70B 的领域了。70B 的 Q4_K_M 约 40GB单卡 24GB 放不下两条路方案显存速度成本适合谁双卡 24GB × 248GB12 到 18 tokens/s高有现成工作站、追求本地最强单卡 48GB48GB15 到 22 tokens/s很高专业用途、长期跑24GB 大内存混合24GB 64GB3 到 6 tokens/s中能接受慢速、偶尔用双卡方案要注意消费级卡的多卡并行不是简单叠加。层切分之后卡间要通信PCIe 通道数不够会成为瓶颈。如果主板只给到 PCIe 4.0 x4 的第二个插槽实际速度可能比单卡还差。真想上双卡主板和 CPU 的通道数得一起考虑这部分隐性成本不低。还有一个思路值得提用大内存做混合推理。24GB 显存 64GB 系统内存把大部分层放显存、剩余层留内存70B Q4 能跑起来速度 3 到 6 tokens/s。这个速度做批量离线任务比如夜里跑一批文档摘要完全可接受做实时对话就有点难受了。我个人的判断是如果你的用途允许提交任务然后去干别的混合推理是性价比最高的 70B 方案如果需要即时交互还是老老实实攒显存。2.4 内存、硬盘、电源三个最容易被砍错的部件很多人配机器时把预算全砸在显卡上剩下三件凑合了事结果处处受限。系统内存的底线是不小于模型文件大小加上 8GB。原因有两个。一是加载模型时程序通常先把整个文件读进内存再传到显存内存不够会直接失败。二是混合推理时没进显存的那部分权重就住在内存里。跑 8B 模型32GB 内存很舒服跑 32B建议 64GB跑 70B128GB 才踏实。内存频率也有影响纯 CPU 推理时内存带宽直接决定速度DDR5 双通道比 DDR4 双通道能快接近一倍。硬盘建议直接上 NVMe 固态容量至少 1TB。一个 70B 的 Q4 模型就 40GB加上你可能会存好几个不同量化的版本、几个不同规模的模型500GB 很快就满了。机械硬盘不是不能用但加载一个 40GB 的模型要等好几分钟每次重启都要重新等一遍用起来很折磨。电源这块有个坑大模型推理是持续满载不是游戏那种间歇性负载。显卡标称功耗 300W实际持续跑推理可能稳定在 280W 以上加上 CPU 满载和瞬时峰值整机功耗会比日常使用高出一大截。电源按整机峰值功耗乘以 1.3 来选比较稳妥别按够用就行配。散热同样重要。持续几个小时的满载推理风道不好的机箱会让显卡降频速度掉 10% 到 20%。我见过有人抱怨跑分正常但跑模型慢最后发现是机箱闷罐显卡温度撞到温度墙了。3. 从零把环境跑起来完整实操流程配置说完了动手。这一节按顺序走一遍从驱动到第一条回复中间每一步的意图和可能的坑都标出来。3.1 环境准备顺序错了会白折腾装东西的顺序有讲究搞反了会出现驱动装了但程序识别不到显卡这类玄学问题。正确顺序是系统更新 → 显卡驱动 → 计算运行库 → 推理框架。驱动一定要用官方渠道下载的最新稳定版别用系统自动更新的版本。自动更新给的驱动往往缺计算组件能显示画面但跑不了推理。装完驱动重启一次这是必须的很多人跳过重启导致后续步骤全错。计算运行库CUDA 工具链的版本要和推理框架匹配。llama.cpp 的预编译包通常标注了它需要的运行库版本装之前确认一下。如果你的框架是自己编译的那更要注意版本对应关系版本错配的报错信息往往非常晦涩比如找不到某个符号、设备初始化失败看着像硬件问题其实是版本问题。验证环境是否就绪跑一条命令看显卡有没有被识别nvidia-smi能正常输出显卡型号、显存总量、驱动版本说明基础环境通了。如果提示命令不存在说明驱动没装好或者没加进环境变量先解决这个再往下走。3.2 模型文件格式、来源和完整性校验Llama 系列的本地推理现在基本都走 GGUF 格式。这个格式的好处是把权重、分词器、模板、元数据打包在一个文件里不同框架之间通用还能按需加载部分层。拉模型时注意三件事。第一认准量化后缀。文件名里通常带Q4_K_M、Q5_K_M这类标识前面 1.2 节的表可以对着看。同一个模型仓库里往往有十几个量化版本别随手点第一个下载。第二注意分片。大模型的 GGUF 会切成多个文件比如-00001-of-00004.gguf必须全部下载到同一个目录缺一个都加载失败。下载工具断点续传时容易漏掉某个分片下载完对一下文件数量和总大小。第三校验哈希。仓库页面一般会给出每个文件的 SHA256下载完跑一次校验sha256sum your-model-Q4_K_M.gguf对比输出和页面上的值。这一步很多人嫌麻烦跳过但量化文件损坏导致的症状特别迷惑人——模型能加载、能生成就是输出重复、逻辑混乱你会以为是量化质量差其实是文件传坏了。花两分钟校验能省下几小时的自我怀疑。3.3 跑起第一个对话两条路线路线一图形化工具适合零基础。这类工具装完就能用内置模型下载、参数面板、对话界面不需要碰命令行。缺点是参数暴露得少出问题不好排查而且往往绑定自己的模型格式。作为第一次跑通的体验它是最省事的。路线二命令行框架适合想搞清楚原理的人。以 llama.cpp 为例克隆源码后编译开 CUDA 支持git clone https://github.com/ggerganov/llama.cpp cd llama.cpp cmake -B build -DGGML_CUDAON cmake --build build --config Release -j编译完成后最简启动命令是./build/bin/llama-cli -m ./models/your-model-Q4_K_M.gguf \ -ngl 99 \ -c 8192 \ -cnv这里三个参数值得解释。-ngl 99表示把所有层都卸载到显卡99 是个足够大的数框架会自动截断到实际层数-c 8192是上下文长度-cnv是对话模式不带这个参数就是单次补全。如果编译嫌麻烦也有现成的包管理式的工具一条命令拉模型、一条命令启动底层同样是这个框架胜在省事ollama run llama3.1:8b它会自动选择合适的量化版本下载。缺点是默认参数不一定适合你的机器得手动调通过 Modelfile 或者启动参数。3.4 关键参数调优让同一张卡跑出更好的效果框架默认参数是能跑就行的水平调一调能明显提升体验。按重要性排序GPU 层卸载数-ngl。最重要的一项。能全放就全放全放不下就精确计算放多少层。算法很简单用可用显存减去 KV Cache 和缓冲再除以每层大小。比如 8B 模型 32 层、权重 4.9GB每层约 0.153GB12GB 卡留出 1.5GB 给系统和 1GB 给 KV 缓冲剩下 9.5GB能放 62 层超过 32所以直接全放。如果是 32B 模型 64 层、权重 19GB每层 0.297GB12GB 卡剩 9.5GB 只能放 32 层那就设-ngl 32。宁可少放几层也不要卡在临界点上——留一点余量否则稍微长一点的对话就会 OOM。上下文长度-c。按实际需求设别贪大。8K 覆盖 95% 的日常场景。批大小-b和-ub。影响的是预填充处理输入阶段的速度。默认值偏保守处理长输入时明显慢。调到 512 到 1024 能显著加快长文档的处理速度代价是多占一点显存。如果主要用途是喂一大段材料然后提问这个参数值得调如果只是短对话影响不大。FlashAttention--flash-attn。开启后长上下文的显存占用和速度都有改善现在的框架基本都支持。唯一需要注意的是老显卡可能不支持开了会报错报错就关掉。线程数-t。只在 CPU 推理或混合推理时有意义。设成物理核心数别设成逻辑核心数——超线程对这类计算没帮助反而会因为调度开销变慢。调参的顺序建议是先保证-ngl正确能全放就全放再定上下文最后才动批大小和线程数。前面两项决定能不能跑后面几项只影响跑多快。4. 实测数据与性能调优记录纸上谈兵到此为止这一节全是实测。4.1 为什么你的速度是别人的一半搞懂带宽瓶颈先讲原理这个原理解释了后面所有现象。大模型推理分两个阶段。预填充阶段处理你输入的那段文字是一次性的大量矩阵运算属于算力瓶颈显卡的浮点性能决定快慢。解码阶段逐字生成每生成一个 token 都要把全部权重从显存读一遍属于带宽瓶颈显存带宽决定快慢。因为日常使用中解码阶段占绝大部分时间你输入的通常几百字输出的也是几百字但解码是一个字一个字来的所以生成速度基本由带宽决定。可以用这个公式粗估理论 tokens/s ≈ 显存带宽 ÷ 权重体积拿几个典型配置算一下配置带宽8B Q44.9GB理论实测效率中端卡 12GB约 360GB/s7340 到 5060% 左右高端卡 24GB约 936GB/s191100 到 13055% 到 68%双通道 DDR5约 80GB/s165 到 835% 到 50%双通道 DDR4约 45GB/s93 到 535% 到 55%这张表能解释很多玄学为什么换了大显存的卡跑同一个模型速度翻倍因为带宽也翻倍了。为什么纯 CPU 跑这么慢内存带宽只有显卡的几十分之一。为什么 Q4 比 Q8 快权重体积小了一半同样的带宽能读更多次。为什么混合推理速度掉得厉害一部分层在内存里速度被内存带宽拖住了整体被最慢的那一环决定。4.2 几个能立刻见效的提速开关按收益排序实测有效。第一确认模型真的在显卡上跑。这是最常见的假故障。日志里如果出现大量 CPU 相关的输出或者-ngl设成了 0那就是纯 CPU 在跑。判断方法很简单跑起来之后看显卡占用率低于 30% 基本就是在 CPU 上。修复就是把-ngl设对。第二关掉 Windows 的硬件加速 GPU 计划。这个功能在某些驱动版本下会和大模型推理抢资源导致速度不稳定。我在两台机器上都遇到过关掉之后速度提升 15% 左右的情况。位置在系统设置的显示选项里。第三把电源计划改成高性能。笔记本尤其明显。默认的平衡模式会在负载持续时降频模型跑着跑着速度就下来了看着像越用越慢。第四检查是不是在共享显存。Windows 有个机制显存不够时会自动借用系统内存当显存程序不会报错但速度会掉到十分之一。判断方法是看显存占用有没有超过物理显存总量超过了就是在共享。解决办法是降低-ngl或者调小上下文让它老老实实待在物理显存里。第五长输入场景调大批大小。前面说过处理长文档时预填充是瓶颈-b 1024 -ub 512能让处理速度提升明显。4.3 混合推理的层数分配一个可以照着抄的计算法显存不够时混合推理是唯一的路。核心问题是放多少层到显存最优答案不是能放多少放多少而是要考虑边际收益。每多放一层就少一层在慢速的内存里跑整体速度提升。但放到最后几层时剩余显存被 KV Cache 挤压可能触发了共享显存反而变慢。所以最优值通常比理论最大层数少两三层的。具体算法以 32B 模型、64 层、权重 19GB、24GB 卡为例每层大小 19 ÷ 64 ≈ 0.297GB显存预算 24GB − 1.5GB系统占用− 2GBKV 和缓冲 20.5GB理论可放层数 20.5 ÷ 0.297 ≈ 69超过 64说明能全放那就不需要混合推理直接-ngl 99换成 12GB 卡显存预算 12 − 1.5 − 2 8.5GB理论层数 8.5 ÷ 0.297 ≈ 28留两三层余量设-ngl 26剩下 38 层在内存里跑预期速度 4 到 7 tokens/s这个算法简单但很管用比反复试错快得多。跑起来之后如果显存还有富余看占用率没到 95%可以每次加两层往上试找到稳定点。5. 常见问题与排查实录这一节是我自己踩过和帮人处理过的坑按症状归类。5.1 显存溢出六种成因和对策同样的显存容量有人能跑有人 OOM原因通常是下面六种之一成因表现对策上下文设太大加载成功一开始生成就崩降到 8K开 KV 量化批大小过大处理长输入时崩降-b到 512桌面程序占显存明明算着够却不够关浏览器硬件加速关掉不用的程序共享显存误判占用超物理显存但没报错很慢降-ngl避免超限量化等级过高权重本身就超了换低一档量化框架预分配空载就占满调小上下文或换框架排查顺序建议从最容易改的开始先看上下文再看批大小然后关掉其他程序最后才考虑降量化。降量化是有质量代价的前面几项都是免费的。有个细节Windows 上桌面合成本身会占 0.8 到 1.5GB 显存多显示器更多。规划时把这块留出来别按标注容量减去模型大小这种理想算法来。5.2 速度异常慢一条清晰的排查路径按这个顺序走基本能定位第一步看显卡占用。占用低说明没在显卡上跑检查-ngl。占用高90% 以上但速度还是慢说明是带宽瓶颈属于硬件上限只能换卡或降量化。第二步看是否共享显存。占用超过物理总量就是在共享速度会掉到十分之一。降层数解决。第三步看温度。温度撞墙会降频。跑十分钟后再看速度有没有下降下降了就是散热问题。第四步看电源模式。高性能模式和平衡模式能差 15% 到 20%。第五步看是不是被别的程序抢资源。视频会议、游戏客户端、某些后台服务都会间歇性占显卡导致速度波动。第六步看输入长度。如果只是首字慢、后面快那是预填充阶段正常的表现不是故障。首字延迟高可以调大批大小缓解。5.3 输出质量异常乱码、重复、截断这三类问题各有各的原因别混为一谈。乱码或者答非所问九成是对话模板不匹配。每个模型都有自己的对话格式system/user/assistant 的标记方式用错了模板模型看到的就是一堆混乱的标记输出自然不正常。框架里通常有自动检测但有时会识别错。手动指定正确的模板参数一般能解决。输出重复、绕圈子常见原因有三个量化太低Q3 以下容易出现、文件损坏哈希不匹配、采样参数不合适温度设得太低会让模型反复走同一条路。先校验文件再把温度调到 0.6 到 0.8 之间最后才怀疑量化。生成到一半被截断一般是达到了最大生成 token 数上限。这个参数很多框架默认设得比较小比如 512长回答就会被砍断。调大即可注意它会占用 KV Cache。还有一种情况回答质量突然整体变差。先确认你是不是换了量化版本而没注意这是最常见的质量下降原因——下载的时候点错了文件跑的是 Q3 而不是 Q4。5.4 常见问题速查表现象最可能原因一句话解决启动就报显存不足上下文过大或量化过高降上下文到 8K换低一档量化加载成功但生成时崩KV Cache 超限开 KV 量化或降-ngl速度只有个位数跑在 CPU 上检查-ngl是否设对速度慢且显存占用超标共享显存降-ngl留余量跑一会儿变慢温度降频或电源限制改善散热改高性能模式输出重复量化低或温度低换 Q4_K_M温度调 0.7回答格式混乱对话模板错误手动指定模型对应的模板长回答被砍断最大生成数太小调大 max tokens模型加载失败提示分片缺失分片没下全补下缺的分片并校验哈希中文回答夹英文模型本身以英文为主换中文能力更强的模型或加系统提示6. 我在配机这件事上的实际判断写到这里该说的技术细节基本都覆盖了。最后分享几个我个人在做配置决策时的习惯这些不是标准答案是从几次买完后悔里换来的。第一个习惯先定模型再定硬件。很多人反过来先看中一张卡然后研究它能跑什么。这样容易被能跑这个词误导——能跑 32B 和能舒服地用 32B 是两回事。我的做法是先想清楚主要用途需要多大模型按 1.1 节的公式算出显存需求再往上加 20% 余量用这个数字去筛卡。这样不会出现卡买了发现只能跑 Q3的尴尬。第二个习惯显存宁可多一档不要卡在临界点。表上算出来刚好够实际上往往不够——驱动更新会多吃一点桌面环境会多吃一点某次上下文拉长了会多吃一点。卡在 95% 占用率的配置用起来天天提心吊胆。多花一点钱买高一档换来的是不用管它的省心。第三个习惯把硬盘和内存当成模型的一部分来配。模型文件本身就是几十 GB 的数据如果你的硬盘装不下三个常用模型你会被迫反复下载删除那个过程极其浪费时间。内存同理混合推理是显存不够时最实用的退路而这条退路的前提是内存足够大。第四个习惯先拿小模型验证整条链路再上大模型。新机器装好别一上来就下载 40GB 的模型。先拉一个 4GB 的 8B Q4确认驱动、框架、参数、速度全都正常再往上换。这样万一有问题能立刻判断是环境问题还是资源问题。我见过太多人卡在环境没配好 模型太大的双重困境里分不清哪边出的错。第五个习惯记录你自己的基准数据。每次调完参数把-ngl、上下文、量化版本、实测速度记下来。不同框架版本和驱动更新会带来性能变化有好有坏。有一份自己的基准能立刻判断这次更新是变快了还是变慢了而不是凭感觉。我的笔记本上就存着这么一张表跨越了一年多的十几次配置变更回头看去能省下的试错时间相当可观。关于未来的一点观察模型量化技术在持续进步同样显存能跑的模型规模每年都在往上走。但这不意味着可以等等再买——等待的成本是你少用了这一整段时间。按当前需求配一台够用的用起来比等一个更划算的时机实在得多。硬件是工具工具的价值在使用不在参数表上。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑