[논문 리뷰] FEAST: An Automated Feature Selection Framework for Compilation Tasks
FEAST는 LASSO, 순차적 전진/후진 선택 및 통계적 방법을 사용하여 컴파일러 작업을 위한 최소한이면서 고성능의 정적 프로그램 특징 하위집합을 식별하는 자동 특징 선택 프레임워크이다. 이 프레임워크는 원래의 특징 풀의 약 ~18%만을 사용하여 컴파일러 파rameter 조정 성능를 유사하게 달성하며, 중복성과 계산 비용을 크게 감소시킨다.
The success of the application of machine-learning techniques to compilation tasks can be largely attributed to the recent development and advancement of program characterization, a process that numerically or structurally quantifies a target program. While great achievements have been made in identifying key features to characterize programs, choosing a correct set of features for a specific compiler task remains an ad hoc procedure. In order to guarantee a comprehensive coverage of features, compiler engineers usually need to select excessive number of features. This, unfortunately, would potentially lead to a selection of multiple similar features, which in turn could create a new problem of bias that emphasizes certain aspects of a program's characteristics, hence reducing the accuracy and performance of the target compiler task. In this paper, we propose FEAture Selection for compilation Tasks (FEAST), an efficient and automated framework for determining the most relevant and representative features from a feature pool. Specifically, FEAST utilizes widely used statistics and machine-learning tools, including LASSO, sequential forward and backward selection, for automatic feature selection, and can in general be applied to any numerical feature set. This paper further proposes an automated approach to compiler parameter assignment for assessing the performance of FEAST. Intensive experimental results demonstrate that, under the compiler parameter assignment task, FEAST can achieve comparable results with about 18% of features that are automatically selected from the entire feature pool. We also inspect these selected features and discuss their roles in program execution.
연구 동기 및 목표
- 컴파일러 최적화 작업에서의 수작업 특징 선택의 비체계적이고 중복적인 성격을 해결한다.
- 컴pile에 사용되는 특징의 수를 성능을 희생시키지 않고 줄인다.
- 컴파일러 파rameter 할당을 위한 대표적이고 중복되지 않는 정적 특징의 자동 선택을 실현한다.
- 정적 특징만을 사용하여 확장 가능하고 동적 특징이 없는 성능 예측을 컴파일러 최적화에서 가능하게 한다.
- 다양한 컴파일레이션 작업, 특히 파rameter 조정을 초월한 일반 목적의 프레임워크를 제공한다.
제안 방법
- FEAST는 비필수 특징에 대한 펜alties를 적용함으로써 희박성 유도 특징 선택을 수행하는 LASSO 회귀를 통합한다.
- 모델 성능에 기반하여 특징을 반복적으로 추가하거나 제거하는 순차적 전진 및 후진 선택을 적용한다.
- 프레임워크는 제어 흐름, 명령어, 포인터 관련 메트릭을 포함한 총 56개의 정적 특징 풀을 cTuning Compiler Collection에서 추출하여 처리한다.
- 특징 선택은 컴파일러 파arameter 할당을 위한 지도 학습 설정을 통해 평가되며, 성능은 예측 정확도로 측정된다.
- 이 방법은 컴파일레이션 작업에서의 어떤 수치형 특징 세트에도 적용 가능한 일반 목적의 설계를 갖추고 있다.
- FEAST의 효과성을 실제 시나리오에서 평가하기 위해 자동 컴파일러 파arameter 할당 체계가 제안된다.
실험 결과
연구 질문
- RQ1LASSO 및 순차적 선택과 같은 자동 특징 선택 방법은 컴파일러 파arameter 조정에서 성능을 유지하면서도 정적 특징의 수를 효과적으로 줄일 수 있는가?
- RQ2컴파일러 최적화 작업에서 예측 정확도를 훼손하지 않고 특징 세트는 얼마나 줄일 수 있는가?
- RQ3최적의 컴파일러 파arameter 할당을 예측하는 데 가장 영향력 있는 특징는 무엇인가?
- RQ4동적 특징이 없는 접근 방식은 비용이 많이 드는 프로파일링 또는 동적 특징에 의존하는 방법과 유사한 성능을 달성할 수 있는가?
- RQ5FEAST에서 선택된 특징들은 프로그램 동작 및 컴파일러 최적화에 대한 이해에 어떻게 기여하는가?
주요 결과
- FEAST는 원래의 56개 정적 특징을 약 10개의 특징(원래 풀의 18%)으로 줄였지만 컴파일러 파arameter 할당에서 유사한 성능을 유지한다.
- 선택된 특징들은 매우 대표적이며 기본 블록 수, 피-노드 수, 포인터 연산, 명령어 유형 등의 메트릭을 포함한다.
- 작은 특징 세트와 더 빠른 모델 추론 덕분에 반복적인 프로그램 실행이 필요한 시나리오에서 실행 시간을 크게 감소시킨다.
- 선택된 특징들은 제어 흐름 복잡도와 메모리 접근 패턴과 같은 프로그램 구조 및 동작에 대한 의미 있는 통찰을 제공한다.
- FEAST의 LASSO 및 순차적 선택 방법은 여러 실행에서 일관되게 소수의 고성능 특징 하위집합을 식별한다.
- 이 방법은 확장 가능하고 동적 특징이 없는 성능 예측을 가능하게 하여 대규모 컴파일 워크로드에 실용적으로 적용할 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.