基于Pytorch+昇腾NPU开发大模型指导

1. 昇腾开源分布式训练加速库Ascend Speed

在昇腾上开发大模型,如果想有最快的迁移效率和最佳性能,推荐开发者基于Ascend Speed来迁移模型或者开发,Ascend Speed除了支持Deep Speed 和Megatron-LM的大模型特性以外(如3D并行,Zero等),还有一些昇腾亲和的优化特性,从而可以有更好的性能

目前Ascend Speed已经支持了LLaMA2,Baichuan,Bloom等主流大模型,并且已经正式开源。

https://gitee.com/ascend/AscendSpeed

2. 通过Adapter方式支持Pytorch框架

昇腾对Pytorch是基于Adapter的方式(Torch-NPU)来支持,开发者只需要下载社区版本的Pytorch和对应该版本的Torch-NPU即可开发。

迁移指导文档可以参考:

https://www.hiascend.com/document/detail/zh/canncommercial/63RC2/modeldevpt/ptmigr/ptmigr_0002.html

Torch NPU链接:

https://gitee.com/ascend/pytorch

经过PyTorch社区与昇腾的持续合作和共同努力,Pytorch 2.1版本已同步支持昇腾NPU,意味着开发者可直接在PyTorch 2.1上基于昇腾进行模型开发。

3. Deep Speed NPU\Megatron-LM NPU

业界训练大模型常常会使用Deep Speed和Megatron-LM等分布式加速库,在昇腾上开发大模型优先推荐使用Ascend Speed,但是如果不想改动训练脚本,还是想用Deep Speed和Megatron-LM,也是可以支持的。对Deep Speed和Megatron-LM的支持也都是通过Adapter的方式。

  • Deep Speed NPU

https://gitee.com/ascend/DeepSpeed

  • Megatron-LM NPU

https://gitee.com/ascend/Megatron-LM

猜你喜欢

转载自blog.csdn.net/santanan/article/details/132394437