MindIE-Server对于Python的环境要求为Python3.10,如果环境中的Python3.10不是默认版本,需要参考如下方法添加环境变量(Python路径根据实际路径进行修改)。
export LD_LIBRARY_PATH=/usr/local/python3.10.13/lib:$LD_LIBRARY_PATH export PATH=/usr/local/python3.10.13/bin:$PATH
MindIE-Server软件包Ascend-mindie-service_{version}_linux-{arch}.run解压后包含的文件如表1所示。
目录 |
文件 |
说明 |
---|---|---|
bin |
ibis |
model wrapper的输入管理模块Python文件存放目录,该目录下的文件仅由model_wrapper模块调用,无需用户手动执行。 |
utils |
model wrapper的Python工具类文件存放目录,该目录下文件仅由model_wrapper模块调用,无需用户手动执行。 |
|
infer_engine-0.0.1-py3-none-any.whl |
benchmark Python接口包。 |
|
llm_engine_test |
性能测试工具。 |
|
mindieclient-{version}-py3-none-any.whl |
MindIE-Client工具安装包。 |
|
mindieserver_backend_connector |
进程间通信模块。 |
|
mindieservice_daemon |
主程序。 |
|
model.py |
模型匹配文件。该文件仅由推理服务主进程调用,无需用户手动执行。 |
|
ock_hntc-{version}-cp310-cp310-linux_{arch}.whl |
加速库模型安装包。 |
|
seceasy_encrypt |
加密工具。 |
|
standard_model.py |
普通推理模型。该文件仅由model wrapper模块调用,无需用户手动执行。 |
|
standard_model_mock.py |
普通推理的假模型。该文件仅由model wrapper模块调用,无需用户手动执行。 |
|
tokenizer.py |
文本和token id的互转工具。该文件仅由推理服务主进程调用,无需用户手动执行。 |
|
version |
版本信息。 |
|
conf |
config.json |
配置文件。 |
include |
backend |
头文件。 |
sdk |
头文件。 |
|
lib |
libconfig_manager.so |
推理服务so文件。 |
libcrypto.so |
||
libhse_authorization.so |
||
libhse_cryption.so |
||
libmindieserver_backend.so |
||
libmindieserver_common.so |
||
libmindieservice_endpoint.so |
||
libmindieserver_engine.so |
||
libmindieserver_ibis.so |
||
libssl.so |
||
logs |
- |
日志文件。 |
scripts |
config_mindie_server_tls_cert.py |
密钥口令加密工具。 |
security |
ca |
根证书目录。 |
certs |
服务证书和服务证书吊销列表目录。 |
|
keys |
服务证书私钥目录。 |
|
pass |
密钥口令加密文件目录。 |
chmod +x ./Ascend-mindie-service_{version}_linux-{arch}.run ./Ascend-mindie-service_{version}_linux-{arch}.run --install(--install-path=${用户指定路径}) cd /usr/local/Ascend/mindie/latest/
chown -R username:username mindie-service
chmod 750 mindie-service chmod -R 550 mindie-service/bin chmod -R 550 mindie-service/lib chmod -R 550 mindie-service/include/ chmod -R 550 mindie-service/scripts/ chmod 750 mindie-service/logs chmod 750 mindie-service/conf chmod 640 mindie-service/conf/config.json chmod 750 mindie-service/security/ chmod -R 700 mindie-service/security/*
cd ../conf vim config.json
配置文件config.json格式如下。
{ "OtherParam": { "ResourceParam" : { "cacheBlockSize" : 128, "preAllocBlocks" : 4 }, "LogParam" : { "logLevel" : "Info", "logPath" : "/logs/mindservice.log" }, "ServeParam" : { "ipAddress" : "127.0.0.1", "port" : 1025, "maxLinkNum" : 300, "httpsEnabled" : true, "tlsCaPath" : "security/ca/", "tlsCaFile" : ["ca.pem"], "tlsCert" : "security/certs/server.pem", "tlsPk" : "security/keys/server.key.pem", "tlsPkPwd" : "security/pass/mindie_server_key_pwd.txt", "kmcKsfMaster" : "tools/pmt/master/ksfa", "kmcKsfStandby" : "tools/pmt/standby/ksfb", "tlsCrl" : "security/certs/server_crl.pem" } }, "WorkFlowParam": { "TemplateParam" : { "templateType": "Standard", "templateName" : "Standard_llama", "pipelineNumber" : 1 } }, "ModelDeployParam": { "maxSeqLen" : 2560, "npuDeviceIds" : [[0,1,2,3]], "ModelParam" : [ { "modelInstanceType": "Standard", "modelName" : "llama_65b", "modelWeightPath" : "/data/atb_testdata/weights/llama1-65b-safetensors", "worldSize" : 4, "cpuMemSize" : 5, "npuMemSize" : 8, "backendType": "atb" } ] }, "ScheduleParam": { "maxPrefillBatchSize" : 50, "maxPrefillTokens" : 8192, "prefillTimeMsPerReq" : 150, "prefillPolicyType" : 0, "decodeTimeMsPerReq" : 50, "decodePolicyType" : 0, "maxBatchSize" : 200, "maxIterTimes" : 512, "maxPreemptCount" : 200, "supportSelectBatch" : false, "maxQueueDelayMicroseconds" : 5000 } }
证书文件 |
默认目标路径 |
备注 |
开启https后是否必选 |
---|---|---|---|
根证书 |
软件包解压目录/security/ca/。 |
支持多个CA证书。 |
开启https后必选。 |
服务证书 |
软件包解压目录/security/cert/。 |
- |
开启https后必选。 |
服务证书私钥 |
软件包解压目录/security/keys/。 |
支持私钥文件加密场景。 |
开启https后必选。 |
服务证书吊销列表 |
软件包解压目录/security/cert/。 |
- |
可选。 |
vim config.json
chown -R HwHiAiUser:HwHiAiUser mindie-service/security chmod 400 mindie-service/security/ca/* chmod 400 mindie-service/security/cert/* chmod 400 mindie-service/security/keys/* chmod 400 mindie-service/security/cert/*
su HwHiAiUser python3 scripts/config_mindie_server_tls_cert.py 软件包解压目录
证书文件 |
默认目标路径 |
是否必选 |
备注 |
---|---|---|---|
密钥口令加密文件目录 |
软件包解压目录/security/pass/。 |
若服务证书私钥文件启用了密钥加密,必选。 |
服务证书私钥文件的加密密钥,由“软件包解压目录/security/config_mindie_server_tls_cert.py”脚本生成。 |
KMC密钥库文件 |
软件包解压目录/tools/pmt/master/。 |
若服务证书私钥文件启用了密钥加密,必选。 |
由“软件包解压目录/scripts/config_mindie_server_tls_cert.py”脚本生成。 |
KMC密钥库文件备份文件 |
软件包解压目录/tools/pmt/standby/。 |
若服务证书私钥文件启用了密钥加密,必选。 |
由“软件包解压目录/scripts/config_mindie_server_tls_cert.py”脚本生成。 |
set_env.sh环境配置文件如下所示,详情请参见《MindIE-Service开发指南》中“附录 > 环境变量”章节。
source /usr/local/Ascend/ascend-toolkit/set_env.sh # CANN source /usr/local/Ascend/mindie/latest/mindie-rt/mindie-atb/set_env.sh # ATB source /home/package/atb_models/set_env.sh # atb_models路径
path="${BASH_SOURCE[0]}" mies_path=$(cd $(dirname $path); pwd ) export MIES_INSTALL_PATH=${mies_path}/latest export LD_LIBRARY_PATH=${MIES_INSTALL_PATH}/lib:${LD_LIBRARY_PATH} export PYTHONPATH=${MIES_INSTALL_PATH}/bin:${PYTHONPATH} export PYTHONDONTWRITEBYTECODE=1 # 服务启动会在bin目录下生成__pycache__目录,bin目录没有写入权限,需要关闭生成__pycache__目录 export MIES_CONTINUOUS_BATCHING=1 export ATB_OPERATION_EXECUTE_ASYNC=1 export TASK_QUEUE_ENABLE=1 export HCCL_BUFFSIZE=120 # 运行时日志 export ASCEND_SLOG_PRINT_TO_STDOUT=0 export ASCEND_GLOBAL_LOG_LEVEL=3 export ASCEND_GLOBAL_EVENT_ENABLE=0 # 加速库日志 export ATB_LOG_TO_FILE=0 export ATB_LOG_TO_FILE_FLUSH=0 export ATB_LOG_TO_STDOUT=0 export ATB_LOG_LEVEL=ERROR # 模型库日志 export ASDOPS_LOG_TO_FILE=0 export ASDOPS_LOG_TO_STDOUT=0 export ASDOPS_LOG_LEVEL=ERROR # OCK后处理日志 export OCK_LOG_LEVEL=ERROR export OCK_LOG_TO_STDOUT=0 # Python日志 export MIES_PYTHON_LOG_TO_FILE=0 export MIES_PYTHON_LOG_TO_STDOUT=0 export MIES_PYTHON_LOG_PATH=/workspace/log/pythonlog.log export MIES_PYTHON_LOG_LEVEL=INFO
cp 模型权重文件所在路径 /data/atb_testdata/weights/llama1-65b-safetensors
su HwHiAiUser source set_env.sh
./bin/mindieservice_daemon
Ascend-cann-toolkit工具会在执行服务启动的目录下生成kernel_meta_temp_xxxx目录,该目录为算子的cce文件保存目录。因此需要在当前用户拥有写权限目录下(例如Ascend-mindie-service_{version}_linux-{arch}目录,或者用户在Ascend-mindie-service_{version}_linux-{arch}目录下自行创建临时目录)启动推理服务。
回显如下则说明启动成功。
Daemon start success!