performance-optimization

标签

Cards List
#performance-optimization

@yibie:宣布我最近的项目:strata-mlx。Strata 太棒了:它可以运行拥有 1250 亿参数的混合专家模型 Qwen……

X AI KOLs Timeline ↗ · 2026-10-10 缓存

yibie 发布了 strata-mlx,这是一款面向 Mac 的非官方 MLX 推理引擎,可从 Strata 的 GGUF 文件运行 125B MoE 模型 Qwen3.8-Flash-Next,生成速度达到 llama.cpp 的 1.7–2.9 倍,并支持内存较小的 Mac 将专家卸载到 SSD。

0 人收藏 0 人点赞
#performance-optimization

@no_stp_on_snek:ROCmI4 的预填充阶段卡在 MMQ 上,而 ROCmFPX……在 Qwen3.8 Flash Next HC-Q8 上,除了 HC 上投影/下投影之外,每个专家和每个稠密投影都是 Q4_0_ROCMI4。

X AI KOLs Following ↗ · 2026-10-09 缓存

ROCmFPX 解决了预填充阶段 MMQ 阻塞问题,通过寄存器路径将 Q4_0_ROCMI4 权重反量化为 BF16 WMMA GEMM,在 Qwen3.8 Flash Next HC-Q8 上实现 ub 512 约 13%、ub 1024 约 23% 的吞吐提升,稀疏专家处理时间从约 2.3 秒降至 1.8 秒。

0 人收藏 0 人点赞
#performance-optimization

使用新型索引策略对关键消息总线进行扩展与基准测试

Hacker News Top ↗ · 2026-10-08 缓存

Jane Street 分享了其内部消息框架 Aria 的扩展实践:通过为 topic partition 引入索引与树拆分策略优化 tip recovery 过滤流程,在生产负载上实现 30% 的 CPU 使用率下降。

0 人收藏 0 人点赞
#performance-optimization

[audio.cpp] 近期更新速览:Higgs Audio TTS 显存占用减少 48%(低于 6GB),HTDemucs 提速 2.2 倍,PocketTTS 在 CPU 上提速 2.2 倍,以及 WebUI 生成历史功能

Reddit r/LocalLLaMA ↗ · 2026-10-08

audio.cpp 带来多项运行时性能优化:Higgs Audio TTS 显存占用减少 48%(低于 6GB),HTDemucs 提速 2.2 倍,PocketTTS 在 CPU 上提速 2.2 倍,同时 WebUI 新增实验性的生成历史功能,目前支持 110+ 音频模型家族。

0 人收藏 0 人点赞
#performance-optimization

@ggerganov:如果你正在使用 Qwen3.8-27B + MTP,请务必升级到 DFlash 以获得额外加速:llama serve -hf ggml-org/Qwen3.8-27…

X AI KOLs Following ↗ · 2026-10-06 缓存

Georgi Gerganov 建议升级到 DFlash 投机解码,以加快 llama.cpp 中 Qwen3.8-27B 的推理速度,需要使用最新版 llama.cpp v0.6.0 以及 ggml-org/Qwen3.8-27B-GGUF 模型。

0 人收藏 0 人点赞
#performance-optimization

Dostoevsky:通过自适应移除多余合并来优化基于 LSM-Tree 的键值存储的空间-时间权衡

Lobsters Hottest ↗ · 2026-10-05 缓存

本文提出了 Dostoevsky 系统,通过在压缩(compaction)过程中自适应地移除多余的合并操作,改善基于 LSM-Tree 的键值存储的空间-时间权衡,性能优于现有的压缩策略。

0 人收藏 0 人点赞
#performance-optimization

Strata 的 IBM AC922 分支运行 Qwen3.8-FN UD-Q4_K_XL,预填充最高达 7,357 tk/s,解码 113 tk/s

Reddit r/LocalLLaMA ↗ · 2026-10-04

一位开发者 fork 了 Strata LLM 推理引擎,并借助 Claude Code 对其进行了大量修改,使其能在 IBM AC922 POWER9 + Tesla V100 系统上运行。通过内存管理、NVLink 优化以及专家缓存改进,Qwen3.8-FN UD-Q4_K_XL 的解码速度从 15 tk/s 提升至约 113 tk/s,预填充速度达到 7,357 tk/s。

0 人收藏 0 人点赞
#performance-optimization

@GergelyOrosz:turbopuffer 公开展示他们的新架构一开始比旧架构慢多达 128 倍……

X AI KOLs Following ↗ · 2026-10-02 缓存

Gergely Orosz 强调 turbopuffer 公开分享了他们迁移到 v3 架构的过程,新设计最初比旧架构慢多达 128 倍,而每一步优化(例如批量读取带来约 9 倍的性能提升)都被公开记录了下来。

0 人收藏 0 人点赞
#performance-optimization

@KyrieBlunders:用 CuTeDSL 手写了一个 Blackwell GEMM,在 B200 上从 164 提升到 1401 TFLOP/s,约为 cuBLAS 的 97%

X AI KOLs Timeline ↗ · 2026-10-02 缓存

为 NVIDIA Blackwell(B200)手写的 GEMM kernel,基于 CUTLASS 的 CuTeDSL 从底层原语(tcgen05、TMA、mbarriers、TMEM)构建,性能从 164 提升到 1401 TFLOP/s——约为 cuBLAS 的 97%。其中一项关键改动贡献了大部分性能提升,而 prefill 和 decode 两种工作负载所需的优化方向并不相同。

0 人收藏 0 人点赞
#performance-optimization

# 推理工程从入门到精通

Reddit r/LocalLLaMA ↗ · 2026-10-02

# LLM 推理优化实用指南:在硬件约束下榨干性能 本文是一份面向实践者的指南,覆盖常见的推理瓶颈——包括运行时选型(Ollama、llama.cpp、vLLM、SGLang)、硬件相关的编译选项、量化方案的选择(IQ vs Q_K vs NL),以及按任务选型模型——并给出在有限硬件条件下优化 LLM 推理的最佳实践。 --- ## 目录 1. [为什么推理是瓶颈](#为什么推理是瓶颈) 2. [运行时选型:Ollama、llama.cpp、vLLM、SGLang](#运行时选型) 3. [硬件相关的编译选项](#硬件相关的编译选项) 4. [量化方案:IQ vs Q_K vs NL](#量化方案) 5. [按任务选择模型](#按任务选择模型) 6. [端到端最佳实践](#端到端最佳实践) 7. [常见误区与排查清单](#常见误区与排查清单) --- ## 为什么推理是瓶颈 推理的成本通常由两部分构成: - **预填充阶段(prefill)**:处理输入 prompt,计算量大,受算力(FLOPs)限制,是 **compute-bound**。 - **生成阶段(decode)**:逐 token 自回归生成,每步都要读取全部权重,受内存带宽限制,是 **memory-bandwidth-bound**。 在 decode 阶段,实际算力利用率往往只有个位数百分比,性能几乎完全由 **「模型大小 / 内存带宽」** 决定。因此: > 量化带来的收益不只是"显存更省",更重要的是"每步读的数据更少,生成更快"。 理解这一点,是理解后续所有优化手段的基础。 --- ## 运行时选型 没有万能的推理引擎,选择取决于场景:本地单用户、批量离线处理,还是高并发在线服务。 ### Ollama - **定位**:本地开发与个人使用,开箱即用。 - **优点**:安装简单、模型管理便捷、内置轻量 HTTP API、自动选择合理的量化版本。 - **缺点**:抽象层较多,难以做细粒度调优;并发能力有限。 - **适用**:开发者本机实验、原型验证、单用户交互场景。 ### llama.cpp - **定位**:CPU / 边缘设备推理的事实标准,也可用于 GPU。 - **优点**:编译选项极其丰富、内存占用低、跨平台支持好(x86、ARM、Apple Silicon)、量化格式最全。 - **缺点**:批量与并发支持不如 vLLM;高并发吞吐不是强项。 - **适用**:树莓派、MacBook、老旧 CPU 服务器、需要极致内存控制的场景。 ### vLLM - **定位**:面向生产的高吞吐在线推理服务。 - **优点**:PagedAttention、Continuous Batching、Tensor Parallelism、丰富的量化后端支持,高并发下吞吐优势显著。 - **缺点**:资源开销较大、单用户低延迟场景未必占优、需要 GPU。 - **适用**:API 服务、多租户推理平台、需要稳定吞吐的生产环境。 ### SGLang - **定位**:复杂采样工作负载与多轮对话的高吞吐引擎。 - **优点**:RadixAttention 对共享前缀缓存极高效,擅长多轮对话、工具调用、结构化输出等场景;支持混合并行与投机解码。 - **缺点**:生态相对年轻,调试资料略少于 vLLM。 - **适用**:多轮 agent、共享系统提示的高并发服务、复杂控制流的 LLM 应用。 ### 选型速查表 | 场景 | 推荐 | | --- | --- | | 个人本机 / 开发调试 | Ollama、llama.cpp | | 边缘 / CPU / 低内存设备 | llama.cpp | | 高并发在线 API | vLLM | | 多轮对话 / Agent / 共享前缀 | SGLang | | 批量离线处理 | vLLM 或 SGLang(大 batch 时均可) | --- ## 硬件相关的编译选项 "用同样的模型和同样的量化,不同机器的性能可以差几倍"——差别的来源往往就是编译选项。 ### CPU(llama.cpp) 在 `CMake` 构建时根据 CPU 指令集开启对应选项: | 构建选项 | 说明 | | --- | --- | | `-DGGML_NATIVE=ON` | 按当前编译机器的 CPU 指令集自动生成代码 | | `-DGGML_AVX=ON` / `-DGGML_AVX2=ON` / `-DGGML_AVX512=ON` | 启用对应 SSE/AVX/AVX-512 加速 | | `-DGGML_ARM_NEON=ON` | ARM NEON 加速(默认启用) | | `-DGGML_CUDA=ON` / `-DGGML_METAL=ON` / `-DGGML_VULKAN=ON` | 对应 GPU 后端 | 要点: - **在目标机器上编译**,`GGML_NATIVE=ON` 才能选出最优指令集。 - AVX-512 相比 AVX2 在大模型推理上常有明显提升,务必确认是否开启。 - 大矩阵乘法优先走 BLAS(如 OpenBLAS、MKL),可显著提升 prefill 吞吐。 ### GPU - **CUDA**:确保 `CMAKE_CUDA_ARCHITECTURES` 或 `-DCMAKE_CUDA_ARCHITECTURES=native` 与你的 GPU 匹配,避免 PTX JIT 带来的启动开销。 - **Compute capability 对齐**:`nvcc` 编译的代码若高于 GPU 的 compute capability,可能直接无法运行。 - **Tensor Core**:确认量化内核能真正利用 Tensor Core(如 AWQ、GPTQ 的 Marlin 内核、FP8 内核),而不是退化到普通 CUDA 核心。 ### Apple Silicon - Metal 后端通常比 CPU 后端快 10 倍以上。 - 统一内存架构下,量化收益不仅体现在速度,还体现在模型容量上限。 --- ## 量化方案 ### 量化格式速览 | 类型 | 代表格式 | 位宽 | 特点 | | --- | --- | --- | --- | | **整数量化** | Q8_0、Q6_K、Q5_K_M、Q4_K_M、Q4_0 | 4–8 bit | 简单高效,广泛兼容 | | **K-Quant(Q_K)** | Q4_K_M、Q5_K_M、Q6_K、Q3_K_L | 3–6 bit | 逐层/逐块混合精度,是当前主流推荐 | | **重要性量化(IQ)** | IQ2_XXS、IQ3_XXS、IQ4_XS | 2–4 bit | 基于重要性矩阵(imatrix)的方法,低比特下质量更稳 | | **NL / 非线性量化** | NF4(bitsandbytes)、非线性 K-quants | ~4 bit | 均匀分布假设被打破,对非均匀权重分布更友好 | ### IQ(Importance Quantization) - 通过 **imatrix**(重要性校准数据集)为每个权重组赋予重要性权重,量化误差大的权重保留更多信息。 - 在 **3–4 bit** 低比特场景下,质量损失通常明显小于传统 Q 格式。 - 代价:生成 imatrix 需要校准数据集;部分格式推理速度略慢。 - **推荐**:在显存/内存吃紧、必须用 2–4 bit 时优先考虑 IQ 系列。 ### Q_K(K-Quant) - llama.cpp 中的主力格式,采用**分层混合精度**策略:对敏感层用更高位宽,非敏感层用更低位宽。 - `Q4_K_M` 是当前性价比最均衡的选择,`Q5_K_M` / `Q6_K` 则提供接近 FP16 的质量。 - **推荐**:大多数场景的默认选择。Q4_K_M 用于 8–16 GB 内存的机器,Q6_K 用于追求质量且内存尚可的机器。 ### NL(非线性量化) - NF4 等格式基于权重分布近似正态的先验,将量化区间做**非线性映射**,低比特下保真度更高。 - 在 bitsandbytes 生态中支持良好,但与 llama.cpp / GGUF 生态的兼容性有限。 - **推荐**:在 HuggingFace transformers 直接微调/推理、且可用 bitsandbytes 时使用;若走 GGUF / llama.cpp / vLLM 部署链路,K-Quant 或 IQ 更实用。 ### 选型建议 | 内存预算 | 推荐方案 | | --- | --- | | 充裕 | 不量化 / FP16 / BF16,或 Q8_0 | | 中等 | Q6_K、Q5_K_M | | 紧张(12–16 GB) | Q4_K_M(首选) | | 极紧(< 12 GB,大模型) | IQ4_XS、IQ3_XXS,或 Q3_K_L | | 最紧(2–3 bit) | IQ2_XXS(需 imatrix) | > **通用原则**:量化是"用质量换速度与容量"。每换一个更激进的格式,都要用**你的真实任务**做回归测试,而不是只看通用 benchmark。 --- ## 按任务选择模型 "最好的模型"取决于任务类型。 | 任务类型 | 关注点 | 建议 | | --- | --- | --- | | **通用对话 / 助手** | 指令跟随、事实准确性、长上下文 | 通用 instruct 模型(如 Llama、Qwen、Mistral 系列),质量优先,量化可保守 | | **代码生成** | 语法正确性、长上下文代码理解 | 代码专精模型;建议 Q5_K_M 及以上,低比特对代码影响较大 | | **摘要 / 分类 / 提取** | 输出短、延迟不敏感、可能需要低延迟 | 可大胆用低比特模型甚至更小的模型,量化到 Q4 甚至 IQ3 通常可接受 | | **数学 / 推理** | 逻辑链长度、token 敏感 | 推理增强型模型;量化影响更显著,尽量 Q6_K 以上 | | **RAG / 长文档** | 上下文长度、KV cache 体积 | 考虑支持长上下文的模型 + KV cache 量化(如 k-quant 的 KV cache、Q8 KV) | | **Agent / 工具调用** | 结构化输出稳定性、多轮一致性 | 使用原生支持 tool calling 的模型;避免过度量化 | | **边缘 / 离线** | 小模型、低延迟、无网络 | 紧凑型模型(3B–8B)+ IQ/Q4 格式 | 模型规模的取舍: - **小模型(1B–3B)**:延迟最低、成本最低,适合分类、改写等"短任务"。 - **中模型(7B–14B)**:质量与速度的甜点区,绝大多数场景够用。 - **大模型(30B+)**:复杂推理与长任务才值得,对硬件要求高。 > **务实建议**:先用小模型跑通 pipeline,测量真实指标(准确率、延迟、token/s),再决定是否升级模型规模。模型翻倍带来的收益,常常不如一个更好的量化方案或正确的引擎配置。 --- ## 端到端最佳实践 ### 1. 先测量,再优化 建立可复现的基准: - 用**你的真实请求**做测试,不要只用通用 benchmark。 - 分开测量 prefill 速度与 decode 速度。 - 关注 **首 token 延迟(TTFT)** 与 **每 token 延迟(TPOT)**,二者对应不同瓶颈。 ### 2. 针对瓶颈优化 | 症状 | 可能瓶颈 | 优化方向 | | --- | --- | --- | | prefill 慢、decode 正常 | compute-bound | 更大 batch、更好硬件、Flash Attention | | decode 慢、prefill 正常 | 内存带宽受限 | **更小的量化格式**、更快的显存/GPU、投机解码 | | 内存溢出 | KV cache / 模型过大 | 量化 KV cache、更激进的模型量化、更小模型 | ### 3. 高并发场景的关键手段 - **Continuous Batching**:让请求动态进出批次,显著提升吞吐(vLLM、SGLang 内置)。 - **Paged KV Cache**:减少显存碎片,提高并发容量。 - **Prefix / Radix Caching**:共享 system prompt 与多轮对话前缀的 KV(SGLang 的 RadixAttention 尤其强)。 - **Tensor / Pipeline Parallelism**:多卡场景下的显存与算力切分。 - **Speculative Decoding**:用小模型起草、大模型验证,decode 吞吐可提升 2–3 倍。 ### 4. 减少生成量本身 很多时候最大的优化不是引擎,而是**少生成一点**: - 精简 system prompt 与 few-shot 示例。 - 使用 `max_tokens` 硬限制与合理的 `temperature`。 - 对摘要/分类任务采用结构化输出,减少冗长自由文本。 --- ## 常见误区与排查清单 ### 误区 - ❌ "量化 = 模型变笨"。Q4_K_M 通常只带来很小的质量损失,收益是显著的速度与容量提升。 - ❌ "引擎越复杂越好"。本地单用户用 vLLM 往往是浪费;反之,高并发用 Ollama 会严重限制吞吐。 - ❌ "看别人 benchmark 选型"。别人的 GPU、上下文长度、batch size 与你不同,结论可能完全相反。 - ❌ "只调模型不调编译"。同一模型在不同 CPU 指令集下可以差 2–4 倍。 ### 排查清单 - [ ] 量化格式是否真的被目标引擎支持并能加速? - [ ] KV cache 占用是否计入内存预算? - [ ] batch size 是否已调优?(小 batch 可能远未打满 GPU) - [ ] 上下文长度设置是否合理?(KV cache 随长度线性增长) - [ ] 是否启用了正确的 Flash Attention / Paged Attention? - [ ] CPU 推理是否用上了 BLAS? - [ ] GPU 架构是否与编译时设置一致? - [ ] 是否用真实任务做过质量回归测试? --- ## 结语 优化 LLM 推理没有银弹,但有一条清晰的路径: 1. **明确场景**——本地开发、边缘部署,还是高并发服务。 2. **选对引擎**——Ollama / llama.cpp / vLLM / SGLang 各有其位。 3. **匹配硬件**——编译选项与并行策略要与你的 CPU/GPU 对齐。 4. **合理量化**——Q_K 是默认,IQ 用于极限压缩,NL 留给特定生态。 5. **按任务选模型**——别为短任务付长模型的代价。 6. **持续测量**——用真实负载回归,而不是盲信通用 benchmark。 把这六步走通,你就能在给定的硬件约束下,获得既快又稳的推理性能。

0 人收藏 0 人点赞
#performance-optimization

@PyTorch:我们最新的博客介绍了 Jagged Flash Attention (JFA) 的工作——这是支撑 @Meta Generative Ads Model(GEM)的 attention kernel……

X AI KOLs Timeline ↗ · 2026-10-01 缓存

PyTorch/Meta 博客揭示了基于 TLX(Triton Low-level Extensions)在 NVIDIA Blackwell B200 上构建的 Jagged Flash Attention,仅使用约 3.2K 行 Triton 代码——比 FlashAttention-4 少约 3 倍——同时在 Meta Generative Ads Model 所使用的 jagged attention 形状上,前向传播比 FA4 快约 13%,反向传播快约 50%。

0 人收藏 0 人点赞
#performance-optimization

ParadeDB 搜索性能提升

Hacker News Top ↗ · 2026-10-01 缓存

ParadeDB 面对 PlanetScale 新推出的 TIN Postgres 全文搜索扩展,通过多轮优化而非架构调整,将自身 BM25 性能差距缩小至 8 倍以内,并在相同的 StackExchange 数据集上进行基准测试对比。

0 人收藏 0 人点赞
#performance-optimization

@PyTorch:无法剖析的,就无法优化:学会读懂 PyTorch Traces —— 在 PyTorch Conference North A… 的演讲中

X AI KOLs Timeline ↗ · 2026-09-30 缓存

来自 Hugging Face 的 Suvaditya Mukherjee 将在 2026 年 10 月 20-21 日于圣何塞举行的 PyTorch Conference North America 上,分享如何利用 PyTorch Profiler 定位性能瓶颈并优化模型执行的实践方法。

0 人收藏 0 人点赞
#performance-optimization

llama.cpp 中提示查询草稿生成速度提升 42 倍

Reddit r/LocalLLaMA ↗ · 2026-09-27 缓存

本文详细介绍了 llama.cpp 中的性能优化,这些优化使得提示查询草稿生成速度最高提升 42 倍,并将内存使用减少 2.6 倍,基于 Daniel Lemire 和 Martin Ankerl 的技术。

0 人收藏 0 人点赞
#performance-optimization

为基准测试优化服务器

Lobsters Hottest ↗ · 2026-09-26 缓存

本文提供了逐步指南,介绍如何优化服务器以进行基准测试,旨在减少运行间噪音并确保测量可重复性,涉及硬件检查和核心固定等技术。

0 人收藏 0 人点赞
#performance-optimization

@Alex_tra_memory: Kev on Core ML 看到这条推文后,我们受到启发,移植了 Kev-0.8B(Qwen3.5 变体)并在 8…

X AI KOLs Timeline ↗ · 2026-09-26 缓存

本文详细介绍了将 Kev-0.8B 模型(Qwen3.5 变体)移植到 Core ML 的过程,通过基准测试展示了在 Apple Silicon 设备上推理速度和内存效率的显著提升。

0 人收藏 0 人点赞
#performance-optimization

@AlchainHust: https://x.com/AlchainHust/status/2103711280364240936

X AI KOLs Timeline ↗ · 2026-09-26 缓存

本文介绍了Anthropic如何在两周内将Claude.ai的速度提升3倍的方法,以及作者应用该方法优化自己网站的经验,并发布了‘闪电.skill’工具供他人使用。

0 人收藏 0 人点赞
#performance-optimization

编写高效的C++代码

Hacker News Top ↗ · 2026-09-25 缓存

本文讨论了编写高效C++代码的技术,着重于面向数据设计和性能优化,适用于游戏和实时处理等应用。

0 人收藏 0 人点赞
#performance-optimization

公告:llama.cpp 的 -cram 参数在代理工作流中应增加(默认为8192)

Reddit r/LocalLLaMA ↗ · 2026-09-24

基于个人在Qwen 27B 3.8上的经验,建议增加llama.cpp的-cram参数,以在长上下文的代理工作流中获得更好性能。

0 人收藏 0 人点赞
#performance-optimization

@yoheinakajima: glance-vlm speedlab 现已开源!阅读:https://glance.yohei.me/speed/ 尝试:https://github.com/yoheinakajima/glan…

X AI KOLs Timeline ↗ · 2026-09-23 缓存

本文介绍了一项开源研究,通过基准测试和原生批处理、MLX量化等技术优化本地视觉语言模型的延迟,在Apple硬件上实现显著加速的同时保持决策准确性。

0 人收藏 0 人点赞
← Previous
Next →
← 返回首页

提交意见反馈