MindIE LLM安装完成后,提供进程级环境变量设置脚本“set_env.sh”,以自动完成环境变量设置。
环境变量名 |
说明 |
---|---|
MINDIE_LLM_BACKEND |
MindIE LLM的BACKEND类型,可选值为"atb"、"pt"和"ms"。 |
PYTHONPATH |
用于告诉 Python 解释器在哪个路径下查找用户定义的模块。 |
MINDIE_LLM_HOME_PATH |
MindIE LLM主目录所在路径。默认值为set_env.sh所在的路径。 |
MINDIE_LLM_CONTINUOUS_BATCHING |
MindIE LLM是否连续batching的开关。
|
MINDIE_LLM_PYTHON_LOG_TO_FILE |
MindIE LLM中Python程序运行时产生的日志是否写入文件的开关。
|
MINDIE_LLM_PYTHON_LOG_TO_STDOUT |
MindIE LLM中Python程序运行时产生的日志是否写入标准输出流的开关。
|
MINDIE_LLM_PYTHON_LOG_PATH |
MindIE LLM中Python程序运行时所产生日志文件的存储路径。默认值为${MINDIE_LLM_HOME_PATH}/logs/pythonlog.log。 |
MINDIE_LLM_PYTHON_LOG_LEVEL |
MindIE LLM中Python程序运行时的日志级别,包括CRITICAL, FATAL, ERROR, WARNING, INFO(默认值), DEBUG, NOTSET几种级别。 |
MINDIE_LLM_RECOMPUTE_THRESHOLD |
MindIE LLM中重计算阈值。默认值为0.5。 |
ATB_SPEED_HOME_PATH |
模型仓安装后文件存储路径,MindIE LLM和MindIE Service组件依赖此环境变量。 |
PYTORCH_INSTALL_PATH |
torch三方件的安装路径,使用以下方式获取python3 -c 'import torch, os; print(os.path.dirname(os.path.abspath(torch.__file__)))'。 |
PYTORCH_NPU_INSTALL_PATH |
torch_npu三方件的安装路径,使用以下方式获取python3 -c 'import torch, torch_npu, os; print(os.path.dirname(os.path.abspath(torch_npu.__file__)))'。 |
LD_LIBRARY_PATH |
在LD_LIBRARY_PATH环境变量中,添加${ATB_SPEED_HOME_PATH}/lib路径,以此关联模型仓编译出的动态库; 添加${PYTORCH_INSTALL_PATH}/lib路径,以关联torch三方件提供的动态库; 添加${PYTORCH_NPU_INSTALL_PATH}/lib路径,以关联torch_npu三方件提供的动态库。 |
ATB_OPERATION_EXECUTE_ASYNC |
算子setup和execute异步执行开关。
|
TASK_QUEUE_ENABLE |
默认模型仓拉起子线程执行execute任务,开启此环境变量后,使用Torch三方件启动的线程执行execute任务。
|
ATB_CONTEXT_HOSTTILING_RING |
CPU侧用来存放算子Tiling data的Buffer块数量。默认为1。 |
ATB_CONTEXT_HOSTTILING_SIZE |
CPU侧用来存放算子Tiling data的Buffer块大小。默认为102400字节。 |
ATB_WORKSPACE_MEM_ALLOC_GLOBAL |
是否使用全局中间tensor内存分配算法。 开启后会对中间tensor内存进行大小计算与分配。
|
ATB_USE_TILING_COPY_STREAM |
是否多开启一个Stream做Tiling data从CPU拷贝到NPU的动作。不推荐开启,加速库已默认开启ATB_LAUNCH_KERNEL_WITH_TILING环境变量,打开Tiling data拷贝随算子下发功能。
|
ATB_OPSRUNNER_KERNEL_CACHE_LOCAL_COUNT |
设置op runner的本地cache 槽位数,默认值为1个。 |
ATB_OPSRUNNER_KERNEL_CACHE_GLOABL_COUNT |
设置op runner的全局cache 槽位数,默认值为16个。 |
可选环境变量说明请参考表2。
环境变量名 |
说明 |
---|---|
INF_NAN_MODE_ENABLE |
可以开启以下环境变量,开启后若出现溢出,溢出值会被置为NaN;若不开启此变量,则会对溢出值进行截断。
|
INT8_FORMAT_NZ_ENABLE |
INT8类型的Tensor转为NZ格式时需要开启此环境变量。
|
ATB_ACLNN_CACHE_GLOABL_COUNT |
设置AclNN算子所需aclExecutor的全局Cache个数。取值范围:[0, 100),默认值为16。 |
ATB_LLM_LCOC_ENABLE |
通信计算掩盖功能开关。
|
BIND_CPU |
是否将NPU上运行的进程基于CPU亲和度绑核。
|
CPU_BINDING_NUM |
设置每个进程绑的核数。该值不得小于0,默认值为None,即将NUMA节点一半的CPU核心数平分给直连在这个NUMA节点上的NPU device。 NUMA(Non-UnifNUMA(Non-Uniform Memory Access,非统一内存访问)架构是一种针对多处理器系统的内存组织方式。 |
WORLD_SIZE |
张量并行数量。 |
ASCEND_RT_VISIBLE_DEVICES |
指定当前机器上可用的逻辑NPU核心,多个核心间使用逗号相连。默认值为None,代表可用的逻辑NPU核心为[1,2,3,...,${WORLD_SIZE} - 1]。 |
ATB_LLM_HCCL_ENABLE |
是否使能HCCL通信后端。
|
PROFILING_LEVEL |
设置ProfilerLevel。可选项为"Level0"(默认值)、"Level1"、"Level2"、"Level_none"。 |
ATB_PROFILING_ENABLE |
是否采集性能profiling数据。
|
PROFILING_FILEPATH |
设置profiling文件路径,默认保存在当前路径下profiling文件夹中。 |
RESERVED_MEMORY_GB |
模型运行时动态申请显存池的大小。取值范围:[0, 64),默认值为3。 |
NPU_MEMORY_FRACTION |
NPU显存利用率。取值范围:(0.0, 1.0],在ATB Models中默认值为1.0,在MindIE LLM 中默认值为0.8。 |
ATB_LLM_BENCHMARK_ENABLE |
性能数据获取是否打开。
|
ATB_LLM_BENCHMARK_FILEPATH |
性能数据保存路径,默认为None。 |
ATB_LLM_TOKEN_IDS_SAVE_ENABLE |
ModelTest场景下,是否保存token信息。
使用此功能时,“MODELTEST_DATASET_SPECIFIED”环境变量不能为空。 |
ATB_LLM_TOKEN_IDS_SAVE_FOLDER |
ModelTest场景下,token信息的存放路径,默认为当前路径。 |
MODELTEST_DATASET_SPECIFIED |
ModelTest场景下,采用的数据集后处理类型,默认为None。 |
ATB_LLM_LOGITS_SAVE_ENABLE |
ModelTest场景下,是否保存logits信息。
使用此功能时,“MODELTEST_DATASET_SPECIFIED”环境变量不能为空。 |
ATB_LLM_LOGITS_SAVE_FOLDER |
Logits信息的保存路径,默认为当前路径。 |
ATB_LLM_ENABLE_AUTO_TRANSPOSE |
是否开启权重右矩阵自动转置寻优。
|
ATB_LOG_TO_STDOUT |
ATB的C++日志写入标准输出流的开关。
|
ATB_LOG_TO_FILE |
ATB的C++日志写入文件的开关。
|
ATB_LOG_LEVEL |
ATB C++日志级别。可选范围:"TRACE"、"DEBUG"、"INFO"、"WARN"(默认值)、"ERROR","FATAL"。 |
ATB_HOME_PATH |
ATB加速库所在路径。 |
ASCEND_LAUNCH_BLOCKING |
算子同步下发功能开关,用于debug场景。
|
IS_ALIBI_MASK_FREE |
是否支持Speculate。
|
RANK |
指示device的全局ID。取值范围为[0, ${WORLD_SIZE} - 1),默认值为0。 |
LONG_SEQ_ENABLE |
判断是否为长序列。
|
LOG_LEVEL |
ATB Python日志级别。取值范围:"NOTSET"、"DEBUG"、"INFO"(默认值)、"WARN"、"WARNING"、"ERROR"、"FATAL"、"CRITICAL"。 |
LOG_TO_FILE |
ATB Python日志文件的存储路径。默认为空(即不写入文件)。 |
PYTHON_LOG_MAXSIZE |
ATB Python日志单个文件的最大容量(单位:字节),默认值:1073741824(1GB)。 |
LOCAL_RANK |
指示Device的本地ID。取值范围为0到每台机器拥有的NPU卡数-1, 默认值为0。 |
TIMEIT |
默认值为0,要开启性能测试需设置为1,部分场景需开启用来测试性能,详细场景使用情况参考各模型readme。 |
MAX_SEQ_LEN |
RotaryEmbedding入参。 |
MINDIE_LLM_LOG_TO_STDOUT |
MindIE LLM C++日志写入标准输出流开关。
|
MINDIE_LLM_LOG_TO_FILE |
MindIE LLM C++日志写入文件开关。
|
MINDIE_LLM_LOG_LEVEL |
MindIE LLM C++日志级别。取值范围:"TRACE"、"DEBUG"、"INFO"、"WARN"(默认值)、"ERROR"、"FATAL"。 |
SOURCE_DATE_EPOCH |
构建whl包所需的时间戳。 |
RANKTABLEFILE |
Ranktable文件存放的路径。
|
ATB_LLM_RAZOR_ATTENTION_ENABLE |
RA压缩开关。
|
MIES_USE_MB_SWAPPER |
高性能Swap开关。
|
MIES_PYTHON_LOG_LEVEL |
设定MindIE Server Python日志级别。取值范围:"CRITICAL"、"ERROR"、"WARNING"、"INFO"(default)、"DEBUG"、"NOTSET"。 |
MIES_PYTHON_LOG_TO_FILE |
MindIE Server Python日志写入文件开关。
|
MIES_PYTHON_LOG_PATH |
MindIE Server Python日志文件存储路径。 |
MIES_PYTHON_LOG_TO_STDOUT |
MindIE Server Python日志写入标准输出流开关。
|
MINDIE_LLM_PYTHON_LOG_MAXSIZE |
MindIE LLM Python单个日志文件的最大容量(单位:字节)。默认值:1073741824。 |
MINDIE_LLM_PYTHON_LOG_MAXNUM |
MindIE LLM Python日志存储的最大数量(单位:件),默认值:10。 |
MINDIE_LLM_FRAMEWORK_BACKEND |
MindIE LLM框架后端类型,当前可选值为"atb"(ATB,默认值)和"ms"(MindSpore)。 |
MIES_INSTALL_PATH |
MindIE Server的安装路径。 |
MIES_CONFIG_JSON_PATH |
MindIE Server配置文件所在路径。 |
NPU_DEVICE_IDS |
使用的NPU卡号。取值范围:[0, ${WORLD_SIZE} - 1]。 |
MIES_CONTAINER_IP |
MindIE Server容器IP地址。 |
HOST_IP |
宿主机IP地址。 |
MINDIE_LLM_BENCHMARK_ENABLE |
是否开启MindIE LLM模块的benchmark功能,开启后将会输出性能数据到指定文件路径。默认为0,改为1可开启。 |
MINDIE_LLM_BENCHMARK_FILEPATH |
指定MindIE LLM模块的benchmark功能输出的性能数据文件路径。默认为"{MINDIE_LLM_HOME_PATH}/logs/benchmark.jsonl"。 |
MINDIE_LLM_BENCHMARK_RESERVING_RATIO |
当性能数据文件超过最大文件大小限制时,旧数据会被新数据覆盖。此环境变量指定保留旧数据的比例,默认为0.1 |
POST_PROCESSING_SPEED_MODE_TYPE |
|
ATB_LLM_RAZOR_ATTENTION_ROPE |
Rope编码下的RA压缩开关。
|
MINDIE_LLM_USE_MB_SWAPPER |
MindIE LLM高性能Swap开关。
|
MODELTEST_LOG_FILENAME |
MindIE LLM Modeltest日志文件名。 |
MODELTEST_LOG_LEVEL |
MindIE LLM Modeltest日志级别。取值范围:"DEBUG"、"INFO" (默认值)、"WARN"、"ERROR"、"CRITICAL"。 |
MODELTEST_LOG_TO_FILE |
MindIE LLM Modeltest日志写入文件开关。
|
PERFORMANCE_PREFIX_TREE_ENABLE |
memory_decoding并行解码高性能前缀树实现开关。
|
ENABLE_ACLNN_ATTN_DECODE_BACKEND |
Decode阶段attention计算是否使用aclnn后端,默认使用atb后端。
|
当BIND_CPU环境变量开启时,会调用execute_command方法执行以下命令:
execute_command(["npu-smi", "info", "-i", f"{npu_id}", "-t", "memory"]).split("\n")[1:]execute_command(["npu-smi", "info", "-i", f"{npu_id}", "-t", "usages"]).split("\n")[1:]execute_command(["npu-smi", "info", "-m"]).strip().split("\n")[1:]execute_command(["npu-smi", "info", "-t", "board", "-i", f"{device_info.npu_id}", -c", f"{device_info.chip_id}"]).strip().split("\n")execute_command(["lspci", "-s", f"{pcie_no}", "-vvv"]).split("\n")execute_command(["lscpu"]).split("\n")