自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python中主要数据结构的使用

collections模块提供了deque类,实现了双端队列,允许从队列的两端进行插入和删除操作。

2024-04-02 11:21:54 380 1

原创 Deep Reinforment Learning Note 1

πθ​at​∣ot​)πθ​at​∣st​。

2024-01-11 21:03:00 376

原创 进程间共享内存 & 信号量

多个进程可以同时访问一段内存,达到信息同步的目的。信号量可以保证多个进程的互斥访问。

2023-12-26 11:12:29 64

原创 强化学习笔记

这些定义均来自于《神经网络与深度学习》这本书强化学习基本要素:状态s是对环境的描述,可以是离散的或连续的,其状态空间为SS动作a是对智能体行为的描述,可以是离散的或连续的,其动作空间为AA策略πa∣s\pi(a|s)πa∣s使智能体根据环境状态s来决定下一步动作a的函数状态转移概率ps′∣sap(s'|s,a)ps′∣sa使在智能体根据当前状态s做出一个动作a之后,环境在下一个时刻转变为状态s’的概率即时奖励rsas′r(s,a,s')rsa。

2023-11-22 09:31:23 158

原创 tcpdump抓包的字节数量与ethtool统计数据不同的原因

在统计流量信息的时候,还需要加上4个字节的校验和(比如校验算法CRC32)。

2023-11-13 20:50:24 221

原创 RDMA抓包

现在mellanox/tcpdump-rdma bash 开始捕获RDMA设备mlx5_1的数据包,并将数据包保存在容器内外/ tmp/ traces目录中的capture1.pcap文件中。进入mellanox/tcpdump-rdma bash之后,运行以下命令。-s:截取报文的内容,默认截取96字节,-s 0表示截取全部。-i:指定监听的网口。

2023-11-09 20:17:00 234

原创 Congestion Control for Large-Scale RDMA Deployments

对于一个流,如果一个标记的包到达,并且在之前的N微秒内没有CNP被发送,CNP就立即被发送。速率恢复包括两个主要的阶段,第一个阶段是fast recovery,执行如下的F=5轮迭代,以快速接近目标速率。为了避免包丢失,PAUSE发送者需要保留足够的buffer空间,以处理这段时间内接收的包。DCQCN包括sender(reaction point, RP),switch(congestion point, CP),receiver(notification point,NP)。)并且更新速率降低因子(

2023-10-10 20:09:28 173

原创 RDMA编程杂记

P_Key(Partition Key)用于提供InfiniBand网络的隔离机制,只有在一个分区内的节点可以互相通信。P_Key是一个16位的值,有两部分msb位:membership bit,0表示limitied membership,1表示full membership低15位是定义分区的key只有具有同样key的QP才可以通信,而且至少一个QP是这个分区的full member。P_Key在所有通信类型中都存在,不论RC,UD。

2023-09-23 17:21:18 356

原创 PFC(Priority Flow Control)及PFC Storm介绍

当暂停帧从接收方传输到发送方的过程中,发送方又发送了大小为BW*RTT的数据)。一旦入端口队列的长度大于一个特定的阈值(XOFF),接收方发送一个PFC暂停帧给对应的上游出队列。介绍一种PFC Storm,起源于NIC的接收pipeline出现的bug,这个bug放慢了NIC的接收过程,接收缓冲区就会不断地被无法及时处理的报文填满,结果就是这个NIC不断地发送PFC暂停帧。在发送方的出端口,数据包在至多八个队列中排队发送,每个队列对应于一个优先级(这八个队列的数据发送是互相独立的,可以分开控制)。

2023-05-25 15:07:03 1407

原创 C++ 直接初始化 vs 拷贝初始化

如果使用等号初始化一个变量,实际上执行的是拷贝初始化(copy initialization),编译器把等号右侧的初始值拷贝到新创建的对象中去。与之相反,如果不使用等号,则执行的是直接初始化(direct initialization)。

2022-11-21 16:23:31 375

原创 Pollux: Co-adaptive Cluster Scheduling for Goodput-Optimized Deep Learning(论文笔记)

论文笔记

2022-11-03 14:50:54 504 1

原创 Multi-Resource Interleaving for Deep Learning Training(论文笔记)

用户提交DL训练任务到Muri调度器。Muri调度器保持一个任务队列缓冲提交的任务,并做任务调度决定。

2022-10-30 15:17:49 812

原创 Looking Beyond GPUs for DNN Scheduling on Multi-Tenant Clusters(论文笔记)

论文笔记

2022-10-27 19:32:08 475 1

原创 基于深度学习的任务放置在具有异质工作负载的分布式机器学习集群中的应用(论文笔记)

Deep Learning-Based Job Placement in Distributed Machine Learning Clusters With Heterogeneous Workloads

2022-10-22 17:28:20 550 1

原创 DL2: A Deep Learning-Driven Scheduler for Deep Learning Clusters(论文笔记)

DL2目标是找到最佳的资源调度策略,最小化所有并发任务的平均完成时间。

2022-10-17 16:16:20 590 1

原创 Optimus: An Efficient Dynamic Resource Scheduler for Deep Learning Clusters(论文笔记)

论文笔记

2022-10-13 18:36:18 333 1

原创 Near-Optimal Topology-adaptive Parameter Synchronization in Distributed DNN Training(论文笔记)

Near-Optimal Topology-adaptive Parameter Synchronization in Distributed DNN Training论文笔记

2022-09-23 19:37:57 194 3

原创 带宽估计的指标

带宽估计

2022-09-19 16:44:29 661

原创 TOWARDS SCALABLE DISTRIBUTED TRAINING OF DEEP LEARNING ON PUBLIC CLOUD CLUSTERS(论文笔记)

TOWARDS SCALABLE DISTRIBUTED TRAINING OF DEEP LEARNING ONPUBLIC CLOUD CLUSTERS论文笔记

2022-09-16 14:33:06 344

原创 A Unified Architecture for Accelerating Distributed DNN Training in Heterogeneous GPU/CPU Clusters笔记

BytePS论文笔记

2022-09-13 19:47:55 647

原创 Communication-efficient Decentralized Machine Learning over Heterogeneous Networks(笔记)

Communication-efficient Decentralized Machine Learning over Heterogeneous Networks论文笔记

2022-09-01 20:06:39 2060

原创 Hoplite: Efficient and Fault-Tolerant Collective Communication for Task-Based Distributed Systems

Hoplite: Efficient and Fault-Tolerant Collective Communication for Task-Based Distributed Systems论文笔记

2022-08-28 17:41:19 716

原创 CSAPP中有趣的知识点

文章目录有符号数和无符号数的类型转换有符号数和无符号数的类型转换在 C 语言中,int 和 unsigned int 类型之间的相互转换可能会改变数值,但是不会改变位表示,只是位的解释方式有差别。当执行一个运算时,如果它的一个运算数是有符号的,而另一个是无符号的,那么 C 语言会隐式地将有符号参数强制类型转换为无符号数,并假设这两个数都是非负的,来执行这个运算。经常会犯的一种错误是下面这种情况:unsigned length1 = 1;return length1 - 2 > 0;实际

2021-10-07 20:10:28 109

原创 Efficient Sparse Collective Communication and its application to Accelerate Distributed Deep Learnin

最普遍的分布式深度学习(DDL)算法是随机梯度下降(SGD)。分布式 SGD 分为两个步骤:(1) 每个 worker 训练一个模型的局部拷贝,并行地处理训练数据的不同子集。(2) 将所用的 worker 的计算结果组合,得到一个平均的梯度,并将模型参数进行更新。在 DDL 中,通信负载占比很高,严重影响了其并行化的训练速度,是一个众所周知的性能瓶颈。目前,深度学习模型的梯度稀疏性越来越高,其中 DeepLight,LSTM 两个深度神经网络的梯度稀疏度超过了 94%。

2021-09-29 22:05:53 590

原创 Pytorch中的广播机制

文章目录广播条件运算翻译自Pytorch官方文档 BROADCASTING SEMANTICS在Pytorch中,两个张量形状不同有时也可以进行运算,这涉及到了Pytorch中的广播机制,也就是Pytorch会自动扩充两个张量,使两个张量的形状相同,然后再进行运算,下面具体说明。广播条件如果两个张量满足下面两个条件,就可以广播:每个张量都至少有一个维度对两个张量的维度从后往前处理,维度的大小(这个维度的长度)必须要么相等,要么其中一个为1,或者其中一个张量后面不存在维度了。上面说的比较

2021-04-09 20:17:32 1713

原创 Matplotlib例子

有图例有栅格的图文章目录有图例有栅格的图多个子图import matplotlib.pyplot as pltimport numpy as np# Data for plottingt = np.arange(0.0, 2.0, 0.01)s = 1 + np.sin(2 * np.pi * t)fig, ax = plt.subplots()ax.plot(t, s, label='sin(x)')ax.set(xlabel='time (s)', ylabel='voltage

2021-04-05 22:28:43 174 1

原创 Numpy有趣的知识点

请使用 jupyter notebook 学习给定区间,元素个数的初始化import numpy as npa = np.linspace(0, 10, 11) # 0到10,总共11个数aNumpy轴的分布最后一个轴:从左到右倒数第二个轴:从上到下(最里面的一层)其他的轴:从上到下,每个元素间隔一行a = np.arange(120).reshape(2, 3, 4, 5)a遍历array中的所有元素b = np.arange(16).reshape(4, 4)bfo.

2021-04-05 22:24:44 129

原创 廖雪峰Python教程笔记

文章目录创建只有一个值的 tuple不可变对象调用方法使用python的下标循环全排列python中的三目运算符生成器可迭代对象和迭代器迭代器与生成器的区别函数名是一个变量高阶函数闭包nonlocal与global偏函数对象可绑定任何数据类的访问控制多态MixIn关于对象的属性方法优先级问题定制类把方法变成属性调用@[email protected]可跨越多层调用正则表达式(?:···)r + 字符串匹配规则文件读写模式合并拆分路径复制、重命名、删除文件这是我创建只有一个

2021-04-05 16:33:19 1336

原创 Python切片总结

文章目录基本格式step 可以是负值缺省值基本格式给定 list, tuple, str,我们可以求它们的切片,格式为:<object_name>[<start_index>, <stop_index>, <step>]中括号里的第一项是开始的索引;第二项是结束的索引,且这个位置的值不取;第三项是 step,也就是说如果 step 为 2,那么每两个取一个,缺省值是 1。下面给出一些基本样例:import numpy as npa = np.a

2021-04-03 10:22:08 221

原创 Python函数调用的参数调用

其实很简单,把它理解为一种赋值即可,在函数内部,形参会指向实参所指向的对象。关于Python中变量的存储原理可以看这篇文章:python变量的存储原理详解

2021-04-02 17:20:41 122

转载 python变量的存储原理详解

变量的存储在高级语言中,变量是对内存及其地址的抽象。对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的只本身。引用语义:在python中,变量保存的是对象(值)的引用,我们称为引用语义。采用这种方式,变量所需的存储空间大小一致,因为变量只是保存了一个引用。也被称为对象语义和指针语义。值语义:有些语言采用的不是这种方式,它们把变量的值直接保存在变量的存储区里,这种方式被我们称为值语义,例如C语言,采用这种存储方

2021-03-29 11:07:05 2693

原创 《Syntax-Enhanced Neural Machine Translation with Syntax-Aware Word Representations》论文笔记

文章目录试图解决的问题方法介绍BaselineEncoderDecoder试图解决的问题语法可以用于加强神经机器翻译的性能,比如2017年的工作集成了语法树到Seq2Seq神经机器翻译模型中。但是由于不同语法树的不均匀性,增加了批运算的困难,进而导致速度降低,即使专门设计了批算法,效果还是不尽如人意。Tree-Linearization方法试图解决这个问题,主要的思想是把语法树线性化成序列符号,然后利用结果序列作为NMT的输入。这篇文章也是来解决这个问题的,在使用语法信息的同时,保证模型的效率。作者提

2021-03-27 11:10:01 241

原创 numpy按特定轴求和

可以理解为对哪一位求和就是去掉哪一维

2021-03-24 21:21:25 1210

原创 本地使用 jupyter notebook 连接远程服务器

一、远程连接我们在远程登录Linux服务器时,经常希望在本地浏览器端打开jupyter notebook,这些命令可以实现这个操作。服务器端开启 jupyter notebook,–no-browser 是不自动打开浏览器:jupyter notebook --no-browser复制倒数第二行的 token,这个 token 就是远程访问的密码,同时记下端口号8888。第二步就是在 PC 端做一个端口映射,即通过 ssh 隧道来将服务器端的8888端口号映射到本地(PC端)的某个端口(如12

2021-03-20 21:57:41 2422 1

转载 如何使用思维导图做技术书籍笔记?

转载至技术性书籍如何做读书笔记和总结?读技术书籍,推荐使用思维导图,例如freemind或者同类型软件来做笔记。例如:随着记录的笔记越来越多,它慢慢地汇聚为一个比较庞大的思维导图,可以认为就是我们自己整理的知识体系。正确地做好技术书籍的笔记,对我们学习技术是很有帮助的,通常我个人做笔记的顺序如下:(1)通读技术书籍一遍,尽可能将里面的全部知识点提炼出来,做成思维导图里相互关联的节点。看完第一遍时,思维导图的知识点会比较多,可能会有些凌乱,但没有关系,后面还会调整。(2)将笔记尽可能以全局方式理解.

2021-03-16 16:49:13 300

原创 如何学习领域知识(编程语言、深度学习等)?

之前看一些技术类书籍的时候,往往都是把书从头翻到尾,只求速度,有些东西根本没有彻底理解,看完一遍后过了一两个月就全忘光了,根本就没有吸收消化。于是,我就开始在网络上到处搜寻别人的读书方法,思考+总结+运用足以概括之。思考在阅读一些算法、AI类书籍的时候,对于书中的每个知识点,一定要彻底弄清楚,不能再像之前那样似懂非懂,糊弄过去了。你要知道自己读书的真正目的,不是为了读书而读书,你读书是为了学到知识,知识都学不扎实,那读书还有什么意义呢?在读书的过程中,往往会有很难理解的地方,这时候千万不能跳过,而是要

2021-03-12 20:56:38 226

原创 Neural Grammatical Error Correction Systems with Unsupervised Pre-training on Synthetic Data

文章目录解决问题工作Transformer models人工合成数据解决问题基于从拼写检查器提取出的困惑集,无监督地生成人工错误数据集,来解决数据缺少的问题。工作Transformer models使用Transformer模型,做一些小的修改(大量正则化防止过拟合、指数平滑、提高每个batch的size、整个模型的参数都被与悬链)人工合成数据使用拼写检查器来生成困惑集(困惑集就是经常相互混淆的单词集),生成困惑集时利用了编辑距离和语音距离的加权平均值。生成步骤为:对每个句子,采样均值0

2021-03-08 11:22:08 179

原创 《The BEA-2019 Shared Task on Grammatical Error Correction》论文笔记

文章目录数据集介绍数据集介绍BEA-2019是剑桥大学发布的新的GEC领域的benchmark,与CONLL-2014不同的是,它包含了很多等级的英语能力,因此更具有一般性。

2021-01-18 16:35:25 506

原创 《GECToR -- Grammatical Error Correction: Tag, Not Rewrite》论文笔记

文章目录解决的问题这篇论文的思想Token-level transformationsTagging model architectureIterative sequence tagging approach实验训练Encoders from pretrained transformersTweaking the inferenceSpeed comparisons结论解决的问题NMT-based GEC系统有如下几个问题妨碍了部署:缓慢的推理速度需要大量的训练数据可解释性在这篇论文中,通过

2021-01-17 20:54:10 1551

原创 Transformer的残差连接

在学习Transformer的过程中,编码器和解码器都用到了残差连接,下面我总结一下残差连接。假如我们的输入为X,要得到的输出为H(X)。那么我们可以通过 H = F(X) + X,转换为学习F。等得到F的输出后,在此基础上加上X即可得H的输出。在Transformer中,此时的F即是下图中的Multi-Head Attention和Feed Forward,我们再加上X即可得到需要的输出。下图中的Add & Norm中的Add即为此意。Norm的意思就是在后面跟了一个归一化层。论文原文中的公式

2020-12-21 22:15:00 12330

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除