c++如何使用Mix-in模式灵活可扩展的组合功能
Mix-in 是什么?
在讨论 mix-in 是什么之前,我们先看它试图解决什么问题?
假设你在开发一款程序的过程中,有一堆想法或概念要建模。它们可能在某种程度上相关,但在很大程度上是正交的——这意味着它们可以独立存在。 你有以下方式选择:
在讨论 mix-in 是什么之前,我们先看它试图解决什么问题?
假设你在开发一款程序的过程中,有一堆想法或概念要建模。它们可能在某种程度上相关,但在很大程度上是正交的——这意味着它们可以独立存在。 你有以下方式选择:
(本小节译自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的计算效率。
通过对ZIP 文件格式的学习,就有了足够的信息能够逐字节手动读取和写入 ZIP 文件,知道为什么zip压缩格式为什么是从后往前开始解析的。
ZIP 文件由多个头部组成,包括本地文件头、中央目录文件头和中央目录结束记录。每个头部由签名和头部数据组成。