照片做视频的网站南通网站外包

news/2025/9/26 13:27:59/文章来源:
照片做视频的网站,南通网站外包,seo 工具,如何制作一个网站包含多个网页文章目录 第五课#xff1a;MindSpore自动并行1、学习总结#xff1a;数据并行模型并行MindSpore算子级并行算子级并行示例 流水线并行GPipe和Micro batch1F1B流水线并行示例 内存优化重计算优化器并行 MindSpore分布式并行模式课程ppt及代码地址 2、学习心得#xff1a;3、… 文章目录 第五课MindSpore自动并行1、学习总结数据并行模型并行MindSpore算子级并行算子级并行示例 流水线并行GPipe和Micro batch1F1B流水线并行示例 内存优化重计算优化器并行 MindSpore分布式并行模式课程ppt及代码地址 2、学习心得3、经验分享4、课程反馈5、使用MindSpore昇思的体验和反馈6、未来展望 第五课MindSpore自动并行 1、学习总结 数据并行 数据并行过程: 每一张卡上放置相同的模型参数、梯度、优化器状态不同的卡送入不同的数据训练反向传播获得梯度后进行AllReduce 数据并行的问题: 要求单卡可以放下模型.多卡训练时内存冗余 模型并行 **模型并行是算子层面的并行它利用某些算子的特性将算子拆分到多个设备上进行计算。**因此并不是网络中所有的算子都可以拆分计算,可以拆分的算子需满足如下特性: 可以并行计算的算子算子其中一个输入来自于Parameter MindSpore算子级并行 MindSpore对每个算子独立建模用户可以设置正向网络中每个算子的切分策略(对于未设置的算子默认按数据并行进行切分)。在构图阶段框架将遍历正向图根据算子的切分策略对每个算子及其输入张量进行切分建模使得该算子的计算逻辑在切分前后保持数学等价。框架内部使用Tensor Layout来表达输入输出张量在集群中的分布状态Tensor Layout中包含了张量和设备间的映射关系用户无需感知模型各切片在集群中如何分布框架将自动调度分配。框架还将遍历相邻算子间张量的Tensor Layout如果前一个算子输出张量作为下一个算子的输入张量且前一个算子输出张量的Tensor Layout与下一-个算子输入张量的Tensor Layout不同则需要在两个算子之间进行张量重排布(Tensor Redistribution)对于训练网络来说框架处理完正向算子的分布式切分之后依靠框架的自动微分能力,即能自动完成反向算子的分布式切分。 算子级并行示例 由于第一个算子输出的Tensor Layout是第零维切分到集群而第二个算子要求第一个输入Tensor在集群上复制。**所以在图编译阶段会自动识别两个算子输出/输入之间Tensor Layout的不同从而自动推导出Tensor重排布的算法。**而这个例子所需要的Tensor重排布是一个AllGather算子(注: MindSpore的AllGather算子会自动把多个输入Tensor在第零维进行合并) 流水线并行 受server间通信带宽低的影响传统数据并行叠加模型并行的这种混合并行模式的性能表现欠佳需要引入流水线并行。流水线并行能够将模型在空间上按stage进行切分每个stage只需执行网络的一部分大大节省了内存开销同时缩小了通信域缩短了通信时间。流水线(Pipeline) 并行是将神经网络中的算子切分成多个阶段(Stage) 再把阶段映射到不同的设备上使得不同设备去计算神经网络的不同部分。 GPipe和Micro batch **简单地将模型切分到多设备上并不会带来性能的提升因为模型的线性结构到时同一时刻只有一台设备在工作而其它设备在等待造成了资源的浪费。**为了提升效率流水线并行进一步将小批次(MiniBatch)切分成更细粒度的微批次(MicroBatch)在微批次中采用流水线式的执行序从而达到提升效率的目的。 1F1B **MindSpore的流水线并行实现中对执行序进行了调整来达到更优的内存管理。**如图3所示在编号为0的MicroBatch的正向执行完后立即执行其反向这样做使得编号为0的MicroBatch的中间结果的内存得以更早地(相较于上图)释放进而确保内存使用的峰值比上图的方式更低。 流水线并行示例 流水线并行需要用户去定义并行的策略通过调用pipeline_ stage接口来指定每个layer要在哪个stage上去执行。pipeline_ stage接口的粒度为Cell。所有包含训练参数的Cell都需要配置pipeline_ stage并且pipeline_ stage要按照网络执行的先后顺序从小到大进行配置。 class ResNet(nn.Cell):ResNetdef __init__(self, block, num_classes100, batch_size32):initsuper(ResNet, self).__init__()self.batch_size batch_sizeself.num_classes num_classesself.head Head()self.layer1 MakeLayer0(block, in_channels64, out_channels256, stride1)self.layer2 MakeLayer1(block, in_channels256, out_channels512, stride2)self.layer3 MakeLayer2(block, in_channels512, out_channels1024, stride2)self.layer4 MakeLayer3(block, in_channels1024, out_channels2048, stride2)self.pool ops.ReduceMean(keep_dimsTrue)self.squeeze ops.Squeeze(axis(2, 3))self.fc fc_with_initialize(512 * block.expansion, num_classes)# 下面就是流水线并行的配置self.head.pipeline_stage 0self.layer1.pipeline_stage 0self.layer2.pipeline_stage 0self.layer3.pipeline_stage 1self.layer4.pipeline_stage 1self.fc.pipeline_stage 1内存优化 重计算 在计算某些反向算子时需要用到一些正向算子的计算结果导致这些正向算子的计算结果需要驻留在内存中直到依赖它们的反向算子计算完这些正向算子的计算结果占用的内存才会被复用。这一现象推高了训练的内存峰值在大规模网络模型中尤为显著。如: DropoutActivations 解决办法是通过时间换空间为了降低内存峰值 重计算技术可以不保存正向计算结果让该内存可以被复用然后在计算反向部分时重新计算出正向结果。 重计算效果 以GPT3模型为例设置策略为对每层layer对应的Cell设置为重计算然后每层layer的输出算子设置为非重计算。72层GPT3网络开启重计算的效果如下图所示: 重计算使用方式 为了方便用户使用MindSpore提供了针对单个算子和Cell设置的重计算接口。当用户调用Cell的重计算接口时这个Cell里面的所有正向算子都会被设置为重计算。 class ResNet(nn.Cell):ResNetdef __init__(self, block, num_classes100, batch_size32):initsuper(ResNet, self).__init__()self.batch_size batch_sizeself.num_classes num_classesself.conv1 conv7x7(3, 64, stride2, padding0)self.bn1 bn_with_initialize(64)self.relu ops.ReLU()self.maxpool nn.MaxPool2d(kernel_size3, stride2, pad_modesame)self.layer1 MakeLayer0(block, in_channels64, out_channels256, stride1)self.layer2 MakeLayer1(block, in_channels256, out_channels512, stride2)self.layer3 MakeLayer2(block, in_channels512, out_channels1024, stride2)self.layer4 MakeLayer3(block, in_channels1024, out_channels2048, stride2)# 这里就是对每层进行重计算的方式self.layer1.recompute()self.layer2.recompute()self.layer3.recompute()self.layer4.recompute()self.pool ops.ReduceMean(keep_dimsTrue)self.squeeze ops.Squeeze(axis(2, 3))self.fc fc_with_initialize(512 * block.expansion, num_classes)优化器并行 在进行数据并行训练时模型的参数更新部分在各卡间存在冗余计算优化器并行通过将优化器的计算量分散到数据并行维度的卡上在大规模网络上(比如Bert、 GPT) 可以有效减少内存消耗并提升网络性能。 传统的数据并行模式将模型参数在每台设备上都有保有副本把训练数据切分在每次迭代后利用通信算子同步梯度信息最后通过优化器计算对参数进行更新。数据并行虽然能够有效提升训练吞吐量但并没有最大限度地利用机器资源。其中优化器会引入冗余内存和计算消除这些冗余是需关注的优化点。 ZeRO (1-3) 优化器状态切分pos切分优化器状态到各个计算卡中在享有普通数据并行相同通信量的情况下可降低4倍的内存占用添加梯度切分posg在pos的基础上进一步将模型梯度切分到各个计算卡中在享有与普通数据并行相同通信量的情况下拥有8倍的内存降低能力添加参数切分posgp在posg的基础上将模型参数也切分到各个计算卡中内存降低能力与并行数量成线性比例通信量大约有50%的增长 参数分组(Weights Grouping) 将参数和梯度分组放到不同卡上更新再通过通信广播操作在设备间共享更新后的权值。该方案的内存和性能收益取决于参数比例最大的group。当参数均匀划分时理论上的正收益是N- 1/N的优化器运行时间和动态内存以及N- 1/N的优化器状态参数内存大小其中N表示设备数。而引入的负收益是共享网络权重时带来的通信时间。 参数切分(Weights Sharding) **对参数做层内划分对每一个参数及梯度根据设备号取其对应切片各自更新后再调用通信聚合操作在设备间共享参数。**这种方案的优点是天然支持负载均衡即每张卡上参数量和计算量一致缺点是对参数形状有整除设备数要求。该方案的理论收益与参数分组一致为了扩大优势框架做了如下几点改进。 **对网络中的权重做切分可以进一步减少静态内存。**但这也需要将迭代末尾的共享权重操作移动到下-轮迭代的正向启动前执行保证进入正反向运算的依旧是原始张量形状。**优化器并行运算带来的主要负收益是共享权重的通信时间如果我们能够将其减少或隐藏就可以带来性能上的提升。**通信跨迭代执行的一个好处就是可以通过对通信算子适当分组融合将通信操作与正向网络交叠执行从而尽可能隐藏通信耗时。通信耗时还与通信量有关对于涉及混合精度的网络如果能够使用fp16通信通信量相比fp32将减少- -半 MindSpore分布式并行模式 数据并行用户的网络参数规模在单卡上可以计算的情况下使用。这种模式会在每卡上复制相同的网络参数训练时输入不同的训练数据适合大部分用户使用。 半自动并行用户的神经网络在单卡上无法计算并且对切分的性能存在较大的需求。用户可以设置这种运行模式手动指定每个算子的切分策略达到较佳的训练性能。 自动并行用户的神经网络在单卡上无法计算但是不知道如何配置算子策略。用户启动这种模式MindSpore会自动针对每个算子进行配置策略适合想要并行训练但是不知道如何配置策略的用户。 混合并行完全由用户自己设计并行训练的逻辑和实现用户可以自己在网络中定义AllGather等通信算子。适合熟悉并行训练的用户。 课程ppt及代码地址 github地址网络不好的可以访问下面我克隆到gitee上的地址Parallel gitee地址Parallel 2、学习心得 ​ 通过本次学习更加熟悉了华为Mindspore这个国产深度学习框架同时也对mindspore的各种并行策略有所了解峰哥通过resnet50这个示例把各种并行策略实现都做了一个详细的讲解还是比较印象深刻的课后不懂的还可以再跑跑相关的代码示例总之各种并行策略在代码上的实现方式还是挺简单的基本就是一行代码就搞定了。 3、经验分享 ​ 在启智openI上的npu跑时记得使用mindspore1.7的镜像同时安装对应mindnlp的版本不然可能会因为版本不兼容而报错。另外就是各种并行策略的代码都要跑一跑结合视频去加深理解。 4、课程反馈 ​ 本次课程中的代码串讲我觉得是做的最好的地方没有照着ppt一直念而是在jupyter lab上把代码和原理结合到一块进行讲解让学习者对代码的理解更加深入。我觉得内容的最后可以稍微推荐一下与Mindspore大模型相关的套件让学习者在相关套件上可以开发出更多好玩和有趣的东西 5、使用MindSpore昇思的体验和反馈 MindSpore昇思的优点和喜欢的方面 灵活性和可扩展性 MindSpore提供了灵活的编程模型支持静态计算图和动态计算图。这种设计使得它适用于多种类型的机器学习和深度学习任务并且具有一定的可扩展性。跨平台支持 MindSpore支持多种硬件平台包括CPU、GPU和NPU等这使得它具有在不同设备上运行的能力并能充分利用各种硬件加速。自动并行和分布式训练 MindSpore提供了自动并行和分布式训练的功能使得用户可以更轻松地处理大规模数据和模型并更高效地进行训练。生态系统和社区支持 MindSpore致力于建立开放的生态系统并鼓励社区贡献这对于一个开源框架来说非常重要能够帮助用户更好地学习和解决问题。 一些建议和改进方面 文档和教程的改进 文档和教程并不是很详细希望能够提供更多实用的示例、详细的文档和教程以帮助用户更快速地上手和解决问题。更多的应用场景示例 提供更多真实场景的示例代码和应用案例可以帮助用户更好地了解如何在实际项目中应用MindSpore。 6、未来展望 ​ 大模型的内容还是很多的希望自己能坚持打卡将后面的内容都学习完并做出一些有趣好玩的东西来最近准备尝试做做社区大模型相关的代码迁移精度验证任务了希望能够学以致用提高自己的技术水平

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DailyPaper-2025-9-26

失踪人口回归,才识浅薄啥也不懂勿喷MMR1: Enhancing Multimodal Reasoning with Variance-Aware Sampling and Open Resources https://arxiv.org/pdf/2509.21268Variance-Aware Sampling and large-scale CoT data i…

实用指南:老题新解|素数对

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

人文领域的创新乏力:当价值内卷遇上元人文AI的破局之光

人文领域的创新乏力:当价值内卷遇上元人文AI的破局之光 当我们惊叹于科技领域的颠覆式创新时,却不得不面对一个尴尬的对比:人文领域的创新陷入了深度的乏力。 这里的"人文领域",指的是塑造我们社会形态、…

网站备份数据库做网站的网站犯法吗

试试了一下在 .NET中通过如下语句Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);就可以使页面的缓存失效,每次都需要获取新页面。 转载于:https://www.cnblogs.com/0000/archive/2009/11/11/1601036.html

查找公司信息的网站环保网站建设价格

注意,以下内容基于前面完整版的根文件系统,因此需要先完成前面的步骤。 1、明确sample文件夹的位置 海思SDK有很多sample,以方便开发人员的参阅。sample文件夹位于/package/mpp/目录下。 其中/package/mpp/sample/venc目录完成了视频的采集以…

网页制作门户网站案例气象网站建设需求方案

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、移植前的准备工作 1、搭建开发环境 (1)虚拟机运行着ubuntu14.04系统。 (2)X210开发板运行着linux内核镜像、QT4.8文件系统镜像。相关的镜像文件在…

自己公司设计一个网站电子商务网站建设与制作

Oracle 的导入实用程序 (Import utility) 允许从数据库提取数据,并且将数据写入操作系统文件。 imp 使用的基本格式: imp[username[/password[service]]] ,以下例举 imp 常用用法。 1. 获取帮助 imp helpy 2. 导入一个完整数据库 imp sy…

SimCC: a Simple Coordinate Classification Perspective for Human Pose Estimation

[ECCV22] 基于坐标分类的关键点检测SimCC: a Simple Coordinate Classification Perspective for Human Pose Estimation SimCC(ECCV22):基于坐标分类计算关键点,即计算每个关键点在x轴、y轴上的概率。 代码仓库 注…

外贸看的英文网站鞍山最新消息

​FPGA高速接口有哪些学习途径,这里不得不提下我们宸极教育FPGA课程, FPGA课程5.0 版:Xilinx体系高速接口项目实操,全新升级,课程完全根据企业招聘要求,项目实操设置,适应目前市场的求职招聘要…

大连网站建设设计公司注册好了怎么做网站

一、前言 这篇文章主要介绍了CentOS 7.6环境下Nginx下载安装配置使用教程,学习nginx的朋友可以参考一下 二、下载 使用如下命令进行下载 wget http://nginx.org/download/nginx-1.23.3.tar.gz 三、安装nginx需要的环境库 项目首先我们需要安装gcc、gcc-c、zlib、…

北京融安特智能科技营销型网站wordpress archive

目录 对称加密算法 AES (ECB模式) AES(CBC 模式)。 非对称加密 对称加密算法 对称加密算法,是使用相同的密钥进行加密和解密。使用对称加密算法来加密双方的通信的话,双方需要先约定一个密钥,加密方才能加密&#…

全景网站制作教程现在还有做系统的网站吗

1.SELECT语句 从一个表或多个表中检索信息 2.检索单个列 输入: SELECT prod_name FROM Products; 输出: 没有过滤,也没有排序,输出数据顺序可能不同。 3.检索多个列 输入: SELECT prod_id, prod_name, prod_price F…

10.1.1 启用python达成第一个遗传算法

10.1.1 启用python达成第一个遗传算法pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

[iOS] OC高级编程 - 引用计数 (1) - 详解

[iOS] OC高级编程 - 引用计数 (1) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

Docker Docker Compose 完整入门与实用技巧 - 教程

Docker & Docker Compose 完整入门与实用技巧 - 教程2025-09-26 13:10 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important;…

建网站过程网站制作报价优惠

[html] 说说你对属性data-的理解 data- 属性是H5新增的自定义属性,也可以用来存储值。我个人用的不多,这个data- 属性倒是和vue中的v-bind 功能相似, 自定义属性,绑定数据。也和上面说的一样可以通过js进行获取使用个人简介 我是…

营销型网站建设合同戚墅堰做网站

云原生之使用Docker部署RSS阅读器Huntly 一、Huntly介绍1.1 Huntly简介1.2 Huntly功能2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Huntly镜像五、部署Huntly5.1 创建挂载目录5.2 创建Hun…

达州网站建设的公司怎么自己搭建梯子

最近在练习搭建网站,遇到游览器找不到服务器上的php文件的问题。后来查找发现,apache文档根目录跟apache虚拟主机文档根目录不同,服务器开启了虚拟主机功能。这导致游览器找不到php文件。 使用的环境是LAMP,它 的操作系统和软件版…

西安网站建设公司电话wordpress 删除 评论

事件以及事件相关的兼容性问题 事件最早是在 IE3 和 Navigator2 中出现的,当时是作为分担服务器运算负担的一种手段。要实现和网页的交互,就需要通过 JavaScript 里面的事件来实现。 每次用户与一个网页进行交互,例如点击链接,按下…