- 博客(325)
- 资源 (5)
- 收藏
- 关注

原创 (第一百篇BLOG)写于博士二年级结束-20200818
其实在本科结束时就想好好回顾一下过去的生活,只可惜因为一些特殊原因没有提笔。反复回想当时毅然决然每一个学校都去面试直博的原因好像是真的想做一点点自己的东西,也不是为了多挣钱吧,当然钱肯定是越多越好,回顾一下近期的生活貌似,衣食住行吃穿用度都是在可承受的范围之内,本来对这些东西也没有特别的爱好,也许我就是一个没有爱好的人吧。其实平心而论,实验室读书的压力还是很大的,但终究在抗压这一方面做的还不错,慢慢的自己也变成了当年讨厌的样子,说着言不由衷的话,戴着伪善的面具,不再像当年一样锐意进取壮怀激烈,终究在实验
2020-08-18 16:54:34
1958
8

原创 ZZQ的博客目录--更新于20210601
文章目录概率图模型与数学模型windows下系统操作Python语法学习记录Linux系统操作一些小方法mark概率图模型与数学模型概率图模型(1):CRF(conditional random field)线性条件随机场概率图模型(2)贝叶斯定理公式讲解概率图模型(3)朴素贝叶斯分类概率图模型(4)逻辑回归概率图模型(5)隐马尔科夫模型概率图模型(6)马尔科夫随机场数理知识(1)...
2019-09-08 10:18:58
3065
3

原创 看完有用的blog
http://mohu.org/info/symbols/symbols.htmhttps://zhuanlan.zhihu.com/p/24502400http://blog.sina.com.cn/s/blog_5e16f1770100fs38.htmlhttps://blog.csdn.net/chichoxian/article/details/52050260https://ww...
2019-08-20 18:49:48
3643
1
原创 大模型训练(7):集合通信与通信原语
在分布式训练过程中,深度学习训练框架不会去直接操作底层的通信网络,而是通过使用网络通信库来完成数据的集合通信,各家AI芯片加速卡厂家都会提供私有的网络通信库比如:xxx-AWARE OpenMPI或xCCL来完成这个底层通信硬件的屏蔽与抽象。
2025-02-09 23:30:00
991
原创 大模型训练(6):张量并行
分别介绍按行和按列切分权重的方法,在Megatron-LM中,权重的切分操作就是由按行和按列两种切分方式进行的两种切分方式的每一种分别对应的两个切分基础算子组合而成的(可以理解为共计4个)接下来,针对Transformer模型,我们依次来看在不同的部分里,Megatron-LM是怎么做切分的简单看一下MLP层,我们可以通过在网络中加入一个或多个隐藏层来克服线性模型的限制, 使其能处理更普遍的函数关系类型。要做到这一点,最简单的方法是将许多全连接层堆叠在一起。
2025-02-04 21:48:59
747
原创 大模型训练(5):Zero Redundancy Optimizer(ZeRO零冗余优化器)
DeepSpeed是由Microsoft提供的分布式训练工具,与其他框架相比,优势在支持更大规模的模型和提供更多的优化策略和工具(例如 ZeRO 和 Offload 等)。看一下官网对于这个理念的描述:具体点说,DeepSpeed将当前时刻,训练模型用不到的参数(包括模型参数、optimizer、梯度等),不计算或者缓存到CPU中,等到要用到了,再从其他GPU上拿或者从CPU挪到GPU。越多的参数被卸载掉,GPU的负担就越小;
2025-02-02 22:13:36
920
原创 大模型训练(4):AllReduce详解
分布式深度学习里的通信严重依赖于规则的集群通信,诸如 all-reduce, reduce-scatter, all-gather 等,因此,实现高度优化的集群通信,以及根据任务特点和通信拓扑选择合适的集群通信算法至关重要。如上图所示,一共4个设备,每个设备上有一个矩阵(为简单起见,特意让每一行就一个元素),All-Reduce 操作的目的是,让每个设备上的矩阵里的每一个位置的数值都是所有设备上对应位置的数值之和。当然,冗余量和通信量之间的等价关系不是偶然的,正是因为这些通信才造成了设备之间数据的冗余。
2025-01-14 01:58:46
891
原创 大模型训练(3):数据并行(1)-DP、DDP、All-Reduce
在DP中,每个GPU上都拷贝一份完整的模型,每个GPU上处理batch的一部分数据,所有GPU算出来的梯度进行累加后,再传回各GPU用于更新参数DP多采用参数服务器这一编程框架,一般由若个计算Worker和1个梯度聚合Server组成。Server与每个Worker通讯,Worker间并不通讯。因此Server承担了系统所有的通讯压力。基于此DP常用于单机多卡场景。异步梯度更新是提升计算通讯比的一种方法,延迟更新的步数大小决定了模型的收敛速度。
2025-01-12 22:57:47
767
原创 大模型训练(2):内存开销
首先,在大模型训练的过程中,GPU都需要存什么内容:存储主要分为两大块:Model States和Residual StatesGW。
2025-01-12 22:54:44
843
原创 大模型训练(1):流水线并行
Gpipe的方法是,在训练时计算和运用的是micro-batch里的均值和方差,但同时持续追踪全部mini-batch的移动平均和方差,以便在测试阶段进行使用。流水线并行的核心思想是:在模型并行的基础上,进一步引入数据并行的办法,即把原先的数据再划分成若干个更小的batch,分批送入GPU进行训练,算一部分就让下一个GPU动起来。从实验结果可知,在关掉NVlinks的情况下,Gpipe一样也能实现随着GPU数量的增加,训练速度也增加的效果。前文说过,随着模型的增加,每块GPU中存储的中间结果也会越大。
2024-12-29 18:14:27
850
原创 Linux 服务器间SSH免密码登录与拷贝文件(SCP)
实现B免密码登录A,操作方式是一样的,在B中用ssh-keygen生成ssh密钥对,将公钥拷贝到A中,A将B的公钥拷贝到.ssh目录下的authorized_keys文件中即可。下面以实现A服务器到B服务器的免密码登录和拷贝文件为例,介绍相关的配置。登录B拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中。执行上述命令,一路回车,会在当前登录用户的home目录下的.ssh目录下(一般为。将A的公钥(id_rsa.pub)拷贝到B的用户下为例(我们以root为例)
2024-04-04 14:36:51
1522
原创 芯片工程系列(6)Chiplet封装
而chiplet封装的芯片,如果一个功能区坏了,只需要把相应的模块换掉,甚至你还可以自定义升级,比如说把内存芯片换成一块儿容量更大的。2017年,AMD公司推出第一代EPYC(霄龙)处理器Naples,把四个同类型的CPU,通过chiplet方案封装在一起,虽然它传统比单一的一块处理器芯片多出10%的面积,但是节约了41%的成本,在性能上对标当时英特尔的白金至强xeon。SOC芯片的开发周期长,设计难度高,而chiplet只需要分开设计各个功能模块的小芯片,难度大大降低,可以加速芯片迭代升级的速度;
2024-04-04 14:02:30
4379
原创 芯片工程系列(5)2.5D 3D封装
InFO_PoP 是全球首款三维扇出型晶圆级封装,是 FOWLP 和 PoP 的结合体,上层 DRAM 芯片通过 TIV(Through InFO Via)与基板相连,再通过凸块与下层扇出型晶圆级封装的处理器相连形成 3D 结构,与 FC_PoP 相比,InFO_PoP 外形更薄,具有更好的电气和热性能,适用于移动设备、HPC等领域。相较于2.5D 封装,3D 封装的原理是在芯片制作电晶体(CMOS)结构,并且直接使用硅穿孔来连结上下不同芯片的电子讯号,以直接将存储器或其他芯片垂直堆叠在上面。
2024-03-24 15:58:26
6513
2
原创 芯片工程系列(4)晶圆级封装(重布线技术、扇入与扇出型晶圆级封装)
解决连接的问题高传输速度 :与传统金属引线产品相比,WLP一般有较短的连接线路,在高效能要求如高频下,会有较好的表现。高密度连接 :WLP可运用数组式连接,芯片和电路板之间连接不限制于芯片四周,提高单位面积的连接密度。解决装的问题封装尺寸小 :由于没有引线、键合和塑胶工艺,封装无需向芯片外扩展,使得WLP封装出来的芯片尺寸和最初的裸片尺寸相同,把尺寸做到最小。生产周期短 :WLP从芯片制造到、封装到成品的整个过程中,中间环节大大减少,生产效率高,周期缩短很多。
2024-03-24 14:41:58
5664
原创 芯片工程系列(3)倒片封装(凸块键合、探针封装)
倒片封装直接在芯片 I/O 焊盘上或重布线层 (Re-distribution Layer,RDL)上沉积凸块,然后将芯片电气面朝下,直接把芯片正面倒扣在封装衬底上,中间用小金属球连接实现电气互联的封装技术。倒片封装技术的键合方式的一种,芯片的底部布有柱状金属凸点,称为探针,这些探针通常以阵列状或线性排列在芯片的底部。倒片封装技术的键合方式的一种,芯片的底部布有一定数量的焊球,这些焊球通常以网格状或阵列状排列在芯片的底部。通过将芯片倒置,焊球与基板上的相应焊盘对齐并进行热焊接,实现芯片与基板之间的电连接。
2024-03-24 13:38:48
1369
原创 芯片工程系列(1)芯片封装背景、作用、分类、工艺步骤、发展思路
就像发动机用于为汽车提供动力一样,芯片键合技术通过将半导体芯片附着到引线框架(Lead Frame)或印刷电路板(PCB, Printed Circuit Board)上,来实现芯片与外部之间的电连接。塑料封装中,根据封装媒介的不同,又可进一步分为引线框架封装(Leadframe)或基板封装(Substrate)。[9]差评君,苹果的新芯片,真就是用两块芯片粘起来的 [10]知乎Vampire,片内互联技术发展概述。[8]《电子工程专辑》2022年8月刊,黄烨锋,先进封装的现在和将来,价值链的未来重心。
2024-01-21 23:56:01
3935
原创 Flash Attention(1):背景介绍,与传统Attention对比,前向反向算法解析
输入1:QQQ序列(query),其中Qq1q2q3⋮qm⏟dkm∈Rm×dkqi∈R1×dk∣i∈12m⎩⎨⎧Qdkq1q2q3⋮qmm∈Rm×dkqi∈R1×dk∣i∈12m⎭⎬⎫输入2:KKK序列 (key),其中Kk1k2k3⋮km⏟dkm∈Rm×dk。
2023-12-20 00:08:47
3738
1
原创 Cache学习(3):Cache地址映射(直接映射缓存&组相连缓存&全相连缓存)
以一个Cache Size 为 128 Bytes 并且Cache Line是 16 Bytes的Cache为例。首先把这个Cache想象成一个数组,数组总共8个元素,每个元素大小是 16 Bytes,如下图:现在考虑一个问题,CPU从0x0654地址读取一个字节,由于Cache大小相对于主存来说,是非常小的。所以Cache只能缓存主存中极小一部分数据。如何根据地址在有限大小的Cache中查找数据呢?现在硬件采取的做法是对地址进行散列(可以理解成地址取模操作)。
2023-11-26 12:44:04
5146
原创 Cache学习(2):Cache结构 & 命中与缺失 & 多级Cache结构 & 直接映射缓存
现在的硬件设计中,一般Cache Line的大小是4-128 Byts。将在后文中进行解释说明。
2023-11-24 01:30:59
7064
原创 Cache学习(1):常见的程序运行模型&多级Cache存储结构
程序是运行在主存之中。当需要运行一个进程的时候,首先会从磁盘设备中将可执行程序load到主存中,然后开始执行。在CPU内部存在一堆的通用寄存器(register)。其实现实中,CPU通用寄存器的读写速度和主存之间存在着太大的差异。两者速度差异近百倍。当CPU试图从主存中load/store 操作时,由于主存的速度限制,CPU不得不等待这漫长的65ns时间,所以,上面举例的3个步骤中,步骤1和步骤3实际上速度很慢。如果可以提升主存的速度,那么系统将会获得很大的性能提升。
2023-11-22 01:20:36
697
原创 内存学习(3):DRAM的基础存储结构(存储层级、读写过程,刷新与暂存)
DRAM,全称为 Dynamic Random Access Memory ,中文名是“动态随机存取存储器”。所谓“动态”是和“静态”相对应的,芯片世界里还有一种 SRAM 静态随机存取存储器的存在。笼统地说,DRAM 的结构比 SRAM 更简单,面积占用更小,适合制作大容量的存储芯片;而 SRAM 结构复杂一些,一般使用六个晶体管,面积消耗大,但是读写速度快,而且因为 SRAM 只用到晶体管,所以在工艺上和逻辑芯片相兼容,我们可以在逻辑芯片上直接集成 SRAM。
2023-11-05 20:25:24
12962
1
原创 内存学习(2):内存分类与常用概念2(SDRAM与DDR)
全称为(Double Data Rate Synchronous Dynamic Random Access Memory,Double Data Rate SDRAM,),中文名为“双数据率同步动态随机存储器”或者“双数据率SDRAM”。DDR是在原有的SDRAM的基础上改进而来。此时为了明确定义,SDRAM可以被区别定义为(Single Data Rate SDRAM,SDR SDRAM)。同步:是指内存工作需要同步时钟,内部命令的发送与数据传输都以它为基准(SDRAM带来的属性)
2023-11-05 16:44:24
2583
原创 内存学习(1):内存分类与常用概念1(RAM)
电脑的RAM是什么意思? - 知乎SRAM(静态随机存取存储器)_百度百科动态随机存取存储器_百度百科是DRAM耗电还是SRAM耗电 - 手机硬件和基带SRAM 和DRAM谁功耗大??_百度知道SRAM和DRAM的优缺点对比_dram 功耗_Hydrion-Qlz的博客-CSDN博客静态随机存取存储器(SRAM)_sram芯片结构-CSDN博客ram是什么 - 搜索结果 - 知乎
2023-10-29 23:33:38
1407
原创 Nvidia显卡L40S学习:产品规格,常用名词解释
更多的 CUDA 核心意味着更大的并行计算能力和更快的计算速度,对于需要大规模并行计算的应用来说,拥有更多的 CUDA 核心可以显著提升计算性能。需要注意的是,这些数字是理论上的峰值性能,并不代表实际应用中的性能。通过使用 RT Cores,显卡可以更快地进行光线追踪计算,从而提供更高的渲染性能和更逼真的图像效果。常见的显示连接器包括HDMI、DisplayPort、VGA、DVI和Thunderbolt等,它们提供了视频和音频信号传输的通道,使用户可以将图像和声音显示在显示器上。
2023-10-22 20:10:08
3702
原创 (第三百篇BLOG记录)写于象牙终章与从零开始-20230924
由于若干原因(包括但不限于紧锣密鼓的完成博士毕业的一系列实验和论文撰写、学习各种百花齐放的有意思的领域、完成人生身份的重大转变),导致卡在299篇博客已经很久了,不过算了一下还是在一个较长时间维度上可以基本保持每周一片博客的平均输出,确实也一直没有时间认真总结和思考这一百篇博客撰写时间内自己的变化,但是如果一直不完成这第300篇的总结,后面的博客就总会找理由不更新下去,所以在忙还是应该把该做的事情做了。这一年应该是我人生近三十年来变化最大的一年,中间发生了很多很多的事。
2023-09-24 16:53:07
932
4
原创 Mac与windows传文件(超过4G且速度超快,非共享)
将Windows的IP列表记下来后,然后再Mac的app上链接其他端输入Windows的IP,反之用Win链接Mac也是一样的。图中表示Mac的IP为192.1688.0.102,同时也记录一下Windows的IP为192.168.0.106。如图所示(需要保证设备在一个wifi下面)Windows和Mac都需要安装。连上之后就可以开始传送了。
2023-08-05 23:30:08
3070
原创 Windows使用MobaXterm方向键变成2468的数字问题解决方法
使用MobaXterm启动Mind Studio编辑代码有时候方向键会变成2468的数字。
2022-12-14 19:44:44
1681
原创 Python调用C++
python被称为胶水语言,其优势是能够粘结各种不同的语言。同时,python有着更大的“亲民性”,很容易进行开发。但是,python最大的问题就是。通常可以用CUDA或者C++对一个python程序进行加速,加速策略如下:大规模算术运算、矩阵运算等过程用底层语言编写,python只负责传参和处理结果数据;十分常用的函数,我们可以用C++写成“算子”,然后python调用算子即可,如边缘检测的Sobel算子;
2022-12-12 19:37:06
9638
5
原创 win10在远程连接配置中出现`Bad owner or permissions on C:\\Users\\Administrator/.ssh/config` 报错
win10在远程连接配置中出现报错。
2022-12-12 08:25:41
12106
13
原创 VSCODE 查找在文件夹或者文件中代码或定义,在文件夹中查找文件的多种方法
VSCODE 查找在文件夹或者文件中代码或定义,在文件夹中查找文件的多种方法
2022-10-25 16:42:39
44514
1
shdoclc.7z win可以用版本
2021-08-23
LATEX教程及所有字符的表示代码
2020-11-15
markdown语法演示代码
2020-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人