Deep Learning
文章平均质量分 76
canmoumou
CS咸鱼,IT手残,AI专业打杂,游戏遗老
展开
-
【乱写的】收集一些和GPU以及NCCL相关的定义(持续更新)
SHArP 论文,其实没必要细看。简单来说,SHArP是一个软硬结合的通信协议,实现在了NVIDIA Quantum HDR Switch的ASIC里。它可以把从各个node收到的数据进行求和,并发送回去。再说的通俗一点,通过使用SHArP,我们把求和(聚合/Reduce,随便怎么叫)的操作交由交换机完成了。这种做法,业界叫做In-network Computing(在网计算)。用术语展开来讲,就是将计算卸载到网络中进行。更多相关的知识可以看这个英伟达的汇报。原创 2024-01-09 18:46:03 · 1215 阅读 · 0 评论 -
【深度笔记】LRU Cache
因为经常使用LRU(Least Recently Used,最近最少使用)或其他缓存替换策略来管理存储在KV Cache中的数据,保证高效的数据访问。在Transformer等深度学习模型中,KV Cache被广泛应用于存储Self-Attention机制中的中间计算结果,如注意力权重和值。实现了一个简单的LRU缓存,使用了一个双向链表 lruList 来维护访问顺序,以及一个 unordered_map cacheMap 用来存储键值对和对应的链表迭代器。原创 2024-07-01 16:01:16 · 222 阅读 · 0 评论 -
【分布式通信论文阅读】xCCL: A Survey of Industry-Led Collective Communication Libraries for Deep Learning-2
由于深度神经网络训练的规模变得太大,无法在单个计算节点上执行,一些最先进的深度学习框架,如TensorFlow[62]、Caffe[69]、PyTorch[57]、CNTK[70]和MXNet[71],已经通过使用NCCL实现了在多个节点上的分布式训练。通过在不同的CUDA流中调度NCCL操作,可以在等待网络通信完成的同时,让GPU执行其他操作。类似于NVIDIA的CUDA,NCCL提供了一个C语言的API,因此程序员可以在现有的C项目中使用NCCL,或者甚至在像Python这样的高级语言中使用C绑定。原创 2024-04-24 15:10:27 · 1510 阅读 · 0 评论 -
【分布式通信论文阅读】xCCL: A Survey of Industry-Led Collective Communication Libraries for Deep Learning-1
但,有时用户预定义的一些预定操作里,可能改变数据类型,来执行复杂Reduce-Scatter操作,所以All-reduce操作中,该算法适用于所有大小的数据。Reduce集合指的是一个过程,在这个过程中,单个节点从系统中的每个节点接收数据,并对这些数据应用一些操作,从而产生单个输出。这个操作在特定场合下,相较于broadcast有更好的优势,因为有些时候不同进程需要分发不同的任务,这样更能节省带宽。Reduce-Scatter集合操作,可以被描述为Reduce操作和Scatter操作按给定顺序的组合。原创 2024-04-18 20:13:08 · 1009 阅读 · 1 评论 -
【分布式】NCCL Split Tree kernel内实现情况 - 06
先掠过Tree算法在拓扑方面以及树的生成方面是如何实现的,本期主要讲kernel内部的情况。先放上2.11.4部分的tree,后续增添2.18版本中nccl的改动,以及rccl的处理。如果你看过其他的一些文档,应该知道double binary tree的一些构造。即我们可以将tree分为三类,朴素的tree、double binary tree和split tree、balanced tree。原创 2024-03-07 19:56:58 · 1463 阅读 · 3 评论 -
自编译的pytorch出现OSError: libmkl_intel_lp64.so.1: cannot open shared object file: No such file or direct
自编译的pytorch出现OSError: libmkl_intel_lp64.so.1: cannot open shared object file: No such file or direct我用安装了mkl以后还是出错。因此查找一下so的位置发现在我的conda内部已经有了, 所以直接链接过去.这个问题常见于使用conda新环境去编译pytorch.原创 2022-12-05 12:09:11 · 730 阅读 · 0 评论 -
分布式学习 - MPICH编译与实践
MPICH是MPI (消息传递接口规范)的实践方法之一, 本文包含编译和如何解决遇到的一些问题原创 2022-12-05 12:05:02 · 1052 阅读 · 2 评论 -
【深度笔记】模型理论性能计算调研
深度学习模型计算量,访存量和性能评估调研原创 2022-10-10 15:19:55 · 1624 阅读 · 2 评论 -
读书笔记 - CUDA编程指南5.0 + 练习编译运行 01
前言:会根据CUDA编程指南一点点更新,欢迎讨论。图形处理的需求,推动可编程图形处理器(GPU)向着高并行度和多线程演化。从图形处理走向通用并行计算。GPU和CPU浮点计算能力的差异: GPU并行度高,晶体管更多用于数据处理而非缓存和流控。数据并行处理:将数据映射到并行处理的线程上,并进行加速。CUDA:一种通用并行计算架构CUDA核心的三个重点抽象(能提供犀利的的数据、任务并行):线程组层次、共享存储器和栅栏同步threadIdx是一个有三个分量的向量(1d,2d,3d)以上为两段代码,分别是一维向量和原创 2022-06-19 22:42:32 · 990 阅读 · 0 评论 -
【tensorflow】‘BatchDataset‘ object has no attribute ‘make_one_shot_iterator‘
tensorflow v2下运行tf1的sess, dataset迭代器无法使用原创 2022-05-18 17:59:26 · 3486 阅读 · 3 评论 -
深度笔记 - Moco对比式学习 (Momentum Contrast for Unsupervised Visual Representation Learning)
一些废话:之前读完了MAE,对自监督学习有了新的认知。当初在看半监督学习时,发现MeanTeacher、semiGan也好,蒸馏学习也好,其实多多少少采用了相似的思想。而恺明大佬在MAE中对NLP任务和CV任务的分析与探讨也让人感受很深,首先有些方法不一定非常新颖,但如何得出这个方法,这个思考过程,是非常重要的。概述2017年,FAIR提出的Moco不仅逼近、甚至超越了部分有监督视觉任务的预训练模型。自监督学习可以粗略分为:基于上下文、基于对比的、基于时序这三种。入门可以阅读这篇博客:自监原创 2021-12-29 10:39:21 · 2898 阅读 · 0 评论 -
深度笔记 - 恺明的MAE(Masked Autoencoders are Scalable Vision Learners)
概述已经有很多人写文章做出了对MAE的解读,此处不加赘述,仅仅引用然后做个整理,方便有部分基础的人快速了解和回顾复习。因此可读性会比较差,欢迎提出建议。原文:Masked Autoencoders are Scalable Vision Learners简而言之,参考源自NLP中的思想,随机遮蔽(Mask)掉图像中的小块,然后实施图像重建任务。两个核心使得MAE可以提高大容量模型(例如ViT)的训练效率和准确性:使用非对称的编码-解码架构,未被遮蔽的图像小块输入编码器,再由一个更轻量的解码器输出原创 2021-12-05 17:39:14 · 3390 阅读 · 0 评论 -
利用模型异步线程并行等方式优化多模型推理速度(方法整理)
目录训练时优化:DataParallel多进程 multiprocessing 或flask1. multiprocessing2. flasktf的案例pytorch例子多线程:set_num_threads和Ensemble1.多线程并行2. 两个不同的模型异步部署时优化附录训练时优化:DataParallel拥有多卡环境,利用DataParallel优化。优点:将相同的模型复制到所有GPU,其中每个GPU消耗输入数据的不同分区,可以极大地加快训练过程。缺点:不适用于某些模型太大而无法容纳单个原创 2021-09-13 17:52:24 · 2402 阅读 · 3 评论 -
深度笔记 - Dynamic Routing Between Capsules 个人整理
信息收集Hinton在论文《Dynamic Routing Between Capsules》中提出了CapsNet,论文地址论文结合此篇文章阅读:先读懂CapsNet架构然后用TensorFlow实现:全面解析Hinton提出的Capsule知乎上有两篇文章对论文解析的很好:知乎上云梦居客关于此篇论文的回答以及AI研习社对本篇论文进行了完整的翻译:自己的总结文中胶囊网络模型分为3层:第一层卷积层,输入:2828; 输出:2020256(使用256个99大小、步长为1的卷积核,该层拥有20原创 2020-09-04 00:04:36 · 253 阅读 · 0 评论