[論文レビュー] FEAST: An Automated Feature Selection Framework for Compilation Tasks
FEAST は、LASSO、逐次前向き/後退選択、統計的手法を用いて、コンパイラタスクのための最小で高パフォーマンスな静的プログラム特徴量のサブセットを特定する自動特徴選択フレームワークである。FEAST は、元の特徴量プールの約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.
研究の動機と目的
- コンパイラ最適化タスクにおける手作業による特徴選択の恣意的かつ冗長な性質に対処すること。
- コンパilationにおける機械学習に使用される特徴量の数を減らしながら、パフォーマンスを損なわないこと。
- コンパイラパrameter割り当てのための代表的で冗長でない静的特徴量の自動選択を実現すること。
- 動的特徴量を一切使用しないスケーラブルなパフォーマンス予測を、静的特徴量のみを用いて実現すること。
- パrameterチューニングを越えて、さまざまなコンパイルタスクに適用可能な汎用フレームワークを提供すること。
提案手法
- FEAST は、非本質的特徴量にペナルティを与えることでスパarsity誘導型の特徴選択を実現する LASSO レジRESSION を統合する。
- モデルのパフォーマンスに基づいて逐次的前向きおよび後退選択を適用し、繰り返し特徴量を追加または削除する。
- フレームワークは、制御フロー、命令、ポインタ関連メトリクスを含む、cTuning コンパイラコレクションから抽出された 56 個の静的特徴量のプールを処理する。
- 特徴選択は、コンパイラパrameter割り当てのための教師あり学習設定で評価され、パフォーマンスは予測精度によって測定される。
- この手法は汎用的であり、コンパイルタスクにおける任意の数値特徴量セットに適用可能である。
- FEAST の有効性を実世界のシナリオで評価するため、自動化されたコンパイラパrameter割り当て方式が提案されている。
実験結果
リサーチクエスチョン
- RQ1LASSO や逐次選択といった自動特徴選択手法は、コンパイラパrameterチューニングにおける性能を維持したまま、静的特徴量の数を効果的に削減できるか?
- RQ2コンパイラ最適化タスクにおいて、予測精度を損なわずに特徴量セットをどの程度まで削減できるか?
- RQ3最適なコンパイラパrameter割り当てを予測する上で、特に影響力を持つ具体的な特徴量は何か?
- RQ4動的特徴量を一切使用しないアプローチは、高コストのプロファイリングや動的特徴量に依存する手法と同等のパフォーマンスを達成できるか?
- RQ5FEAST が選択した特徴量は、プログラムの振る舞いやコンパイラ最適化の理解にどのように寄与するか?
主な発見
- FEAST は、元の 56 個の静的特徴量を約 10 個(元のプールの 18%)に削減しながら、コンパイラパrameter割り当てにおける同等のパフォーマンスを維持した。
- 選択された特徴量は非常に代表的であり、基本ブロック数、phi ノード数、ポインタ操作、命令タイプなどのメトリクスを含む。
- より小さな特徴量セットと高速なモデル推論により、繰り返しプログラム実行を要するシナリオでの実行時間が顕著に短縮された。
- 選択された特徴量は、制御フローの複雑さやメモリアクセスパターンといった、プログラム構造と振る舞いに関する意味のあるインサイトを提供する。
- FEAST における LASSO と逐次選択手法は、複数回の実行において一貫して、小さな高パフォーマンス特徴量サブセットを同定した。
- このアプローチにより、大規模なコンパイルワークロードに実用的である、スケーラブルで動的特徴量を一切使用しないパフォーマンス予測が可能になった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。