![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
文章平均质量分 85
javastart
专注于大数据 AI
展开
-
Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10)
Whisper开源模型通过transformers的微调,可以将预训练模型应用于特定的中文NLP任务,从而提高模型在该任务上的性能。微调使模型能够学习适应特定任务的特征和模式,从而实现更好的效果。发布于 2024-01-25 14:30・IP 属地北京。原创 2024-04-03 17:24:06 · 2948 阅读 · 1 评论 -
pytorch剪枝
在这篇文章中,我将向你介绍如何在PyTorch中实现模型剪枝。剪枝是一种优化模型的技术,可以帮助减少模型的大小和计算量,同时保持模型的准确性。我将为你提供一个详细的步骤指南,并指导你如何在每个步骤中使用适当的PyTorch代码。接下来,我们需要定义一个剪枝算法,这里我们以Global Magnitude Pruning(全局幅度剪枝)为例。# 定义剪枝比例# 对模型的全连接层进行剪枝1.2.3.4.5.6.7.8.9.10.原创 2024-04-01 11:19:07 · 805 阅读 · 2 评论 -
我的PyTorch模型比内存还大,怎么训练呀?
随着深度学习的飞速发展,模型越来越臃肿,哦不,先进,运行SOTA模型的主要困难之一就是怎么把它塞到 GPU 上,毕竟,你无法训练一个设备装不下的模型。改善这个问题的技术有很多种,例如,分布式训练和混合精度训练。本文将介绍另一种技术: 梯度检查点(gradient checkpointing)。简单的说,梯度检查点的工作原理是在反向时重新计算深层神经网络的中间值(而通常情况是在前向时存储的)。这个策略是用时间(重新计算这些值两次的时间成本)来换空间(提前存储这些值的内存成本)。原创 2024-02-07 08:02:46 · 1057 阅读 · 0 评论 -
PyTorch 2.2大更新!集成FlashAttention-2,性能提升2倍
PyTorch 2.2将FlashAttention内核更新到了v2版本,不过需要注意的是,之前的Flash Attention内核具有Windows实现,Windows用户可以强制使用sdp_kernel,仅启用Flash Attention的上下文管理器。FlashAttention-2调整了算法以减少非matmul的计算量,同时提升了Attention计算的并行性(即使是单个头,也可以跨不同的线程块,以增加占用率),在每个线程块中,优化warps之间的工作分配,以减少通过共享内存的通信。原创 2024-02-07 07:52:42 · 2290 阅读 · 0 评论 -
PyTorch 大杀器:用 AdaptDL 优化 GPU 集群中的 EDL
内容导读 AdaptDL 是一个资源自适应深度学习训练和调度框架,是 CASL 开源项目的一部分。AdaptDL 的目标是使分布式 DL 在动态资源环境中变得简单和高效。EDL 全称 Elastic Deep Learning,由 LF AI 基金会孵化,是一个能动态调整并行度的深度神经网络训练框架。它支持多租户集群管理,可以平衡模型训练等待及完成时间,能够提高资源利用率。训练深度学习模型通常比较耗时,在算力资源、储存空间等方面的花费也比较高昂。转载 2023-04-04 16:20:27 · 151 阅读 · 0 评论 -
windows下安装PyTorch框架支持CPU和GPU两种安装方式
在我之前的项目中用到PyTorch的场景并不多,所以自己对于这个深度学习框架的熟练度也不行,最近因为频繁需要用着PyTorch框架来做调试,需要自己安装搭建这个框架,之前只是用来做推理的,所以直接装的CPU,后面又搞来了GPU的环境这个也需要基于GPU来搭建PyTorch框架,这里主要来总结一下安装方法。因为之前使用tensorflow和keras的时候直接库名称加版本号就可以了,但是pytorch这个稍微麻烦一点,所以想着专门汇总总结记录一下。针对不同的CUDA会有不同的安装命令。转载 2023-02-11 21:03:49 · 619 阅读 · 0 评论 -
Torch.cuda.empty_cache() 性能非常非常慢
当我在单个 GPU 上执行时,我遇到了的问题。这种缓慢的行为出现在被处理之后 - 也就是 GPU 已经快满了,需要回收它的内存来接受下一批的时候。在GPU 状态 - 性能(如预期)。我希望下面的代码 sn-p 和输出都能简明扼要地说明问题。(为了简洁,我已经从 sn-p 中删除了打印和时间测量)输出我是否遗漏了一些明显的东西,或者这是GPU 行为?我在进行复杂编码之前发布这个问题,在我的服务器上可用的几个 GPU 和 CPU 之间进行处理。提前致谢, 阿尔伯特。转载 2022-12-31 21:43:53 · 1534 阅读 · 0 评论 -
PyTorch自定义CUDA算子教程与运行时间分
可以看出,因为第一次开始计时前没有同步线程,所以在GPU warm up调用api完毕后,第一次cuda kernel调用就开始了。注意它是异步的,调用完之后控制权立刻返回给CPU,所以之后计算时间的时候要格外小心,很容易只统计到调用的时间。可以看出,每执行一次(一个框)都经过了三个步骤:先是调用api(左上角蓝色框),然后执行kernel(下方蓝色框),最后线程同步(右上角黄色框)。接下来的代码就随心所欲了,这里简单写了一个测量运行时间,对比和torch速度的代码,这部分留着下一章节讲解。转载 2022-12-30 22:05:10 · 323 阅读 · 0 评论