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
Copy file name to clipboardExpand all lines: README.md
+44-19Lines changed: 44 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,16 @@
1
1
# SimuMax: a static analytical model for LLM distributed training
2
-
2
+
*[Latest News](#latest-news)
3
3
*[Introduction](#introduction)
4
4
*[Getting Started](#Installation)
5
5
*[Unitest](#Unitest)
6
6
*[TODO](#todo)
7
7
*[Acknowledgements](#acknowledgements)
8
8
*[Community](#Community)
9
+
## Latest News
10
+
- 📣 NEW! [App](./develop/app/README.md) - Add a user application to the SimuMax.
11
+
- 📣 NEW! [Strategy Search](./examples/search/llm_search.py) - Support strategy search.
12
+
- 📣 NEW! [System Config Pipeline](./simu_tools/efficency_test/README.md) - Add a Pipeline to generate system file include computing and communication efficiency.
13
+
9
14
10
15
## Introduction
11
16
SimuMax is a distributed training simulator designed for large-scale language model (LLM) workloads. It leverages a static analytical model to simulate and analyze both performance and memory usage, providing detailed insights into training efficiency without running the actual training process. Based on these analyses, SimuMax helps users explore potential ways to maximize computational efficiency.
@@ -35,15 +40,17 @@ It's appropriate to address various use-cases:
35
40
-[x] Megatron Compatibility: Simplified model migration pipeline
36
41
-[x] Finer-grained selective recompute
37
42
-[x] Efficiency measurement across shapes/layouts
43
+
-[x] Efficiency measurement pipeline for both computing and commucation
44
+
-[x] Strategy Search
38
45
39
46
40
47
### Benchmarks
41
48
Performance of some models on a single node. Llama3-70B was trimmed to 12 layers and DeepSeek-236B was trimmed to 4 layers.
42
49
Details can be found in [FULL_RESULTS](docs/FULL_RESULTS.md)
43
50
44
51
45
-
46
52
#### A100-Pcie
53
+
Please refer to [./simu_tools/megatron_scripts/README.md](./simu_tools/megatron_scripts/README.md) for the benchmark script.
47
54

48
55
49
56
@@ -66,29 +73,53 @@ pip install -v -e .
66
73
67
74
68
75
## Example
76
+
We recommend using our app program to get started with SimuMax with zero cost. Please refer to the [README](./app/README.md) for more details.
77
+
69
78
Please refer to the [tutorial](./docs/tutorial.md) for more details.
70
79
71
80
```bash
72
81
cd ./examples
73
82
python perf_llama3_8b_tp1_pp2.py
74
83
# The results are stored in the llama3_8b_a100_pcie_bf16 directory
75
84
```
76
-
The output is as follows:
85
+
The output is as follows, the output details are saved in the ./llama3_8b_a100_pcie_bf16 directory:
- net = pp_net=intra_node_pcie_8x, tp_net=intra_node_pcie_2x, dp_net=intra_node_pcie_4x, ep_net=intra_node_pcie_2x, etp_net=intra_node_pcie_2x
100
+
------------------------------------------
88
101
```
89
102
90
-
# Unitest
91
-
after clone the repo, plz use "git config core.hooksPath git_hooks" to set commit hook, which will check the perf result in some config is still the same before commit automatically.
103
+
## Strategy search example
104
+
We provide a set of strategy search scripts that run on the [llm_search.py](./examples/search/llm_search.py) model, which can be used to search for the optimal strategy for your model.
105
+
```
106
+
cd examples/llm_search
107
+
python llm_search.py
108
+
```
109
+
110
+
The example strategy search output results are saved in the directory ./search_deepseek_v3_a100_pcie_bf16 and search_deepseek_v2_a100_pcie_bf16.
111
+
112
+
113
+
## Generate system file
114
+
115
+
If you want to use SimuMax on new equipment, please refer to [./simu_tools/efficency_test/README.md](./simu_tools/efficency_test/README.md) to generate system files.
116
+
117
+
## Benchmark
118
+
We provide a set of benchmark testing scripts that run on NVIDIA GPUs, which can be used for SimuMax simulation calibration. These scripts enable actual measurements for llama and deepseek models. The benchmark results will be stored in a designated directory. For detailed benchmark procedures and interpretation of results, please refer to [./simu_tools/megatron_scripts/README.md](./simu_tools/megatron_scripts/README.md).
119
+
120
+
## Notes
121
+
- Currently, all Linear models are forced to perform gradient accumulation fusion.
122
+
92
123
93
124
# TODO
94
125
SimuMax is in active development, may contain bugs or incomplete features. Contributions are welcome!
@@ -97,7 +128,6 @@ There are features to be added. Several significants are:
97
128
- More pipeline scheduler
98
129
- Overlap between computation and communication
99
130
- Offloading
100
-
- Strategy search
101
131
- More accurate memory-bound operator simulation
102
132
103
133
@@ -120,9 +150,4 @@ If you're passionate about:
120
150
Large-scale models for MoE, Reinforcement Learning, Multi-Modal
Feel free to reach out to xuerong.huang@mthreads.com.
124
-
125
-
## Star History
126
-
## Star History
127
-
128
-
[](https://www.star-history.com/#MooreThreads/SimuMax&type=date&legend=top-left)
0 commit comments