资讯动态

triton-inference-server-ge-backend 排障指南:开启 Plog 日志定位 NPU 推理错误

发布时间:2026/9/18 10:44:19 来源:尧图企业网站定制
triton-inference-server-ge-backend 排障指南开启 Plog 日志定位 NPU 推理错误【免费下载链接】triton-inference-server-ge-backendge-backend基于triton inference server框架实现对接NPU生态快速实现传统CV\NLP等模型的服务化。项目地址: https://gitcode.com/cann/triton-inference-server-ge-backend本指南面向使用 CANN 开源仓库 triton-inference-server-ge-backend 在昇腾 NPU 上完成模型服务化的开发者。当 Triton Server 自身日志无法定位模型解析、编译或推理失败原因时可通过本指南开启 CANN 的 Plog算子/GE 侧详细日志将日志落盘并检索ERROR字段从而拿到报错的深层根因。读完本文你将掌握 Plog 的核心概念、启动参数、标准输出重定向方法与 ERROR 检索排障流程。一、什么时候需要 Plog两层日志体系与排障场景ge-backend 运行时的日志分为两层Triton Server / backend 自身日志由 backend 源码中的LOG_MESSAGE(TRITONSERVER_LOG_*)输出负责记录 ACL 初始化、GE 初始化、图会话创建、模型加载、请求推理等框架侧事件见 src/inference.cpp、src/model_instance_state.cpp、src/model_state.cpp。CANN Plog 日志来自昇腾 CANN 的 ACL/GE 等底层组件信息粒度更细包含算子构建、图融合Fusion pass、设备侧执行等过程是判断“框架调用是否成功、底层为何失败”的关键证据。当出现以下典型错误时仅凭框架日志往往只能看到“失败的结果”看不到“失败的原因”此时就应打开 Plog 查看详细原因。这些场景在仓库的问题定位.md 中均有明确描述场景框架日志特征对应阶段图解析问题aclgrphParseONNX execute failed, ret is: xxxxxONNX 图解析常见原因为未自行导出、使用官方镜像、输入输出字段不一致编译问题session_-CompileGraph failed, ret is: xxxxxGE 图编译推理问题execute model failed, ret is: xxxxx模型执行推理这三类错误的日志文案在源码中均有对应实现例如model_instance_state.cpp 中aclInit失败会输出aclInit failed, ret is: ...model_instance_state.cpp 中ge::GEInitialize失败会输出GEInitialize failed.model_instance_state.cpp 中会话创建失败会输出Create session failed.。框架日志给出的是“哪一步失败、返回码是多少”而 Plog 会继续向下钻取给出底层算子/图引擎的具体报错。二、Plog 是什么功能定位与默认存储路径Plog 日志主要用于记录系统运行过程及异常信息帮助用户快速定位系统运行过程中出现的问题以及开发过程中的程序调试问题。开发者可通过环境变量控制日志的落盘路径以及日志级别等信息。默认情况下Plog 日志会写入默认存储路径$HOME/ascend/log。其中$HOME为运行 tritonserver 进程的用户的 home 目录日志按模块、进程与时间组织落盘便于留存与回溯。Plog 日志内容量大、信息细默认落盘后不方便实时观察为了方便调试官方推荐将 Plog 打印到标准输出stdout中再配合 shell 重定向将输出保存到文件即可兼顾“实时可见”与“持久化留存”。详细的官方参数说明可参见昇腾官方文档中关于环境变量的章节原文档中给出的链接。三、启动方法两个环境变量 输出重定向3.1 通过环境变量开启 Plog在启动 tritonserver 之前先通过环境变量完成两件事将 Plog 重定向到标准输出、调整日志级别export ASCEND_SLOG_PRINT_TO_STDOUT1 export ASCEND_GLOBAL_LOG_LEVEL1参数含义如下环境变量取值作用ASCEND_SLOG_PRINT_TO_STDOUT1表示开启0表示关闭将 CANN Plog 日志输出到标准输出stdout便于与 Triton 日志一同捕获ASCEND_GLOBAL_LOG_LEVEL0~3级别从低到高控制 Plog 日志级别级别越低输出越详细1为 INFO 级别可覆盖正常启动信息与异常信息提示级别0DEBUG输出最为详尽但数据量极大通常用于深挖算子级细节日常排障使用1INFO即可看到足够多的上下文。更完整的取值与级别定义请以昇腾官方文档为准。3.2 启动 tritonserver 并重定向日志在启动脚本后添加重定向将标准输出写入plog.log文件/opt/tritonserver/bin/tritonserver --model-repository {/path/to/models} plog.log其中/opt/tritonserver/bin/tritonserver为 Triton Server 可执行文件路径AscendHub 镜像中已预置参考快速入门.md 的说明--model-repository {/path/to/models}指定模型仓库目录需替换为实际路径例如仓库示例模型目录 example/resnetplog.log将 stdout含 Plog重定向到当前目录下的plog.log文件。执行后Plog 日志会与 Triton 日志一并写入plog.log。由于 Plog 日志量较大建议启动主进程时务必把输出重定向至文件避免终端刷屏导致关键信息丢失。四、成功启动结果认识 Plog 日志格式打开 Plog 后若服务正常启动输出中会包含类似下图的 Plog 日志从上图可以直观认识 Plog 日志的典型格式一条日志通常包含以下字段时间戳精确到毫秒例如2025-10-23 03:36:34.747用于对齐事件时序进程信息PID32328与进程类型如python用于区分日志来源进程日志级别如INFO正常启动/注册信息、ERROR异常信息模块/阶段如type:[...] stage:[STAGE_BUILD]表明当前处于 GE 的哪个构建阶段核心内容如Fusion pass[trans_matmul_bias] has been registered说明对应融合算子已在构建阶段成功注册。这类INFO级别的 Fusion pass 注册日志属于正常启动信息表明 GE 已完成图优化算子的注册可以据此判断底层 GE 初始化、建图流程已正常推进。五、在 plog.log 中查找 ERROR定位根因的标准动作服务启动或推理失败后在保存好的plog.log中检索ERROR字段即可快速定位具体报错原因grep -n ERROR plog.log也可配合上下文查看报错前后的相关日志帮助还原出错现场grep -n -C 5 ERROR plog.log结合问题定位.md 的定位思路完整排障动作如下开启 Plog 环境变量并重定向启动 tritonserver复现问题在plog.log中搜索ERROR拿到底层具体报错对照错误所属阶段判断问题类型图解析阶段报错对应框架日志aclgrphParseONNX execute failed重点排查 ONNX 文件是否自行导出、输入输出字段是否与模型一致编译阶段报错对应session_-CompileGraph failed重点排查图编译相关配置推理阶段报错对应execute model failed需进一步结合 client 端日志核对模型名称、版本、input/output 配置参考 example/client.py。若精度异常而非进程报错可尝试--backend-confignpu_ge,session.ge.exec.precision_mode_v2origin对比精度默认插件使用 fp16 推理详见问题定位.md。六、注意事项与配套工具6.1 使用建议日志量大Plog 日志较多建议启动主进程时将输出重定向至文件如plog.log避免终端缓冲丢失早期日志及时关闭排障完成后建议取消ASCEND_SLOG_PRINT_TO_STDOUT1与较低日志级别恢复默认落盘行为避免持续产生大体积日志拖累推理性能版本对齐不同 CANN 版本的环境变量行为与日志内容可能存在差异具体取值范围以当前环境的昇腾官方文档为准。6.2 与其它定位工具的分工Plog 侧重于“日志级”根因定位仓库中还提供了两个与之配套的底层诊断工具遇到不同问题时可按需组合使用DumpGE 使用方法通过--backend-confignpu_ge,dump_graph1导出 GE 图查看每一步融合/优化过程用于排查成图阶段问题Profiling 使用方法通过 profiling 采集算子执行情况用于性能瓶颈分析。典型流程是先用 Plog 定位“哪里报错、为什么报错”再用 DumpGE 分析图结构与融合过程最后用 Profiling 评估算子执行效率——三者共同构成完整的问题定位 与性能调优方法论 工具链。七、小结Plog 是 triton-inference-server-ge-backend 对接 CANN 生态后排障的关键手段。核心操作只需三步export ASCEND_SLOG_PRINT_TO_STDOUT1 export ASCEND_GLOBAL_LOG_LEVEL1 /opt/tritonserver/bin/tritonserver --model-repository {/path/to/models} plog.log grep -n ERROR plog.log通过将 Plog 重定向到标准输出并落盘、检索ERROR字段即可穿透框架层日志直达 GE/ACL 底层根因配合仓库中的问题定位.md 流程即可完成绝大多数 NPU 推理场景的错误定位。【免费下载链接】triton-inference-server-ge-backendge-backend基于triton inference server框架实现对接NPU生态快速实现传统CV\NLP等模型的服务化。项目地址: https://gitcode.com/cann/triton-inference-server-ge-backend创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价