diff --git a/docs/benchmarks/language/reproducibility/indyscc24-bert.md b/docs/benchmarks/language/reproducibility/indyscc24-bert.md index 68215c5e1..c82175a60 100644 --- a/docs/benchmarks/language/reproducibility/indyscc24-bert.md +++ b/docs/benchmarks/language/reproducibility/indyscc24-bert.md @@ -9,15 +9,11 @@ hide: This guide is designed for the [IndySCC 2024](https://sc24.supercomputing.org/students/indyscc/) to walk participants through running and optimizing the [MLPerf Inference Benchmark](https://arxiv.org/abs/1911.02549) using [Bert Large](https://github.com/mlcommons/inference/tree/master/language/bert#supported-models) across various software and hardware configurations. The goal is to maximize system throughput (measured in samples per second) without compromising accuracy. -For a valid MLPerf inference submission, two types of runs are required: a performance run and an accuracy run. In this competition, we focus on the `Offline` scenario, where throughput is the key metric—higher values are better. The official MLPerf inference benchmark for Bert Large requires processing a minimum of 10833 samples in both performance and accuracy modes using the Squad v1.1 dataset. Setting up for Nvidia GPUs may take 2-3 hours but can be done offline. Your final output will be a tarball (`mlperf_submission.tar.gz`) containing MLPerf-compatible results, which you will submit to the SCC organizers for scoring. +For a valid MLPerf inference submission, two types of runs are required: a performance run and an accuracy run. In this competition, we focus on the `Offline` scenario, where throughput is the key metric—higher values are better. The official MLPerf inference benchmark for Bert Large requires processing a minimum of 10833 samples in both performance and accuracy modes using the Squad v1.1 dataset. ## Scoring -In the SCC, your first objective will be to run a reference (unoptimized) Python implementation or a vendor-provided version (such as Nvidia's) of the MLPerf inference benchmark to secure a baseline score. - -Once the initial run is successful, you'll have the opportunity to optimize the benchmark further by maximizing system utilization, applying quantization techniques, adjusting ML frameworks, experimenting with batch sizes, and more, all of which can earn you additional points. - -Since vendor implementations of the MLPerf inference benchmark vary and are often limited to single-node benchmarking, teams will compete within their respective hardware categories (e.g., Nvidia GPUs, AMD GPUs). Points will be awarded based on the throughput achieved on your system. +In the IndySCC 2024, your objective will be to run a reference (unoptimized) Python implementation of the MLPerf inference benchmark to complete a successful submission passing the submission checker. Only one of the available framework needs to be submitted. !!! info @@ -25,24 +21,50 @@ Since vendor implementations of the MLPerf inference benchmark vary and are ofte If you encounter issues or have questions, please submit them [here](https://github.com/mlcommons/cm4mlops/issues) ## Artifacts to submit to the SCC committee - -You will need to submit the following files: - -* `mlperf_submission_short.tar.gz` - automatically generated file with validated MLPerf results. -* `mlperf_submission_short_summary.json` - automatically generated summary of MLPerf results. -* `mlperf_submission_short.run` - CM commands to run MLPerf BERT inference benchmark saved to this file. -* `mlperf_submission_short.tstamps` - execution timestamps before and after CM command saved to this file. -* `mlperf_submission_short.md` - description of your platform and some highlights of the MLPerf benchmark execution. - +All the needed files are automatically pushed to the GitHub repository if you manage to complete the given commands. No additional files need to be submitted. === "MLCommons-Python" ## MLPerf Reference Implementation in Python -{{ mlperf_inference_implementation_readme (4, "bert-99", "reference", extra_variation_tags=",_short", scenarios=["Offline"],categories=["Edge"], setup_tips=False) }} +{{ mlperf_inference_implementation_readme (4, "bert-99", "reference", extra_variation_tags="", scenarios=["Offline"],categories=["Edge"], setup_tips=False) }} -=== "Nvidia" - ## Nvidia MLPerf Implementation -{{ mlperf_inference_implementation_readme (4, "bert-99", "nvidia", extra_variation_tags=",_short", scenarios=["Offline"],categories=["Edge"], setup_tips=False, implementation_tips=False) }} - +## Submission Commands + +### Generate actual submission tree + +```bash +cm run script --tags=generate,inference,submission \ + --clean \ + --preprocess_submission=yes \ + --run-checker \ + --tar=yes \ + --env.CM_TAR_OUTFILE=submission.tar.gz \ + --division=open \ + --category=edge \ + --env.CM_DETERMINE_MEMORY_CONFIGURATION=yes \ + --run_style=test \ + --quiet \ + --submitter= +``` + +* Use `--hw_name="My system name"` to give a meaningful system name. + + +### Push Results to GitHub + +Fork the `mlperf-inference-results-scc24` branch of the repository URL at [https://github.com/mlcommons/cm4mlperf-inference](https://github.com/mlcommons/cm4mlperf-inference). + +Run the following command after **replacing `--repo_url` with your GitHub fork URL**. + +```bash +cm run script --tags=push,github,mlperf,inference,submission \ + --repo_url=https://github.com//cm4mlperf-inference \ + --repo_branch=mlperf-inference-results-scc24 \ + --commit_message="Results on system " \ + --quiet +``` + +Once uploaded give a Pull Request to the origin repository. Github action will be running there and once +finished you can see your submitted results at [https://docs.mlcommons.org/cm4mlperf-inference](https://docs.mlcommons.org/cm4mlperf-inference). diff --git a/docs/benchmarks/text_to_image/reproducibility/scc24.md b/docs/benchmarks/text_to_image/reproducibility/scc24.md index bae4eceb3..d17079973 100644 --- a/docs/benchmarks/text_to_image/reproducibility/scc24.md +++ b/docs/benchmarks/text_to_image/reproducibility/scc24.md @@ -80,17 +80,17 @@ cm run script --tags=generate,inference,submission \ ### Push Results to GitHub -Fork the repository URL at [https://github.com/gateoverflow/cm4mlperf-inference](https://github.com/gateoverflow/cm4mlperf-inference). +Fork the `mlperf-inference-results-scc24` branch of the repository URL at [https://github.com/mlcommons/cm4mlperf-inference](https://github.com/mlcommons/cm4mlperf-inference). Run the following command after **replacing `--repo_url` with your GitHub fork URL**. ```bash cm run script --tags=push,github,mlperf,inference,submission \ - --repo_url=https://github.com/gateoverflow/cm4mlperf-inference \ + --repo_url=https://github.com//cm4mlperf-inference \ --repo_branch=mlperf-inference-results-scc24 \ --commit_message="Results on system " \ --quiet ``` Once uploaded give a Pull Request to the origin repository. Github action will be running there and once -finished you can see your submitted results at [https://gateoverflow.github.io/cm4mlperf-inference](https://gateoverflow.github.io/cm4mlperf-inference). +finished you can see your submitted results at [https://docs.mlcommons.org/cm4mlperf-inference](https://docs.mlcommons.org/cm4mlperf-inference).