MindSpeed 项目目录结构

MindSpeed/
├── README.md                            # 项目说明文档,介绍 MindSpeed Core 加速库的特性和使用方法
├── docs/                                # 项目文档目录,包含中英文特性文档、用户指南和 API 文档
├── mindspeed/                           # 核心源码目录,包含所有加速库的核心实现代码
│   ├── args_utils.py                    # 参数工具函数,提供参数解析和验证的辅助功能
│   ├── arguments.py                     # 命令行参数定义,定义训练和配置相关的命令行参数
│   ├── checkpointing.py                 # 检查点管理,提供模型检查点的保存和加载功能
│   ├── deprecated.py                    # 废弃功能模块,标记已废弃的 API 和功能
│   ├── initialize.py                    # 初始化模块,处理分布式环境初始化和配置加载
│   ├── log_config.py                    # 日志配置,定义日志格式和输出规则
│   ├── megatron_adapter.py              # Megatron-LM适配器,实现与 Megatron 框架的兼容适配
│   ├── patch_utils.py                   # 补丁工具,提供动态代码补丁和替换功能
│   ├── train.py                         # 训练模块,提供训练流程的入口和主循环控制
│   ├── utils.py                         # 通用工具函数,提供项目通用的辅助函数
│   ├── yaml_arguments.py                # YAML 参数解析,支持从 YAML 文件加载训练配置
│   ├── auto_settings/                   # 自动配置子系统,根据硬件环境自动优化训练配置
│   │   ├── auto_settings.py             # 自动配置主入口,协调各模块的自动配置流程
│   │   ├── search_space.py              # 搜索空间定义,定义可调参数的搜索范围
│   │   ├── config/                      # 配置定义,包含模型和训练的配置模板
│   │   ├── mindspeed_adaptor/           # MindSpeed 适配器,将自动配置应用到 MindSpeed 框架
│   │   ├── model/                       # 模型定义,提供模型架构的抽象和配置
│   │   ├── module/                      # 核心模块,包含通信、内存、算子等建模模块
│   │   ├── profile/                     # Profiling 工具,提供性能分析和诊断功能
│   │   └── utils/                       # 通用工具,提供配置和工具函数
│   ├── core/                            # 核心功能模块,包含并行策略、内存管理等核心能力
│   │   ├── fp8_utils.py                 # FP8 工具函数,提供 FP8 量化和缩放相关工具
│   │   ├── mindspeed_parallel_group.py  # 并行组管理,管理分布式训练的进程组
│   │   ├── parallel_state.py            # 并行状态管理,维护全局并行状态信息
│   │   ├── simple_parallel_cfg.py       # 简单并行配置,提供简化的并行配置接口
│   │   ├── singleton_meta.py            # 单例元数据,管理单例模式的元数据
│   │   ├── tensor_parallel_y_union.py   # 张量并行 Y 联合配置,支持 Y 轴张量并行联合配置
│   │   ├── training.py                  # 训练模块配置,提供训练流程的配置管理
│   │   ├── weight_grad_store.py         # 权重梯度存储管理,优化权重和梯度的存储策略
│   │   ├── context_parallel/            # 上下文并行,实现序列长度的分布式并行
│   │   ├── datasets/                    # 数据集,提供数据加载和预处理功能
│   │   ├── data_parallel/               # 数据并行,实现数据并行的分布式训练策略
│   │   ├── distributed/                 # 分布式训练,提供分布式训练的基础设施
│   │   ├── dist_checkpointing/          # 分布式检查点,支持分布式环境下的检查点管理
│   │   ├── fusions/                     # 算子融合,提供融合算子以提升计算效率
│   │   ├── hccl_buffer/                 # HCCL 缓冲区,优化 HCCL 通信缓冲区管理
│   │   ├── megatron_basic/              # Megatron 基础适配,提供 Megatron 框架的基础适配
│   │   ├── memory/                      # 内存管理,提供显存优化和管理功能
│   │   ├── models/                      # 模型定义,包含 GPT 等模型架构实现
│   │   ├── multi_modal/                 # 多模态,支持多模态模型的训练和推理
│   │   ├── optimizer/                   # 优化器,提供 AdamW 等优化器实现
│   │   ├── performance/                 # 性能优化,提供性能分析和优化工具
│   │   ├── pipeline_parallel/           # 流水线并行,实现模型流水线并行策略
│   │   ├── qat/                         # 量化感知训练,支持训练过程中的量化
│   │   ├── qos/                         # QoS 管理,提供服务质量管理和资源控制
│   │   ├── tensor_parallel/             # 张量并行,实现张量切分的并行策略
│   │   └── transformer/                 # Transformer 模型,提供 Transformer 架构实现
│   ├── features_manager/                # 特性管理器,统一管理各种优化特性的注册和配置
│   │   ├── feature.py                   # 特性管理,定义特性基类和接口
│   │   ├── features_manager.py          # 特性管理器,提供特性的注册、启用和禁用功能
│   │   ├── affinity/                    # 亲和性管理,优化进程和设备的亲和性配置
│   │   ├── ai_framework/                # AI 框架适配,适配不同 AI 框架的特性
│   │   ├── auto_settings/               # 自动配置特性,提供自动配置相关特性
│   │   ├── ckpt_acceleration/           # 检查点加速,加速检查点的保存和加载
│   │   ├── compress/                    # 压缩特性,提供模型和梯度的压缩功能
│   │   ├── compress_dense/              # 稠密压缩,提供稠密模型的压缩策略
│   │   ├── context_parallel/            # 上下文并行特性,管理上下文并行相关特性
│   │   ├── custom_fsdp/                 # 自定义 FSDP,提供自定义的完全分片数据并行
│   │   ├── data_parallel/               # 数据并行特性,管理数据并行相关特性
│   │   ├── disable_gloo_group/          # 禁用 Gloo 组,禁用 Gloo 后端通信组
│   │   ├── distributed/                 # 分布式特性,管理分布式训练相关特性
│   │   ├── dist_train/                  # 分布式训练,提供分布式训练的特性支持
│   │   ├── functional/                  # 函数式特性,提供函数式编程相关特性
│   │   ├── fusions/                     # 融合算子特性,管理融合算子的特性
│   │   ├── hccl_buffer/                 # HCCL 缓冲区特性,优化 HCCL 缓冲区使用
│   │   ├── llava/                       # LLaVA 模型,提供 LLaVA 多模态模型支持
│   │   ├── megatron_basic/              # Megatron 基础特性,提供 Megatron 框架的基础特性
│   │   ├── memory/                      # 内存特性,管理内存优化相关特性
│   │   ├── moe/                         # MoE 特性,提供混合专家模型的支持
│   │   ├── optimizer/                   # 优化器特性,管理优化器相关特性
│   │   ├── pipeline_parallel/           # 流水线并行特性,管理流水线并行相关特性
│   │   ├── qat/                         # 量化感知训练特性,管理 QAT 相关特性
│   │   ├── qos/                         # QoS 特性,管理服务质量相关特性
│   │   ├── recompute/                   # 重计算特性,提供激活值重计算功能
│   │   ├── tensor_parallel/             # 张量并行特性,管理张量并行相关特性
│   │   ├── tokenizer/                   # 分词器特性,管理分词器相关特性
│   │   └── transformer/                 # Transformer 特性,管理 Transformer 模型特性
│   ├── fsdp/                            # FSDP 完全分片数据并行,实现 ZeRO-3 等分片策略
│   │   ├── mindspeed_parallel_engine.py # 并行引擎,提供 FSDP 并行引擎实现
│   │   ├── parallel_engine_config.py    # 并行引擎配置,配置 FSDP 并行引擎参数
│   │   ├── distributed/                 # 分布式,提供 FSDP 分布式通信功能
│   │   ├── memory/                      # 内存,提供 FSDP 内存管理功能
│   │   ├── quantization/                # 量化,提供 FSDP 量化支持
│   │   └── utils/                       # 工具,提供 FSDP 相关工具函数
│   ├── functional/                      # 函数式接口,提供 NPU 相关的函数式 API
│   │   ├── npu_datadump/                # NPU 数据转储,提供 NPU 数据导出和调试功能
│   │   ├── npu_deterministic/           # NPU 确定性计算,确保 NPU 计算的确定性
│   │   ├── profile/                     # 性能分析,提供性能分析和诊断工具
│   │   ├── profiler/                    # Profiler,提供详细的性能分析功能
│   │   └── tflops_calculate/            # TFLOPS 计算,计算训练吞吐量和性能指标
│   ├── lite/                            # Lite 轻量级版本,提供轻量级的训练支持
│   │   ├── mindspeed_lite_config.py     # Lite 配置,提供 Lite 版本的配置管理
│   │   ├── mindspeed_lite.py            # Lite 模型,提供 Lite 版本的模型实现
│   │   ├── distributed/                 # 分布式,提供 Lite 版本的分布式支持
│   │   ├── memory/                      # 内存,提供 Lite 版本的内存管理
│   │   ├── ops/                         # 算子,提供 Lite 版本的算子实现
│   │   └── utils/                       # 工具,提供 Lite 版本的工具函数
│   ├── mindspore/                       # MindSpore 框架适配,提供 MindSpore 框架支持
│   │   ├── mindspore_adapter.py         # MindSpore 适配器,实现 MindSpore 框架的适配
│   │   ├── core/                        # 核心模块,提供 MindSpore 核心功能
│   │   ├── model/                       # 模型,提供 MindSpore 模型实现
│   │   ├── ops/                         # 算子,提供 MindSpore 算子实现
│   │   ├── optimizer/                   # 优化器,提供 MindSpore 优化器实现
│   │   ├── op_builder/                  # 算子构建器,提供 MindSpore 算子构建功能
│   │   └── third_party/                 # 第三方库,集成第三方 MindSpore 库
│   ├── model/                           # 模型定义,提供通用模型定义和接口
│   ├── moe/                             # MoE 专家混合,提供混合专家模型实现
│   ├── multi_modal/                     # 多模态支持,提供多模态模型训练支持
│   │   └── conv3d/                      # 3D 卷积,提供 3D 卷积算子实现
│   ├── ops/                             # 算子库,提供高性能融合算子
│   │   ├── dropout_add_layer_norm.py    # Dropout+LayerNorm 融合,融合 Dropout 和 LayerNorm 操作
│   │   ├── dropout_add_rms_norm.py      # Dropout+RMSNorm 融合,融合 Dropout 和 RMSNorm 操作
│   │   ├── ffn.py                       # FFN 算子,前馈神经网络算子实现
│   │   ├── fusion_attention_v2.py       # 融合注意力 v2,优化的注意力机制实现
│   │   ├── gmm.py                       # GMM 算子,分组矩阵乘法算子
│   │   ├── gmm_mxfp8.py                 # MXFP8 GMM 算子,支持 MXFP8 的 GMM 算子
│   │   ├── grouped_matmul.py            # 分组矩阵乘法,高效的分组矩阵乘法实现
│   │   ├── npu_apply_fused_adamw_v2.py  # 融合 AdamW v2,NPU 优化的 AdamW 优化器
│   │   ├── npu_bmm_reduce_scatter_all_to_all.py  # BMM+ReduceScatter+AllToAll,融合通信算子
│   │   ├── npu_matmul_add.py            # MatMul+Add 融合,融合矩阵乘法和加法操作
│   │   ├── npu_rotary_position_embedding.py  # 旋转位置编码,NPU 优化的 RoPE 实现
│   │   ├── ...                          # 其他算子,包含更多融合算子和优化算子
│   │   ├── csrc/                        # C++ 源码,提供 C++ 实现的高性能算子
│   │   └── triton/                      # Triton 算子,基于 Triton 的 GPU 算子实现
│   ├── optimizer/                       # 优化器,提供分布式优化器实现
│   │   ├── adamw.py                     # AdamW 优化器,AdamW 优化器的 NPU 优化实现
│   │   ├── distrib_optimizer.py         # 分布式优化器,支持分布式训练的优化器
│   │   └── optimizer.py                 # 优化器基类,定义优化器的基础接口
│   ├── op_builder/                      # 算子构建器,提供算子的编译和注册功能
│   ├── run/                             # 运行时模块,提供训练运行时支持
│   │   ├── run.py                       # 运行入口,训练脚本的入口文件
│   │   ├── gpt_dataset.patch            # GPT 数据集补丁,GPT 数据集相关的补丁
│   │   ├── helpers.patch                # 辅助函数补丁,辅助函数相关的补丁
│   │   └── initialize.patch             # 初始化补丁,初始化流程相关的补丁
│   ├── te/                              # Transformer Engine,Transformer 模型加速引擎
│   │   └── pytorch/                     # PyTorch 适配,PyTorch 框架的 Transformer Engine 实现
│   │       ├── attention/                # 注意力机制,提供优化的注意力实现
│   │       ├── fp8/                      # FP8 支持,提供 FP8 量化和计算支持
│   │       ├── module/                   # 模块定义,提供 Tensor Engine 模块实现
│   │       ├── module_typing.py          # 模块类型提示,提供模块的类型定义
│   │       ├── permutation.py            # 置换操作,提供张量置换操作
│   │       └── utils.py                  # 工具函数,提供 Tensor Engine 工具函数
│   └── tokenizer/                       # 分词器,提供文本分词功能
│       ├── tokenizer.py                 # 分词器核心,分词器的核心实现
│       └── build_tokenizer/             # 分词器构建,提供分词器的构建和配置
├── ci/                                  # 持续集成测试脚本,提供 CI/CD 自动化测试
│   ├── access_control_test.py           # 访问控制测试,测试代码访问权限控制
│   └── docker/                          # Docker 构建配置,Docker 镜像构建相关配置
│       └── Dockerfile                   # Docker 镜像定义,定义 Docker 镜像构建规则
├── docker/                              # Docker 相关文件,包含 Docker 配置和脚本
├── tests_extend/                        # 扩展测试用例,提供额外的测试用例
└── tools/                               # 辅助工具集,提供开发和调试辅助工具