diff --git a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/constraints.md b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/constraints.md index a4b718d54f2138d4485d131b5aee77cf0d0461eb..2f9297684be9b44c0b7a729f48d6f4e5e2413e9a 100755 --- a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/constraints.md +++ b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/constraints.md @@ -7,22 +7,22 @@ 1. Dispatch机制 2. Storage机制 3. 静态编译机制 +4. DTensor与FSDP2 -这些机制的不同,导致用户需要手动修改代码,或者部分功能暂时不支持。 +这些机制的不同,部分功能暂时不支持。 ## Dispatch机制 `torch.dispatch` 是 PyTorch 中用于拦截和自定义张量操作的机制。它允许开发者在张量运算被调用时插入自己的逻辑,无论是为了调试、性能优化,还是实现特定领域的功能增强。这个特性是在 PyTorch 1.7中引入的,并且为高级用户提供了强大的能力来扩展PyTorch的功能。 - Dispatch机制:当用户执行任何张量操作(例如加法、乘法等)时,实际上都是通过PyTorch的dispatch机制进行的。该机制决定了哪个具体实现(CPU、CUDA等)应该被执行。 -- torch.Tensor的子类化:通过创建一个继承自torch.Tensor的新类,并使用@torch_dispatch装饰器,用户可以自定义这些操作的行为。 +- torch.Tensor的子类化:通过创建一个继承自torch.Tensor的新类,并使用`__torch_dispatch__`,用户可以自定义这些操作的行为。 -当前MindSpore Storage机制在规划设计中,未来会支持。当前MSAdapter暂时不支持以下相关接口: +当前MindSpore Dispatch机制在规划设计中,未来会支持。当前MSAdapter暂时不支持以下相关接口: -1. torch.Tensor.to() -2. torch自定义算子涉及dispatch部分 +1. torch自定义算子涉及dispatch部分 -**以上接口需要用户手动修改,即无需进行.to()操作, MSAdapter默认将模型与Tensor放置于Ascend NPU。可参考[快速入门](quick_start.md#torchtensorto)。** +**MSAdapter支持.to()操作, 但是默认将模型与Tensor放置于Ascend NPU,与torch在默认行为上有区别。** ## Storage机制 @@ -51,7 +51,7 @@ x_loaded = torch.load('tensor.pt') # 加载张量 model.load_state_dict(torch.load('model_params.pt')) # 加载参数 ``` -**MSAdapter已经支持torch.load,使用MindSpore 2.7.0后,MSAdapter将支持torch.save相关功能。** +**使用MindSpore 2.7.1后、MSAdapter支持torch.save、torch.load相关功能。但是torch无法加载我们保存的文件。** ## 静态编译机制 @@ -92,3 +92,7 @@ traced_model = torch.fx.symbolic_trace(model) # 使用 fx.symbolic_trace 追踪 ``` **此类接口由于MindSpore与PyTorch底层实现不同,MSAdapter暂不支持。** + +## DTensor与FSDP2 + +**DTensor与FSDP2将在MSAdapter实现相关功能,正在开发中。** \ No newline at end of file diff --git a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/install.md b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/install.md index fd4522993c69b62f164698593b01249938de22a1..aa0b7c66d7152d9351ca795e4380094bf887b05e 100755 --- a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/install.md +++ b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/install.md @@ -2,19 +2,22 @@ [![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/master/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/install.md) -在昇腾NPU设备上,完成[昇腾固件](https://www.hiascend.com/document/detail/zh/canncommercial/80RC3/softwareinst/instg/instg_0003.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)的安装后,执行以下步骤完成PyTorch、MindSpore和MSAdapter的安装: +在昇腾NPU设备上,完成[昇腾固件](https://www.hiascend.com/document/detail/zh/canncommercial/83RC1/softwareinst/instg/instg_0003.html?Mode=PmIns&InstallType=local&OS=Ubuntu&Software=cannToolKit)的安装后,执行以下步骤完成MindSpore和MSAdapter的安装: -## 1. 安装PyTorch和MindSpore +## 1. 安装MindSpore ```bash -pip install torch==2.1.0 pip install mindspore ``` +推荐使用最新版本MindSpore,当前版本为2.7.1。无需安装PyTorch。 + ## 2. 下载安装MSAdapter源码 目前MSAdapter不支持`pip install msadapter`方式安装,仅支持源码直接使用和源码编译安装。 +启智社区源码:https://openi.pcl.ac.cn/OpenI/MSAdapter + - 如果用户希望直接使用源码,设置如下环境环境变量: ``` bash @@ -27,7 +30,7 @@ pip install mindspore - 如果用户希望以Python安装包编译的形式使用,进入MSAdapter目录,进行源码编译操作: ```bash - git clone https://gitee.com/mindspore/msadapter.git + git clone https://openi.pcl.ac.cn/OpenI/MSAdapter cd msadapter bash scripts/build.sh pip install ${your_workspace}/msadapter/dist/*.whl diff --git a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/llm.md b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/llm.md index 4d41af4e52d76b6038cce40bd162fb3f1b952ae0..4b0f7848e4481febb676f505be15fc120c8f96cc 100755 --- a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/llm.md +++ b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/llm.md @@ -4,10 +4,10 @@ 大模型训练是一种非常复杂的过程,涉及到分布式并行领域许多技术和挑战,当前Megatron已经成为业界主流的大模型加速库。为满足用户大模型代码更快在MindSpore上迁移使用,MSAdapter当前版本已经支持MindSpeed加速库,兼容Megatron生态。当前已经支持DeepSeek/Qwen等主流模型,未来MSAdapter持续演进,支持更多业界主流生态模型。 -希望学习使用MSAdapter进行大模型开发请参考:[MindSpeed MindSpore后端迁移开发指南](https://gitee.com/ascend/MindSpeed-Core-MS/blob/master/docs/develop_guide.md)。 +希望学习使用MSAdapter进行大模型开发请参考:[MindSpeed MindSpore后端迁移开发指南](https://gitcode.com/Ascend/MindSpeed-Core-MS/blob/master/docs/develop_guide.md)。 此外,在MindSpeed加速库的基础上也提供了大语言模型、多模态模型套件加速库,用户可以安装MSAdapter及配套昇腾软件直接使用: -1. 大语言模型库:[MindSpeed-LLM](https://gitee.com/ascend/MindSpeed-LLM/blob/master/docs/mindspore) +1. 大语言模型库:[MindSpeed-LLM](https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/docs/mindspore) -2. 多模态模型库:[MindSpeed-MM](https://gitee.com/ascend/MindSpeed-MM/blob/master/docs/mindspore/getting_start.md) \ No newline at end of file +2. 多模态模型库:[MindSpeed-MM](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/mindspore/getting_start.md) \ No newline at end of file diff --git a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/quick_start.md b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/quick_start.md index fa53fcc1f527c279d2dc4d950a5241e4526b271e..e2ebde4635fede698dd37e3792d91baf6f186f67 100755 --- a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/quick_start.md +++ b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/quick_start.md @@ -6,7 +6,7 @@ 模型适配详细步骤如下: -1. 使能MSAdapter +1. 使用MSAdapter 2. 训练 ## PyTorch用例 @@ -46,11 +46,7 @@ def data_process(inputs, labels): def main(): # 获取传参 args = parse_args() - transform = transforms.Compose([ - transforms.ToTensor(), - transforms.Normalize((0.5,), (0.5,)) - ]) - train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform) + train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transforms.ToTensor()) # 加载数据集 train_loader = DataLoader(train_dataset, batch_size=args.batch_size, shuffle=True) model = ToyModel().to('cuda') @@ -81,9 +77,9 @@ if __name__ == "__main__": 接下来,对应PyTorch的完整流程,说明如何使用MSAdapter完成相同的任务。 -### 1. 使能MSAdapter +### 1. 使用MSAdapter -MSAdapter已经兼容PyTorch的各类子模块,这里使能MSAdapter有两种方式第一种是微调脚本切换后端,第二种是环境变量切换。 +MSAdapter已经兼容PyTorch的各类子模块,这里使用MSAdapter有两种方式第一种是微调脚本切换后端,第二种是环境变量切换。 #### 1.1 微调脚本切换后端 diff --git a/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/release_notes.md b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/release_notes.md new file mode 100644 index 0000000000000000000000000000000000000000..f08a94064d9baec283be9d2a6d6b2544ac15879b --- /dev/null +++ b/docs/msadapter/docs/source_zh_cn/msadapter_user_guide/release_notes.md @@ -0,0 +1,11 @@ +# 发布说明 + +## MSAdapter 0.5.0 Release Notes + +### 主要特性 + +- 支持torch相同的backward调用方式。 + +- 支持torch.to()相关接口。 + +- 支持torch.view()相关操作。 \ No newline at end of file