– Training: HPC
MLPerf™ is a trademark of MLCommons®. If you use it and refer to MLPerf results, you must follow the results guidelines. MLCommons reserves the right to solely determine if uses of its trademark are appropriate.
This benchmark suite measures how fast systems can train models to a target quality metric. Below is a short summary of the current benchmarks and metrics. Please see the MLPerf HPC benchmark paper and the MLPerf Training benchmark paper for a detailed description of the motivation and guiding principles behind the benchmark suite.
Each benchmark is defined by a Dataset and Quality Target. The following table summarizes the benchmarks in this version of the suite (the rules remain the official source of truth):
|Area||Benchmark||Dataset||Quality Target||Reference Implementation Model|
|Scientific||Climate segmentation||CAM5+TECA simulation||IOU 0.82||DeepCAM|
|Scientific||Cosmology parameter prediction||CosmoFlow N-body simulation||Mean average error 0.124||CosmoFlow|
|Scientific||Quantum molecular modeling||Open Catalyst 2020 (OC20)||Forces mean absolute error 0.036||DimeNet++|
For the MLPerf HPC suite, there are two performance metrics and three benchmark applications.
The strong scaling metric measures the wallclock time required to train a model on the specified dataset to achieve the specified quality target. To account for the substantial variance in ML training times, final results are obtained by measuring the benchmark a benchmark-specific number of times, discarding the lowest and highest results, and averaging the remaining results.
The weak scaling metric benchmark measures the throughput for a supercomputing system training multiple models concurrently on the specified dataset to achieve the specified quality target. Submitters are allowed to choose the number of concurrently-trained model instances to fill their system. To reduce the impact of variability on measured throughput, submitters may prune a chosen number of model instances. The time to train all models is then used to compute the aggregate throughput in models per minute.
MLPerf aims to encourage innovation in software as well as hardware by allowing submitters to reimplement the reference implementations. MLPerf has two Divisions that allow different levels of flexibility during reimplementation. The Closed division is intended to compare hardware platforms or software frameworks “apples-to-apples” and requires using the same model and optimizer as the reference implementation. The Open division is intended to foster faster models and optimizers and allows any ML approach that can reach the target quality.
MLPerf divides benchmark results into Categories based on availability.
- Available systems contain only components that are available for purchase or for rent in the cloud.
- Preview systems must be submittable as Available in the next submission round.
- Research, Development, or Internal (RDI) contain experimental, in development, or internal-use hardware or software.
Each row in the results table is a set of results produced by a single submitter
using the same software stack and hardware platform. Each Closed division row contains the following information:
- Submitter: The organization that submitted the results.
- System: General system description.
- Processor and count: The type and number of CPUs used, if CPUs perform the majority of ML compute.
- Accelerator and count: The type and number of accelerators used, if accelerators perform the majority of ML compute.
- Software: The ML framework and primary ML hardware library used.
- Benchmark Results: Results for each benchmark as described above.
- Details: link to metadata for submission.
- Code: link to code for submission.
Each Open division row may add the following information:
- Model used: The model used to produce the results, which may or may not match the Closed Division requirement.
- Notes: arbitrary notes from submitter.
Each weak-scaling result additionally adds the following information for both closed division and open division:
- Instances: The number of model instances concurrently training on the system
- Instance scale: The number of processors or accelerators per instance
- Time: Time-to-train all instances to the target quality
- Throughput: The total throughput of the system, as measured in models trained per minute. Computed as (# of instances / time).
The rules are here.
The reference implementations for the benchmarks are here.