AI算法
文章平均质量分 58
Hi20240217
每天进步一点点
展开
-
基于pytorch_lightning测试resnet18不同激活方式在CIFAR10数据集上的精度
本文介绍了如何基于pytorch_lightning测试resnet18不同激活方式在CIFAR10数据集上的精度1.NoActive:没有任何激活函数2.SparseActivation:只保留topk的激活,其余清零,topk通过训练得到[初衷是想让激活变得稀疏]3.SelectiveActive:通过训练得到使用的激活函数1.pytorch_lightning 如何使用2.pytorch如何替换激活函数3.如何对自定义权值做衰减。原创 2024-06-10 09:37:55 · 341 阅读 · 0 评论 -
Llama-2-13b-chat-hf单卡、多卡推理
本文演示了Llama-2-13b-chat-hf模型如何下载、单卡推理、多卡推理的步骤及测试结果。原创 2024-05-27 13:05:16 · 705 阅读 · 0 评论 -
基于LLM的优化器
我准备用二台8卡的GPU服务器训练一个LLM模型,因为不同的超参会导致不同的性能.我准备了一个脚本,输入一些参数,会运行训练脚本,之后输出tokens/sec,这个值越大越好。你现在是一个优化器,我告诉你有哪些输入参数,以及它们值的范围,你输出参数列表,之后我利用你提供的参数列表运行训练脚本,得到tokens/sec,并将这个值反馈给你你根据我的反馈思考如何配置这些参数,可以让tokens/sec最大通过这样不断的迭代,求出近似最优解参数1.HL_DP2.HL_TP。原创 2024-05-27 10:01:11 · 420 阅读 · 0 评论 -
主流大模型测试程序-用于导出算子列表
需要多少算子才能覆盖主流大模型呢,于是dump出算子及参数列表,考虑到设备内存容量,设置为一层。原创 2024-05-03 08:54:07 · 925 阅读 · 1 评论 -
Megatron-LM 验证1F1B interleaved的效果
本文测试1F1B interleaved是否能挤掉空泡。因为所用的服务器不支持P2P,且PCIE为GEN1 X16 NCCL all_reduce_perf测试的性能仅为1.166GB/s。因此开启interleaved模式后,通信算子耗时占明显增加。原创 2024-04-22 21:30:04 · 733 阅读 · 0 评论 -
LLM内存占用计算
LLM内存占用计算原创 2024-04-19 22:02:58 · 426 阅读 · 0 评论 -
以pytorch pipeline并行为例,分析各kernel的耗时占比及性能瓶颈
以下DEMO演示了,pipeline多卡并行时,如何分析各kernel的耗时占比,如果nccl kernel占比过大,说明GPU有效利用率不高,主要分为以下步骤1.nsys profile 运行4卡pipeline并行demo2.用开源的nsys2json.py将nsys的sqlite-schema转成chrome event格式3.分析chrome event格式,按设备统计各kernel的耗时占比。原创 2024-04-15 10:09:56 · 743 阅读 · 1 评论 -
NCCL集合通信算子DEMO及性能测试
以下代码用于测试NCCL算子的性能及正确性。原创 2024-04-12 20:59:26 · 687 阅读 · 0 评论 -
pytorch演示pipeline并行
单卡内存不够时,可以将网络切分成几段(stage),每个GPU负责一个stage。比如GPU0计算完之后将数据发送给GPU1算后续的stage;以上的方式,会导致GPU的利用率不高,可以将输入的batch切分成多份更小的batch,陆续送给GPU0,这样GPU0处理完micro batch0之后 可以处理micro batch1.如此便能提高GPU的利用率。原创 2024-04-08 21:08:03 · 804 阅读 · 1 评论 -
pytorch 演示 tensor并行
本文演示了tensor并行的原理。如何将二个mlp切分到多张GPU上分别计算自己的分块,最后做一次reduce。1.为了避免中间数据产生集合通信,A矩阵只能按列切分,算出全部batch*seqlen的部分feature2.因上面的步骤每张GPU只有部分feature,B矩阵可按行切分,与之进行矩阵乘,生成部分和3.最后累加每张GPU上的部分和,即最终的结果以下demo,先运行非分块的版本,然后模拟分块,最后是分布式的实现。原创 2024-04-07 20:42:04 · 747 阅读 · 1 评论 -
llama2学习-预训练+SFT指令微调(单机单卡)
本文记录了llama2从预训练到指令微调的全过程,单文件形式,供入门阶段查阅。原创 2024-04-03 18:29:19 · 619 阅读 · 0 评论 -
Transformer学习-最简DEMO实现字符串转置
背景:调试AI加速卡在Pytorch训练时的精度问题,搭建了一个简单的Transformer,设置随机种子,保证每次重训练loss完全一致,可以直接对比各算子的计算误差。原创 2024-04-02 21:26:48 · 712 阅读 · 1 评论 -
yolov5训练coco数据集的部分类别
在测试yolov5系列不同类别的模型在各种加速卡上的精度和性能时,我们希望得到一个准确的评估结果。因此,本文从一个COCO数据集中创建一个子集,该子集仅包含特定的类别。具体来说,它首先从源数据集中读取JSON文件,然后过滤出所需的类别,并将它们保存到新的JSON文件中。接下来,它将所需的图像和标签复制到新的目标目录中。最后,它创建一个包含所有图像文件路径的文本文件,并更新数据集的YAML配置文件。以此为数据集,训练并测试模型,从而得到准确的评估结果。原创 2024-03-09 21:10:05 · 1168 阅读 · 1 评论 -
收盘价时空模式挖掘与多股票走势聚类分析:探索市场行为共性
基于探究潜在关联性的初衷,我们旨在探讨是否存在某种显著的共性驱动特定类别股票表现出趋同的市场走势。本文系统地阐述了如何自深圳证券交易所、上海证券交易所、科创板以及北京证券交易所获取各上市公司的历史交易数据,并通过标准化处理各股票的收盘价序列,进而绘制其归一化曲线并转化为图像形式予以保存。随后,我们运用变分自编码器(VAE)模型对选取的部分代表性图像进行了深度学习建模,籍此提取每一张股票价格曲线图像的内在特征向量。原创 2024-02-29 18:13:03 · 1063 阅读 · 1 评论 -
验证GPU上大数吃小数现象
出于好奇,测试了GPU上,不同的卷积计算方式在处理大数吃小数的问题时,是否有对精度做补偿。原创 2024-02-24 12:26:22 · 374 阅读 · 0 评论 -
常用大模型服务REST API的使用方法
近几年国内外头部的AI公司相继发布了自己的大模型REST API服务,一些还支持在线体验。如果用python调用各家的REST API,就可以批量测试不同模型的效果本文整理了主要几个大模型提供商的REST API用法,方便集中查阅。原创 2024-02-23 07:00:00 · 1189 阅读 · 0 评论 -
TensorRT推理时,如何比对中间层的误差
本文演示了TensorRT推理时,如何比对中间层的误差。在做TensorRT推理加速时,可能会遇到精度问题,希望定位到是哪一个节点引起的误差,还是累计误差。原创 2024-02-22 18:24:01 · 488 阅读 · 0 评论 -
采用遗传算法搜索MAC效率最高的矩阵乘规模
本文介绍了如何采用遗传算法搜索MAC效率最高的矩阵乘规模。原创 2024-02-22 13:21:15 · 458 阅读 · 0 评论 -
如何用OpenAI Triton 优化Softmax算子
本文介绍了如何用OpenAI Triton优化Softmax算子,从TensorRT Softmax算子的性能测试到Triton Softmax算子的不同实现。原创 2024-02-21 21:51:39 · 1715 阅读 · 0 评论 -
Pytorch用ConvTranspose2d替代Upsample
本文介绍了Pytorch如何用ConvTranspose2d算子等价替代Upsample算子。原创 2024-02-21 18:12:36 · 546 阅读 · 2 评论 -
如何修改Pytorch scripted_model 模型
本文演示了如何修改Pytorch scripted_model 结构,需求背景:1.某些AI加速卡的推理软件栈会对模型做图优化,一些模型的图匹配策略不完善,导致编译失败2.方案一是等待厂家解决,方案二是自己修改图结构,向厂家支持的结构靠拢原创 2024-02-21 11:38:02 · 457 阅读 · 0 评论 -
Netron显示自定义属性,按属性设置不同节点的颜色
本文介绍了一种让Netron显示自定义颜色的方法,可根据某些属性,调整节点的颜色需求背景:在分析AI模型精度误差时,用不同等级的红色,表示误差的大小.可以直观地看到误差的传递关系原创 2024-02-21 10:56:09 · 1049 阅读 · 0 评论 -
如何对ONNX模型进行裁剪,以YOLOV5为例
本文演示了,如何修改ONNX模型。以yolov5为例,讲解如何去掉进box decoding部分,直接输出3个特征图。原创 2024-02-20 21:51:52 · 842 阅读 · 0 评论 -
Pytorch训练RCAN QAT超分模型
按https://editor.csdn.net/md/?articleId=136176989的步骤构建镜像。可见,该模型QAT的精度难以恢复到FP32的精度。原创 2024-02-20 21:33:45 · 1118 阅读 · 0 评论