当前位置: 首页 > news >正文

【AIGC魔童】DeepSeek核心创新技术(二):MLA

【AIGC魔童】DeepSeek核心创新技术(二):MLA

    • 1. MLA框架的定义与背景
    • 2. MLA框架的技术原理
      • (1)低秩联合压缩
      • (2)查询的低秩压缩
      • (3)旋转位置嵌入(RoPE)
    • 3. MLA框架的优势
    • 4. MLA框架的核心价值

DeepSeek 的 MLA(Multi-head Latent Attention)框架凭借其独特的技术原理和显著优势,吸引了众多关注。下面将详细解读 MLA 框架。

1. MLA框架的定义与背景

DeepSeek 是一家专注于人工智能技术的公司,其开发的 MLA(Multi-Head Latent Attention)框架是 DeepSeek-V3 模型中用于高效推理的核心注意力机制。MLA 通过低秩联合压缩技术,减少了推理时的键值(KV)缓存,从而在保持性能的同时显著降低了内存占用。这一技术的出现,是为了应对传统 Transformer 模型在大规模语言模型(LLM)推理过程中面临的内存瓶颈问题。

在标准的 Transformer 模型中,多头注意力(Multi-Head Attention, MHA)机制通过并行计算多个注意力头来捕捉输入序列中的不同特征。每个注意力头都有自己的查询(Query, Q)、键(Key, K)和值(Value, V)矩阵,计算过程如下:

  • 查询矩阵 Q:用于计算输入序列中每个位置的注意力权重。

  • 键矩阵 K:用于与查询矩阵 Q 计算注意力分数。

  • 值矩阵 V:用于根据注意力分数加权求和,得到最终的输出。

然而,这种机制在处理长序列时,会面临巨大的内存开销。例如,对于一个长度为 S 的序列,每个头的维度为 d ,则每个头的 KV 缓存大小为2 x S x d 。对于大规模模型,这会导致显存占用过高,限制了模型的推理效率。

为了解决这一问题,MLA 框架应运而生。它通过低秩联合压缩技术,将 KV 缓存的存储需求显著降低,同时保持了模型的性能。这一技术的核心在于,通过低秩分解和矩阵变换,将原本需要存储的大量 KV 值压缩为更小的维度,从而减少了显存的使用量。

2. MLA框架的技术原理

MLA 框架本质上是一种优化后的注意力机制。在理解它之前,我们先来简单了解一下什么是注意力机制。在大语言模型处理信息时,比如处理一段文本,它需要知道文本中哪些部分是重要的,哪些部分相对次要,注意力机制就像是模型的 “聚焦器”,帮助模型把重点放在关键信息上。而 MLA 框架则是在这个基础上,进一步优化,让模型在处理信息时更加高效。
在这里插入图片描述

(1)低秩联合压缩

  • 核心思想MLA 的一个关键技术是对注意力机制中的键(Key)和值(Value)进行低秩联合压缩。简单来说,就是把原本较大的数据量通过一定的方式变小,这样在推理的时候,需要缓存的键值(KV)对数量就会减少。

低秩联合压缩技术是 DeepSeek MLA 框架的核心,它通过将高维的键(Key)和值(Value)矩阵压缩到低维空间,从而显著减少存储需求。在传统的多头注意力机制中,每个头的键和值矩阵都需要单独存储,这在处理长序列时会导致巨大的内存开销。例如,对于一个长度为 S 的序列,每个头的维度为 d ,则每个头的 KV 缓存大小为2 x S x d 。对于大规模模型,这会导致显存占用过高,限制了模型的推理效率。

MLA 框架通过低秩联合压缩技术解决了这一问题。它首先将输入数据压缩到一个低秩空间,然后再通过上投影矩阵将其恢复到原始维度。这种压缩方式不仅减少了存储需求,还保持了模型的性能。具体来说,MLA 的低秩联合压缩过程如下:

低秩压缩:首先对输入进行低秩压缩,将维度为 d 的输入压缩到维度为 r(其中r << d ),通过一个低秩变换矩阵 Wr 实现:

在这里插入图片描述

其中, Wr是一个d x r 的矩阵,将输入压缩到低秩空间。

扩展维度:然后通过两个变换矩阵Wk和Wv ,将低秩的 Latent_KV 扩展回原始维度d ,得到每个头的 K 和 V:

在这里插入图片描述

其中,Wk和Wv是r x d的矩阵,用于将低秩表示恢复到原始维度。

计算注意力:最后,通过查询矩阵 Q 与 K 计算注意力分数,并使用 V 进行加权求和,得到最终的输出:

在这里插入图片描述

通过这种方式,MLA 框架不仅减少了 KV 缓存的存储需求,还保持了模型的性能,使得大规模语言模型的推理变得更加高效。想象一下,原本模型需要一个很大的 “仓库” 来存放键值对信息,现在通过低秩压缩,“仓库” 变小了,在推理过程中内存使用就减少了,推理效率也就提升了。

(2)查询的低秩压缩

  • 优化目的:除了对键和值进行压缩,MLA 还对注意力查询(Query)进行低秩压缩,以减少训练过程中的激活内存。查询可以理解为模型在寻找信息时提出的问题,对查询进行压缩,能让模型在训练时更节省内存资源。

  • 实现方式:查询的低秩压缩通过类似的投影操作实现,具体公式如下:

在这里插入图片描述

其中,WQdown是查询的下投影矩阵, qi是第 i 个 token 的查询向量。通过这个投影操作,将查询向量也进行了低秩压缩。

  • 性能保持:尽管 MLA 通过低秩压缩减少了 KV 缓存和激活内存,但它仍然能够保持与标准多头注意力(MHA)相当的性能。这就好比一辆车,经过改装后,不仅更省油(减少内存占用),速度还没有变慢(性能相当)。

(3)旋转位置嵌入(RoPE)

位置信息处理:在处理长序列时,位置信息非常重要。比如 “我今天去了北京” 和 “今天我去了北京”,虽然词语相同,但表达的意思可能因为位置不同而有所差异。MLA 架构结合了旋转位置嵌入(RoPE)来有效处理长序列中的位置依赖问题。

作用:RoPE 通过旋转操作将位置信息嵌入到键和查询中。具体来说,对于位置n和维度2i、2i + 1 ,RoPE 的操作如下:

在这里插入图片描述

其中,qn是位置n的查询向量。通过这样的旋转操作,模型能够更好地捕捉长距离依赖关系,从而提升对长序列的处理能力。

3. MLA框架的优势

  • 内存占用少:低秩联合压缩和查询的低秩压缩,减少了 KV 缓存和激活内存,降低模型在推理和训练时对内存的需求,利于在资源有限的设备上运行模型。

  • 推理效率高:内存占用减少,模型处理信息速度加快,能更高效生成结果,比如在对话系统中能更快回复用户问题。

  • 长序列处理能力强:结合 RoPE,模型能更好处理长序列,理解文本中长距离的依赖关系,处理长篇文档时表现更出色。

4. MLA框架的核心价值

MLA(Multi-Head Latent Attention)框架通过低秩联合压缩技术,解决了传统 Transformer 模型在大规模语言模型推理过程中面临的内存瓶颈问题。其核心优势在于显著减少了 KV 缓存的存储需求,同时保持了模型的性能。具体来说,MLA 框架通过低秩压缩和矩阵变换,将高维的键(Key)和值(Value)矩阵压缩到低维空间,再通过上投影矩阵将其恢复到原始维度,从而减少了显存的使用量。这一技术不仅显著降低了内存占用,还提高了推理效率,使得大规模语言模型的推理变得更加高效。此外,MLA 框架具有很强的兼容性,可以无缝集成到现有的 Transformer 模型中,无需对模型架构进行大规模的修改,这使得其在实际应用中具有广泛的应用前景。

相关文章:

【AIGC魔童】DeepSeek核心创新技术(二):MLA

【AIGC魔童】DeepSeek核心创新技术&#xff08;二&#xff09;&#xff1a;MLA 1. MLA框架的定义与背景2. MLA框架的技术原理&#xff08;1&#xff09;低秩联合压缩&#xff08;2&#xff09;查询的低秩压缩&#xff08;3&#xff09;旋转位置嵌入&#xff08;RoPE&#xff09…...

Mac: docker安装以后报错Command not found: docker

文章目录 前言解决办法&#xff08;新的&#xff09;解决步骤&#xff08;原来的&#xff09;不推荐总结 前言 ​本操作参考 http://blog.csdn.net/enhenglhm/article/details/137955756 原作者&#xff0c;更详细请&#xff0c;查看详细内容请关注原作者。 一般&#xff0c;…...

Golang 并发机制-7:sync.Once实战应用指南

Go的并发模型是其突出的特性之一&#xff0c;但强大的功能也带来了巨大的责任。sync.Once是由Go的sync包提供的同步原语。它的目的是确保一段代码只执行一次&#xff0c;而不管有多少协程试图执行它。这听起来可能很简单&#xff0c;但它改变了并发环境中管理一次性操作的规则。…...

react关于手搓antd pro面包屑的经验(写的不好请见谅)

我们先上代码&#xff0c;代码里面都有注释&#xff0c;我是单独写了一个组件&#xff0c;方便使用&#xff0c;在其他页面引入就行了 还使用了官方的Breadcrumb组件 import React, { useEffect, useState } from react; import { Breadcrumb, Button } from antd; import { …...

Android修行手册-五种比较图片相似或相同

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材…...

设计模式.

设计模式 一、介绍二、六大原则1、单一职责原则&#xff08;Single Responsibility Principle, SRP&#xff09;2、开闭原则&#xff08;Open-Closed Principle, OCP&#xff09;3、里氏替换原则&#xff08;Liskov Substitution Principle, LSP&#xff09;4、接口隔离原则&am…...

使用PyCharm创建项目以及如何注释代码

创建好项目后会出现如下图所示的画面&#xff0c;我们可以通过在项目文件夹上点击鼠标右键&#xff0c;选择“New”菜单下的“Python File”来创建一个 Python 文件&#xff0c;在给文件命名时建议使用英文字母和下划线的组合&#xff0c;创建好的 Python 文件会自动打开&#…...

LabVIEW与PLC交互

一、写法 写命令立即读出 写命令后立即读出&#xff0c;在同一时间不能有多个地方写入&#xff0c;因此需要在整个写入后读出过程加锁 项目中会存在多个循环并行执行该VI&#xff0c;轮询PLC指令 在锁内耗时&#xff0c;就是TCP读写的实际耗时为5-8ms&#xff0c;在主VI六个…...

Idea 2024.3 使用CodeGPT插件整合Deepseek

哈喽&#xff0c;大家好&#xff0c;我是浮云&#xff0c;最近国产大模型Deepseek异常火爆&#xff0c;作为程序员我也试着玩了一下&#xff0c;首先作为简单的使用&#xff0c;大家进入官网&#xff0c;点击开始对话即可进行简单的聊天使用&#xff0c;点击获取手机app即可安装…...

[论文笔记] Deepseek-R1R1-zero技术报告阅读

启发: 1、SFT&RL的训练数据使用CoT输出的格式,先思考再回答,大大提升模型的数学与推理能力。 2、RL训练使用群体相对策略优化(GRPO),奖励模型是规则驱动,准确性奖励和格式化奖励。 1. 总体概述 背景与目标 报告聚焦于利用强化学习(RL)提升大型语言模型(LLMs)…...

VUE之组件通信(三)

1、$refs与$parent 1&#xff09;概述&#xff1a; $refs用于&#xff1a;父——>子。$parent用于&#xff1a;子——>父。 2&#xff09;原理如下&#xff1a; 属性说明$refs值为对象&#xff0c;包含所有被ref属性标识的DOM元素或组件实例。$parent值为对象&#x…...

【Redis实战】投票功能

1. 前言 现在就来实践一下如何使用 Redis 来解决实际问题&#xff0c;市面上很多网站都提供了投票功能&#xff0c;比如 Stack OverFlow 以及 Reddit 网站都提供了根据文章的发布时间以及投票数计算出一个评分&#xff0c;然后根据这个评分进行文章的展示顺序。本文就简单演示…...

linux常用基础命令 最新1

常用命令 查看当前目录下个各个文件大小查看当前系统储存使用情况查看当前路径删除当前目录下所有包含".log"的文件linux开机启动jar更改自动配置文件后操作关闭自启动linux静默启动java服务查询端口被占用查看软件版本重启关机开机启动取别名清空当前行创建文件touc…...

UnityShader学习笔记——多种光源

——内容源自唐老狮的shader课程 目录 1.光源类型 2.判断光源类型 2.1.在哪判断 2.2.如何判断 3.光照衰减 3.1.基本概念 3.2.unity中的光照衰减 3.3.光源空间变换矩阵 4.点光源衰减计算 5.聚光灯衰减计算 5.1.聚光灯的cookie&#xff08;灯光遮罩&#xff09; 5.2.聚…...

深入浅出谈VR(虚拟现实、VR镜头)

1、VR是什么鬼&#xff1f; 近两年VR这次词火遍网上网下&#xff0c;到底什么是VR&#xff1f;VR是“Virtual Reality”&#xff0c;中文名字是虚拟现实&#xff0c;是指采用计算机技术为核心的现代高科技手段生成一种虚拟环境&#xff0c;用户借助特殊的输入/输出设备&#x…...

项目2 车牌检测

检测车牌 1. 基本思想2. 基础知识2.1 YOLOV5(参考鱼苗检测)2.1.1 模型 省略2.1.2 输入输出 省略2.1.3 损失函数 省略2.2 LPRNet2.2.1 模型2.2.2 输入输出2.2.3 损失函数3. 流程3.1 数据处理3.1.1 YOLOV5数据处理3.2.2 LPRNet数据处理3.2 训练3.2.1 YOLOV5训练 省略3.2.2 LPRN…...

Linux: 网络基础

1.协议 为什么要有协议&#xff1a;减少通信成本。所有的网络问题&#xff0c;本质是传输距离变长了。 什么是协议&#xff1a;用计算机语言表达的约定。 2.分层 软件设计方面的优势—低耦合。 一般我们的分层依据&#xff1a;功能比较集中&#xff0c;耦合度比较高的模块层…...

【实战篇】巧用 DeepSeek,让 Excel 数据处理更高效

一、为何选择用 DeepSeek 处理 Excel 在日常工作与生活里,Excel 是我们频繁使用的工具。不管是统计公司销售数据、分析学生成绩,还是梳理个人财务状况,Excel 凭借其强大的功能,如数据排序、筛选和简单公式计算,为我们提供了诸多便利。但当面对复杂的数据处理任务,比如从…...

Flink CDC YAML:面向数据集成的 API 设计

摘要&#xff1a;本文整理自阿里云智能集团 、Flink PMC Member & Committer 徐榜江&#xff08;雪尽&#xff09;老师在 Flink Forward Asia 2024 数据集成&#xff08;一&#xff09;专场中的分享。主要分为以下四个方面&#xff1a; Flink CDC YAML API Transform A…...

RabbitMQ技术深度解析:打造高效消息传递系统

引言 在当前的分布式系统架构中&#xff0c;消息队列作为一种高效的消息传递机制&#xff0c;扮演着越来越重要的角色。RabbitMQ&#xff0c;作为广泛使用的开源消息代理&#xff0c;以其高可用性、扩展性和灵活性赢得了众多开发者的青睐。本文将深入探讨RabbitMQ的核心概念、…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...