当前位置: 首页 > news >正文

记一次失败的本地部署 LLM MTP 模型的过程

文章目录

  • (一)结论
  • (二)前言
  • (三)步骤
    • (3.1)软件
    • (3.2)模型
    • (3.3)运行
  • (四)测试
    • (4.1)作者默认参数
    • (4.2)降低参数
    • (4.3)继续降低参数
    • (4.4)原版
  • (五)再次结论

(一)结论

先说结论:如果显卡没有24GB+的显存,确实没必要折腾。
显存容量决定体验上限,MTP不是“免费加速”,而是用更多显存换 decode 加速。

(二)前言

最开始是偶然看到DFlash技术(Block Diffusion for Flash Speculative Decoding)。
感觉速度提升巨大,但是不太成熟,也不支持llama.cpp部署,Windows下还没有到能玩的阶段

然后就转向了它对比的对象MTP技术(Multi-token Prediction)。

在抱脸上看了一圈,发现有作者放出的支持最小模型是gemma-4-26B-A4B-it-UD-IQ4_XS
然后完全忘记了之前在本机测试过,这个模型不加Vision视觉部分,已经到了16GB显存的上限位置。
开始了一轮折腾。

(三)步骤

如果你有24GB或更多的VRAM,那么可以试一试。

(3.1)软件

原版的llama.cpp截至此刻还不支持Gemma4的MTP。
所以需要它的一个fork:🔗 ik_llama。

该仓库是llama.cpp分支,拥有更优的CPU和混合GPU/CPU性能、新的SOTA量化类型、一流的Bitnet支持、通过MLA、FlashMLA、融合MoE操作和用于混合GPU/CPU推断的张量覆盖、行交错量化打包等。

代码:

>gitclone https://github.com/ikawrakow/ik_llama.cpp.git

编译:

>cmake-Bbuild-DGGML_NATIVE=ON-DGGML_CUDA=ON#因为我是N卡,4060TI16GB>cmake--buildbuild--configRelease--parallel#并行编译,否则慢到怀疑人生

结果:
如果没报错,可执行文件就会出现在XXX\ik_llama.cpp\build\bin\Release\目录里面。

💡:这里不讨论编译环境,简单说就是要编译器和CUDA环境,可参考llama.cpp的官方文档。

(3.2)模型

首先从抱脸或者魔搭下载原版的gemma-4-26B-A4B-it-UD-IQ4_XS.gguf模型。
然后从 🔗这里 找到gemma-4-26B-A4B-it-assistant-IQ4_XS.gguf模型。

(3.3)运行

我们运行这个ik_llama的服务:

llama-server ^--modelgemma-4-26B-A4B-it-UD-IQ4_XS.gguf ^ --model-draft gemma-4-26B-A4B-it-assistant-IQ4_XS.gguf ^ --spec-type mtp ^ --draft-max3^ --draft-p-min0.0^-ngld99^ --n-gpu-layers99^ --ctx-size32768^-ctkq8_0-ctvq8_0 ^-b1024-ub1024^--jinja^--host127.0.0.1--port8999

(四)测试

作者用Q8_0模型的测试结果是:

RunThroughputAcceptance
Baseline (no MTP)~21 t/s
MTP --draft-max 1~35 t/s~89%
MTP --draft-max 2~44 t/s~83%
MTP --draft-max 3~49 t/s~74%
MTP --draft-max 4~49 t/s~64%

所以他推荐预测3个token的参数,因为速度最快,再高接受率就低了。
从这个结果看,生成token的速度是原版的2倍以上。

刚才的运行参数运行起来后。
当我看到共享显存都用掉8GB后,就知道这个测试没什么意义了。

(4.1)作者默认参数

总耗时:🐢3m44s,共享显存使用8GB,TTFT:<2m39s>。

(4.2)降低参数

--ctx-size12800^-ctkq4_0-ctvq4_0 ^-b256-ub256^

总耗时:🐢3m25s,共享显存使用2.5GB,TTFT<2m37s>。

(4.3)继续降低参数

--ctx-size5120^-ctkq4_0-ctvq4_0 ^-b128-ub128^

共享显存使用1.3GB……
随后报错了,server程序在好像要输出token的时候,退出了。

(4.4)原版

用原版llama.cpp跑gemma-4-26B-A4B-it-UD-IQ4_XS.gguf模型,显存占用15GB+

总耗时:🐢1m34s

用原版llama.cpp跑gemma-4-26B-A4B-it-UD-IQ2_M.gguf模型,显存占用13GB左右。

总耗时:🐢1m03s

(五)再次结论

从上面自己的测试可以看出,对我完全没有用。
慢的原因是显卡自己的显存用完了。用了所谓共享显存(就是系统内存走PCIE总线的速度)。
这种情况下,测试什么都没有意义了,俗称显存爆了。

  1. 如果显卡没有24GB+的显存,确实没必要折腾。
  2. 显存还需要计算其它开销,例子里没有开vision部分,无法图像识别描述。
  3. 推测MTP技术对于RAG场景提升很小,因为RAG是大输入(召回信息+提示词),小输出(回答)。
  4. 谁能赠我一张24GB+显存的显卡?
http://www.jsqmd.com/news/831586/

相关文章:

  • 知识蒸馏新思路:为什么Relational KD比传统KD更有效?从CVPR论文到落地避坑指南
  • VIBESRAILS:基于Rails的音视频智能分析后端框架实践指南
  • Fluent非预混燃烧仿真翻车实录:从‘Initial Fourier Number’设置错误到火焰面发散的全过程复盘
  • 3分钟掌握FanControl:Windows风扇控制终极指南
  • Paper Banana:开源学术工具集的设计理念与工程实践
  • 如何快速安装Koikatsu Sunshine增强补丁:5分钟完成游戏优化与汉化
  • Java——定时任务
  • Hello World!
  • 深耕双市场ASO:玩转苹果商店国内外差异化运营
  • 学生综合素质评价系统设计实现【附程序】
  • Linux驱动开发:原子操作实现LED设备互斥访问
  • 基于Backstage构建企业级AI开发平台:架构设计与工程实践
  • 告别复杂推导!用PyTorch 2.0手把手实现Reptile算法(附完整代码与对比实验)
  • 俄语AI助手RAG框架实战:从文本分割到向量检索的完整指南
  • 告别内存溢出:用SAX事件驱动模式高效解析海量Excel数据实战
  • Claude Code用户如何告别封号与Token焦虑,通过Taotoken稳定使用编程助手
  • 从麦肯锡PPT心法到高效商业演示:结构化思维与数据可视化实战
  • Unity强化学习控制器:游戏AI开发实战指南
  • 影刀RPA跨境店群运营架构:基于Python的高并发环境隔离与自动化调度系统设计实战
  • 芯片/半导体/CPO光模块 深度分析报告
  • 告别手动点点点:用CAPL脚本实现CANoe诊断自动化测试(附VIN码读取与文件写入完整代码)
  • 企业信息采集神器:10分钟掌握天眼查企查查双平台爬虫
  • 3步掌握缠论量化分析:基于TradingView的可视化实战指南
  • CFETR重载机械臂精确运动控制验证【附仿真】
  • 2026年当前,随州加油车出口贸易的者做对了什么? - 2026年企业推荐榜
  • AI如何学习科学品味:从多模态特征到科研评估系统构建
  • Node.js性能预测工具nodestradamus:从监控到预警的实践指南
  • 2026年近期天津企业采购:如何甄选高性价比的玻璃钢管道合作方? - 2026年企业推荐榜
  • 雷达目标检测与成像算法实时实现【附代码】
  • HS2-HF Patch:3步安装HoneySelect2终极增强补丁完整指南