已合并
更新 python 版本表述,保留 Python311,部分位置保留 Python310,其他旧版本表述清理 #831
徐驰创建于 4月11日
更新 python 版本表述,保留 Python311,部分位置保留 Python310,其他旧版本表述清理 #831
已合并
徐驰创建于 4月11日
共 6 个文件变更+67-69
@@ -68,7 +68,7 @@ chat接口激活的专家分布更均衡,但单卡激活的专家数更多,
68```68```
69 69 
70- 通过环境变量设置:70- 通过环境变量设置:
71- 71+ 
72 ```bash72 ```bash
73 export MASTER\_ADDR=localhost73 export MASTER\_ADDR=localhost
74 74 
@@ -76,7 +76,7 @@ chat接口激活的专家分布更均衡,但单卡激活的专家数更多,
76 76 
77 ```77 ```
78 78 
79-## 服务侧拉起模型时出现“Max retries exceeded with url”报错 79+## 服务侧拉起模型时出现“Max retries exceeded with url”报错
80 80 
81### 问题现象描述81### 问题现象描述
82 82 
@@ -245,7 +245,7 @@ export ATB_STREAM_SYNC_EVERY_OPERATION_ENABLE=1
245 通信算子:245 通信算子:
246 246 
247 ```bash247 ```bash
248- export LCCL_DETERMINISTIC=1 248+ export LCCL_DETERMINISTIC=1
249 export HCCL_DETERMINISTIC=true249 export HCCL_DETERMINISTIC=true
250 ```250 ```
251 251 
@@ -415,12 +415,12 @@ fi
415 #######################################################################################415 #######################################################################################
416 # Check /health/timed-3416 # Check /health/timed-3
417 #######################################################################################417 #######################################################################################
418- 418+ 
419 # 读取PD混部服务化配置参数中的管理面端口,赋值到management_port变量419 # 读取PD混部服务化配置参数中的管理面端口,赋值到management_port变量
420 config_file="/home/HwHiAiUser/Ascend/mindie/latest/mindie-service/conf/config.json"420 config_file="/home/HwHiAiUser/Ascend/mindie/latest/mindie-service/conf/config.json"
421 management_port=$(grep '"managementPort"' "$config_file" | sed 's/[^0-9]*//g')421 management_port=$(grep '"managementPort"' "$config_file" | sed 's/[^0-9]*//g')
422 HEALTH_CHECK_URL="https://127.0.0.2:$management_port/health/timed-3"422 HEALTH_CHECK_URL="https://127.0.0.2:$management_port/health/timed-3"
423- 423+ 
424 # 调用PD混部健康探针接口:/health/timed-${TIMEOUT}424 # 调用PD混部健康探针接口:/health/timed-${TIMEOUT}
425 # 并把结果写入到response_file文件中425 # 并把结果写入到response_file文件中
426 # 0.0.0.0需要修改为PD混部服务化配置参数中的管理面IP426 # 0.0.0.0需要修改为PD混部服务化配置参数中的管理面IP
@@ -437,24 +437,24 @@ fi
437 #######################################################################################437 #######################################################################################
438 # Check npu-smi info438 # Check npu-smi info
439 #######################################################################################439 #######################################################################################
440- 440+ 
441 npu_id=$(awk 'NR==2 {print $1}' ~/device_info) # 读取NPU卡号441 npu_id=$(awk 'NR==2 {print $1}' ~/device_info) # 读取NPU卡号
442 max_aicore_usage=0 # 存放AICore使用率442 max_aicore_usage=0 # 存放AICore使用率
443 num_samples=4 # 设置采样次数443 num_samples=4 # 设置采样次数
444 lower_limit=10 # AICore使用率的判断阈值,本样例为10444 lower_limit=10 # AICore使用率的判断阈值,本样例为10
445- 445+ 
446 # 循环重试机制:最多尝试num_samples次446 # 循环重试机制:最多尝试num_samples次
447 for ((i=0; i<num_samples; i++)); do447 for ((i=0; i<num_samples; i++)); do
448 # npu-smi info -t usages:获取NPU使用率相关信息448 # npu-smi info -t usages:获取NPU使用率相关信息
449 # "$npu_id":NPU卡号449 # "$npu_id":NPU卡号
450 output=$(npu-smi info -t usages -i "$npu_id")450 output=$(npu-smi info -t usages -i "$npu_id")
451- 451+ 
452 # 提取AICore使用率信息452 # 提取AICore使用率信息
453 # echo "$output":输出NPU使用率相关信息453 # echo "$output":输出NPU使用率相关信息
454 # grep 'Aicore Usage Rate(%):过滤出Aicore Usage Rate(%)字段454 # grep 'Aicore Usage Rate(%):过滤出Aicore Usage Rate(%)字段
455 # awk '{print $NF}' | tr -d '%': 提取最后一个字段并取出百分号%455 # awk '{print $NF}' | tr -d '%': 提取最后一个字段并取出百分号%
456 aicore_usage=$(echo "$output" | grep 'Aicore Usage Rate(%)' | awk '{print $NF}' | tr -d '%' | sort -nr | head -1)456 aicore_usage=$(echo "$output" | grep 'Aicore Usage Rate(%)' | awk '{print $NF}' | tr -d '%' | sort -nr | head -1)
457- 457+ 
458 # 如果提取到的值不为空,并且比当前记录的最大值大,就更新最大值458 # 如果提取到的值不为空,并且比当前记录的最大值大,就更新最大值
459 if [[ -n "$aicore_usage" && "$aicore_usage" -gt "$max_aicore_usage" ]]; then459 if [[ -n "$aicore_usage" && "$aicore_usage" -gt "$max_aicore_usage" ]]; then
460 max_aicore_usage=$aicore_usage460 max_aicore_usage=$aicore_usage
@@ -464,7 +464,7 @@ fi
464 sleep 0.1464 sleep 0.1
465 fi465 fi
466 done466 done
467- 467+ 
468 # 判断当前AICore使用率是否低于设定值468 # 判断当前AICore使用率是否低于设定值
469 if (( max_aicore_usage < lower_limit )); then469 if (( max_aicore_usage < lower_limit )); then
470 core_abnormal=true470 core_abnormal=true
@@ -479,7 +479,7 @@ fi
479 #######################################################################################479 #######################################################################################
480 # Final conclusion480 # Final conclusion
481 #######################################################################################481 #######################################################################################
482- 482+ 
483 # 阻塞,确保HTTP请求完成后再处理结果483 # 阻塞,确保HTTP请求完成后再处理结果
484 wait $!484 wait $!
485 # 读取响应信息485 # 读取响应信息
@@ -488,44 +488,44 @@ fi
488 response_body=$(echo "$response" | sed -e 's/HTTPSTATUS\:.*//g')488 response_body=$(echo "$response" | sed -e 's/HTTPSTATUS\:.*//g')
489 # 提取响应码489 # 提取响应码
490 response_code=$(echo "$response" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')490 response_code=$(echo "$response" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
491- 491+ 
492 # 如果http请求的返回值正常,则将timed_out标志位至为false492 # 如果http请求的返回值正常,则将timed_out标志位至为false
493 if [[ "$response_code" -ne 200 ]] || [[ "$response_body" != '{"status":"healthy"}' ]]; then493 if [[ "$response_code" -ne 200 ]] || [[ "$response_body" != '{"status":"healthy"}' ]]; then
494 timed_out=true494 timed_out=true
495 else495 else
496 timed_out=false496 timed_out=false
497 fi497 fi
498- 498+ 
499 # 判断服务是否健康499 # 判断服务是否健康
500 # 条件1:HTTP状态码必须为 200 或 响应体内容是 '{"status":"healthy"}'500 # 条件1:HTTP状态码必须为 200 或 响应体内容是 '{"status":"healthy"}'
501 # 条件2:AICore的使用率高于设定值501 # 条件2:AICore的使用率高于设定值
502 if [[ "$timed_out" == true && "$core_abnormal" == true ]]; then502 if [[ "$timed_out" == true && "$core_abnormal" == true ]]; then
503 max_aicore_usage=0503 max_aicore_usage=0
504 num_samples=6504 num_samples=6
505- 505+ 
506 # 保底机制:如果服务可能存在异常,则再次检查AICore的使用率506 # 保底机制:如果服务可能存在异常,则再次检查AICore的使用率
507 # 循环重试机制:最多尝试 num_samples 次507 # 循环重试机制:最多尝试 num_samples 次
508 for ((i=0; i<num_samples; i++)); do508 for ((i=0; i<num_samples; i++)); do
509 output=$(npu-smi info -t usages -i "$npu_id")509 output=$(npu-smi info -t usages -i "$npu_id")
510- 510+ 
511 aicore_usage=$(echo "$output" | grep 'Aicore Usage Rate(%)' | awk '{print $NF}' | tr -d '%' | sort -nr | head -1)511 aicore_usage=$(echo "$output" | grep 'Aicore Usage Rate(%)' | awk '{print $NF}' | tr -d '%' | sort -nr | head -1)
512- 512+ 
513 if [[ -n "$aicore_usage" && "$aicore_usage" -gt "$max_aicore_usage" ]]; then513 if [[ -n "$aicore_usage" && "$aicore_usage" -gt "$max_aicore_usage" ]]; then
514 max_aicore_usage=$aicore_usage514 max_aicore_usage=$aicore_usage
515 fi515 fi
516- 516+ 
517 if (( i < num_samples - 1 )); then517 if (( i < num_samples - 1 )); then
518 sleep 0.1518 sleep 0.1
519 fi519 fi
520 done520 done
521- 521+ 
522 # 判断当前AICore使用率是否低于设定值522 # 判断当前AICore使用率是否低于设定值
523 if (( max_aicore_usage < lower_limit )); then523 if (( max_aicore_usage < lower_limit )); then
524 core_abnormal=true524 core_abnormal=true
525 else525 else
526 core_abnormal=false526 core_abnormal=false
527 fi527 fi
528- 528+ 
529 # 如果健康接口响应超时且AICore使用率低于设定值,认为服务不健康;否则认为服务健康529 # 如果健康接口响应超时且AICore使用率低于设定值,认为服务不健康;否则认为服务健康
530 if [[ "$timed_out" == true && "$core_abnormal" == true ]]; then530 if [[ "$timed_out" == true && "$core_abnormal" == true ]]; then
531 echo 501531 echo 501
@@ -555,7 +555,7 @@ fi
555- 启动探针(startupProbe):直接调用**/health/time-_$\{TIMEOUT\}_**接口,周期/超时时间大于等于5秒 。555- 启动探针(startupProbe):直接调用**/health/time-_$\{TIMEOUT\}_**接口,周期/超时时间大于等于5秒 。
556- port:为MindIE的管理面端口,即MindIE的config.json配置文件中“managementPort“字段的值。556- port:为MindIE的管理面端口,即MindIE的config.json配置文件中“managementPort“字段的值。
557 557 
558-> [!NOTE]说明 558+> [!NOTE]说明
559>559>
560> - 如果Kubernetes版本太低无法配置启动探针,建议为存活/就绪探针配置“initialDelaySeconds“字段,其值需要大于模型启动时间。560> - 如果Kubernetes版本太低无法配置启动探针,建议为存活/就绪探针配置“initialDelaySeconds“字段,其值需要大于模型启动时间。
561> - Kubernetes探针的具体使用方式,详情请参考[Kubernetes官网链接](https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)。561> - Kubernetes探针的具体使用方式,详情请参考[Kubernetes官网链接](https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)。
@@ -750,9 +750,9 @@ ibis缺少Python依赖。
7502. 在bashrc文件内添加如下环境变量,保存并退出。7502. 在bashrc文件内添加如下环境变量,保存并退出。
751 751 
752 ```bash752 ```bash
753- ## 例如系统使用3.10.13版本,安装目录位于/usr/local/python3.10.13753+ ## 例如系统使用3.11版本,安装目录位于/usr/local/python3.11
754- export LD_LIBRARY_PATH=/usr/local/python3.10.13/lib:$LD_LIBRARY_PATH754+ export LD_LIBRARY_PATH=/usr/local/python3.11/lib:$LD_LIBRARY_PATH
755- export PATH=/usr/local/python3.10.13/bin:$PATH755+ export PATH=/usr/local/python3.11/bin:$PATH
756 ```756 ```
757 757 
7583. 使用以下命令使环境变量生效。7583. 使用以下命令使环境变量生效。
@@ -764,8 +764,8 @@ ibis缺少Python依赖。
7644. 使用以下命令建立软链接。7644. 使用以下命令建立软链接。
765 765 
766 ```bash766 ```bash
767- ln -s /usr/local/python3.10.13/bin/python3.10 /usr/bin/python767+ ln -s /usr/local/python3.11/bin/python3.11 /usr/bin/python
768- ln -s /usr/local/python3.10.13/bin/pip3.10 /usr/bin/pip768+ ln -s /usr/local/python3.11/bin/pip3.11 /usr/bin/pip
769 ```769 ```
770 770 
771## 部署MindIE LLM服务时,找不到tlsCert等路径771## 部署MindIE LLM服务时,找不到tlsCert等路径
@@ -801,7 +801,7 @@ glibc.so本身的bug。
801执行以下命令:801执行以下命令:
802 802 
803```bash803```bash
804-export LD_PRELOAD=$LD_PRELOAD:/usr/local/python3.10.2/lib/python3.10/site-packages/torch/lib/../../torch.libs/libgomp-6e1a1d1b.so.1.0.0804+export LD_PRELOAD=$LD_PRELOAD:/usr/local/python3.11/lib/python3.11/site-packages/torch/lib/../../torch.libs/libgomp-6e1a1d1b.so.1.0.0
805 805 
806```806```
807 807 
@@ -929,7 +929,7 @@ call calnnCat failed, detail:EZ1001: xxxxxxxx dimnum of tensor 5 is [1], should
929 929 
930示例:如果某个算子(如:concat、matmul等),希望这个维度存在并匹配某个值(如:2),那被squeeze删除后shape就会报错。930示例:如果某个算子(如:concat、matmul等),希望这个维度存在并匹配某个值(如:2),那被squeeze删除后shape就会报错。
931 931 
932->[!NOTE]说明 932+>[!NOTE]说明
933>MindIE 2.0之前的版本存该问题,MindIE 2.0版本之后都已修复。933>MindIE 2.0之前的版本存该问题,MindIE 2.0版本之后都已修复。
934 934 
935<br>935<br>
@@ -1054,8 +1054,8 @@ RuntimeError: NPU out of memory. Tried to allocate xxx GiB."
10541. 适当调高NPU\_MEMORY\_FRACTION环境变量的值(代表内存分配比例,默认值为0.8),参考示例如下所示。10541. 适当调高NPU\_MEMORY\_FRACTION环境变量的值(代表内存分配比例,默认值为0.8),参考示例如下所示。
1055 1055 
1056 ```bash1056 ```bash
1057- export NPU_MEMORY_FRACTION=0.96 1057+ export NPU_MEMORY_FRACTION=0.96
1058- export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True 1058+ export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
1059 export OMP_NUM_THREADS=11059 export OMP_NUM_THREADS=1
1060 ```1060 ```
1061 1061 
@@ -1063,7 +1063,7 @@ RuntimeError: NPU out of memory. Tried to allocate xxx GiB."
1063 - maxPrefillTokens需要大于等于maxInputToken。1063 - maxPrefillTokens需要大于等于maxInputToken。
1064 - maxPrefillTokens会影响到atb初始化阶段的workspace,其值过大时拉起服务后可能直接出现Out of memory报错。1064 - maxPrefillTokens会影响到atb初始化阶段的workspace,其值过大时拉起服务后可能直接出现Out of memory报错。
1065 1065 
1066-3. 调整npuMemSize(代表单个NPU可以用来申请KV Cache的size上限,默认值为-1,表示自动分配KV Cahce;大于0表示手动分配,会根据设置的值固定分配KV Cache大小)参数值。1066+3. 调整npuMemSize(代表单个NPU可以用来申请KV Cache的size上限,默认值为-1,表示自动分配KV Cache;大于0表示手动分配,会根据设置的值固定分配KV Cache大小)参数值。
1067 1067 
1068 npuMemSize = 单卡总内存 \* 内存分配比例1068 npuMemSize = 单卡总内存 \* 内存分配比例
1069 1069 
@@ -1279,7 +1279,7 @@ AttributeError: 'ForkAwareLocal' object has no attribute 'connection‘
1279通信算子:1279通信算子:
1280 1280 
1281```bash1281```bash
1282-export LCCL_DETERMINISTIC=1 1282+export LCCL_DETERMINISTIC=1
1283export HCCL_DETERMINISTIC=true #开启归约类通信算子的确定性计算1283export HCCL_DETERMINISTIC=true #开启归约类通信算子的确定性计算
1284export ATB_LLM_LCOC_ENABLE=01284export ATB_LLM_LCOC_ENABLE=0
1285```1285```
@@ -8,23 +8,23 @@
8 8 
9- 若开启HTTPS双向认证,需要提前准备好服务证书、服务器私钥和验签证书等。9- 若开启HTTPS双向认证,需要提前准备好服务证书、服务器私钥和验签证书等。
10- 若使用容器化部署启动,要求共享内存设置不小于1GB。10- 若使用容器化部署启动,要求共享内存设置不小于1GB。
11-- Server对于Python的环境要求为Python3.10.x或者Python3.11.x。此处以Python3.10.13为例,如果环境中的Python3.10.13不是默认版本,需要参考如下方法添加环境变量(Python路径根据实际路径进行修改)。11+- Server对于Python的环境要求为Python3.11.x。此处以Python3.11为例,如果环境中的Python3.11不是默认版本,需要参考如下方法添加环境变量(Python路径根据实际路径进行修改)。
12 12 
13 ```bash13 ```bash
14 14 
15- export LD_LIBRARY_PATH=/usr/local/python3.10.13/lib:$LD_LIBRARY_PATH15+ export LD_LIBRARY_PATH=/usr/local/python3.11/lib:$LD_LIBRARY_PATH
16- export PATH=/usr/local/python3.10.13/bin:$PATH16+ export PATH=/usr/local/python3.11/bin:$PATH
17 17 
18 ```18 ```
19 19 
20### 操作步骤20### 操作步骤
21 21 
221. 以安装用户进入MindIE安装目录。221. 以安装用户进入MindIE安装目录。
23- 23+ 
24 ```bash24 ```bash
25 cd {MindIE安装目录}/latest25 cd {MindIE安装目录}/latest
26 ```26 ```
27- 27+ 
282. 确认目录文件权限是否如下所示,若存在不匹配项,则参考以下命令修改权限。282. 确认目录文件权限是否如下所示,若存在不匹配项,则参考以下命令修改权限。
29 29 
30 ```bash30 ```bash
@@ -124,7 +124,7 @@
124 "e2eTimeout" : 600,124 "e2eTimeout" : 600,
125 "distDPServerEnabled": false125 "distDPServerEnabled": false
126 },126 },
127- 127+ 
128 "BackendConfig": {128 "BackendConfig": {
129 "backendName" : "mindieservice_llm_engine",129 "backendName" : "mindieservice_llm_engine",
130 "modelInstanceNumber" : 1,130 "modelInstanceNumber" : 1,
@@ -160,7 +160,7 @@
160 }160 }
161 ]161 ]
162 },162 },
163- 163+ 
164 "ScheduleConfig":164 "ScheduleConfig":
165 {165 {
166 "templateType": "Standard",166 "templateType": "Standard",
@@ -192,7 +192,7 @@
192 192 
1934. (可选)若开启了HTTPS认证(即“httpsEnabled” : true时,默认开启)。1934. (可选)若开启了HTTPS认证(即“httpsEnabled” : true时,默认开启)。
194 194 
195- a. 则使用Service的证书导入脚本导入证书,各证书信息如[表1](#table1)所示。 195+ a. 则使用Service的证书导入脚本导入证书,各证书信息如[表1](#table1)所示。
196 196 
197 > [!NOTE]说明197 > [!NOTE]说明
198 > - HTTPS使用三面隔离时,HTTPS的业务面和管理面不建议使用同一套安全证书,使用同一套安全证书会存在较高的网络安全风险。198 > - HTTPS使用三面隔离时,HTTPS的业务面和管理面不建议使用同一套安全证书,使用同一套安全证书会存在较高的网络安全风险。
@@ -200,7 +200,7 @@
200 > - 导入证书时,对于用户导入CA证书的脚本权限要求为600,服务证书的脚本权限要求为600,私钥证书的脚本权限要求为400,吊销列表证书的脚本权限要求为600。200 > - 导入证书时,对于用户导入CA证书的脚本权限要求为600,服务证书的脚本权限要求为600,私钥证书的脚本权限要求为400,吊销列表证书的脚本权限要求为600。
201 > - Service的证书导入脚本请参见《MindIE Motor开发指南》中的"配套工具 > MindIE Service Tools > <a href="https://www.hiascend.com/document/detail/zh/mindie/22RC1/mindieservice/servicedev/mindie_service0312.html">CertTools</a>"章节。201 > - Service的证书导入脚本请参见《MindIE Motor开发指南》中的"配套工具 > MindIE Service Tools > <a href="https://www.hiascend.com/document/detail/zh/mindie/22RC1/mindieservice/servicedev/mindie_service0312.html">CertTools</a>"章节。
202 > - 如果导入证书超时,请参考<a href="https://www.hiascend.com/document/detail/zh/mindie/22RC1/envdeployment/instg/mindie_instg_0088.html">启动haveged服务</a>处理。202 > - 如果导入证书超时,请参考<a href="https://www.hiascend.com/document/detail/zh/mindie/22RC1/envdeployment/instg/mindie_instg_0088.html">启动haveged服务</a>处理。
203- 203+ 
204 表1 证书文件清单 <a id="table1"></a>204 表1 证书文件清单 <a id="table1"></a>
205 205 
206 | 证书文件 | 默认目标路径 | 说明 |206 | 证书文件 | 默认目标路径 | 说明 |
@@ -244,7 +244,7 @@
244 244 
245 > [!NOTE]说明245 > [!NOTE]说明
246 > 拉起服务前,建议用户使用MindStudio的预检工具进行配置文件字段校验,辅助校验配置的合法性,详情请参见[链接](https://gitcode.com/Ascend/msit/tree/master/msprechecker)。246 > 拉起服务前,建议用户使用MindStudio的预检工具进行配置文件字段校验,辅助校验配置的合法性,详情请参见[链接](https://gitcode.com/Ascend/msit/tree/master/msprechecker)。
247- 247+ 
248 - (推荐)使用后台进程方式启动服务。248 - (推荐)使用后台进程方式启动服务。
249 249 
250 ```shell250 ```shell
@@ -290,11 +290,11 @@
290 290 
291### 前提条件291### 前提条件
292 292 
293-- Server对于Python的环境要求为Python3.10.*x*或者Python3.11*.**x*。此处以Python3.10.13为例,如果环境中的Python3.10.13不是默认版本,需要参考如下方法添加环境变量(Python路径根据实际路径进行修改)。293+- Server对于Python的环境要求为Python3.11.x。此处以Python3.11为例,如果环境中的Python3.11不是默认版本,需要参考如下方法添加环境变量(Python路径根据实际路径进行修改)。
294 294 
295 ```linux295 ```linux
296- export LD_LIBRARY_PATH=/usr/local/python3.10.13/lib:$LD_LIBRARY_PATH296+ export LD_LIBRARY_PATH=/usr/local/python3.11/lib:$LD_LIBRARY_PATH
297- export PATH=/usr/local/python3.10.13/bin:$PATH297+ export PATH=/usr/local/python3.11/bin:$PATH
298 ```298 ```
299 299 
300- 服务器或容器环境上已经安装好NPU驱动和固件、CANN包、PyTorch、ATB Models和MindIE。300- 服务器或容器环境上已经安装好NPU驱动和固件、CANN包、PyTorch、ATB Models和MindIE。
@@ -342,7 +342,7 @@ ranktable.json文件权限需要设置为640,详细内容请根据以下样例
342 "server_id": "Master节点IP地址",342 "server_id": "Master节点IP地址",
343 "container_ip": "Master节点容器IP地址",343 "container_ip": "Master节点容器IP地址",
344 "device": [344 "device": [
345- { "device_id": "0", "device_ip": "10.20.0.2", "rank_id": "0" }, 345+ { "device_id": "0", "device_ip": "10.20.0.2", "rank_id": "0" },
346 { "device_id": "1", "device_ip": "10.20.0.3", "rank_id": "1" },346 { "device_id": "1", "device_ip": "10.20.0.3", "rank_id": "1" },
347 { "device_id": "2", "device_ip": "10.20.0.4", "rank_id": "2" },347 { "device_id": "2", "device_ip": "10.20.0.4", "rank_id": "2" },
348 { "device_id": "3", "device_ip": "10.20.0.5", "rank_id": "3" },348 { "device_id": "3", "device_ip": "10.20.0.5", "rank_id": "3" },
@@ -435,7 +435,7 @@ ranktable.json文件权限需要设置为640,详细内容请根据以下样例
435 chmod 700 mindie-service/security435 chmod 700 mindie-service/security
436 chmod -R 700 mindie-service/security/*436 chmod -R 700 mindie-service/security/*
437 ```437 ```
438- 438+ 
439 > [!NOTE]说明439 > [!NOTE]说明
440 > 若文件权限不符合要求将会导致Server启动失败。440 > 若文件权限不符合要求将会导致Server启动失败。
441 441 
@@ -483,7 +483,7 @@ ranktable.json文件权限需要设置为640,详细内容请根据以下样例
483 > - 如果导入证书超时,请参考启动haveged服务处理。483 > - 如果导入证书超时,请参考启动haveged服务处理。
484 484 
485 表2 证书文件信息485 表2 证书文件信息
486- 486+ 
487 | 证书文件 | 默认目标路径 | 说明 |487 | 证书文件 | 默认目标路径 | 说明 |
488 | ---------------------- | ----------------------------------- | ------------------------------------------------------------ |488 | ---------------------- | ----------------------------------- | ------------------------------------------------------------ |
489 | 根证书 | mindie-service/security/grpc/ca/ | 开启“interNodeTLSEnabled” : true后必选。 |489 | 根证书 | mindie-service/security/grpc/ca/ | 开启“interNodeTLSEnabled” : true后必选。 |
@@ -491,7 +491,7 @@ ranktable.json文件权限需要设置为640,详细内容请根据以下样例
491 | 服务证书私钥 | mindie-service/security/grpc/keys/ | 支持私钥文件加密场景。开启“interNodeTLSEnabled” : true后必选。 |491 | 服务证书私钥 | mindie-service/security/grpc/keys/ | 支持私钥文件加密场景。开启“interNodeTLSEnabled” : true后必选。 |
492 | 服务证书吊销列表 | mindie-service/security/grpc/certs/ | 必选。 |492 | 服务证书吊销列表 | mindie-service/security/grpc/certs/ | 必选。 |
493 | 服务证书私钥的加密口令 | mindie-service/security/pass/ | 必选。 |493 | 服务证书私钥的加密口令 | mindie-service/security/pass/ | 必选。 |
494- 494+ 
495 b. 在{MindIE安装目录}/latest下执行以下命令修改证书文件的用户权限。495 b. 在{MindIE安装目录}/latest下执行以下命令修改证书文件的用户权限。
496 496 
497 ```shell497 ```shell
@@ -530,7 +530,7 @@ ranktable.json文件权限需要设置为640,详细内容请根据以下样例
530 chmod 400 mindie-service/security/keys/*530 chmod 400 mindie-service/security/keys/*
531 chmod 400 mindie-service/security/pass/*531 chmod 400 mindie-service/security/pass/*
532 ```532 ```
533- 533+ 
5347. 使用以下命令配置环境变量。5347. 使用以下命令配置环境变量。
535 535 
536 ```bash536 ```bash
@@ -539,7 +539,7 @@ ranktable.json文件权限需要设置为640,详细内容请根据以下样例
539 source /usr/local/Ascend/atb-models/set_env.sh # ATB Models539 source /usr/local/Ascend/atb-models/set_env.sh # ATB Models
540 ```540 ```
541 541 
542-8. 将模型权重文件(由用户自行准备)拷贝到config.json中模型配置参数“modelWeightPath”指定的目录下。 542+8. 将模型权重文件(由用户自行准备)拷贝到config.json中模型配置参数“modelWeightPath”指定的目录下。
543 543 
544 ```bash544 ```bash
545 cp -r {模型权重文件所在路径} /data/atb_testdata/weights/llama1-65b-safetensors545 cp -r {模型权重文件所在路径} /data/atb_testdata/weights/llama1-65b-safetensors
@@ -138,8 +138,8 @@
138 138 
139 | 包名 (其中`${version}`为实际版本) |139 | 包名 (其中`${version}`为实际版本) |
140 | -------------------------------------------- |140 | -------------------------------------------- |
141- | torch-${version}+cpu-cp310-cp310-linux_x86_64.whl |141+ | torch-${version}+cpu-cp311-cp311-linux_x86_64.whl |
142- | torch-${version}-cp310-cp10-linux_aarch64.whl |142+ | torch-${version}-cp311-cp311-linux_aarch64.whl |
143 | ... |143 | ... |
144 144 
145 - 根据所使用的环境中的python版本以及cpu类型,选择对应版本的torch安装包。145 - 根据所使用的环境中的python版本以及cpu类型,选择对应版本的torch安装包。
@@ -147,8 +147,8 @@
147- 安装147- 安装
148 148 
149 ```bash149 ```bash
150- # 安装torch 2.1.0 的python 3.10 的arm版本为例150+ # 安装torch 2.9.0 的python 3.11 的arm版本为例
151- pip install torch-2.1.0-cp310-cp310-linux_aarch64.whl151+ pip install torch-2.9.0-cp311-cp311-linux_aarch64.whl
152 ```152 ```
153 153 
154#### 1.3.2 安装torch_npu154#### 1.3.2 安装torch_npu
@@ -158,14 +158,13 @@
158| 包名 (其中`${version}`为实际版本) |158| 包名 (其中`${version}`为实际版本) |
159| --------------------------- |159| --------------------------- |
160| pytorch_v${version}_py311.tar.gz |160| pytorch_v${version}_py311.tar.gz |
161-| pytorch_v${version}_py310.tar.gz |
162| ... |161| ... |
163 162 
164- 安装选择与torch版本以及python版本一致的npu_torch版本163- 安装选择与torch版本以及python版本一致的npu_torch版本
165 164 
166```bash165```bash
167-# 安装 torch_npu,以 torch 2.1.0,python 3.10 的版本为例166+# 安装 torch_npu,以 torch 2.9.0,python 3.11 的版本为例
168-tar -zxvf pytorch_v2.1.0_py310.tar.gz167+tar -zxvf pytorch_v2.9.0_py311.tar.gz
169pip install torch*_aarch64.whl168pip install torch*_aarch64.whl
170```169```
171 170 
@@ -201,7 +200,7 @@ pip install torch*_aarch64.whl
201- 场景一:获取MindIE的整包进行安装200- 场景一:获取MindIE的整包进行安装
202 - 下载编译好的包201 - 下载编译好的包
203 - [下载链接](https://www.hiascend.com/developer/download/community/result?module=ie+pt+cann)202 - [下载链接](https://www.hiascend.com/developer/download/community/result?module=ie+pt+cann)
204- 203+ 
205 | 包名 (其中`${version}`为实际版本) |204 | 包名 (其中`${version}`为实际版本) |
206 | -------------------------------------- |205 | -------------------------------------- |
207 | Ascend-mindie_${version}_linux-x86_64_abi{0}.run |206 | Ascend-mindie_${version}_linux-x86_64_abi{0}.run |
@@ -244,8 +243,8 @@ pip install torch*_aarch64.whl
244 243 
245 | 包名 (其中`${version}`为实际版本) |244 | 包名 (其中`${version}`为实际版本) |
246 | ------------------------------------------------------------ |245 | ------------------------------------------------------------ |
247- | Ascend-mindie-atb-models_${version}_linux-aarch64_py310_torch2.1.0-abi0.tar.gz |246+ | Ascend-mindie-atb-models_${version}_linux-aarch64_py311_torch2.9.0-abi0.tar.gz |
248- | Ascend-mindie-atb-models_${version}_linux-aarch64_py310_torch2.1.0-abi1.tar.gz |247+ | Ascend-mindie-atb-models_${version}_linux-aarch64_py311_torch2.9.0-abi1.tar.gz |
249 | ... |248 | ... |
250 249 
251 - 将文件放置在/usr/local/Ascend/路径下250 - 将文件放置在/usr/local/Ascend/路径下
@@ -322,7 +321,7 @@ source /usr/local/Ascend/atb-models/set_env.sh
322 321 
323 - 确认脚本中没有覆盖日志相关的环境变量322 - 确认脚本中没有覆盖日志相关的环境变量
324 - 确认服务器内存充足323 - 确认服务器内存充足
325- 324+ 
326### 日志开关325### 日志开关
327 326 
328- 模型仓日志327- 模型仓日志
@@ -363,7 +362,7 @@ source /usr/local/Ascend/atb-models/set_env.sh
363 - 打开CANN日志362 - 打开CANN日志
364 363 
365 ```shell364 ```shell
366- export ASCEND_SLOG_PRINT_TO_STDOUT=1 #CANN日志是否输出到控制台 365+ export ASCEND_SLOG_PRINT_TO_STDOUT=1 #CANN日志是否输出到控制台
367 export ASCEND_GLOBAL_LOG_LEVEL=1 #CANN日志级别366 export ASCEND_GLOBAL_LOG_LEVEL=1 #CANN日志级别
368 export ASCEND_MODULE_LOG_LEVEL=OP=1 #加速库日志级别367 export ASCEND_MODULE_LOG_LEVEL=OP=1 #加速库日志级别
369 # 0:对应DEBUG级别。368 # 0:对应DEBUG级别。
@@ -1,6 +1,6 @@
1[tool.black]1[tool.black]
2line-length = 1202line-length = 120
3-target-version = ['py310']3+target-version = ['py311']
4skip-string-normalization = false4skip-string-normalization = false
5include = '\.pyi?$'5include = '\.pyi?$'
6exclude = '''6exclude = '''
@@ -10,7 +10,7 @@
10 10 
11include_guard(GLOBAL)11include_guard(GLOBAL)
12 12 
13-find_package(Python3 3.7 COMPONENTS Interpreter)13+find_package(Python3 3.10 COMPONENTS Interpreter)
14set(HI_PYTHON ${Python3_EXECUTABLE})14set(HI_PYTHON ${Python3_EXECUTABLE})
15message(STATUS "HI_PYTHON = ${Python3_EXECUTABLE}")15message(STATUS "HI_PYTHON = ${Python3_EXECUTABLE}")
16 16 
@@ -57,4 +57,4 @@ message(STATUS "HI_PYTHON_INC_TEMP = ${HI_PYTHON_INC_TEMP}")
57message(STATUS "HI_PYTHON_LIB_TEMP = ${HI_PYTHON_LIB_TEMP}")57message(STATUS "HI_PYTHON_LIB_TEMP = ${HI_PYTHON_LIB_TEMP}")
58 58 
59set(HI_PYTHON_INC ${HI_PYTHON_INC_TEMP} CACHE STRING "python include path" FORCE)59set(HI_PYTHON_INC ${HI_PYTHON_INC_TEMP} CACHE STRING "python include path" FORCE)
60-set(HI_PYTHON_LIB ${HI_PYTHON_LIB_TEMP} CACHE STRING "python library libpython3.7m.a" FORCE)60+set(HI_PYTHON_LIB ${HI_PYTHON_LIB_TEMP} CACHE STRING "python library" FORCE)
@@ -34,7 +34,7 @@ mk_custom_path() {
34}34}
35 35 
36py_version_check(){36py_version_check(){
37- local pyver_set="3.7 3.8 3.9 3.10 3.11"37+ local pyver_set="3.10 3.11"
38 local cur_date="$(date +"%Y-%m-%d %H:%M:%S")"38 local cur_date="$(date +"%Y-%m-%d %H:%M:%S")"
39 which python3 > /dev/null 2>&139 which python3 > /dev/null 2>&1
40 if [ $? -eq 0 ]; then40 if [ $? -eq 0 ]; then
@@ -46,8 +46,8 @@ py_version_check(){
46 return 046 return 0
47 fi47 fi
48 done48 done
49- 49+ 
50- echo "[Common] [$cur_date] [WARNING]: $python_version is not in Python3.7.x, Python3.8.x, Python3.9.x, Python3.10.x, Python3.11.x."50+ echo "[Common] [$cur_date] [WARNING]: $python_version is not in Python3.10.x, Python3.11.x."
51 return 151 return 1
52 else52 else
53 echo "[Common] [$cur_date] [WARNING]: $python_version cannot be identified as a standard version, please check manually."53 echo "[Common] [$cur_date] [WARNING]: $python_version cannot be identified as a standard version, please check manually."
@@ -58,4 +58,3 @@ py_version_check(){
58 return 158 return 1
59 fi59 fi
60}60}
61-