TLP: A Deep Learning-based Cost Model for Tensor Program Tuning
About
Tensor program tuning is a non-convex objective optimization problem, to which search-based approaches have proven to be effective. At the core of the search-based approaches lies the design of the cost model. Though deep learning-based cost models perform significantly better than other methods, they still fall short and suffer from the following problems. First, their feature extraction heavily relies on expert-level domain knowledge in hardware architectures. Even so, the extracted features are often unsatisfactory and require separate considerations for CPUs and GPUs. Second, a cost model trained on one hardware platform usually performs poorly on another, a problem we call cross-hardware unavailability. In order to address these problems, we propose TLP and MTLTLP. TLP is a deep learning-based cost model that facilitates tensor program tuning. Instead of extracting features from the tensor program itself, TLP extracts features from the schedule primitives. We treat schedule primitives as tensor languages. TLP is thus a Tensor Language Processing task. In this way, the task of predicting the tensor program latency through the cost model is transformed into a natural language processing (NLP) regression task. MTL-TLP combines Multi-Task Learning and TLP to cope with the cross-hardware unavailability problem. We incorporate these techniques into the Ansor framework and conduct detailed experiments. Results show that TLP can speed up the average search time by 9.1X and 3.0X on CPU and GPU workloads, respectively, compared to the state-of-the-art implementation. MTL-TLP can achieve a speed-up of 4.7X and 2.9X on CPU and GPU workloads, respectively, using only 7% of the target hardware data.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Cost modeling | Intel Platinum 8272CL | Top-1 Accuracy91.94 | 3 | |
| Cost modeling | Intel E5-2673 v4 | Top-1 Score89.41 | 3 | |
| Cost modeling | AMD EPYC 7452 | Top-1 Accuracy90.55 | 3 | |
| Cost modeling | ARM Graviton2 | Top-1 Score82.07 | 3 | |
| Cost modeling | Intel i7-12700F | Top-1 Score90.68 | 3 | |
| Cost modeling | NVIDIA Tesla K80 | Top-1 Score90.59 | 3 | |
| Cost modeling | NVIDIA Tesla T4 | Top-1 Score88.47 | 3 | |
| Cost modeling | NVIDIA RTX 3080Ti | Top-1 Score83.46 | 3 | |
| Tensor Program Optimization | Intel i7-12700F 10% sample (target) | Top-1 Score87.44 | 3 | |
| Tensor Program Optimization | NVIDIA 3080Ti 10% sample (target) | Top-1 Score82.28 | 3 |