- 博客(28)
- 收藏
- 关注
原创 Flash Attention学习笔记
fast可以增加模型训练速度,memory efficient 显存高效的,exact:和标准attention得到的结果完全一致,并不降低attention精度。IO-Awareness:通过对IO感知的方式来进行训练的整个算法是以改进IO效率达到的。首先传统的transformer计算过程:pytorch写的代码在实际显卡上的attention是如何计算的呢。SRAM:特点是极快,但容量小、成本高、占地方。它主要用在处理器芯片内部,作为缓存。HBM:特点是带宽极高,但成本非常高。
2025-09-26 20:15:06
818
原创 模型量化
以Llama 13B(公司发布的一个拥有 130 亿参数的大型语言模型)为例,如果用floot32来加载的话,需要52GB的显存,如果用float16来加载的话,需要26GB的显存,如果是Int8的话只需要13G,int4只需要6.5G。所以模型量化可以减少模型的存储大小,以及推理时占用的显存大小。如下图的A100,计算过程中TensorCore和显存之间存在频繁的数据交换,将模型的weight值和激活值从显存加载到tensorcore然后将计算结果存回显存。
2025-09-23 10:49:41
1037
原创 《李沐动手学习深度学习》+ 补充理解+复习
每一行(row)表示一个样本(sample):也称为实例、观测值或数据点。例如,在数据集中,每一行可能代表一个用户、一张图片或一条记录。每一列(column)表示一个特征(feature):也称为变量、属性或维度。例如,年龄、身高、像素值等。三维数据:宽 * 高 * 通道四维数据:N个三维(批量* 宽 * 高 * 通道)num_examples = len(features) # 获取样本总数(特征矩阵的行数)
2025-09-19 18:02:04
897
原创 模型部署和推理架构学习笔记
模型部署,指把训练好的模型在特定的环境中运行的结果。模型部署要解决模型框架兼容性差和模型运行速度慢两大问题。模型部署的常见流水线是“深度学习框架-中间表示-推理引擎”。其中比较常见的一个中间表示是ONNX。深度学习模型实际上就是一个计算图。模型部署时通常把模型转换成静态的就按图,即没有控制流(分支语句和循环语句)的计算图。PyTorch框架自带对ONNX的支持,只需要构造一组随机的输入,并对模型调用torch.onnx.export即可完成Pytorch到ONNX的转换。
2025-06-27 15:49:10
1099
原创 清华大学AI大模型LLM课程笔记
模型适合并行计算,对GPU加速设备很友好。先回顾一下fine-tuning:在pre-training中的mask modeling对输入数据会一定比例的mask掉然后用MLM head去预测这个mask位置是什么词。对 fine-tuning把input输入到模型中通过随机初始化的分类器然后训练它让它输出positive或者negative。
2025-06-17 09:48:36
1053
原创 Attention Is All You Need (Transformer) 以及Transformer pytorch实现
当前最好的架构师基于注意力的“encoder- decoder”架构。这些架构都使用了CNN和RNN。这篇文章提出的transformer架构仅使用了注意力机制,而无需使用CNN和RNN两项机器翻译的实验表明,这种架构不仅精度高,而且训练时间大幅度缩短。引言读一段回顾了RNN架构。以LSTM和GRU为代表的RNN在多项序列任务中取得顶尖的成果。许多研究仍在拓宽循环语言模型和“encoder- decoder”架构的能力边界。第二段就开始讲RNN的不足了。
2025-06-03 20:10:27
1460
原创 吴恩达深度学习RNN 作业之 “build a RNN step by step”以及“恐龙岛”和“词向量的基本操作”和“Emoji表情分类器”和“语音识别关键词”
初始化参数运行优化循环正向传播以计算损失函数反向传播以计算相对于损失函数的梯度剪裁梯度以避免梯度爆炸使用梯度下降方法更新参数返回学习的参数图1:循环神经网络,类似于你在上一个笔记本“手把手实现循环神经网络”中构建的内容。在每个时间步,RNN都会根据给定的先前字符来预测下一个字符。数据集是训练集中的字符列表, 而使得每个时间步t,我们有在这一部分中,你将实现一个称为“Emojifier-v1”的基准模型。图2 :基准模型(Emojifier-V1)。
2025-05-29 18:46:22
1220
原创 在 PyTorch 中借助 GloVe 词嵌入完成情感分析
PyTorch DataLoader在获取Dataset的一个batch的数据时,实际上会先吊用Dataset.__getitem__获取若干个样本,再把所有样本拼接成一个batch,比如用__getitem__获取四个[4,3,10,10]这一个batch,可是序列数据通常长度不等,如上所述,GloVe版本可以由其数据来源和向量维数确定,在构建GloVe类时,要提供这两个参数,我们选择的是6B token,维度100的GloVe。在我们这个项目中,被填充的序列已经是词嵌入了,直接用全零向量表示。
2025-05-06 16:56:04
1097
原创 吴恩达深度学习作业 RNN模型——字母级语言模型
比如我们输入"apple"和"appll",语言模型会告诉我们单词"apple"的概率更高,这个单词更可能是一个正确的英文单词。表示单词的最大长度。这个式子,说白了就是i给定前t-1个字母,猜一猜第t个字母最可能是哪个,比如给定了前四个字母"appl",第五个单词构成"apply", "apple"的概率比较大,构成"appll", "appla"的概率较小。即一句话的出现概率,等于第一个单词出现在句首的概率,乘上第二个单词在第一个单词之后的概率,乘上第三个单词再第一、二个单词之后的概率,这样一直乘下去。
2025-05-02 12:50:57
928
原创 吴恩达深度学子作业之YOLO Car detection实现(TensorFlow)
输入是m张 像素为608*608 RGB的图片,deep CNN会输出 bounding boxes列表 (19乘以19个每个位置又包含5个 anchor boxes 以及分类好的class (80种)也就是计算框1中所有80个类别的分数,并发现汽车类别(类别3)的分数是最高的。所以你将分数为0.44,类别为“3”分配给这个框“1”。在目标检测中,模型可能会对同一个物体生成多个重叠的边界框(例如,不同尺度或位置的预测)。框1(得分0.8)被保留,但与框1重叠的框2(得分0.7)和框4(得分0.6)被剔除。
2025-04-24 16:35:34
1072
原创 吴恩达深度学习作业CNN之ResNet实现(Pytorch)
我们知道深度神经网络可以表达出更加复杂的非线性函数,这就可以实现从输入中提取更多不同的特征。但是随着网络层数的加多,梯度消失(vanishing gradient)的效应将被放大,这将导致算法在反向传播时从最后一层传播到第一层的过程中,算法乘了每一层的权重矩阵,因此梯度会很快地下降到接近0(或者很快地增加到一个很大的值)。
2025-04-21 18:39:01
1225
原创 用 PyTorch 和numpy分别实现简单的 CNN 二分类器
作用:对输入的多通道二位数据(如图像)进行特征提取,通过滑动卷积核计算局部区域的加权和,生成新的特征图。作用:对每个通道的特征图进行归一化(均值归零、方差归一),加速训练、缓解梯度消失/爆炸,并允许使用更大的学习率(形状不变)归一化公式::引入非线性,使神经网络能够学习复杂的模式。输入为负时输出0,输入为正时保持不变。:直接在输入张量上进行修改(覆盖原数据),。:负值归零,使网络更稀疏,提升计算效率。:正区间的梯度恒为1,避免深层网络梯度消失问题。
2025-04-19 11:57:23
912
原创 吴恩达深度学习第二周作业(参数初始化和正则化以及高级优化器)
在这项实验中,我们将分别测试在“不使用正则化”、“使用正则项”、“使用dropout”这三种配置下网络的表现情况。在这个分类任务中,比较理想的分类结果是一条直线。但是,由于表示噪声的蓝点比较多,网络可能会过拟合训练数据。3)最后,我们使用比较高端的He Initialization.网络能够顺利学到东西了。假设我们有一个这样的数据集,我们要探究不同初始化方法对梯度更新的影响。2)网络成功规避了过拟合。
2025-04-11 19:07:29
442
原创 《吴恩达深度学习笔记》之RNN
之前我们是用one-hot编码来表示单词的:假设一个单词在词汇表里的序号是t,词汇表大小是T,则这个单词的编码是一个长度为T的向量,向量只有第t维是1,其他维是0。我们用来表示这个单词的one-hot编码。如下图:这种表示法能区分每个词,但是,它有一个缺陷:one-hot向量两两之间的乘积为0,不能通过向量的相似度推理出单词的相似度。因此,在NLP中,一个重要的任务就是找到一个合理的词表示方法,使得我们能够利用向量的某些性质来表示单词之间的某些特性。我们来看一种新的词表示方法。
2025-04-09 11:58:23
1027
原创 《吴恩达深度学习》学习笔记(下)
这节课中,我们要学习计算机视觉中最重要的任务之一——目标检测任务。我们会先认识目标定位和关键点检测这两个比较简单的任务,慢慢过度到目标检测任务。之后,我们会详细学习目标检测的经典算法YOLO。最后,我们会稍微认识一下语义分割任务及适用于此问题的U-Net架构。如上图所示,在神经网络风格迁移中,输入一张表示内容的图(C)和一张表示画家风格的图(S),我们可以借助神经网络生成一幅融合内容与风格的图片(G)。接下来实现神经网络风格迁移时,我们会关注CNN浅层和深层提取出来的特征。
2025-04-05 18:15:34
905
原创 《吴恩达深度学习》浅层神经网络作业(python版)
花瓣数据的极坐标方程通常为 r(θ)=acos(kθ)r(θ)=acos(kθ) 或 r(θ)=asin(kθ)r(θ)=asin(kθ)。其中,kk是整数,决定了花瓣的数量。当 k 为奇数时,曲线将有 kk 个花瓣;当 k为偶数时,曲线将有 2k个花瓣。本版本就是根据吴恩达作业提供的指导思路完成的。8. 隐藏层不同size导致的结果影响。4.向前传播->代价函数->向后传播。9. 其他dataset测试。7.预测结果和图形绘制。
2025-03-09 11:41:22
334
原创 《吴恩达深度学习》学习笔记(中)
训练集开发集测试集用于优化参数是否否训练时可见?是是否最终测试时可见?是是是训练集就是令模型去拟合的数据。对于神经网络来说,我们把某类数据集输入进网络,之后用反向传播来优化网络的参数。这个过程中用的数据集就是训练营。开发集是我们在训练时调整超参数时用到的数据集。我们会测试不同的超参数,看看模型在开发集上的性能,并选择令模型开发集上最优的一组超参数。测试集是我们最终用来评估模型的数据集,当模型在测试集上评测时,我们的模型已经不允许修改了。
2025-03-07 10:56:11
1114
原创 《吴恩达深度学习》学习笔记(上)
我们把一个有输入和输出的计算单元叫做“神经元”。最简单的神经元就是一个线性函数。比如预测房价和房屋面积的关系时,我们会用一个线性函数去拟合。这个线性函数就是一个神经元。事实上,一个神经元不仅包含一个线性函数,还包括一个激活函数。这里提到了激活函数 ReLU 的概念,其具体内容应该会在后面的课程里介绍。如图所示举例,不同的X变量如房子大小/房间数量/邮编地段 最后会得到一个房价的预测,省去了中间的自己完成推算的过程。在用一个神经元来表示房价和房屋面积的关系时,神经元的输入是房屋面积,输出是房价。而用。
2025-02-23 20:18:12
1421
原创 吴恩达机器学习学习笔记(下)
还是以线性回归模型进行房价预测的问题为例。那如果我们兴冲冲地拿这个模型去预测房价,发现预测值和实际值偏差超乎想象该怎么办呢?该怎样改进我们的算法呢?常见的,有以下几种可行的办法:(1)寻找更多的训练样本,通过各种手段找到跟已有的训练样本中的数据不太一样的训练数据。但是,有时候这种办法也不是那么有效果的,后面会讲原因。(2)使用更少的属性减少过拟合,就是使用更少的自变量。从备选的自变量中,小心翼翼地去掉一些可能和房价不相关的自变量。(3)还可以尝试增加一些自变量,如果训练样本数量远远大于自变量个数的时候可以试
2025-02-08 14:42:05
728
原创 吴恩达机器学习学习笔记(上)
神经网络结构的选择问题,实质上就是要确定隐藏层的层数以及各隐藏层的单元数目。按分类的效果来说呢,隐藏层的单元数是越多越好的,但是过多的神经元会让训练相当的缓慢,因此需要平衡一下,一般将隐藏层的单元数设置为输入层单元数的2~4倍为宜。而隐藏层的层数呢就以1、2、3层比较常见训练神经网络的步骤step1.随机初始化权重step2 实现前向传播算法,拿到各个输入的激活函数step3 编码计算代价函数step4 实现反向传播计算激活函数的偏导数Step5:使用梯度检验验证反向传播计算偏导数。
2025-02-02 15:28:10
1135
原创 计算机组成原理笔记刘宏伟(2)---总线
全互锁:主设备发出请求,从设备接收到之后发出应答,主设备接收到应答之后再撤销,从设备才会撤销自己应答信号,(如果出错,主设备可以请求从设备重新发送)4)总线复用:地址线与数据线复用(8086, 20颗地址线,有16颗也作为数据线,芯片管脚线减少)半互锁:主设备发出请求,从设备接收到之后发出应答,主设备接收到应答之后再撤销,否则一直保持;设备很多,总线会变长,出现延迟严重,同一时刻只有一对设备可以使用总线。控制总线:有出,有入,例如存储器读写,总线允许,中断确认。
2024-04-14 10:42:04
1698
1
原创 计算机组成原理笔记-哈工大刘宏伟(1)---基本组成 性能指标
1)五大部分组成:运算器,控制器,存储器,输入设备,输出设备2)指令和数据以同等地位位于存储器,可按地址寻访3)指令和数据用二进制表示4)指令由操作码和地址码组成5)存储程序6)以运算器为中心。
2023-11-15 14:41:48
505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅