环境变量说明
以下是 MindSpore Transformers 支持的环境变量。
调试变量
变量名称 |
默认值 |
解释 |
说明 |
应用场景 |
|---|---|---|---|---|
HCCL_DETERMINISTIC |
false |
开启或关闭归约类通信算子的确定性计算,其中归约类通信算子包括 AllReduce、ReduceScatter、Reduce。 |
|
开启确定性计算可消除多卡计算顺序不一致引入的随机性,但也会导致性能相较关闭时下降。推荐在需要保持一致性场景时开启。 |
LCCL_DETERMINISTIC |
0 |
设置 LCCL 确定性算子 AllReduce(保序加)是否开启。 |
|
开启确定性计算可消除多卡计算顺序不一致引入的随机性,但也会导致性能相较关闭时下降。推荐在需要保持一致性场景时开启。 |
CUSTOM_MATMUL_SHUFFLE |
on |
开启或者关闭自定义矩阵乘法的洗牌操作。 |
|
洗牌操作对于特定的矩阵尺寸和内存访问模式有优化效果,如果矩阵的大小与洗牌优化的尺寸不匹配,关闭洗牌可能会获得更好的性能。请根据实际使用进行设置。 |
ASCEND_LAUNCH_BLOCKING |
0 |
训练或在线推理场景,可通过此环境变量控制算子执行时是否启动同步模式。 |
|
由于 NPU 模型训练时默认算子异步执行,导致算子执行过程中出现报错时,打印的报错堆栈信息并不是实际的调用栈信息。当设置为 |
TE_PARALLEL_COMPILER |
8 |
算子最大并行编译进程数,当大于 1 时开启并行编译。 |
取值为正整数;最大不超过 cpu 核数*80%/昇腾 AI 处理器个数,取值范围 1~32,默认值是 8。 |
网络模型较大时,可通过配置此环境变量开启算子的并行编译功能; |
CPU_AFFINITY |
0 |
启动 CPU 亲和性开关,启动该选项可以确保每个进程或线程绑定到一个 CPU 核心上,以提高性能。 |
|
出于优化资源利用 以及节能 的考虑,CPU 亲和性默认关闭。 |
MS_MEMORY_STATISTIC |
0 |
内存统计。 |
|
在内存分析时,可以统计内存的基本使用情况。具体可以参考调优指南。 |
MINDSPORE_DUMP_CONFIG |
指定 云侧 Dump 功能 或 端侧 Dump 功能 所依赖的配置文件的路径 |
文件路径,支持相对路径与绝对路径。 |
||
GLOG_v |
3 |
控制 MindSpore 日志的级别。 |
|
|
ASCEND_GLOBAL_LOG_LEVEL |
3 |
控制 CANN 的日志级别。 |
|
|
ASCEND_SLOG_PRINT_TO_STDOUT |
0 |
是否开启日志打屏。开启后,日志将不会保存在 log 文件中,而是将产生的日志直接打屏显示。 |
|
|
ASCEND_GLOBAL_EVENT_ENABLE |
0 |
设置应用类日志是否开启 Event 日志。 |
|
|
HCCL_EXEC_TIMEOUT |
1836 |
通过该环境变量可控制设备间执行时同步等待的时间,在该配置时间内各设备进程等待其他设备执行通信同步。 |
取值范围为:(0, 17340],默认值为 1836,单位为 s。 |
|
HCCL_CONNECT_TIMEOUT |
120 |
分布式训练或推理场景下,用于限制不同设备之间 socket 建链过程的超时等待时间。 |
该环境变量需要配置为整数,取值范围[120,7200],默认值 120s。 |
|
MS_NODE_ID |
NA |
动态组网启动场景下,指定本进程的rank_id。 |
本进程的rank_id,在集群内唯一。 |
|
MS_ALLOC_CONF |
NA |
设置内存策略。 |
配置项,格式为key:value,多个配置项以逗号分隔,例如 export MS_ALLOC_CONF=enable_vmm:true,memory_tracker:true。 |
|
MS_INTERNAL_DISABLE_CUSTOM_KERNEL_LIST |
PagedAttention |
使能自定义算子的列表。实验性配置项,一般无需设置。将会在未来删除。 |
配置为字符串,算子名之间用英文逗号隔开。 |
|
TRANSFORMERS_OFFLINE |
0 |
设置Auto接口强制只读取离线的本地文件。 |
|
|
MDS_ENDPOINT |
https://modelers.cn |
设置openMind Hub的endpoint。 |
配置为字符串格式的URL地址。 |
|
OM_MODULES_CACHE |
~/.cache/openmind/modules |
openMind modules的缓存路径。 |
配置为字符串格式的目录路径。 |
|
OPENMIND_CACHE |
~/.cache/openmind/hub |
openMind Hub的缓存路径。 |
配置为字符串格式的目录路径。 |
|
openmind_IS_CI |
设置openMind是否在CI门禁环境中。 |
|
其他变量
变量名称 |
默认值 |
解释 |
说明 |
应用场景 |
|---|---|---|---|---|
RUN_MODE |
predict |
设置运行模式。 |
|
|
USE_ROPE_SELF_DEFINE |
true |
是否使用 ROPE 融合算子。 |
|
默认开启 ROPE 融合算子可以提升计算效率。除调试场景,根据需要进行关闭,一般不作特别设置。 |
MS_ENABLE_INTERNAL_BOOST |
on |
是否打开 MindSpore 框架的内部加速功能。 |
|
为了实现高性能推理,该配置默认开启。在进行调试或对比不同加速策略的情况下,需要关闭此参数以观察对性能的影响。 |
MF_LOG_SUFFIX |
NA |
设置所有 log 日志文件夹的自定义后缀。 |
log 文件夹的后缀。默认值:无后缀 |
添加一致的后缀,可以隔离各个任务的日志,不会被覆写。 |
PLOG_REDIRECT_TO_OUTPUT |
False |
控制 plog 日志是否改变存储路径。 |
|
设置之后方便用户查询 plog 日志。 |
MS_ENABLE_FA_FLATTEN |
on |
控制是否支持 FlashAttention flatten 优化。 |
|
对于还未适配FlashAttention flatten 优化的模型提供回退机制。 |
EXPERIMENTAL_KERNEL_LAUNCH_GROUP |
NA |
控制是否支持算子批量并行下发,支持开启并行下发,并配置并行数。 |
|
该特性后续还会继续演进,后续行为可能会有变更,当前仅支持 |
ENFORCE_EAGER |
False |
控制是否不开启jit模式。 |
|
Jit将函数编译成一张可调用的MindSpore图,设置ENFORCE_EAGER为False开启jit模式,可以获取性能收益,当前仅支持推理模式。 |
MS_ENABLE_TFT |
NA |
使能训练故障容错(Training Fault Tolerance)功能,大多数功能依赖 MindIO TFT。 |
取值为"{TTP:1,UCE:1,HCCE:1,ARF:1,TRE:1,TSP:1,RSC:1}",使用某一功能时,可将对应字段配置为"1"。 |
使用方式可以参考高可用特性。 |
MS_WORKER_NUM |
NA |
指定角色为MS_WORKER的进程数量。 |
大于0的整数。 |
分布式场景。 |
RANK_ID |
NA |
指定调用NPU的逻辑ID。 |
0~7,多机并行时不同server中DEVICE_ID会有重复,使用RANK_ID可以避免这个问题(多机并行时 RANK_ID = SERVER_ID * DEVICE_NUM + DEVICE_ID,DEVICE_ID指当前机器的第几个Ascend AI处理器。) |
|
RANK_SIZE |
NA |
指定调用NPU的数量。 |
大于1的整数。 |
|
LD_PRELOAD |
NA |
指定预加载的共享库。 |
指定共享库的路径。 |
|
DEVICE_ID |
0 |
指定调用NPU的设备ID。 |
0~服务器的NPU数量。 |
|
MS_SCHED_PORT |
NA |
指定Scheduler绑定端口号。 |
1024~65535范围内的端口号。 |
|
NPU_ASD_ENABLE |
0 |
是否开启特征值检测功能。 |
|
|
MS_SDC_DETECT_ENABLE |
0 |
是否使能CheckSum检测静默故障。 |
|
|
ASCEND_HOME_PATH |
NA |
Ascend软件包的安装路径。 |
设置为指定的路径。 |
|
ENABLE_LAZY_INLINE |
1 |
是否使能Lazy Inline模式。此环境变量即将废弃,将在下版本删除。 |
|
|
LOCAL_DEFAULT_PATH |
./output |
设置日志的默认路径。 |
设置为指定的路径。 |
|
STDOUT_DEVICES |
NA |
设置标准输出的设备ID列表。 |
设置为数字列表,多个ID之间用英文逗号隔开。 |
|
REGISTER_PATH |
需要注册的外挂代码所在的目录路径。 |
设置为指定的路径。 |
||
LOG_MF_PATH |
./output/log |
MindSpore Transformers的日志路径。 |
设置为指定的路径。 |
|
DEVICE_NUM_PER_NODE |
8 |
服务器上的NPU数量。 |
大于0的整数。 |
|
SHARED_PATHS |
共享存储的路径。 |
设置为指定的路径。 |
||
ASCEND_PROCESS_LOG_PATH |
NA |
Ascend进程的日志路径。 |
设置为指定的路径。 |
|
ENABLE_LAZY_INLINE_NO_PIPELINE |
0 |
是否在非流水线并行时使能Lazy Inline模式。此环境变量即将废弃,将在下版本删除。 |
|
|
REMOTE_SAVE_URL |
None |
在ModelArts上保存训练结果时使用的URL。当前已废弃,将在未来删除。 |
填写保存结果的URL。 |