目录
目录README.md

面向异构算力的AI负载算力需求评估工具

1. 项目概述

随着AI模型在稠密计算、混合专家(MoE)、多模态等场景的爆发式增长,算力需求的多样性与硬件资源的代际差异矛盾日益凸显。本项目旨在解决当前算力基础设施普遍面临的跨代际硬件兼容性差、动态调度效率低、资源利用率不均衡等问题。

我们构建了一个支持多负载的算力需求表征框架,并开发了此动态评估工具。该工具能够根据用户输入的模型参数(如并发量、序列长度、参数量等),精准地评估运行该模型所需的最小算力、显存和带宽,并以具体的硬件配置方案形式给出量化依据,为模型的高效部署提供科学指导。

其核心价值在于突破传统算力评估的局限性,推动算力资源的高效分配与智能调度,助力智算中心实现从“盲目建设”到“按需供给”的战略转型。

2. 功能特性

  • 统一负载建模: 支持对稠密、MoE、类Transformer等多种主流AI模型进行统一的资源需求建模。
  • 异构硬件支持: 内置主流硬件(NVIDIA A100/H100, 昇腾910B等)的性能参数库,且易于扩展。
  • 动态评估与推荐: 输入模型参数,即可动态评估并推荐满足目标性能(默认为 >10 tokens/s/并发)的最小硬件配置。
  • 量化结果输出: 输出结果清晰、量化,包括推荐的硬件型号、最小所需卡数、总显存、总算力等。
  • 模块化设计: 代码结构清晰,分为硬件库、负载建模、评估引擎等模块,便于维护和二次开发。

3. 安装指南

本项目使用 Python 3.8+ 开发,无特殊第三方库依赖,可直接运行。

  1. 克隆代码库

    git clone <your-repo-url>
    cd <your-repo-directory>
  2. 环境准备 确认您的环境中已安装 Python 3.8 或更高版本。

    python --version

4. 使用方法

本工具提供了一个简单的命令行接口(CLI)用于快速评估。

命令行接口 (CLI)

基础命令格式如下:

python evaluator.py --type <模型类型> --params <参数量B> --quant <量化方案> --batch <并发量> --seqlen <序列长度>

参数说明:

  • --type (必需): 字符串,指定模型类型,例如: MOE, Dense, Transformer
  • --params (必需): 浮点数,指定模型参数量的十亿倍(B),例如 70 代表 70B。
  • --quant (可选): 字符串,指定量化方案,支持 INT8, FP16。默认为 INT8
  • --batch (可选): 整数,指定并发量(Batch Size)。默认为 50
  • --seqlen (可选): 整数,指定最大序列长度(Tokens数)。默认为 8096

使用示例

评估一个 70BMoE 模型,采用 INT8 量化,在 50个并发8096序列长度 下的硬件需求:

python evaluator.py --type MOE --params 70 --quant INT8 --batch 50 --seqlen 8096

示例输出:

==================================================
开始进行算力需求评估...
负载参数: 模型=MOE, 参数量=70.0B, 量化=INT8, 并发=50, 序列长度=8096
==================================================

[详细显存估算]:
  - 模型参数占用: 65.19 GB
  - KV Cache估算: 13.04 GB
  - 额外开销估算: 11.73 GB

[负载需求分析结果]:
  - 最小显存需求: 89.96 GB
  - 目标吞吐量(10 tokens/s/并发)所需算力: 2100.00 TFLOPS (INT8)

==================================================
硬件配置推荐方案
==================================================

--- 方案: NVIDIA_H100_80G ---
  - 推荐最小卡数: 2 卡
  - 推荐理由:
    - 满足显存需求需 2 卡
    - 满足算力需求需 1 卡 (取最大值)
  - 配置总览:
    - 总显存: 160 GB
    - 总算力: 8000.00 TFLOPS (INT8)

--- 方案: Ascend_910B_32G ---
  - 推荐最小卡数: 4 卡
  - 推荐理由:
    - 满足显存需求需 4 卡
    - 满足算力需求需 4 卡 (取最大值)
  - 配置总览:
    - 总显存: 128 GB
    - 总算力: 2560.00 TFLOPS (INT8)

... (其他硬件方案)

5. 代码开源与贡献

本项目代码完全开源,遵循 MIT 许可证。我们欢迎社区开发者进行贡献,您可以通过以下方式参与:

  • 提出 Issue 来报告 Bug 或建议新功能。
  • 提交 Pull Request 来修复问题或实现新特性。
  • 扩展硬件资源库 (HARDWARE_REPO),支持更多硬件型号。
  • 优化资源估算模型 (estimate_vram_usage, estimate_required_tflops),使其更加精准。

文档作者: qileleya 最后更新: 2025-07-17

关于
938.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号