Automatic Compiler-based Optimizations for Deep Neural Networks
Why this work is in the frame
A frame that forgets how it found something cannot be audited. These are the routes that admitted this work.
Bibliographic record
Abstract
Deep neural networks (DNNs) are the current state-of-the-art machine learning algorithms in various application domains. Due to their importance, it is crucial that we guarantee their efficient executions on hardware platforms such as GPUs. In this thesis, we optimize the runtime performance and the device memory consumption of DNNs running on modern GPUs. To make our optimizations generic, automatic, and transparent to the frontend machine learning practitioners, we use compiler-based approaches that achieve the optimization objective by carefully analyzing DNNs’ graph representations, tensor expressions, and the hardware platforms on which they run. Compared with manual implementations that require a significant amount of engineering effort, our thesis work, which is made up of three key contributions, requires minimal changes to frontend applications’ source code and can be applied generically to various state-of-the-art DNN models. Our first contribution, Grape, is a new graph compiler on graph-based executions for dynamic DNNs on GPUs. Grape addresses the practicability and efficiency challenges of graph-based executions using three key components: an alias predictor, a metadata compressor, and a predication rewriter. It improves the runtime performance of state-of-the-art text generation and speech recognition workloads by up to 2.99× compared with the machine learning framework baseline, and can optimize workloads that are not practical for prior works on graph-based executions, achieving up to 1.82×speedup over the baseline. Our second contribution, DietCode, is a new tensor program auto-scheduler that efficiently supports dynamic-shape workloads. DietCode addresses the compilation time challenge of auto-scheduling dynamic-shape tensor programs using a shape-generic search space and a micro-kernel cost model. Not only can DietCode reduce the compilation time by up to 5.88× on the state-of-the-art language modeling workload compared with the existing tensor program auto-scheduler, but it also improves the runtime performance by up to 1.70×. Our third contribution, Echo, is a new compiler-based optimization scheme that reduces GPU memory footprint for training state-of-the-art DNNs. We show that by carefully estimating the recomputation's effect on the memory footprint and the runtime overheads, we can significantly reduce the GPU memory footprint by up to 3.13× with only 1% runtime performance overhead, resulting in up to 1.28× faster convergence to the same validation quality. In addition to the system optimization, in Echo, we also build GPU memory profiling tools that accurately pinpoint the GPU memory consumption bottlenecks of DNNs and are integrated into the state-of-the-art machine learning framework.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.000 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.001 |
| Bibliometrics | 0.000 | 0.002 |
| Science and technology studies | 0.001 | 0.000 |
| Scholarly communication | 0.001 | 0.000 |
| Open science | 0.002 | 0.000 |
| Research integrity | 0.000 | 0.001 |
| Insufficient payload (model declined to judge) | 0.000 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from it