广东省城乡建设厅投诉网站机械行业营销型网站
- 作者: 五速梦信息网
- 时间: 2026年04月20日 11:05
当前位置: 首页 > news >正文
广东省城乡建设厅投诉网站,机械行业营销型网站,网页版梦幻西游仙玉做什么划算,广州嘉怡服饰有限公司网站建设Pytorch的一小步#xff0c;昇腾芯片的一大步
相信在AI圈的人多多少少都看到了最近的信息#xff1a;PyTorch最新2.1版本宣布支持华为昇腾芯片#xff01;
1、 发生了什么事儿#xff1f;
在2023年10月4日PyTorch 2.1版本的发布博客上#xff0c;PyTorch介绍的beta版本…Pytorch的一小步昇腾芯片的一大步
相信在AI圈的人多多少少都看到了最近的信息PyTorch最新2.1版本宣布支持华为昇腾芯片
1、 发生了什么事儿
在2023年10月4日PyTorch 2.1版本的发布博客上PyTorch介绍的beta版本新特性上有一个PRIVATEUSE1特性是提高了第三方设备的支持并说明了华为Ascend NPU昇腾NPU芯片的OSS小组已经成功将torch_npu整合进入PyTorch;
人话就是 pytorch原生支持的是CPU和CUDA现在昇腾NPU也可以支持pytorch了 PyTorch2.1 发布了PRIVATEUSE1新特性PyTorch介绍的beta版本PRIVATEUSE1新特性主要目标是让PyTorch可以使用更多的硬件 PyTorch 2.1对华为昇腾芯片NPU的支持简单理解就是华为的Ascend NPU昇腾NPU芯片的OSS小组通过PyTorch的PRIVATEUSE1特性让PyTorch可以在华为的NPU芯片上运行
1.1 PyTorch的PRIVATEUSE1特性是什么
PyTorch不是一个完全的前后端分离的架构但是可以从前后端分离的角度理解其中前端负责用户交互而后端处理计算任务PyTorch的前端主要有两个一是Python前端另一个是C前端 Python前端是主要的接口而C前端为PyTorch机器学习框架提供了纯C接口 Python API底层是基于C代码库提供了诸如张量和自动微分等基础数据结构和功能PyTorch的后端指的是执行前端定义操作的计算引擎。PyTorch支持多种后端每种后端都针对特定的硬件或运行时进行了优化。例如它有针对CUDA、cuDNN、MKL、MKLDNN、OpenMP等的后端。这些后端控制操作的行为并且对于利用诸如GPU计算之类的硬件加速至关重要PyTorch还允许自定义后端用户可以使用torch.compile定义自己的后端。在追踪FX图后可以通过TorchDynamotorch.compile的图追踪组件调用自定义后端中的后端函数PRIVATEUSE1特性就是PyTorch提供的一种定制后端的机制主要是为了帮助开发者在PyTorch中集成新的计算后端PRIVATEUSE1特性为集成新的计算后端提供了一个结构化的方法。通过此特性开发者可以将特定于硬件的优化和实现集成到PyTorch中从而获得更好的性能特别是在针对特定硬件加速器如GPU、NPU或FPGA时简单理解就是华为的Ascend NPU昇腾NPU芯片的OSS小组通过PyTorch的PRIVATEUSE1特性让PyTorch可以在华为的NPU芯片上运行。
1.2、 PyTorch2.1在华为NPU运行方式
参考官网非常简单代码如下
torch.rename_privateuse1_backend(my_hardware_device)
torch.utils.generate_methods_for_privateuse1_backend()
x torch.randn((2, 3), devicemy_hardware_device)
y x x # run add kernel on my_hardware_device虽然通过插件之前昇腾自己fork维护的的形式官方支持了第三方硬件NPU还有个极大的问题我们可以看看PyTorch Adapter版本配套关系及其离谱就支持了三个pytorch版本版本配套表一个电脑屏幕都放不下昇腾在面向开发者文档上还是要多下功夫啊感觉是研发根据自己的开发环境写的文档和mindspore文档一样的问题改天有时间再写对于一个开发者文档是相当重要的新手直接劝退…
另外有意思的是这个Pytorch Adapter在gitee上也开源了但是文档不是同步更新且内容逻辑是不一样的大家可以去查查看
gitee上的PyTorch与Python版本配套表
PyTorch版本Python版本PyTorch1.8.1Python3.7.x3.7.5及以上、Python3.8.x、Python3.9.xPyTorch1.11.0Python3.7.x3.7.5及以上、Python3.8.x、Python3.9.x、Python3.10.xPyTorch2.0.1Python3.8.x、Python3.9.x、Python3.10.x
github上的版本配套表
PyTorch VersionPython VersionPyTorch1.8.1Python3.7.x(3.7.5),Python3.8.x,Python3.9.xPyTorch1.11.0Python3.7.x(3.7.5),Python3.8.x,Python3.9.x,Python3.10.xPyTorch2.0.1Python3.8.x,Python3.9.x,Python3.10.xPyTorch2.1.0Python3.8.x,Python3.9.x,Python3.10.x
2、 对pytorch和第三方芯片厂商昇腾有啥好处
2.1 是原生支持了昇腾吗 先通过【paperwithcode】看下目前市场上论文基于不同AI框架实现的框架占比情况来看Pytorch依旧是作为一哥的存在并且底层硬件基本都是英伟达那么如果一个新硬件厂商想要支持Pytorch如何做呢
我们先看看特斯拉咋做的 正常来说
1、 通过ONNX/torchscript作为中转来实现插件但对于优化和开发效率有极大的影响
2、 fork下pytorch适配自己的硬件后并持续维护但大家要知道Pytorch是按月发版本的客户无法使用新特性那硬件厂商的适配要吐血。。。
两种方式都会让使用新硬件的客户抓狂那此次特性的更新对于昇腾来说其实是利好的pytorch增加了PrivateUse1特性相当于不用fork了
但我们得看下其实也不是算原生支持其实从1.1、1.2 的描述来看pytorch增加了PrivateUse1特性这样做可以降低对新硬 XPU 件的支持门槛而PyTorch在做前后端做进一步的分离以支持多硬件时代芯片厂商实现后端后可以无缝切换
为了验证这个功能呢华为昇腾pytorch团队基于自己维护的torch_npu项目做了个新的后端并且成功在torch 2.1中调用昇腾的npu;
注彩蛋
GRAPHCORE发了一个PR来源增加IPU专用的DispatchKey通过了有趣的是一个多月后昇腾希望在pytorch中加入NPU专用的DispatchKey来源但pytorch团队以PrivateUse1特性马上要支持了为由给拒绝了昇腾还是慢了些啊估计好气啊。。。
注GRAPHCORE拟未是一家人工智能芯片公司为人工智能打造计算机系统这些系统由先进的智能处理器IPU提供动力旨在满足人工智能独特的计算要求。2016年公司正式成立总部位于英国布里斯托。2019年公司在北京设立公司中国总部并确定中文名“拟未”。目前拟未已经设立了北京、上海、深圳和新竹办公室。
2.2对于pytorch的好处和挑战是什么
好处
进一步稳固pytorch的大哥的市场地位难以撼动pytorch本身也希望屏蔽硬件的差异估计希望做到所有用户的一套代码对底层硬件无感知估计后续pytorch的设备列表会越来越长…
挑战
抛开对第三方硬件的支持这个特性LLM领域对pytorch的冲击还是有的当前pytorch对分布式训练的支持…
目前大厂都是pytorchDeepSpeed/Megatron三件套在玩大模型时代的对并行框架的需求已经是必需品了如果只是一个pytorch那在LLM时代是没有意义的
等等哟昇腾有AscendSpeed据我所知MindSpore是把并行能力集成到框架本身那么AscendSpeed就是DeepSpeed/Megatron等并行框架的插件咯和适配pytorch是一个套路好像也是没办法的办法~
2.3 对于第三方芯片厂商昇腾有的好处和挑战是什么
好处
对于pytorch来说是一小步对于昇腾来说解决了NPU支持pytorch的问题算是生态上一大步早就受不了第三方硬件上pytorch的各种适配和极低的开发效率
挑战
但torch_npu插件不是原生支持会有几个较大的挑战
1、版本更新面对每季度release的pytorch插件跟不上可能存在版本兼容性问题
2、 第三方extension支持 很多基于 torch 开发的项目本身也是一个 extension默认一般都会有 CUDA 的支持有的会有 CPU 的支持。也需要为新的硬件添加相应的kernel可能的形式是做一个插件的插件e.g. torchvision-xpu等等。如果前端 API 用法有些和 torch 不匹配的地方还要有自己的 modelzoo
3、 Test Coverage 的问题torch 本身的测试项目很多的默认的测试不会跑非原生的 device要保障质量是有一定难度的毕竟 torch 用户那么多迭代了这么久才到现在的地步
4、 LLM支持大模型的爆发式增长对新硬件的底层算子的支持有新的需求如flashattension等大算子的支持今天有flashattention明天如果有另外一个算子的昇腾还是要补齐基础算子的基础上基于生态构建基于昇腾的优势算子但昇腾的设备又没有2C端终究在广大开发者生态上慢英伟达一拍。
加油啊昇腾、加油啊dojo、加油啊~
天下苦英伟达久矣~
参考
1、 https://www.zhihu.com/question/624955377/answer/3239829901
2、 https://gitee.com/ascend/pytorch
- 上一篇: 广东上海专业网站建设公司排名设计作品发布平台
- 下一篇: 广东省城乡建设厅投诉网站首页格瑞特网站建设
相关文章
-
广东上海专业网站建设公司排名设计作品发布平台
广东上海专业网站建设公司排名设计作品发布平台
- 技术栈
- 2026年04月20日
-
广东商城网站建设价格wordpress 挂马漏洞
广东商城网站建设价格wordpress 挂马漏洞
- 技术栈
- 2026年04月20日
-
广东品牌网站建设服务机构了解公司的网站
广东品牌网站建设服务机构了解公司的网站
- 技术栈
- 2026年04月20日
-
广东省城乡建设厅投诉网站首页格瑞特网站建设
广东省城乡建设厅投诉网站首页格瑞特网站建设
- 技术栈
- 2026年04月20日
-
广东省高水平建设专业网站长沙网站排名提升
广东省高水平建设专业网站长沙网站排名提升
- 技术栈
- 2026年04月20日
-
广东省建设工程金匠奖公布网站推广网络营销外包
广东省建设工程金匠奖公布网站推广网络营销外包
- 技术栈
- 2026年04月20日
