인공지능/TVM 4

TVM - autoTVM

https://arxiv.org/pdf/1805.08166 이전 글에서 TE를 통해 최적화하는 방법을 올렸습니다하지만, 어떤 조합(transform, hyperparameter)을 통해 최적화를 하는 것이 가장 좋은 방법인지는 여전히 알 수 없습니다autoTVM은 machine learning을 통해 어떠한 조합이 가장 성능이 뛰어난지 알려줍니다 참고로 autoTVM은 template-based입니다즉, 사용자가 search space를 파이썬 소스를 통해 정의하고, 정의된 search-space 안에서 최적의 code를 찾습니다.완전히 automated된 방법을 쓰려면 다음에 나온 autoScheduler를 써야합니다(https://arxiv.org/pdf/2006.06762) 논문으로 히스토리를 찾았..

인공지능/TVM 2024.05.20

TVM - Tensor Expression Optimization

최적화를 할 때 relay를 TE로 가져와 TE를 직접 다루지는 않는 것 같습니다.TE에서 어떠한 방식으로 최적화가 이루어지는지 살펴봅시다 https://tvm.apache.org/docs/how_to/optimize_operators/opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py How To Guides > Optimize Tensor Operators > How to optimize GEMM on CPU Edit on GitHub Note This tutorial can be used interactively with Google Colab! You can also click here to run the Jupyter notebook lo..

인공지능/TVM 2024.05.15

TVM introduction

TVM은 인공지능 모델(TF, torch, onnx)을 하드웨어(CPU, GPU, FPGA)에 최적화된 코드로 변환한다.TVM은 추론과정에서만 쓰인다. 학습과정에서는 딥러닝 프레임워크 자체에 있는 최적화 방법을 쓴다 TVM이 최적화하는 과정은, 요약하자면 Lowering(더 낮은 레밸의 언어로 변환)과 optimization을 반복수행하는 것이다.  1. 딥러닝 프레임워크(TF/torch/onnx)로부터 모델을 불러온다 2. Relay 라는 언어로 변경한다. (IR = intermediate representation)인공지능 모델은 Computational Graph (computation을 표현하는 Directed Acyclic Graph)로 나타낼 수 있다.Relay는 Computational Gr..

인공지능/TVM 2024.05.06