# Blade LLMs Benchmark

## 1. 环境依赖

| 环境 | 信息 |
| :---: | :---: |
| OS | Linux Ubuntu aarch64 |
| CPU | Cortex-X925 + Cortex-A725 |
| GPU | DGX-Spark-GB10 |
| RAM | 128GB |
| 推理框架 | `vLLM` + `LLaMA.cpp` + `SGLang` |
| Docker Version | 29.1.3 |
| NVIDIA Driver | 580.126.09 |
| CUDA Toolkit | 13.0 |
| 服务器 | ai@192.168.120.32 |

## 2. 安装测试工具

```sh
uv tool install --python 3.12.0 'tool-eval-bench[perf] @ git+https://github.com/SeraphimSerapis/tool-eval-bench.git'
```

## 3. 测试目标

- 对比大模型参数规模对推理性能的影响（如 `27B / 122B-A10B` 等）
- 对比精度、量化、推理策略等影响（如 `BF16 / FP8 / AWQ-INT4 bit / NVFP4 / MTP / DFlash` 等）
- 对比并发批处理超参数对时延的影响（如 `pp = 512 | 2048` 或 `tg = 256 | 1024` 等）

> 统一对比不同参数规模、不同精度、不同并发等配置下大模型等推理性能，参考指标涵盖 `token/s`、`e2e_ttft`、`GPU` 等。

## 4. 指标定义

| 维度 | 定义 | 单位 | 期望 |
| :---: | :---: | :---: | :---: |
| `t/s` | 每秒生成的 token 数量 | - | $\uparrow$ |
| `ttfr` | 请求发出到收到首个流式响应片段的时间 | ms | $\downarrow$ |
| `tpot` | 首 token 之后生成每个 token 所需的平均时间 | ms | $\downarrow$ |
| `e2e_ttft` | 端到端首个 token 响应时间 | ms | $\downarrow$ |
| `est_ppt` | 预估提示词处理时间（预填充阶段） | ms | $\downarrow$ |
| `peak t/s` | 峰值每秒生成 token 数 | - | $\uparrow$ |
| `GPU` | 显存占用 | GB | $\downarrow$ |
| `Disk` | 模型磁盘占用 | GB | $\downarrow$ |
| `pp` | 提示词处理输入 token 数量 | - | - |
| `tg` | 生成的 token 数量 | - | - |
| `depth` | 历史上下文 token 数量（预填充长度） | - | - |
| `runs` | 重复测试次数取平均值 | - | - |
| `Avg` | 请求耗时总和的平均 | ms | $\downarrow$ |
| `P90` | 队列 90% 位的请求耗时 | ms | $\downarrow$ |
| `P99` | 队列 99% 位的请求耗时 | ms | $\downarrow$ |
| `flash-attn` | 是否开启 | - | $\surd$ |
| `np` | 并发数量 | - | - |
| `c` | 最大上下文窗口容量 | - | $\uparrow$ |
| `AWQ-4bit` | 仅权重量化 | - | AutoAWQ |
| `FP8` | 权重和激活量化 | - | llm-compressor |
| `NVFP4` | 全量化 | - | [TensorRT Model Optimizer](https://docs.vllm.ai/en/stable/features/quantization/modelopt) |
| `EXL2-2bit` | 仅权重量化 | - | exllamav2 |
| `GPTQ-4bit` | 仅权重量化 | - | AutoGPTQ |
| `INT8` | 全量化 | - | llm-compressor |

## 5. 文件解释

- 性能报告是 [`./documents/main.pdf`](./documents/main.pdf) 文件
- 模型推理部署 shell 脚本位于 [`./main.tex`](./main.tex) 文件内
- 最优部署推理脚本位于 [`./inference`](./inference) 目录
- 部分脚本位于 [`./scripts`](./scripts) 目录
- 模型权重位于 `ai@192.168.120.32` 服务器的 [`/home/ai/Illusionna/Desktop/models`](/home/ai/Illusionna/Desktop/models) 位置

## 6. 预览图

<div align="center">
    <img src="./outputs/demo.png" alt="Oops?" width="100%">
</div>


## 7. dflash 参考
https://github.com/AEON-7/vllm-dflash
