跳转至

LLM推理

DeepSeek-R1和FP8混合精度训练以及FP8量化实现

DeepSeek-R1 和 FP8 混合精度训练(译)

(本小节译自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) 相关的另一个关键架构突破:辅助无损负载均衡策略。在本文中,我们将深入探讨 DeepSeek 如何解决 MoE 的隐藏瓶颈——负载均衡——同时消除梯度干扰并保留因果关系,为基于专家的模型的效率设定新标准。

背景

首先介绍专家混合 (Mixture-of-Experts,MoE) 的基础知识,解释为什么负载平衡很重要,并回顾以前的工作,包括辅助损失方法(auxiliary loss methods)和专家选择(Expert Choice)。

CUTLASS库中的尾声融合(Epilogue Fusion)和Epilogue Visitor Trees

CUTLASS库中的尾声融合(Epilogue Fusion)和尾声访问树(Epilogue Visitor Trees)

GEMM 在 NVIDIA GPU 上的高性能实现分为两个阶段:mainloop和epilogue。

  • mainloop:负责实际 GEMM 计算的部分

  • epilogue:其中进行了后处理(例如,元素激活、缩放)和数据存储

这篇文章中,我们将研究 CUTLASS 的尾声融合(epilogue fusion)方案。EVT在论文Epilogue Visitor Tree (EVT)中。

DeepSeek-V3_DeepSeekMoE机制是什么?

今天我们一起来阅读一篇文章deepseek-v3-explained-2-deepseekmoe,文章通过巧妙的例子生动讲解了DeepSeekMoE机制的原理。DeepSeekMoE是DeepSeek模型中的另一个关键架构创新。

将解释 Mixture-of-Experts (MoE) 的工作原理,是什么让它在 LLM 中如此受欢迎以及它面临的挑战。我们还将讨论专家专业化与知识共享之间的权衡,以及 DeepSeekMoE 如何设计以取得更好的权衡。为了使这些概念更直观,文章通过餐厅做菜选择厨师的例子,来类比分解它们,通过厨师在厨房中的角色来说明 MoE 中的每个元素。

一文搞懂DeepSeek-V3_MLA注意力机制

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遇到的一些好的文章,帮助你搞懂flash_attention。

我们知道现在的LLM大模型主流是基于attention搭建的,attention的计算效率也决定了生产场景中大模型的可用性。flash_attention目前有三个版本,分别是flash_attention和flash_attention2和flash_attention3,它们的目的都是采取一系列的优化手段,提高attention的计算效率。

lmdeploy推理do_sample崩溃问题

采用server方式推理一个模型,会崩溃。

采用pipeline方式推理一个模型,不会崩溃。

不管是server还是pipeline,都调用了同样的generate()方法,但是为什么会产生不同的结果?传递的参数不同。

GPU的pin_memory是什么?

gpu的pin_memory

pin_memory就是在RAM上固定了一块内存,这个内存范围是被锁住的。pin这个单词很形象,很像rust中pin含义,用钉子把钉住,这个内存就不会释放,是安全的意思。GPU在传递数据的时候,就可以用DMA的方式,高效传输数据。否则,普通的cpu_memory,就会swap掉,然后访问的时候缺页中断,这样速度肯定就慢了很多。