Table of Contents
Fetching ...

ML$^2$Tuner: Efficient Code Tuning via Multi-Level Machine Learning Models

JooHyoung Cha, Munyoung Lee, Jinse Kwon, Jubin Lee, Jemin Lee, Yongin Kwon

TL;DR

ML$^2$Tuner is introduced, a multi-level machine learning tuning technique that enhances autotuning efficiency by incorporating a validity prediction model to filter out invalid configurations and an advanced performance prediction model utilizing hidden features from the compilation process.

Abstract

The increasing complexity of deep learning models necessitates specialized hardware and software optimizations, particularly for deep learning accelerators. Existing autotuning methods often suffer from prolonged tuning times due to profiling invalid configurations, which can cause runtime errors. We introduce ML$^2$Tuner, a multi-level machine learning tuning technique that enhances autotuning efficiency by incorporating a validity prediction model to filter out invalid configurations and an advanced performance prediction model utilizing hidden features from the compilation process. Experimental results on an extended VTA accelerator demonstrate that ML$^2$Tuner achieves equivalent performance improvements using only 12.3% of the samples required with a similar approach as TVM and reduces invalid profiling attempts by an average of 60.8%, Highlighting its potential to enhance autotuning performance by filtering out invalid configurations

ML$^2$Tuner: Efficient Code Tuning via Multi-Level Machine Learning Models

TL;DR

MLTuner is introduced, a multi-level machine learning tuning technique that enhances autotuning efficiency by incorporating a validity prediction model to filter out invalid configurations and an advanced performance prediction model utilizing hidden features from the compilation process.

Abstract

The increasing complexity of deep learning models necessitates specialized hardware and software optimizations, particularly for deep learning accelerators. Existing autotuning methods often suffer from prolonged tuning times due to profiling invalid configurations, which can cause runtime errors. We introduce MLTuner, a multi-level machine learning tuning technique that enhances autotuning efficiency by incorporating a validity prediction model to filter out invalid configurations and an advanced performance prediction model utilizing hidden features from the compilation process. Experimental results on an extended VTA accelerator demonstrate that MLTuner achieves equivalent performance improvements using only 12.3% of the samples required with a similar approach as TVM and reduces invalid profiling attempts by an average of 60.8%, Highlighting its potential to enhance autotuning performance by filtering out invalid configurations

Paper Structure

This paper contains 12 sections, 5 figures, 5 tables.

Figures (5)

  • Figure 1: Overview of the automated tuning process of ML$^2$Tuner. Components in blue represent the TVM's tuning process, while ML$^2$Tuner extends the components highlighted in orange.
  • Figure 2: Experimental results for Conv1 and Conv2 of ResNet18. The orange represents the results of ML$^2$Tuner, while the blue represents the results of the TVM approach. (a) The x-axis shows the number of configurations tested during the tuning process, and the y-axis shows the lowest execution time among the cumulative configurations. (b) The left plot displays the invalidity ratio, while the right plot presents a normalized histogram of execution times for the valid configurations.
  • Figure 3: Ratio of RMSE values of model A compared to model P across different layers.
  • Figure 4: Ratio of RMSE values of model A compared to model P per layers
  • Figure 5: Result of ResNet18 per layer on ML$^2$Tuner