深度学习
文章平均质量分 79
炼丹是一种乐趣
cyz0202
这个作者很懒,什么都没留下…
展开
-
VAE的一种推导
介绍VAE的一种推导和实现方式原创 2023-03-29 19:09:48 · 530 阅读 · 0 评论 -
自定义卷积注意力算子的CUDA实现
自定义卷积注意力算子的CUDA实现原创 2022-06-22 13:23:15 · 1194 阅读 · 0 评论 -
BN折叠及其量化
BN折叠及其量化原创 2022-06-16 09:01:13 · 900 阅读 · 0 评论 -
EM算法2
EM算法2原创 2022-06-15 10:35:18 · 91 阅读 · 0 评论 -
CUDA实现focal_loss
本文介绍如何用CUDA进行算子实现,以mmdetection的focal_loss实现为例原创 2022-06-06 19:02:16 · 1378 阅读 · 2 评论 -
Intel Distiller工具包-量化实现3
本系列文章Intel Distiller工具包-量化实现1Intel Distiller工具包-量化实现2Intel Distiller工具包-量化实现3回顾上一篇文章中介绍了Distiller及Quantizer基类,基类定义了重要的变量,如replacement_factory(dict,用于记录待量化module对应的wrapper);此外定义了量化流程,包括 预处理(BN折叠,激活优化等)、量化模块替换、后处理 等主要步骤; 本文介绍继承自Quantizer的子类量化...原创 2022-05-31 16:35:37 · 238 阅读 · 0 评论 -
Intel Distiller工具包-量化实现2
本系列文章Intel Distiller工具包-量化实现1https://blog.csdn.net/cyz0202/article/details/125030673回顾上一篇文章中介绍了Distiller及Quantizer基类,基类定义了重要的变量,如replacement_factory(dict,用于记录待量化module对应的wrapper);此外定义了量化流程,包括 预处理(BN折叠,激活优化等)、量化模块替换、后处理 等主要步骤; 本文介绍继承自Quantizer的子类量化..原创 2022-05-31 01:03:23 · 360 阅读 · 2 评论 -
Intel Distiller工具包-量化实现1
DistillerDistiller是Intel2019年左右开发的一个原创 2022-05-29 23:58:18 · 529 阅读 · 3 评论 -
BMINF的后训练量化实现
BMINFBMINF是清华大学开发的大模型推理工具,目前主要针对该团队的CPM系列模型做推断优化。该工具实现了内存/显存调度优化,利用cupy/cuda实现了后训练量化 等功能,本文记录分析该工具的后训练量化实现。主要关注cupy操作cuda实现量化的部分,涉及量化的原理可能不会做详细介绍,需要读者查阅其他资料;实现代码分析1量化部分的入口代码主要是在 tools/migrate_xxx.py,这里以 tools/migrate_cpm2.py为例;main函数build_mo原创 2022-05-27 15:52:48 · 687 阅读 · 0 评论 -
Transformer relative position的一种实现方式
参考自 GitHub BMINF项目直接上代码class PositionBias(Layer): def __init__(self, num_buckets, num_heads, is_decoder): self.num_buckets = num_buckets self.is_decoder = is_decoder self.num_heads = num_heads self.embedding = Embedd.原创 2022-05-23 20:36:23 · 312 阅读 · 0 评论 -
NLP-transformer部分知识点
1. Scaled Dot-Product Attention中为什么要除以-原创 2022-05-17 10:21:12 · 520 阅读 · 0 评论 -
空洞卷积+转置卷积+反卷积
1. 空洞卷积1.1 如上图所示,空洞卷积是为了增加感受野(pooling虽然能增加感受野,但是容易丢失原有信息);1.2 实现原理:图a为普通3*3卷积(注:该卷积也可视为空洞率=1的空洞卷积,见以下说明);图b是空洞率=2的空洞卷积,即向原有卷积核前中后都插入一个权重为0的格子;此时卷积核变为77,但是有值的格子还是只有原来的33;图c是空洞率=4的空洞卷积,情况如图b;1.3 空洞卷积的应用:如下是在语音里的应用(Dilation=2即空洞率为2)1.4 补充:pooling原创 2022-05-05 13:54:54 · 452 阅读 · 0 评论 -
nvidia混合精度训练原理
参考自 nvidia-mixed-precision-trainingMixed Precision Training背景:减少内存消耗、提高训练、推断速度基本思想:大部分相对不重要的计算使用FP16,少量重要的计算使用FP32实际实现主要考虑两大部分:哪些部分使用FP16针对FP16可能带来的性能衰退做相应优化,主要是添加 loss scale一个例子展示效果半精度格式IEEE754规定16bits半精度浮点数格式为:1 sign bit, 5 exponent bit.原创 2021-07-13 10:15:38 · 427 阅读 · 0 评论 -
label-bias-problem
参考自:label-bias-problem1label-bias-problem2B站白板推导MEMM-CRF现象描述该问题来自对局部转移概率的归一化;直观地想象状态S的向外转移分支较少时,各分支会得到更多的probability;状态S的向外转移分支虽多,但是其实真实数据中这些转移发生次数都比较少,因为归一化,S的转移概率分布也可能和其他状态的常见转移一样;上述两种现象针对的问题就是,本身从当前状态S向外转移 在数据中并不常见,但是由于S外转分支少,再加上做归一化,就会.原创 2021-07-02 15:10:50 · 412 阅读 · 0 评论 -
GCN理解
主要内容参考自该知乎高赞回答 @superbrother,加入个人理解,侵删;本文介绍GCN原理,不是科普入门,需要熟悉矩阵、高数、深度学习;对矩阵分解不熟悉的请先看最后的补充知识部分(注意不是从头讲解)背景介绍为什么研究GCN主要是有不规则图需要处理的场景,如社交网络等;处理拓扑图空间特征的两种方式具体分析1)图卷积理论图 拉普拉斯矩阵为什么使用L(拉普拉斯)矩阵L矩阵的谱分解:GCN的核心基于拉普拉斯矩阵的谱分解如[何从传统的傅里叶变换、卷积类比到.原创 2021-03-23 17:46:28 · 301 阅读 · 1 评论 -
BERT-Whole Word Masked(WWM)
记录一下BERT的WWM实现和中文的WWM上代码: 英文 Bert-WWM数据创建方法def create_masked_lm_predictions(tokens, masked_lm_prob, max_predictions_per_seq, vocab_words, rng): """ Creates the predictions for the masked LM objective. para.原创 2021-03-02 18:19:24 · 1147 阅读 · 0 评论 -
RealFormer
1)本文参考自@苏剑林 RealFormer:把残差转移到Attention矩阵上面去,主要是做一些个人的注解2)以下阴影背景部分为引用上述文章,“注:”部分为本文添加背景Layer Normalization 是 Transformer 模型的重要组成之一,它的用法有 PostLN 和 PreLN 两种,论文 On Layer Normalization in the Transformer Architecture [1] 中有对两者比较详细的分析。简单来说,就是 PreLN 对梯度下降更加.原创 2021-01-26 14:30:51 · 657 阅读 · 1 评论 -
EM算法1
EM算法1原创 2021-01-24 01:16:32 · 166 阅读 · 2 评论 -
torch.tensor和torch.Tensor区别
部分参考该文章torch.tensor(实验使用pytorch1.7.1)torch.Tensor原创 2021-01-14 11:57:07 · 334 阅读 · 0 评论 -
RAG小结
RAGRAG做知识问答,我们所使用的语料、索引建立方式、训练方式,大致的模型参数,以及满足以上我们对GPU运算资源的需求。需求总结-RetrieverGeneratorRAG使用模型DPR(Albert-small)mT5DPR+mT5(fix-ctx)相关参数单元格单元格单元格训练语料网上问诊12万单元格单元格实际占用GPU单元格单元格单元格注:fix-ctx指固定context encoder,不做更新RAG原创 2020-12-07 10:09:29 · 1192 阅读 · 0 评论 -
Dense Passage Retrieval for Open-Domain Question Answering笔记
DPR笔记A-背景用于QA中的相关文档检索,改进传统检索方法BM25的部分缺点(如BM25比较依赖于token或者phrase的匹配,而DPR提高了基于语义的匹配能力),如以下QA,BM25较难找到这个answer(黄色部分):question:“Who is the bad guy in lord of the rings?”answer: "Sala Baker is best known for portraying the villain Sauron in the Lord of th原创 2020-10-29 17:16:28 · 1530 阅读 · 0 评论 -
AMBert
记录一下李航老师的AMBERT: A PRE-TRAINED LANGUAGE MODEL WITHMULTI-GRAINED TOKENIZATION想法对于中文,加入词的信息(而不只是字)已经被证明可以带来提升(如下图各个实验证明);从最早的BERT基于单个字符masking,到基于whole word masking,基于entity level masking,以及基于text spans masking等等(抓住一个点改善是一种创新方法),都说明粗粒度词汇的识别是有意义的;作者通过注.原创 2020-09-04 11:16:26 · 228 阅读 · 0 评论 -
文本增强技术
参考资料熵简科技-李渔博士的报告《文本增强技术的研究进展及应用实践》背景本质上是增加少类样本(数量少或者类型单一)的数量具体场景包括少样本场景(如文本标注耗时耗力很难获取很多)分类任务中样本不均衡(note:常见方法-欠采样 ( undersampling ) 和过采样 ( oversampling ) 会对模型带来怎样的影响?)半监督训练(19年google半监督学习算法 UDA 可以看出[6],文本数据增强技术可以用在无标签样本上,以构造出半监督训练所需的样本对,以此让模型从无标签的.原创 2020-06-19 17:31:08 · 1975 阅读 · 0 评论 -
一个错误:DataLossError (see above for traceback): corrupted record at 12
错误:DataLossError (see above for traceback): corrupted record at 0这是个坑,一般用tf.dataset读取数据可能出现这个问题,详细讨论可参考这个issue,17年讨论到19年????????????;试了issue中的几个方法,我这边就下面的方法管用;一个有用的解决方法:ignore errors-惹不起还躲得起 dataset = ...原创 2020-04-26 09:28:18 · 859 阅读 · 0 评论 -
LSTM为什么比RNN好
来自知乎大佬Towser的回答,比较深刻,也加了点自己的注释,侵删“LSTM 能解决梯度消失/梯度爆炸”是对 LSTM 的经典误解,RNN 中的梯度消失/梯度爆炸和普通的 MLP 或者深层 CNN 中梯度消失/梯度爆炸的含义不一样。MLP/CNN 中不同的层有不同的参数,各是各的梯度;而 RNN 中同样的权重在各个时间步共享,最终的梯度 g = 各个时间步的梯度 g_t 的和。(RNN反向...原创 2020-04-15 01:34:07 · 5310 阅读 · 0 评论 -
tile&repeat api使用小结
TensorFlow tile & Numpy tile如下,tile一般用法是,参数一是要tile对象t4,参数二是一个shape,表示要对t4各个axis做多少复制,示例[3,2]表示对axis=0和axis=1分别做3、2次复制;需要注意的是复制都是对t4整体复制;>> t4 = tf.constant([[1,2,3],[4,5,6]])>> ...原创 2020-04-10 11:36:07 · 262 阅读 · 0 评论 -
TensorRT-INT8校准原理
引用自此git blogIN8校准原理,侵删No saturation(不饱和映射):简单的将一个tensor 中的 -|max| 和 |max| FP32 value 映射为 -127 和 127 ,中间值按照线性关系进行映射。但是试验结果显示这样做会导致比较大的精度损失。Saturate(饱和映射):这种做法不是将 ±|max| 映射为 ±127,而是存在一个 阈值 |T......原创 2019-11-28 16:32:10 · 511 阅读 · 0 评论 -
attention的一种实现方式记录
ATTENTION的一种结构及计算公式如下图,原图记得是来自论文Effective Approaches to Attention-based Neural Machine Translation(下图及后续图片直接copy自blog,侵删)思想是当前信息ht与前文多个信息hs进行比对计算,得到对各个前文信息hs应该有多少关注度,即at;利用at加权相应的hs,并累加所有加权后的前文信息...原创 2019-10-23 18:07:24 · 257 阅读 · 0 评论