Files
mindformers/docs/security_statement.md

44 KiB
Raw Permalink Blame History

安全声明

依赖三方软件安全

推荐用户通过mindformers自动安装依赖三方软件指定版本或默认最新版本如因用户使用旧版本依赖三方软件引入安全漏洞产生影响mindformers不承担相关责任。

运行用户建议

出于安全性及权限最小化角度考虑不建议使用root等管理员类型账户。

安全隐私声明

请用户在使用个人数据时遵从当地适用的法律法规。

文件权限控制

  1. 建议用户在主机包括宿主机及容器中设置运行系统umask值为0027及以上保障新增文件夹默认最高权限为750新增文件默认最高权限为640。

  2. 建议用户对个人数据、商业资产、源文件、训练过程中保存的各类文件、mindformers安装目录、多用户使用共享数据集等敏感内容做好权限管控管控权限可参考表1进行设置。

    表1 文件(夹)各场景权限管控推荐最大值

    类型 linux权限参考最大值
    用户主目录 750rwxr-x---
    程序文件(含脚本文件、库文件等) 550r-xr-x---
    程序文件目录 550r-xr-x---
    配置文件 640rw-r-----
    配置文件目录 750rwxr-x---
    日志文件(记录完毕或者已经归档) 440r--r-----
    日志文件(正在记录) 640rw-r-----
    日志文件目录 750rwxr-x---
    Debug文件 640rw-r-----
    Debug文件目录 750rwxr-x---
    临时文件目录 750rwxr-x---
    维护升级文件目录 770rwxrwx---
    业务数据文件 640rw-r-----
    业务数据文件目录 750rwxr-x---
    密钥组件、私钥、证书、密文文件目录 700rwx—----
    密钥组件、私钥、证书、加密密文 600rw-------
    加解密接口、加解密脚本 500r-x------

构建安全声明

mindformers在源码构建安装过程中会产生临时目录和程序文件。用户可根据需要对源代码目录中的文件及文件夹进行权限管控降低安全风险。

运行安全声明

  1. 建议用户结合运行环境资源状况编写对应训练脚本。若训练脚本与资源状况不匹配,如数据集加载内存大小超出内存容量限制、训练脚本在本地生成数据超过磁盘空间大小等情况,可能引发错误并导致进程意外退出。
  2. mindformers在运行异常时会退出进程并打印报错信息属于正常现象。建议用户根据报错提示定位具体错误原因包括python报错误栈定位到具体模块、环境中指定单框架等方式。

公网地址声明

类型 开源代码地址 文件名 公网IP地址/公网URL地址/域名/邮箱地址 用途说明
开发引入 - mindformers/.jenkins/test/config/dependent_packages.yaml https://repo.mindspore.cn/mindspore/mindspore/version/202508/20250830/master_20250830161002_e6ff5e16e936d4238dc1b444b288fe55c39ac2e4_newest/ 用于下载测试所依赖的mindspore包
开发引入 - mindformers/build.sh https://pypi.tuna.tsinghua.edu.cn/simple 用于pip安装mindformers时, 修改安装源
开发引入 - mindformers/core/callback/callback.py https://www.hiascend.com/document/detail/zh/mindstudio/80RC1/ MindStudio官网文档链接
开发引入 - mindformers/models/processing_utils.py https://modelers.cn/models 魔乐社区模型库链接
开发引入 - mindformers/models/tokenization_utils_base.py https://modelers.cn/models 魔乐社区模型库链接
开发引入 - mindformers/run_check.py https://gitee.com/mindspore/mindformers/issues mindformers的issue链接
开发引入 - mindformers/run_check.py https://www.hiascend.com/document/detail/zh/canncommercial/ CANN官方使用文档
开发引入 - mindformers/run_check.py https://www.mindspore.cn/install/ mindspore官方安装文档
开发引入 - mindformers/mindformers/tools/hub/hub.py https://modelers.cn/ 魔乐社区官网链接
开发引入 - mindformers/trainer/training_args.py https://www.mindspore.cn/mindformers/docs/zh-CN/master/feature/ckpt.html#%E6%9D%83%E9%87%8D%E5%88%87%E5%88%86%E4%B8%8E%E5%90%88%E5%B9%B6 mindformers权重切分与合并特性文档
开发引入 - run_mindformer.py https://gitee.com/mindspore/mindformers#%E4%BB%8B%E7%BB%8D mindformers介绍
开发引入 - mindformers/setup.py https://gitee.com/mindspore/mindformers/tags mindformers包下载链接
开发引入 - mindformers/setup.py https://gitee.com/mindspore/mindformers/issues mindformers的issue链接
开发引入 - mindformers/setup.py https://www.mindspore.cn mindspore官网链接
开发引入 - mindformers/setup.py contact@mindspore.cn mindspore的联系邮箱
开发引入 - mindformers/setup.py https://gitee.com/mindspore/mindformers setup脚本方式安装mindformers地址

公开接口声明

mindformers对外暴露接口可参考api 具体接口规格可参考对应API文档查询。

通信矩阵

mindformers 通信矩阵

序号 代码仓 功能 源设备 源IP 源端口 目的设备 目的IP 目的端口
(侦听)
协议 端口说明 端口配置 侦听端口是否可更改 认证方式 加密方式 所属平面 版本 特殊场景 备注
1 mindformers 分布式训练推理 运行mindspore进程的服务器 运行mindspore进程的服务器的ip 由用户配置 运行mindspore进程的服务器 运行mindspore进程的服务器的ip TCP 分布式启动时,作为主节点训练 bash scripts/msrun_launcher.sh "run_mindformer.py <br/> --config {CONFIG_PATH} <br/> --run_mode {train/finetune/eval/predict}" <br/> 8 4 主节点ip 端口号 0 output/msrun_log False 300 不涉及 所有版本
2 mindformers 分布式训练推理 运行mindspore进程的服务器 运行mindspore进程的服务器的ip 运行mindspore进程的服务器 运行mindspore进程的服务器的ip 由用户配置 TCP 分布式启动时,作为从节点通信 bash scripts/msrun_launcher.sh "run_mindformer.py <br/> --config {CONFIG_PATH} <br/> --run_mode {train/finetune/eval/predict}" <br/> 8 4 主节点ip 端口号 1 output/msrun_log False 300 不涉及 所有版本
3 mindformers ModelArts 运行mindspore进程的服务器 运行mindspore进程的服务器的ip 动态端口1024~65535 用户所在服务器 用户所在服务器的ip 443 HTTPS 443是与ModelArts相关操作的端口 不涉及 不涉及 不涉及 不涉及 不涉及 所有版本

除上述外mindformers不涉及端口开放、侦听等相关行为相关端口行为由用户在模型脚本调用原生接口为MindSpore通信配置

MindSpore通信矩阵

序号 代码仓 功能 源设备 源IP 源端口 目的设备 目的IP 目的端口
(侦听)
协议 端口说明 端口配置 侦听端口是否可更改 认证方式 加密方式 所属平面 版本 特殊场景 备注
1 MindSpore 动态组网 Worker所在服务器 worker所在服务器的ip 动态端口1024~65535 Scheduler Scheduler所在机器的IP地址 用户配置的 MS_SCHED_PORT TCP Scheduler进程提供端口用于通信层处理Worke节点发送的组网请求。 export MS_SCHED_HOST=xxx
export MS_SCHED_PORT=xxx
数字证书认证 TLS 1.3(缺省)、TLS1.2 业务面 MindSpore Enterprise 1.2.0及之后版本
2 MindSpore 动态组网 Scheduler所在服务器 Scheduler所在服务器的ip 动态端口1024~65535 Worker Worker所在机器的IP地址 8118~12214为每个worker分配特定端口范围 TCP 每个worker进程打开随机端口Scheduler处理完所有worker发送的组网请求之后会将网络信息发送给每个worker。多个worker会打开多个随机端口号。
export MS_SCHED_HOST=xxx
export MS_SCHED_PORT=xxx
数字证书认证 TLS 1.3(缺省)、TLS1.2 业务面 MindSpore Enterprise 1.2.0及之后版本
3 MindSpore 动态组网 Worker所在服务器 Worker所在服务器的ip 动态端口1024~65535 Worker Worker所在机器的IP地址 8118~12214为每个worker分配特定端口范围 TCP
每个worker进程生成随机端口在进行梯度归约时接收其他worker节点发送的梯度数据完成梯度归约。多个worker会打开多个随机端口号。

export MS_SCHED_HOST=xxx
export MS_SCHED_PORT=xxx
数字证书认证 TLS 1.3(缺省)、TLS1.2 业务面 MindSpore Enterprise 1.2.0及之后版本
4 MindSpore 动态组网+Ascend CM启动分布式训练 Worker所在服务器 Worker所在服务器的ip 动态端口1024~65535 Scheduler Scheduler所在机器的IP地址 用户配置的 MS_SCHED_PORT+1 TCP Scheduler开放 MS_SCHED_PORT+1端口号作为HCCL CM方式启动的主节点端口地址用于HCCL host完成组网。但是只会在初始化阶段使用初始化完后端口和对应链接全部会被释放。 export MS_SCHED_HOST=xxx
export MS_SCHED_PORT=xxx
控制面/业务面 MindSpore 2.1 及之后版本 只在Ascend CM启动方式下生效
5 MindSpore GPU/Ascend分布式训练OpenMPI 使用MindSpore进行OpenMPI启动分布式训练所在机器 使用MindSpore进行OpenMPI启动分布式训练所在机器的IP地址 动态端口1024~65535 训练进程 用户可配根据用户配置host_file绑定ip地址 动态端口1024~65535 TCP 各进程(包括主进程和子进程)监听一个
用于在跨机场景下主机间控制面指令输出结果同步到本机。在Mindspore中用于主机名同步NCCL root进程id同步等。
mpirun进程之间会建立链接不会使用22端口22端口只是用于ssh登录而已。
控制面/业务面 MindSpore Enterprise 1.2.0及之后版本
6 MindSpore GPU/Ascend分布式训练OpenMPI 使用MindSpore进行OpenMPI启动分布式训练所在机器 使用MindSpore进行OpenMPI启动分布式训练所在机器的IP地址 动态端口1024~65535 训练进程 127.0.0.1 动态端口1024~65535 TCP 主进程监听一个
相同主机上的进程通过本地环路进行通讯在Mindspore中用于主机名同步NCCL root进程id同步等。
业务面 MindSpore Enterprise 1.2.0及之后版本
7 MindSpore GPU分布式训练NCCL 使用MindSpore进行GPU分布式训练所在机器 使用MindSpore进行GPU分布式训练所在机器的IP地址 动态端口1024~65535 训练进程 使用MindSpore进行GPU分布式训练所在机器的IP地址 随机端口1024~65535端口数由用户启动的训练进程数决定如果用户启动N个进程则NCCL启动N个侦听端口 TCP 每个子进程监听一个
NCCL初始化communicator时监听端口用于各个进程之间建立按照AllGather Ring算法建立tcp链接root进程与其他进程同步信息其他进程间数据传送梯度聚合等。
业务面 MindSpore Enterprise 1.2.0及之后版本
8 MindSpore GPU分布式推理NCCL 使用MindSpore Lite进行GPU分布式推理所在机器 使用MindSpore Lite进行GPU分布式推理所在机器的IP地址 动态端口1024~65535 推理进程 使用MindSpore Lite进行GPU分布式推理所在机器的IP地址 随机端口1024~65535端口数由用户启动的推理进程数决定如果用户启动N个进程则NCCL启动N个侦听端口 TCP 每个子进程监听一个
NCCL初始化communicator时监听端口用于各个进程之间建立按照AllGather Ring算法建立tcp链接root进程与其他进程同步信息其他进程间数据传送梯度聚合等。
业务面 MindSpore Enterprise 1.2.0及之后版本
9 MindSpore Micro代码生成 使用MindSpore Lite生成的脚本进行工程编译 使用MindSpore Lite生成的脚本进行工程编译所在机器的IP地址 动态端口1024~65535 MindSpore发布件所在的OBS服务器 MindSpore发布件所在的OBS服务器的IP地址 443 TCP 通过网络建链下载发布件 业务面 MindSpore Enterprise 1.2.0及之后版本
10 MindSpore Triton Server 后端接入 使用MindSpore Lite的服务器 使用MindSpore Lite的服务器的所在IP Triton Server的服务器 Triton Server的服务器的IP 用于通信传输推理请求报文与响应 业务面 MindSpore Enterprise 1.2.0及之后版本
11 MindSpore 代码优化服务化部署 使用MindSpore Lite的服务器 使用MindSpore Lite的服务器的所在IP 9190(用户可配) RPC的服务端 RPC服务端所在IP 9091(用户可配) TCP 1.服务端为用于RPC建链的的server侧侦听的TCP端口号;
2.源端口号为Client侧TCP协议栈自行分配的端口号
由接口配置 业务面 MindSpore Enterprise 1.2.0及之后版本
12 CANN 1951弹性加速服务环境拉远通信 D芯片 推理服务器所在的IP 动态端口1024~65535 D芯片 由用户配置 由用户配置 TCP 1. 目的端口号为用于建链的server侧侦听的TCP端口号
2. 源端口号为Client侧TCP协议栈自行分配的端口号
由配置文件配置 业务面 MindSpore Enterprise 1.2.0及之后版本
13 CANN HCCL集合通信 D芯片 由用户配置 动态端口1024~65535 D芯片 由用户配置 16666 TCP 1. 目的端口号为用于HCCL建链的server侧侦听的TCP端口号
2. 源端口号为Client侧TCP协议栈自行分配的端口号
由配置文件配置 证书认证 TLS 1.2 业务面 MindSpore Enterprise 1.2.0及之后版本 RoCE建链时在server侧侦听16666端口。
14 CANN HCCL集合通信 D芯片 由用户配置 动态端口1024~65535 D芯片 由用户配置 4791 UDP 1. RoCE报文的目的端口号固定为4791
2. RoCE报文的源端口号为驱动根据QPN生产的端口号
由配置文件配置 业务面 MindSpore Enterprise 1.2.0及之后版本 RoCEv2协议主要负责传输层
15 CANN HCCL集合通信 Ascend分布式集合通信训练业务所在的服务器 由用户配置分布式集合通信训练业务所在服务器的hostIP侧地址 动态端口1024~65535 分布式集合通信训练业务所在的服务器 由用户配置分布式集合通信训练业务所在服务器的hostIP侧地址 用户配置 TCP 选择一个AI server作为TCP服务器主动监听响应其他AI server的socket建链请求连接后进行TCP数据传输实现集群计算资源信息的收集和分发。 数字证书认证 TLS 1.2 用户/业务面 MindSpore Enterprise 1.2.0及之后版本 HCCL_IF_BASE_PORT 功能描述OPBase模式下使用Host网卡进行HCCL初始化或集合通信计算时可以通过该环境变量指定Host网卡起始端口号配置后系统默认占用以该端口起始的16个端口。默认值为60000取值范围[0,65520]。配置示例export HCCL_IF_BASE_PORT = 50000
16 CANN HCCL集合通信 Ascend分布式集合通信训练业务所在的服务器 由用户配置分布式集合通信训练业务所在服务器的hostIP侧地址 动态端口1024~65535 分布式集合通信训练业务所在的服务器 由用户配置分布式集合通信训练业务所在服务器的hostIP侧地址 用户配置 TCP 根据数据面网络拓扑建立socket链接用于RDMA链路内存地址协商 数字证书认证 TLS 1.2 用户/业务面 MindSpore Enterprise 1.2.0及之后版本 HCCL_IF_BASE_PORT 功能描述OPBase模式下使用Host网卡进行HCCL初始化或集合通信计算时可以通过该环境变量指定Host网卡起始端口号配置后系统默认占用以该端口起始的16个端口。默认值为60000取值范围[0,65520]。配置示例export HCCL_IF_BASE_PORT = 50000
17 CANN HCCL集合通信 Ascend分布式集合通信训练业务所在的服务器 由用户配置分布式集合通信训练业务所在服务器的hostIP侧地址 动态端口1024~65535 分布式集合通信训练业务所在的服务器 由用户配置分布式集合通信训练业务所在服务器的hostIP侧地址 4791 UDP 1. RoCE报文的目的端口号固定为4791
2. RoCE报文的源端口号为驱动根据QPN生产的端口号
用户/业务面 MindSpore Enterprise 1.2.0及之后版本 RoCEv2协议主要负责传输层
18 Serving 服务化推理部署 Serving client所在服务器 随机 随机 Serving Server所在服务器 由用户配置 由用户配置 TCP 源端口由http或grpc创建请求是随机选择目的端口启动Serving Server时由用户指定 源端口由http或grpc创建请求是随机选择目的端口启动Serving Server时由用户指定 数字证书认证 >=TLS 1.2 业务面 MindSpore Serving 1.0.0及之后版本
19 Serving 服务化推理部署 Serving Worker Agent所在服务器 由用户配置 由用户配置 Serving Worker 所在服务器 由用户配置 由用户配置 TCP 源端口由用户启动分布式Worker Agent时指定目的端口启动Serving Server时由用户指定 源端口由用户启动分布式Worker Agent时指定目的端口启动Serving Server时由用户指定 不涉及 不涉及 用户/业务面 MindSpore Serving 1.0.0及之后版本
20 Serving 服务化推理部署 Serving Worker 所在服务器 由用户配置 由用户配置 Serving Worker Agent所在服务器 由用户配置 由用户配置 TCP 源端口启动Serving Server时由用户指定目的端口由用户启动分布式Worker Agent时指定 源端口启动Serving Server时由用户指定目的端口由用户启动分布式Worker Agent时指定 不涉及 不涉及 用户/业务面 MindSpore Serving 1.0.0及之后版本
24 MindData 数据集缓存加速 用户所在服务器 用户所在服务器的ip 随机 用户所在服务器 回环地址 用户配置1025~65535默认为50052 TCP MindData cache服务是独立于MindSpore训练进程的进程所以需要和MindSpore训练进程通信对数据进行缓存加速读取。 cache_admin --start返回port 业务面 MindSpore 1.1.0及之后版本
25 MindData 从OBS下载MindRecord训练 用户所在服务器 用户所在服务器的ip 随机 OBS服务 OBS服务IP 80/443 HTTP/HTTPS OBS服务提供的端口用于和用户服务器之间传输训练数据 客户端不涉及 不涉及 不涉及 不涉及 业务面
26 MindAKG 远程调试 用户所在服务器 用户所在服务器的ip 用户所在服务器的ip
27 MindAKG MindSpore调用AKG进程通信 用户所在服务器 用户所在服务器的ip 用户所在服务器的ip

Openmind通信矩阵

序号 代码仓 功能 源设备 源IP 源端口 目的设备 目的IP 目的端口
(侦听)
协议 端口说明 端口配置 侦听端口是否可更改 认证方式 加密方式 所属平面 版本 特殊场景 备注
1 openmind 从魔乐社区上传或下载文件 用户所在服务器 用户所在服务器的ip 动态端口1024~65535 远程服务器 https://modelers.cn 443 TCP 用于与魔乐社区交互 HTTPS证书认证机制 TLS 业务平面 所有版本 通过HTTPS进行安全通信

datasets通信矩阵

序号 代码仓 功能 源设备 源IP 源端口 目的设备 目的IP 目的端口
(侦听)
协议 端口说明 端口配置 侦听端口是否可更改 认证方式 加密方式 所属平面 版本 特殊场景 备注
1 datasets 下载数据集 用户所在服务器 用户所在服务器的ip 动态端口1024~65535 Hugging Face Hub https://huggingface.co 443 HTTPS 主数据下载通道 视数据源要求而定 TLS 业务平面 所有版本