VLLM推理框架中的sleep_mode如何实现
vllm sleep_model 简介
前文torch_memory_saver 高性能 CUDA 内存管理工具实现,介绍了 sglang 中利用了该库将保存 kv_cache 和权重的显存释放出来。
在 VLLM 中也有同样的功能实现,在 VLLM 中的直接应用是“sleep mode”。将模型权重从显存(或者 NPU 内存中)卸载,并丢弃其中的 KV 缓存。
前文torch_memory_saver 高性能 CUDA 内存管理工具实现,介绍了 sglang 中利用了该库将保存 kv_cache 和权重的显存释放出来。
在 VLLM 中也有同样的功能实现,在 VLLM 中的直接应用是“sleep mode”。将模型权重从显存(或者 NPU 内存中)卸载,并丢弃其中的 KV 缓存。
(本小节译自deepseek-r1-and-fp8-mixed-precision-training)
深度探索(DeepSeek)发布了其推理模型深度探索-R1(DeepSeek-R1),震惊了世界。与 OpenAI 的 o1 和Google Gemini的Flash Thinking类似,R1 模型旨在通过在响应提示之前生成一条“思维链”来提高回复质量。R1 引起的兴奋源于它在包括数学、编码以及英语和中文语言理解等几个行业标准基准测试中与 o1 达到同等水平,同时它也是开源的,并且可以通过深度探索 API 以极低的成本获得。
这篇文章探讨了 DeepSeek 模型中与专家混合 (MoE) 相关的另一个关键架构突破:辅助无损负载均衡策略。在本文中,我们将深入探讨 DeepSeek 如何解决 MoE 的隐藏瓶颈——负载均衡——同时消除梯度干扰并保留因果关系,为基于专家的模型的效率设定新标准。
首先介绍专家混合 (Mixture-of-Experts,MoE) 的基础知识,解释为什么负载平衡很重要,并回顾以前的工作,包括辅助损失方法(auxiliary loss methods)和专家选择(Expert Choice)。
CUTLASS库中的尾声融合(Epilogue Fusion)和尾声访问树(Epilogue Visitor Trees)
GEMM 在 NVIDIA GPU 上的高性能实现分为两个阶段:mainloop和epilogue。
mainloop:负责实际 GEMM 计算的部分
epilogue:其中进行了后处理(例如,元素激活、缩放)和数据存储
这篇文章中,我们将研究 CUTLASS 的尾声融合(epilogue fusion)方案。EVT在论文Epilogue Visitor Tree (EVT)中。
今天我们一起来阅读一篇文章deepseek-v3-explained-2-deepseekmoe,文章通过巧妙的例子生动讲解了DeepSeekMoE机制的原理。DeepSeekMoE是DeepSeek模型中的另一个关键架构创新。
将解释 Mixture-of-Experts (MoE) 的工作原理,是什么让它在 LLM 中如此受欢迎以及它面临的挑战。我们还将讨论专家专业化与知识共享之间的权衡,以及 DeepSeekMoE 如何设计以取得更好的权衡。为了使这些概念更直观,文章通过餐厅做菜选择厨师的例子,来类比分解它们,通过厨师在厨房中的角色来说明 MoE 中的每个元素。
DeepSeek-V3:多头潜在注意力(MLA)
MLA是DeepSeek-V2 和 DeepSeek-V3 背后的关键架构创新,可实现更快的推理。
DeepSeek-V3 的主要架构创新,包括 MLA(多头潜在注意力)、DeepSeekMoE、辅助无损负载均衡(auxiliary-loss-free load balancing)和多标记预测训练(multi-token prediction training)。
本文讲解的MLA技术,在 DeepSeek-V2 的开发中被提出,后来也被用于 DeepSeek-V3 中。
本文记录了学习flash_attention遇到的一些好的文章,帮助你搞懂flash_attention。
我们知道现在的LLM大模型主流是基于attention搭建的,attention的计算效率也决定了生产场景中大模型的可用性。flash_attention目前有三个版本,分别是flash_attention和flash_attention2和flash_attention3,它们的目的都是采取一系列的优化手段,提高attention的计算效率。
Tracy是最近了解到的一个性能分析工具,有一些特性值得关注:开源免费、实时分析、纳秒级精度、跨平台支持(Linux、Win、Macos)、功能丰富CPU、MEM、GPU等、集成方便。
在C++开发中,包括游戏领域一帧一帧分析、推理中每次推理耗时分析、多个线程中关联同一个Context等。目前还在学习中,先简单介绍一下基础使用。
软件监控在现代系统中扮演着至关重要的角色,无论是问题排查还是性能优化,都离不开对metrics、logs和traces的有效监控。本文将深入分析Tritonserver如何实现metrics数据的收集与管理,帮助你理解其内部机制并掌握相关技术细节。
本文主要介绍了tritonserver中trace的实现,我们知道日志、metric和trace是常用的监控手段,可以用来分析问题、评估性能。tritonserver中的trace主要基于opentelemetry实现。