国产之光DeepSeek架构理解与应用分析02

news2025/5/11 3:52:53

本专栏

国产之光DeepSeek架构理解与应用分析-CSDN博客

国产之光DeepSeek架构理解与应用分析02-CSDN博客

前置的一些内容理解

GPU TPU NPU的区别?

设计目的

GPU:最初是为了加速图形渲染而设计的,用于处理图像和视频数据,以提供高质量的视觉效果。在现代计算机中,GPU 也被广泛用于通用计算,如科学计算、深度学习等。

TPU:是专门为加速张量计算而设计的,主要用于深度学习模型的训练和推理。TPU 针对深度学习的特点进行了优化,能够高效地处理大规模的张量运算。

NPU:主要用于加速神经网络的计算,特别适用于人工智能领域中的图像识别、语音识别、自然语言处理等任务。NPU 通常采用了专门的架构和算法,能够在低功耗的情况下提供高效的神经网络计算能力。

硬件架构

GPU:拥有大量的计算核心(cuda),通常采用 SIMD(单指令多数据)架构,能够同时处理多个数据元素。GPU 还具有丰富的内存层次结构,包括片上缓存、显存等,以支持高效的数据访问。

英伟达gpu为例大概硬件架构图

1.主机接口(Host Interface):负责与主机(如 CPU)进行通信。

2.内存控制器(Memory Controller):管理 GPU 与外部内存(如 GDDR)之间的数据传输。

3.L2 缓存(L2 Cache):作为数据的高速缓存,减少内存访问延迟。

4.流式多处理器(Streaming Multiprocessors, SMs):GPU 的核心计算单元,多个 SM 并行工作以提高计算能力。每个 SM 内部包含线程调度器、 warp 调度器、ALU 阵列和共享内存。

TPU:通常采用了专门的张量处理单元(Tensor Core),能够高效地处理张量运算。TPU 还具有高速的内存接口和片上缓存,以支持快速的数据传输和访问。

以较新的谷歌 TPU v4 为例

1.整体组件Tensor Core:TPU v4 有两个 Tensor Core(tensor_core_0和tensor_core_1 ),每个 Tensor Core 包含多个核心计算单元。

HBM(高带宽内存):有两个 HBM 模块(hbm_0和hbm_1 ),分别与对应的 Tensor Core 相连,提供高带宽内存支持。

Sparse Core:专门针对稀疏计算优化的模块(sparse_core ),与两个 Tensor Core 都有连接。

3D Torus Interconnect:3D Torus 互联结构(torus ),用于实现芯片间高效互联,连接各个主要组件。

2.Tensor Core 内部

每个 Tensor Core 里有四个脉动阵列 MXU(如mxu_0 - mxu_3 等 )以及一个 Scalar Unit 和一个 Vector Unit ,展示了其内部计算单元的构成和连接关系。Sparse 3.Core 内部

包含 Fetch Unit(从 HBM 读取数据 )、scVPU(向量处理单元 )、Flush Unit(反向传播时写入更新参数 )以及五个跨通道单元(执行嵌入操作 ),体现其针对稀疏计算的功能模块设计。

NPU:采用了专门的神经网络处理器架构,通常包括多个处理单元和存储单元。NPU 还具有高效的硬件加速器,如卷积神经网络(CNN)加速器、循环神经网络(RNN)加速器等,以支持不同类型的神经网络计算。

以较为典型的寒武纪思元系列 NPU 架构为参考示例

1.整体组件Input Data Buffer:输入数据缓冲区,用于暂存输入到 NPU 的数据。

Weight Data Buffer:权重数据缓冲区,存放神经网络计算所需的权重参数。

Neural Network Core:神经网络核心计算单元,进行主要的神经网络计算。

Accelerator Engine:加速引擎,对特定计算进行加速处理,提升计算效率。

Memory Controller:内存控制器,管理数据在不同缓冲区和外部内存之间的传输。

Output Data Buffer:输出数据缓冲区,存储计算后的输出结果。

2.Neural Network Core 内部MAC Array:乘累加阵列,执行大量的乘累加操作,是神经网络计算的基础运算单元。

Activation Unit:激活单元,对 MAC 阵列的计算结果应用激活函数,引入非线性因素。

Normalization Unit:归一化单元,对数据进行归一化处理,有助于提升模型训练和推理的稳定性与效率。

3.Accelerator Engine 内部Sparse Computation Unit:稀疏计算单元,针对稀疏数据进行高效计算,减少不必要的计算量。

Dynamic Computation Unit:动态计算单元,适应不同的计算需求,灵活调整计算方式。

Parallel Processing Unit:并行处理单元,充分利用并行计算资源,加速整体计算过程

计算能力

GPU:具有强大的并行计算能力,能够同时处理多个图形或计算任务。在深度学习领域,GPU 也能够提供较高的计算性能,特别是在处理大规模数据集和复杂模型时表现出色。

TPU:针对深度学习的张量计算进行了优化,能够提供比 GPU 更高的计算性能和效率。TPU 通常采用了更高的时钟频率和更高效的计算单元,能够在短时间内完成大规模的张量运算。

NPU:在处理神经网络计算时具有高效的性能,能够在低功耗的情况下提供较高的计算速度。NPU 通常采用了专门的算法和架构,能够针对不同类型的神经网络进行优化,从而提高计算效率。

应用场景

GPU:广泛应用于图形渲染、游戏开发、科学计算、深度学习等领域。在深度学习领域,GPU 是目前最常用的计算设备之一,能够支持各种深度学习框架和模型的训练和推理。

TPU:主要应用于深度学习领域,特别是在大规模数据中心和云计算环境中,用于加速深度学习模型的训练和推理。TPU 能够提供高效的计算性能和低功耗,从而降低数据中心的运营成本。

NPU:主要应用于人工智能领域,如智能手机、智能家居、智能安防等设备中,用于加速图像识别、语音识别、自然语言处理等任务。NPU 能够在低功耗的情况下提供高效的计算能力,从而满足设备对性能和功耗的要求。

SiLU激活函数,并进一步解释门控神经网络

SiLU 激活函数详解

SiLU(Sigmoid Linear Unit)激活函数,也被称为 Swish 激活函数,由 Google Brain 在 2017 年引入。其定义为:

SiLU(x)=x⋅sigmoid(x)

其中,sigmoid(x) 是标准的 sigmoid 函数,其值在 0 和 1 之间:

sigmoid(x)=1+e−x1

特性

平滑性:SiLU 是一个平滑的函数,其输出值是连续且可导的,这有助于梯度下降算法在优化过程中稳定更新参数

非线性:SiLU 引入了非线性变换,使其能够捕捉复杂的数据模式

自正则化:SiLU 的输出值可以自适应地缩放输入值,类似于自正则化的效果,这可能有助于减少过拟合

无零输出区域:与 ReLU 不同,SiLU 不存在零输出区域,这意味着它在负数部分也有一定的响应,从而避免了梯度消失问题

优点

缓解梯度消失问题:SiLU 在负数部分也有一定的响应,这使得它在深度神经网络中能够更好地缓解梯度消失问题

非零中心:SiLU 的输出值不是零中心的,这有助于网络的学习

平滑函数:SiLU 是一个平滑函数,这意味着它在整个定义域内都有导数,有利于优化

缺点

计算复杂度:SiLU 的计算复杂度相对较高,因为它需要计算 sigmoid 函数。

应用场景

SiLU 激活函数在深度神经网络中表现出色,尤其是在需要处理负值输入的场景中。它在 YOLOv5 等深度学习模型中被广泛应用,取得了良好的效果

与其他激活函数的对比

ReLU(Rectified Linear Unit):ReLU 函数定义为ReLU(x) = max(0, x),它在 x > 0 时输出线性增长,而在 x <= 0 时输出为 0。这导致了 “死亡 ReLU” 问题,即当神经元的输入一直为负时,它将永远不会被激活,梯度也会变为 0,从而使该神经元无法更新参数。而 SiLU 在负数部分有非零输出,避免了这个问题。

Sigmoid 函数:Sigmoid 函数将输入值映射到 (0, 1) 区间,常用于二分类问题的输出层。然而,Sigmoid 函数存在梯度消失问题,当输入值很大或很小时,其导数趋近于 0,导致在深度神经网络中难以进行有效的参数更新。SiLU 结合了 Sigmoid 函数和线性函数,一定程度上缓解了梯度消失问题。

数学性质

导数:SiLU 函数的导数可以通过乘积法则计算。设 f(x) = x * sigma(x),其中 sigma(x)是 Sigmoid 函数。根据乘积法则 (uv)' = u'v + uv',可得 f'(x) = sigma(x) + x *sigma(x) * (1 - sigma(x))。这个导数在整个定义域内都是连续的,有助于梯度下降算法的稳定运行。

门控机制理解

SiLU 可以看作是一种门控机制,其中 sigma(x) 作为门控信号。当 sigma(x) 接近 1 时,输入 x 几乎可以无衰减地通过,相当于门打开;当 sigma(x) 接近 0 时,输入 x 被大幅抑制,相当于门关闭。这种门控机制使得 SiLU 能够自适应地调整输入的影响,从而更好地捕捉数据的特征。

门控神经网络详解

门控神经网络是一种通过门控机制来控制信息流动的神经网络结构。门控机制的核心思想是通过“门”来决定哪些信息应该被保留,哪些信息应该被过滤或抑制,从而提升模型的表达能力和计算效率

门控机制的原理

门控机制通常由神经网络(如全连接层)和激活函数(如 sigmoid)组成。门控的计算公式一般如下:

G=σ(Wx+b)

其中,x 是输入信息,W 和 b 是权重和偏置,σ 是 sigmoid 函数。

门控神经网络的结构

门控神经网络的典型代表包括长短期记忆网络(LSTM)和门控循环单元(GRU)。这些网络通过门控机制来控制信息的流动,从而有效地处理序列数据。

门控循环单元(GRU)

GRU 是一种简化的 LSTM 结构,它通过两个门(更新门和重置门)来控制信息的流动。更新门负责确定有多少上一个时间步的隐藏状态信息应该被保留到当前时间步,而重置门负责确定在计算新的隐藏状态时,有多少上一个时间步的隐藏状态信息应该被保留。

门控神经网络的应用

门控神经网络在处理序列数据(如自然语言处理、时间序列预测等)方面表现出色。它们通过门控机制有效地解决了传统 RNN 的梯度消失问题,从而能够更好地建模长距离依赖关系。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

对美团leaf的初步学习

我的项目中使用的雪花算法生成的全局订单号。但是考虑到了雪花算法可能会由于时钟回拨导致生成的全局id重复。于是去研究了美团的leaf服务&#xff1a;Leaf——美团点评分布式ID生成系统 - 美团技术团队&#xff0c;并总结出该文章。 自己项目中的应用 由于对订单表做了分表&…

Nacos深度剖析与实践应用之-负载均衡

&#x1f4a1;简介 Nacos不仅提供服务注册与发现功能&#xff0c;还内置了强大的负载均衡能力。Nacos的负载均衡机制主要应用于服务消费者从服务注册中心获取服务实例列表后&#xff0c;如何选择其中一个实例进行调用的过程。 &#x1f9e0; 学习目的 这篇文章我们将探讨负载…

Photoshop安装与配置--简单攻略版

下载地址:Photoshop软件工具下载 安装完成后&#xff0c;即可运行Photoshop.exe&#xff1b;打开工具页面后&#xff0c;按照下面简单配置即可 1.编辑-》首选项-》常规 或者直接快捷键CtrlK 暂存盘&#xff1a;一定要设置为非C盘 2.性能 3.文件处理 以上配置比较基础&#xf…

桌面级OTA测试解决方案:赋能智能网联汽车高效升级

一、前言 随着智能网联汽车的快速发展&#xff0c;OTA&#xff08;Over-The-Air&#xff09;技术已成为汽车软件更新和功能迭代的关键手段。为确保OTA升级的可靠性、安全性和效率&#xff0c;构建一套高效、便捷的桌面级OTA测试解决方案至关重要。 本方案基于Vector先进的软硬…

PG,TRPO,PPO,GRPO,DPO原理梳理

强化学习方法的分类 一、基础概念 Policy Model&#xff08;Actor Model&#xff09;&#xff1a;根据输入文本&#xff0c;预测下一个token的概率分布&#xff0c;输出下一个token也即Policy模型的“动作”。该模型需要训练&#xff0c;是我们最终得到的模型&#xff0c;并由上…

Cursor新版0.49.x发布

小子看到 Cursor 0.49.x 版本正式发布&#xff0c;截止今天已经有两个小patch版本&#xff01;本次更新聚焦于 自动化Rules生成、改进的 Agent Terminal 以及 MCP 图像支持&#xff0c;并带来了一系列旨在提升编码效率和协作能力的改进与修复。 以下是本次更新的详细内容&…

每日算法-250419

每日算法 - 2024年4月19日 记录今天完成的LeetCode算法题。 1710. 卡车上的最大单元数 题目描述 思路 贪心 解题过程 目标是最大化卡车可以装载的单元总数。根据贪心策略&#xff0c;我们应该优先装载单位体积&#xff08;每个箱子&#xff09;包含单元数 (numberOfUnitsPerB…

PDF转excel+json ,vue3+SpringBoot在线演示+附带源码

在线演示地址&#xff1a;Vite Vuehttp://www.xpclm.online/pdf-h5 源码gitee前后端地址&#xff1a; javapdfexcel: javaPDF转excelhttps://gitee.com/gaiya001/javapdfexcel.git 盖亚/vuepdfhttps://gitee.com/gaiya001/vuepdf.git 后续会推出 前端版本跟nestjs版本 识别复…

如何高效使用 Text to SQL 提升数据分析效率?四个关键应用场景解析

数据分析师和业务人员常常面临这样的困境&#xff1a;有大量数据等待分析&#xff0c;但 SQL 编写却成为效率瓶颈。即使对于经验丰富的数据分析师来说&#xff0c;编写复杂 SQL 查询也需要耗费大量时间&#xff1b;而对于不具备 SQL 专业知识的业务人员&#xff0c;数据分析则更…

分享一个DeepSeek+自建知识库实现人工智能,智能回答高级用法。

这个是我自己搞的DeepSeek大模型自建知识库相结合到一起实现了更强大的回答问题能力还有智能资源推荐等功能。如果感兴趣的小伙伴可以联系进行聊聊&#xff0c;这个成品已经有了实现了&#xff0c;所以可以融入到你的项目&#xff0c;或者毕设什么的还可以去参加比赛等等。 1.项…

jangow靶机笔记(Vulnhub)

环境准备&#xff1a; 靶机下载地址&#xff1a; https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova kali地址&#xff1a;192.168.144.128 靶机&#xff08;jangow&#xff09;地址&#xff1a;192.168.144.180 一.信息收集 1.主机探测 使用arp-scan进行主机探…

PyTorch `flatten()` 和 `squeeze()` 区别

PyTorch flatten() 和 squeeze() 区别 在 PyTorch 里,flatten() 和 squeeze(0) 是两个不同的张量操作, 1. flatten() 方法 flatten() 方法用于把一个多维张量展开成一维张量。它会将张量里的所有元素按顺序排列成一个一维序列。 语法 torch.flatten(input, start_dim=

wordpress SMTP配置qq邮箱发送邮件,新版QQ邮箱授权码获取方法

新版的QQ邮箱界面不同了&#xff0c;以下是新版的设置方法&#xff1a; 1. 进入邮箱后&#xff0c;点右上角的设置图标&#xff1a; 2. 左下角的菜单里&#xff0c;选择“账号与安全” &#xff1a; 3. 然后如下图&#xff0c;开启SMTP 服务&#xff1a; 4. 按提示验证短信&am…

2025年最新版 Git和Github的绑定方法,以及通过Git提交文件至Github的具体流程(详细版)

文章目录 Git和Github的绑定方法与如何上传至代码仓库一. 注册 GitHub 账号二.如何创建自己的代码仓库&#xff1a;1.登入Github账号&#xff0c;完成登入后会进入如下界面&#xff1a;2.点击下图中红色框选的按钮中的下拉列表3.选择New repostitory4.进入创建界面后&#xff0…

基于LSTM-AutoEncoder的心电信号时间序列数据异常检测(PyTorch版)

心电信号&#xff08;ECG&#xff09;的异常检测对心血管疾病早期预警至关重要&#xff0c;但传统方法面临时序依赖建模不足与噪声敏感等问题。本文使用一种基于LSTM-AutoEncoder的深度时序异常检测框架&#xff0c;通过编码器-解码器结构捕捉心电信号的长期时空依赖特征&#…

JavaScript中的Event事件对象详解

一、事件对象&#xff08;Event&#xff09;概述 1. 事件对象的定义 event 对象是浏览器自动生成的对象&#xff0c;当用户与页面进行交互时&#xff08;如点击、键盘输入、鼠标移动等&#xff09;&#xff0c;事件触发时就会自动传递给事件处理函数。event 对象包含了与事件…

王牌学院,25西电通信工程学院(考研录取情况)

1、通信工程学院各个方向 2、通信工程学院近三年复试分数线对比 学长、学姐分析 由表可看出&#xff1a; 1、信息与通信工程25年相较于24年上升5分、军队指挥学25年相较于24年上升30分 2、新一代电子信息技术&#xff08;专硕&#xff09;25年相较于24年下降25分、通信工程&…

深入理解 Java 多线程:锁策略与线程安全

文章目录 一、常见的锁策略1. 乐观锁&&悲观锁2. 读写锁3. 重量级锁&&轻量级锁4. 自旋锁5. 公平锁&&不公平锁6. 可重入锁 && 不可重入锁 二、CAS1. 什么是 CAS2. CAS 是怎么实现的3.CAS 有哪些应用1) 实现原子类2) 实现自旋锁 4. CAS 的 ABA 问…

Java数据结构——ArrayList

Java中ArrayList 一 ArrayList的简介二 ArrayList的构造方法三 ArrayList常用方法1.add()方法2.remove()方法3.get()和set()方法4.index()方法5.subList截取方法 四 ArrayList的遍历for循环遍历增强for循环(for each)迭代器遍历 ArrayList问题及其思考 前言 ArrayList是一种 顺…

科学量化AI对品牌产品印象 首个AI印象(AII)指数发布

2025年4月18日&#xff0c;营销传播数据研究领先机构四度传播研究院(SAC)&#xff0c;正式推出了量化AI大模型对产品整体印象的AI印象&#xff0c;简称AII&#xff08;ARTIFICIAL INTELLIGENCE IMPRESSIONS&#xff09;&#xff0c;同时发布了首个“汽车AI印象榜”。为企业和消…