第五章 · GPU 分层与显存账本:把每一 MB 花在刀刃上


第五章 · GPU 分层与显存账本:把每一 MB 花在刀刃上

章节摘要:本章跟着一个数字走:offloaded 到显存的层数。它是 llama.cpp 最强也最容易被误用的旋钮。我们先弄清 CPU 后端凭什么快,再做一次完整的分层扫描实验画出速度曲线,然后建立权重、KV 缓存、计算缓冲三本显存账,最后巡礼 Metal、Vulkan 与专用硬件。读完这一章,你对自己机器的算力边界将了如指掌。

一条主线

主线的任务是给 2060 小本找到「最快的合法配置」。约束有二:6GB 显存物理上限不可动摇;生成速度目标是 8B 模型每秒十五个 token 以上(聊天流畅的体感线)。主线从「不花钱的提速」开始——5.1 节先证明纯 CPU 也大有可为,AVX2 指令集优化能让同一台机器的 CPU 推理快出可观幅度;随后 5.2 节把层数从零到满逐档扫描,画出这条著名的速度曲线,找出全卸载临界点;5.3 节解释曲线为什么长那样——显存里的三本账如何相互挤占;5.4 节把视野扩大到其他后端与硬件,给这台机器之外的世界画一张地图。

沿途站点

5.1 CPU 后端解密——向量指令集如何把一个循环变成一次多路计算,为什么矩阵乘是带宽问题,以及 CPU 推理的正确预期值。

5.2 offload 分层扫描实验——本章的核心实验。同一模型、层数从 0 到全满逐档实测预填充与生成两段速度,你会看到两条形状完全不同的曲线,以及那条最容易被误读的临界跃升。

5.3 显存账本——三本账的精确算法:权重账按位宽算、KV 缓存账按窗口与层数算、计算缓冲账按批次与架构算。附上这台机器的完整对账单。

5.4 异构后端巡礼——Metal 让 Mac 成为本地推理优等生的原因,Vulkan 的跨厂商价值,以及专用加速卡的现状。

拐点与结论

本章的拐点在 5.2 的曲线拐弯处:层数从零加起,速度几乎不涨,直到接近全卸载才陡然跃升——部分卸载的收益是骗人的,因为生成阶段每产出一个词都要把中间结果在 CPU 与 GPU 之间来回搬运,PCIe 的往返把分层省下的计算时间又吃了回去。结论由此一句话可以说尽:要么全卸载(压位宽、压窗口也要塞进去),要么安心纯 CPU(或少量卸载只加速预填充),中间地带性价比最低。这条结论在第 3.3 节的数据里已露端倪,本章给出完整的机制解释与实验证据。

主线机器基线卡

本章实验反复引用的基线数字集中在此:纯 CPU 生成约每秒 9.8 token、预填充约每秒 92 token;全卸载(二十八层)生成约每秒 16.7 token、预填充约每秒 1463 token;部分卸载(例如二十四层)时生成速度几乎与纯 CPU 持平——这是本章最反直觉、也最重要的基线。显存口径按 5.3 节的三本账加驱动开销计,6GB 卡的舒适区是 Q4_K_M 权重加 2K 窗口。

本章知识点清单

可考核知识点如下:用带宽公式估算 CPU 生成的速度上限并说出两个修正因素;独立完成八档分层扫描并画出双曲线;解释部分卸载对生成近乎无效的机制(跨总线往返);写出显存三本账的计算式并对账日志;按「余量三去处」分配显存预算;比较 CUDA、Metal、Vulkan 的能力边界;给出自己机器「全卸载还是纯 CPU」的结论与依据。七条过关,硬件加速章节毕业。

读完你应该

  • 能解释向量指令集与内存带宽对 CPU 推理速度的决定作用,并给出合理速度预期;
  • 能独立完成一次完整的分层扫描实验,产出自己的速度曲线;
  • 能徒手估算任意「模型加窗口」组合的显存占用,误差在一成以内;
  • 能判断自己的场景该全卸载、该纯 CPU,还是该换硬件;
  • 能说出各 GPU 后端的能力边界与适用阵营。

实验前的两个准备

动工前两件事值得先做:把笔记本插电、切性能模式、清后台(5.1 节会解释为什么这影响数据);把本章会反复用到的三份基线数字抄在手边——纯 CPU 速度、全卸载速度、显存总量。前者保证数据可信,后者保证随时对表。实验型章节的顺利与否,八成取决于这些不起眼的准备。

下一章的接力

速度调到位了,质量登场。第 6 章把镜头转向上下文窗口与采样参数:KV 缓存怎么省、长文本怎么塞、采样温度怎么调,把生成质量也攥在自己手里。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U