You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once it finishes, you should see that the `model` and `data` directories are populated.
47
48
48
-
* Overview of Dataset Used in MLPerf DLRM
49
-
* Steps to Download and Prepare the Data
50
-
* Preprocessing Data for Training and Inference
51
-
52
49
## Build DLRM image
53
50
54
51
You will use a branch of the the `Tool-Solutions` repository. This branch includes releases of PyTorch which enhance the performance of ML frameworks.
@@ -60,7 +57,7 @@ cd $HOME/Tool-Solutions/
60
57
git checkout ${1:-"pytorch-aarch64--r24.12"}
61
58
```
62
59
63
-
A setup script runs which installs docker and builds a PyTorch image for a specific commit hash. Finally, it runs the MLPerf container which is used for the benchmark in the next section. This script takes around 20 minutes to finish.
60
+
The `build.sh` script builds a wheel and a Docker image containing PyTorch and dependencies. It then runs the MLPerf container which is used for the benchmark in the next section.
You will now create a script which uses the Docker container to run the benchmark. Create a new file called `run_dlrm_benchmark.sh`. Paste the code below.
21
+
You will now create a script that automates the setup, configuration, and execution of MLPerf benchmarking for the DLRM (Deep Learning Recommendation Model) inside a Docker container. It simplifies the process by handling dependency installation, model preparation, and benchmarking in a single run. Create a new file called `run_dlrm_benchmark.sh`. Paste the code below.
14
22
15
23
```bash
16
24
#!/bin/bash
17
25
18
26
set -ex
19
27
yellow="\e[33m"
20
28
reset="\e[0m"
29
+
21
30
data_type=${1:-"int8"}
31
+
22
32
echo -e "${yellow}Data type chosen for the setup is $data_type${reset}"
23
33
24
-
#setup environment variables for the dlrm container
34
+
#Setup directories
25
35
data_dir=$HOME/data/
26
36
model_dir=$HOME/model/
27
37
results_dir=$HOME/results/
28
38
dlrm_container="benchmark_dlrm"
29
39
30
-
# Create results directory
31
40
mkdir -p $results_dir/$data_type
32
41
33
42
###### Run the dlrm container and setup MLPerf #######
34
-
# Check if the container exists
43
+
35
44
echo -e "${yellow}Checking if the container '$dlrm_container' exists...${reset}"
where `key-pair` is the key-pair used for the larger instance, `username` and `ipaddress` the corresponding access points, and the two paths are the source and destination paths respectively.
To run the INT8 model, an instance with 250 GB of RAM and 500 GB of disk space is enough. For example, the following instance types:
146
-
147
-
| CSP | Instance type |
148
-
| --------------------- | -------------- |
149
-
| Google Cloud Platform | c4a-highmem-32 |
150
-
| Amazon Web Services | r8g.8xlarge |
151
-
| Microsoft Azure | TODO |
152
-
153
-
For example, you can re-run the offline `int8` benchmark by cloning the repository to the smaller instance and the following command.
154
-
155
-
```bash
156
-
./run_main.sh offline int8
131
+
./run_dlrm_benchmark.sh
157
132
```
158
133
159
134
## Understanding the results
160
135
161
136
As a final step, have a look at the results generated in a text file.
137
+
138
+
The DLRM model optimizes the Click-Through Rate (CTR) prediction. It is a fundamental task in online advertising, recommendation systems, and search engines. Essentially, the model estimates the probability that a user will click on a given ad, product recommendation, or search result. The higher the predicted probability, the more likely the item is to be clicked. In a server context, the goal is to observe a high through-put of these probabilities.
139
+
162
140
```bash
163
141
cat $HOME/results/int8/mlperf_log_summary.txt
164
142
```
165
143
166
-
It should look something like this. Note the ....
144
+
Your output should contain a `Samples per second`, where each sample tells probability of the user clicking a certain ad.
167
145
168
146
```output
169
147
================================================
@@ -172,7 +150,7 @@ MLPerf Results Summary
172
150
SUT name : PyFastSUT
173
151
Scenario : Offline
174
152
Mode : PerformanceOnly
175
-
Samples per second: 1434.8 # Each sample tells probability of the user clicking a certain ad. Can be used by Amazon to pick the top 5 ads to recommend to a user
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/dlrm/_index.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,10 @@ title: MLPerf Benchmarking on Arm Neoverse V2
3
3
4
4
minutes_to_complete: 10
5
5
6
-
who_is_this_for: This is an introductory topic for software developers who want to set up a pipeline in the cloud for recommendation models. You will . Then, you’ll build and run the benchmark using MLPerf, analyzing key performance metrics along the way.
7
-
6
+
who_is_this_for: This is an introductory topic for software developers who want to set up a pipeline in the cloud for recommendation models. You will build and run the benchmark using MLPerf and PyTorch.
8
7
9
8
learning_objectives:
10
-
- build the Deep Learning Recommendation Model (DLRM)
9
+
- build the Deep Learning Recommendation Model (DLRM) using a Docker image
11
10
- run a modified performant DLRMv2 benchmark and inspect the results
0 commit comments