MLCommons Inference 项目提交指南深度解析
前言
MLCommons Inference 是一个致力于推动机器学习推理性能基准测试的开源项目。作为技术专家,我将为大家详细解读该项目的提交规则和注意事项,帮助开发者更好地理解和参与这一重要的基准测试。
硬件要求详解
基础硬件要求
MLCommons Inference 项目对硬件平台持开放态度,从树莓派这样的嵌入式设备到高端推理服务器都可以参与基准测试。这种包容性设计使得各类硬件平台都能展示其推理性能。
数据中心类别的特殊要求
对于数据中心类别的"封闭"提交,有以下特殊要求:
- ECC内存:必须使用支持错误检查和纠正(ECC)的内存,这对数据中心环境的数据完整性至关重要
- 网络能力:需要满足特定的网络连接要求,这些要求会随版本更新而变化
功耗测试的特殊设备
如果提交功耗测试结果,必须使用经过SPEC Power认证的功率分析仪。这些专业设备能精确测量系统在不同负载下的功耗表现。
提交类别与要求
封闭类别(Closed Division)要求
-
性能与精度要求:
- 必须运行所有要求的场景(根据边缘/数据中心类别而定)
- 精度必须在基准模型的99%或99.9%范围内(具体取决于任务要求)
-
模型权重限制:
- 不允许修改模型权重,量化处理除外
- 违反此限制将导致提交只能归类为开放类别
参考模型与实现
- 参考模型多为FP32精度
- 参考实现仅供指导,不建议直接用于正式提交
- 这些实现未针对性能优化
- 各厂商应根据自身硬件特性开发优化实现
可用类别(Available Category)要求
- 提交系统必须已经可用(可以是部分可用)
- 可以是公开可用或面向客户可用
- 使用的软件必须是正式版或beta版
- 不接受夜间构建版等非稳定版本
基准测试执行指南
测试时间预估
-
数据中心类别:
- 需要运行离线(Offline)和服务器(Server)场景
- 每个场景至少需要10分钟
-
边缘类别:
- 需要运行单流(SingleStream)、多流(MultiStream,仅限ResNet50和RetinaNet)和离线场景
- 每个场景至少需要10分钟
- ResNet50需要额外运行三个合规性测试
-
场景特性:
- 单流、多流和服务器场景使用提前终止机制,通常10分钟左右完成
- 离线场景需要处理至少24756个输入查询
- 对于3DUNet、大语言模型等复杂模型,可能耗时数小时
-
开放类别优势:
- 无精度要求
- 无需合规性测试
- 可以只提交单个场景结果
- 模型选择更自由(但需在指定数据集上验证精度)
-
功耗测试额外要求:
- 需要额外运行范围模式以确定峰值电流使用
- 这会显著增加总测试时间
- 可通过特定机制将范围运行缩短至5分钟
提交有效性验证
自动检查工具
项目提供了提交检查器(Submission Checker),用于验证提交是否符合基本要求。这个工具会检查:
- 文件结构完整性
- 必填字段存在性
- 基本格式合规性
人工审查要点
即使通过了自动检查,提交仍需接受人工审查,重点包括:
- 系统描述文件的合理性
- 功耗测试相关文件的详细内容
- 功率设置
- 分析仪表格
- README文件的完整性和可复现性
- 数据中心封闭提交的特殊要求符合性
版本4.0的重要变更
-
新增基准模型:
- 数据中心类别新增Mixtral-8x7B模型
- 边缘类别保持不变
-
功耗测试:
- 代码层面无变化
- 原有流程和要求保持不变
专业建议
-
提前规划:
- 校准文档需在截止日期前一周提交
- 复杂模型测试可能需要数天时间
-
合规性测试:
- 预留足够时间进行多次合规性测试
- 特别是ResNet50需要三次合规性测试
-
功耗测试准备:
- 提前获取SPEC PTDaemon访问权限
- 准备好经认证的功率分析仪
-
性能优化:
- 参考实现仅作指导
- 应根据目标硬件特性深度优化实现
通过遵循这些指南和建议,开发者可以更高效地参与MLCommons Inference基准测试,准确展示其硬件和软件解决方案的推理性能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考