文章目录

  • 摘要
    • **稀疏化与专家系统**
    • **注意力机制优化**
    • **归一化与稳定性设计**
    • 模型架构对比详析
      • DeepSeek-V3 vs Llama 4 Maverick
      • Qwen3 vs SmolLM3
    • Kimi 2的突破
  • 1 DeepSeek V3/R1
    • 1.1 多头潜在注意力(MLA)
    • 1.2 混合专家系统(MoE)
    • 1.3 DeepSeek 总结
  • 2 OLMo 2
    • 2.1 归一化层位置
    • 2.2 QK-Norm
    • 2.3 OLMo 2 总结
    • 3 Gemma 3
    • 3.1 滑动窗口注意力
    • 3.2 Gemma 3的归一化层位置
    • 3.3 Gemma 3总结
    • 3.4 彩蛋:Gemma 3n
  • 4 Mistral Small 3.1
  • 5 Llama 4
    • 6 Qwen3
    • 6.1 Qwen3(密集版)
    • 6.2 Qwen3(MoE版)
  • 7 SmolLM3
    • 7.1 无位置嵌入(NoPE)
  • 8 Kimi 2
  • 总结与展望

摘要

本文系统性梳理了2025年主流开源LLM的架构创新,涵盖从DeepSeek-V3到Kimi K2的代表性设计。这些模型在保持高效推理的同时,通过差异化技术路径实现了性能突破,核心趋势可归纳为以下三类:

稀疏化与专家系统

  • 混合专家系统(MoE):DeepSeek-V3(671B)、Llama 4 Maverick(400B)、Qwen3(235B)均采用MoE架构,通过激活部分专家(如DeepSeek的9专家/2048隐藏层,Llama 4的2专家/8192隐藏层)平衡计算效率与模型容量。
  • 动态路由:MoE通过路由模块选择激活专家,DeepSeek-V3在每层使用9专家,而Qwen3 235B-A22B则采用8专家设计,放弃共享专家(与DeepSeek-V3不同)。

注意力机制优化

  • 多头潜在注意力(MLA):DeepSeek-V3首创MLA替代传统MHA,通过低秩投影减少KV缓存(37B激活参数 vs MHA的671B总参数),提升推理效率。
  • 滑动窗口注意力(Sliding Window):Gemma 3(27B)采用局部注意力窗口(1024上下文),Mistral Small 3.1(24B)则回归传统GQA,推测因FlashAttention等优化库更适配全局注意力。
  • 无位置嵌入(NoPE):SmolLM3(3B)尝试移除显式位置编码,依赖因果掩码隐式学习顺序,实验显示其长度泛化能力更优(序列延长时性能衰减更慢)。

归一化与稳定性设计

  • RMSNorm变体
    • OLMo 2采用后归一化(Post-Norm),将RMSNorm置于注意力与前馈模块后,结合QK-Norm(查询键归一化)稳定训练。
    • Gemma 3创新性采用前归一化(Pre-Norm)与后归一化混合设计,兼顾梯度稳定性与计算效率。
  • 训练优化:Kimi 2(1T参数)首次在万亿规模模型中采用Muon优化器替代AdamW,实现更平滑的损失衰减(尽管梯度L2范数分析显示其平滑性未显著超越OLMo 2)。

模型架构对比详析

DeepSeek-V3 vs Llama 4 Maverick

维度 DeepSeek-V3 Llama 4 Maverick
总参数 671B 400B
激活参数 37B(9专家,2048隐藏层) 17B(2专家,8192隐藏层)
MoE层分布 除前3层外全采用MoE 交替使用MoE与密集模块
注意力机制 MLA(多头潜在注意力) GQA(分组查询注意力)

Qwen3 vs SmolLM3

维度 Qwen3 235B-A22B SmolLM3 3B
架构类型 MoE(8专家,无共享专家) 密集(每4层省略RoPE)
位置编码 RoPE(旋转位置编码) NoPE(无显式位置嵌入)
性能亮点 32B-A3B/235B-A22B双版本 3B规模下胜过更大模型(图20)

Kimi 2的突破

  • 规模与创新:1T参数,采用DeepSeek-V3架构扩展(更多MoE专家、MLA头数调整),训练损失曲线衰减显著(图24)。
  • 开源策略:继Kimi 1.5(未公开权重)后,Kimi 2成为首个万亿级开源模型,性能比肩专有模型(Gemini、Claude、ChatGPT)。

在这里插入图片描述

1 DeepSeek V3/R1

你可能已经多次听说过,2025年1月发布的DeepSeek R1引起了巨大反响。该模型是基于2024年12月推出的DeepSeek V3架构构建的推理型模型。

虽然本文聚焦2025年发布的架构,但我认为将DeepSeek V3纳入讨论是合理的,因为它在2025年伴随DeepSeek R1的发布才获得广泛关注和应用。

如果你对DeepSeek R1的训练细节感兴趣,可以参考我今年早些时候发布的文章。

本节将重点分析DeepSeek V3引入的两项关键架构技术,它们提升了计算效率并使其区别于其他LLM:

  • 多头潜在注意力(MLA)
  • 混合专家系统(MoE)

1.1 多头潜在注意力(MLA)

在讨论多头潜在注意力(MLA)之前,先简要回顾相关背景以说明其动机。我们从分组查询注意力(GQA)说起,它近年来已成为替代多头注意力(MHA)的高效方案,在计算和参数效率上更具优势。

以下是GQA的简要总结:与MHA中每个注意力头独立拥有键(Key)和值(Value)投影不同,GQA通过让多个头共享同一组键和值投影来减少内存占用。

例如,假设有2个键值组和4个注意力头(如图2所示),头1和头2可能共享一组键和值,头3和头4则共享另一组。这减少了键值计算的总次数,从而降低内存消耗并提升效率(消融实验表明,此举对模型性能影响可忽略)。

在这里插入图片描述
因此,GQA的核心思想是通过让多个查询头共享同一组键值头,来减少键值头的数量。这(1)降低了模型的参数数量,(2)减少了推理时键值张量对内存带宽的占用——因为需要从KV缓存中存储和检索的键值数量更少。

(如果你对GQA的代码实现感兴趣,可以参考我的《GPT-2到Llama 3转换指南》(无KV缓存版本)以及《KV缓存变种指南》。)

虽然GQA主要是对MHA的一种计算效率优化,但消融实验(如原始GQA论文和Llama 2论文中的实验)表明,其在LLM建模性能上与标准MHA相当。

而多头潜在注意力(MLA)则提供了另一种节省内存的策略,且与KV缓存特别适配。与GQA共享键值头不同,MLA在将键值张量存入KV缓存前,会先将其压缩到低维空间。

如图3所示,在推理时,这些压缩后的张量会被投影回原始尺寸后再使用。这一操作增加了一次矩阵乘法,但减少了内存占用。

在这里插入图片描述
(附带说明,查询(queries)也会被压缩,但仅在训练期间,推理时不会。)
顺便一提,MLA并非DeepSeek V3的新特性,因为其前身DeepSeek-V2也使用了(甚至引入了)它。
此外,V2论文中包含了一些有趣的消融实验,可能解释了为何DeepSeek团队选择MLA而非GQA(见图4)。在这里插入图片描述
如上图4所示,GQA的性能似乎比MHA更差,而MLA的建模性能优于MHA,这可能就是DeepSeek团队选择MLA而非GQA的原因。(若能比较MLA与GQA在“每标记KV缓存”节省量上的差异,也会很有趣!)

总结本节内容,在进入下一个架构组件前:MLA是一项巧妙的技术,既减少了KV缓存的内存占用,又在建模性能上略微超越了MHA。

1.2 混合专家系统(MoE)

DeepSeek中另一个值得强调的主要架构组件是其使用的混合专家系统(MoE)层。虽然DeepSeek并非MoE的发明者,但该技术今年重新兴起,且我们后续将讨论的许多架构也采用了它。

你可能已经熟悉MoE,但快速回顾一下可能会有帮助。

MoE的核心思想是:将Transformer块中的每个前馈(FeedForward)模块替换为多个专家层,其中每个专家层本身也是一个前馈模块。这意味着我们用多个前馈模块替代了单个前馈模块,如图5所示。
在这里插入图片描述

Transformer块内部的前馈模块(如上图中的深灰色块)通常包含模型总参数的很大一部分。(注意:Transformer块(因此前馈模块)在大型语言模型中会多次重复;以DeepSeek-V3为例,重复了61次。)

因此,用多个前馈模块替代单个前馈模块(如MoE设置中所做的)会大幅增加模型的总参数数量。但关键技巧在于:我们不会对每个标记都使用(“激活”)所有专家。相反,路由模块会为每个标记仅选择一小部分专家。(为节省篇幅,路由模块的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92496.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92496.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92496.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity笔记(二)——Time、Vector3、位置位移、角度、旋转、缩放、看向

写在前面写本系列的目的(自用)是回顾已经学过的知识、记录新学习的知识或是记录心得理解,方便自己以后快速复习,减少遗忘。这里只有部分语法知识。五、Time时间相关1、时间缩放比例概念:可以通过UnityEngine.Time类的timeScale属性控制游戏时…

vue+vite项目中怎么定义一个环境变量可以在开发环境和生产环境使用不同的值,并且可以在vue页面和index.html通用。

首先我们需要下载一个插件vite-plugin-html然后再项目最外层和index.html同级目录下新建.env.development和.env.production两个项目并且定义你想要的环境变量名:注意要以VITE_开头VITE_APP_MAP_TOKEN1233444然后vite.config.js文件import { defineConfig,loadEnv } from vite…

Python-深度学习--2信息熵,条件熵(ID3决策树),KL散度

一、信息熵(Entropy)的计算与应用信息熵用于衡量一个概率分布的不确定性,值越大表示分布越分散(不确定性越高)。1. 数学定义对于离散概率分布 P,信息熵公式为:(通常以 2 为底单位是比…

国产化Word处理控件Spire.Doc教程:Python提取Word文档中的文本、图片、表格等

在现代办公场景中,Word文档已成为信息存储与交流的重要载体,承载着关键的业务数据、结构化表格、可视化图表以及协作批注等重要内容。面对日益增长的文档处理需求,传统的人工操作方式已难以满足效率与准确性的双重标准。采用Python实现Word文…

Spring IOC 原理

Spring IoC(控制反转)是Spring框架的核心机制,其原理是通过容器管理对象生命周期和依赖关系,实现解耦。 1. 控制反转(IoC)核心思想 传统模式:对象主动创建依赖(如new Service()&…

VSCode:基础使用 / 使用积累

官网 Visual Studio Code - Code Editing. Redefined 记录一、更新依赖 尝试删除yarn.lock文件 记录二、“解决冲突”的方式变了 更新后,“解决冲突”的方式变了,有的时候能选中两者,有的时候不能 现在又更新了,回复到了原来…

tcp 确认应答和超时时间

1. 确认应答之间的时间(RTT)这是指 从发送方发送数据到接收方返回确认(ACK)之间的时间。它反映的是数据传输的 往返延迟。例如,发送方发送一个数据包,接收方收到后,回传一个确认包(A…

图的应用-最短路径

最短路径的典型用途:交通网络的问题——从甲地到乙地之间是否有公路连通?在有多条通路的情况下,哪一条路最短?交通网络用有向网来表示:顶点——表示地点,弧——表示两个地点有路连通,弧上的权值…

【qt5_study】1.Hello world

模板 作为初学者我们选择第一个Application(Qt)和 Qt Widgets Application,所谓的模板就是 Qt为了方便开发程序,在新建工程时可以让用户基于一种模板来编写程序,包括 cpp文件, ui文件都已经快速的创建,而不用用户手动创建这些文件。 基类 这里默认选择的基类为 QMainWin…

项目构想|文生图小程序

Date: August 4, 2025项目介绍 👋,我们通过 Vibe Coding 做一个文字生成图片的小程序。 我们会从需求分析、技术选型、UI设计、项目构筑到最后打包,一路尝试 Vibe Coding 实现。 创建项目 创建文件夹:ai-pic-mini-app 采用 Git 进…

TiDB/MongoDB/Taosdb存储引擎概览

数据库类型存储引擎数据结构源码位置tidbRockDBLSM树https://github.com/facebook/rocksdbmongodbWiredTigerB 树/LSM树https://github.com/wiredtiger/wiredtigerTDengineTSDBBRINhttps://github.com/taosdata/TDengine 1、tidb存储引擎概览 LSM树数据结构描述LSM树(Log Str…

qt窗口--01

文章目录qt窗口--01窗口概览菜单栏工具栏状态栏浮动窗口子窗口对话框model结语很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!! 作者:٩( ‘ω’ )و260 我的专栏:qt,Li…

Neo4j 社区版 Mac 安装教程

最近用到了nebulagraph图数据库做金融反欺诈项目,虽然nebula属于分布式架构,但依然感觉nebula使用不太顺手,这里顺便研究一下neo4j这款数据库如何,这里先从安装开始? 一、 准备工作 确认 Java 版本要求: N…

Android Studio(2025.1.2)Gemini Agent 使用指南

Android Studio(2025.1.2)Gemini Agent 使用指南 文章目录Android Studio(2025.1.2)Gemini Agent 使用指南1. 什么是 Gemini Agent?2. 如何启用和配置 Gemini Agent2.1 获取 API Key2.2 在 Android Studio 中配置3. 实…

计算机视觉--opencv(代码详细教程)

在计算机视觉的广袤领域中,OpenCV 是一座极为关键的里程碑。无论是在前沿的学术研究,还是在蓬勃发展的工业界,OpenCV 凭借其强大的功能与高效的性能,为开发者提供了丰富的图像处理和计算机视觉算法,助力无数项目落地。…

Centos6停止服务后yum改用阿里云

环境: OS:Centos 6.9 1.进入到yum配置目录 cd /etc/yum.repos.d 2.备份 cp CentOS-Base.repo CentOS-Base.repo.bk 3.下载 wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo 问题1: 因为Centos-6早就停止了更新维护,阿里云镜像网站将其仓库…

putty+Xming(XLaunch) 远程登录VirtualBox中的Ubuntu24.04,显示图形化(GUI)界面

测试环境:VirtualBox 7,Ubuntu24.04 desktop,Ubuntu24.04 Server(no desktop),均测试成功。 一、先测试putty远程登录VirtualBox中的Ubuntu,可以使用ssh、Telnet 等协议。参见拙文《ssh连接VirtualBox中的Ubuntu24.04(win11、put…

SpringBoot微头条实战项目

一、项目概述 微头条是一个基于现代技术栈构建的新闻发布和浏览平台,旨在为用户提供便捷的新闻阅读体验和高效的新闻管理功能。该项目通过前后端分离的架构设计,实现了用户注册、登录、新闻浏览、搜索、发布、修改和删除等功能,同时通过JWT技…

如何给电脑换个ip地址?电脑换ip几种方法

更换电脑的IP地址的方法取决于你的具体需求和网络环境(是换本地局域网IP还是换对外公网IP)。以下是几种常见的方法: 一、更换本地局域网IP地址(在同一个网络内) 这个IP地址通常由你的路由器(或公司的网络管…

Pytest项目_day04(Python做接口请求)

Requests包 在python中,可以使用requests包,用于做接口请求和接口测试request支持http和https简单的get函数调用如下:r.jsonr.status_coder.textget函数的带params用法post函数的带params用法 post也可以和get一样在url中传入参数在requests包…