# aishperf_openness **Repository Path**: aishperf-caict/aishperf_openness ## Basic Information - **Project Name**: aishperf_openness - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 17 - **Forks**: 2 - **Created**: 2026-06-17 - **Last Updated**: 2026-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AISHPerf Openness ### 项目概述 `aishperf_openness` 是 AISHPerf 的开放评测工作区,用于统一管理评测套件、模型/芯片/框架实体、评测规则、执行参数、指标和结果。项目支持本地校验、独立运行、结果生成和本地归档,主要覆盖大模型推理、CANN 软件栈、算子生成智能体和运维智能体评测。 ### 系统架构 ```mermaid flowchart TB User["用户 / CI / 评测平台"] --> CLI["run.cli 统一命令入口"] CLI --> Contract["contract 规范与校验"] CLI --> Entity["entities 评测对象"] CLI --> Suite["suites 评测套件"] CLI --> Component["components 公共能力"] Entity --> Model["模型实体"] Entity --> Chip["芯片/集群实体"] Entity --> Framework["框架实体"] Entity --> Dataset["数据集/工具实体"] Suite --> Inference["inference_llm 大模型推理"] Suite --> CANN["benchmark-cann 软件站专业评测"] Suite --> Kernel["KernelEval 算子生成智能体评测"] Suite --> AIOps["aiops-eval 运维智能体评测"] Inference --> Runtime["standalone / runner 执行适配层"] CANN --> Runtime Kernel --> Runtime AIOps --> Runtime Runtime --> Target["容器、GPU、Kubernetes、AEMU、模型服务"] Runtime --> Result["runs//result.json 与 artifacts/"] Result --> Archive["本地归档"] ``` ### 模块职责与依赖关系 | 模块 | 职责 | 主要依赖方向 | | --- | --- | --- | | `run/` | CLI、套件加载、任务展开、执行和提交 | 读取 `contract/`、`entities/`、`suites/` 和 `components/` | | `contract/` | Suite、Entity、Rule、Metric 的 Schema 和开放性校验 | 底层规范模块,不依赖具体 Suite | | `entities/` | 注册模型、芯片、框架、工具和数据集等评测对象 | 被 `run/` 和 Suite 运行计划引用 | | `suites/` | 各领域评测规则、场景、指标及执行适配器 | 依赖公共契约和运行环境,不反向依赖具体平台实现 | | `components/` | 通用指标、执行器、报告和来源追踪能力 | 供 `run/` 和各 Suite 复用 | | `community/` | 贡献、安全、Owner 和演进规范 | 文档与治理模块 | | `docs/` | 使用、开发、平台接入和边界说明 | 面向使用者与开发者 | | `runs/` | 每次运行的配置、日志、原始产物和统一结果 | 由 `run.cli run suite` 生成 | 统一执行流程分为统一框架层和 Suite 适配层。实际运行路径为: ```text 准备环境和依赖 -> 校验 Suite 和 Entity -> 发起 Suite 运行 -> 加载规则、指标和场景 -> 生成运行计划 -> Preflight 环境检查 -> 调用 Suite 执行器 -> 解析原始报告 -> 生成统一 result.json / run.json -> 检查结果 -> 本地归档 ``` 每一步的操作和作用如下: | 步骤 | 怎么操作 | 系统在做什么 | 主要产物 | | --- | --- | --- | --- | | 1. 准备环境变量 | 执行 `export PATH=/usr/local/python3.11.14/bin:$PATH`、`export EVALSCOPE_BIN=/usr/local/python3.11.14/bin/evalscope`、`export AISHPERF_CONTAINER_PROJECT_ROOT=suites/inference_llm/standalone/compatibility`、`export AISHPERF_IN_CONTAINER=true` | 指定 Python 和 evalscope 路径,并告诉套件当前在容器内执行兼容性评测逻辑 | 当前 Shell 环境变量 | | 2. 校验 Suite | 执行 `python3 -m run.cli check suite suites/inference_llm` | 检查 `suite.yaml`、规则文件、指标文件、目录结构和开放性约束是否符合统一规范 | Suite 校验报告 | | 3. 校验 Entity | 执行 `python3 -m run.cli check entity model.mock.openai_compatible`、`python3 -m run.cli check entity chip.ascend.910b`、`python3 -m run.cli check entity framework.vllm` | 检查模型、芯片、框架等 Entity 的字段和结构是否合法 | Entity 校验报告 | | 4. 发起性能评测 | 执行 `python3 -m run.cli run suite suites/inference_llm --entity model.deepseek.deepseek-v4-flash --entity chip.ascend.910b --entity framework.vllm --rule perf-basic --exec-config suites/inference_llm/rules/exec_params_perf_single.json --out runs/perf-single-910b-001` | 加载性能评测规则和执行配置,调度 `suites/inference_llm/logic/runner.py` | `runs/perf-single-910b-001/` | | 5. 发起兼容性评测 | 执行 `python3 -m run.cli run suite suites/inference_llm --entity model.deepseek.deepseek-v4-flash --entity chip.ascend.910b --entity framework.vllm --rule compat-basic --exec-config suites/inference_llm/rules/exec_params_com_single.json --out runs/com-single-910b-001` | 加载兼容性评测规则和执行配置,调度 `suites/inference_llm/logic/runner.py` | `runs/com-single-910b-001/` | | 6. 生成运行计划 | 由 Suite 的 `logic/runner.py` 自动完成 | 根据 Rule、Entity 和 `exec_config` 生成待执行 case,例如性能场景或兼容性数据集 | case 列表和执行配置 | | 7. Preflight 环境检查 | 由 Suite 适配层自动调用 | 检查 Python、目标容器、模型服务、`vllm` 或 `evalscope` 等条件是否满足,避免直接进入长时间失败任务 | `runs//artifacts/preflight.json` | | 8. 调用 Suite 执行器 | 由 Suite 适配层自动调用原生命令 | 性能评测调用 `vllm bench` 相关流程;兼容性评测调用 `evalscope` 数据集评测流程 | `runs//artifacts/command-report.json` 和 Suite 原生输出目录 | | 9. 解析原始报告 | 由 Suite 的 `parse_report.py` 自动完成 | 将原生命令输出、CSV、JSON 或日志解析成统一指标 | 统一 metrics 和 case 执行状态 | | 10. 生成统一结果 | `run/` 统一框架自动完成 | 校验 Suite runner 返回结果,并写出统一结果和运行回执 | `runs//result.json`、`runs//run.json`、`runs//logs/runner.log` | | 11. 检查结果 | 执行 `cat runs//result.json`,并查看 `runs//artifacts/` | 确认状态、指标、case 明细和原始产物是否符合预期 | 人工确认后的本地评测结果 | | 12. 本地归档 | 执行 `python3 -m run.cli submit runs/ --mode standalone` | 读取 `result.json` 和 `run.json`,校验结果结构并生成本地 accepted 响应,便于后续留档 | 本地 accepted 结果 | 职责边界:`run/` 统一框架负责 Suite 加载、Suite 校验、runner 调度、统一结果校验和 `result.json/run.json` 写出;各 Suite 的适配层负责规则、指标、场景加载,Preflight,原生命令执行和报告解析。Entity 完整校验是独立命令,不是 `run suite` 的自动步骤。当前 README 仅承诺本地归档流程;远程平台提交需要平台接口、鉴权和联调完成后再启用。 ### inference_llm 套件使用 `suites/inference_llm` 是大模型推理评测套件,主要用于对 OpenAI-compatible 模型服务进行本地推理评测。它覆盖两类任务: | 任务类型 | 规则 | 主要作用 | 底层执行方式 | | --- | --- | --- | --- | | 性能评测 | `perf-basic` | 评测吞吐、时延、并发请求等推理性能指标 | 在目标容器中调用 `vllm bench` 相关流程 | | 兼容性评测 | `compat-basic` | 通过数据集任务验证模型服务的接口兼容性和回答能力 | 在目标容器中调用 `evalscope` 相关流程 | 使用前需要先准备好目标推理容器、模型文件和模型服务参数。该套件不会创建容器或准备模型文件;性能评测可按 `exec_config` 中的启动命令在容器内拉起服务,兼容性评测则会访问配置中的 OpenAI-compatible 服务地址。 下面命令均在项目根目录执行。 ```bash # 校验套件 python3 -m run.cli check suite suites/inference_llm # 校验实体 python3 -m run.cli check entity model.mock.openai_compatible python3 -m run.cli check entity chip.ascend.910b python3 -m run.cli check entity framework.vllm ``` 配置容器内评测运行环境: ```bash export PATH=/usr/local/python3.11.14/bin:$PATH export EVALSCOPE_BIN=/usr/local/python3.11.14/bin/evalscope export AISHPERF_CONTAINER_PROJECT_ROOT=suites/inference_llm/standalone/compatibility export AISHPERF_IN_CONTAINER=true ``` 本示例使用仓内已有的两个执行配置文件: | 配置文件 | 作用 | | --- | --- | | `suites/inference_llm/rules/exec_params_perf_single.json` | 性能评测配置:DeepSeek V4 Flash,单场景,输入/输出长度 1k/1k,并发 1,请求数 128 | | `suites/inference_llm/rules/exec_params_com_single.json` | 兼容性评测配置:DeepSeek V4 Flash,数据集包含 `mmlu_test`、`CSQA_test`、`hmmt25_test` | 性能评测示例: ```bash python3 -m run.cli run suite suites/inference_llm \ --entity model.deepseek.deepseek-v4-flash \ --entity chip.ascend.910b \ --entity framework.vllm \ --rule perf-basic \ --exec-config suites/inference_llm/rules/exec_params_perf_single.json \ --out runs/perf-single-910b-001 ``` 兼容性评测示例: ```bash python3 -m run.cli run suite suites/inference_llm \ --entity model.deepseek.deepseek-v4-flash \ --entity chip.ascend.910b \ --entity framework.vllm \ --rule compat-basic \ --exec-config suites/inference_llm/rules/exec_params_com_single.json \ --out runs/com-single-910b-001 ``` 执行时,统一框架会先校验 `suite.yaml`,再加载 `perf-basic` 或 `compat-basic` 规则,根据 Entity 和 `exec_config` 生成运行计划;随后 `suites/inference_llm/logic/runner.py` 会执行 Preflight,确认 Docker、目标容器、模型服务、`vllm` 或 `evalscope` 等条件可用,再调用对应的 standalone 评测脚本,最后把原始报告转换为统一的 `result.json`。 ### 运行结果与本地归档 每次运行的主要产物如下: | 产物 | 说明 | | --- | --- | | `runs//run.json` | 运行元数据与输入信息 | | `runs//result.json` | AISHPerf 统一结果 | | `runs//logs/` | Runner 日志 | | `runs//artifacts/` | Suite 原生命令、配置、报告和明细结果 | ```bash # 查看结果 cat runs//result.json # 本地归档 python3 -m run.cli submit runs/ --mode standalone ``` 推荐公共工作流:`check -> run -> inspect result -> archive`。更详细的套件参数请查看对应目录下的 README。