环境变量说明
以下是 MindFormers 支持的环境变量。
调试变量
变量名称 |
默认值 |
解释 |
说明 |
应用场景 |
---|---|---|---|---|
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,在集群内唯一。 |
其他变量
变量名称 |
默认值 |
解释 |
说明 |
应用场景 |
---|---|---|---|---|
RUN_MODE |
predict |
设置运行模式。 |
|
|
USE_ROPE_SELF_DEFINE |
true |
是否使用 ROPE 融合算子。 |
|
默认开启 ROPE 融合算子可以提升计算效率。除调试场景,根据需要进行关闭,一般不作特别设置。 |
MS_ENABLE_INTERNAL_BOOST |
off |
是否打开 MindSpore 框架的内部加速功能。 |
|
在进行调试或对比不同加速策略的情况下,需要关闭此参数以观察对性能的影响。在需要高效推理的场景,可以开启以进行加速。 |
MS_GE_ATOMIC_CLEAN_POLICY |
1 |
是否集中清理网络中 atomic 算子占用的内存。 |
|
开关默认设置为 |
ENABLE_LAZY_INLINE |
1 |
是否开启 lazy inline。 |
|
此特性在 mindspore≥2.2.0 下适用。通常在 pipeline 并行时使用以提高编译性能。默认开启,可配置关闭。 |
ENABLE_LAZY_INLINE_NO_PIPELINE |
0 |
是否开启在非 pipeline 并行下的 lazy inline。 |
|
lazy inline 特性默认仅在 pipeline 并行模式下开启。如需在其他并行模式下使能 lazy inline,可将该环境变量设置为 1。 |
MS_ASCEND_CHECK_OVERFLOW_MODE |
INFNAN_MODE |
设置浮点计算结果输出模式。 |
|
在大模型调优中,溢出状态对齐 PyTorch 方式,建议使用 INFNAN_MODE,即 export MS_ASCEND_CHECK_OVERFLOW_MODE=INFNAN_MODE。 |
MF_LOG_SUFFIX |
NA |
设置所有 log 日志文件夹的自定义后缀。 |
log 文件夹的后缀。默认值:无后缀 |
添加一致的后缀,可以隔离各个任务的日志,不会被覆写。 |
PLOG_REDIRECT_TO_OUTPUT |
False |
控制 plog 日志是否改变存储路径。 |
|
设置之后方便用户查询 plog 日志。 |
MS_ENABLE_FA_FLATTEN |
on |
控制 是否支持 FlashAttention flatten 优化。 |
|
对于还未适配FlashAttention flatten 优化的模型提供回退机制。 |