核心概念
LLVMアセンブリのコードサイズを最適化するために、大規模言語モデルを活用したコンパイラ最適化の新しいパラダイムを紹介します。
要約
大規模言語モデル(LLM)がソフトウェアエンジニアリング領域で能力を証明しており、コードやドキュメントの生成、プログラム間の翻訳、単体テストの作成、バグの検出と修正などに成功している。
LLMを使用してコンパイラレベルでコードを最適化する方法に焦点を当てており、ソースコード最適化とは異なるアプローチを取っている。
フィードバックにより、元のモデルよりも0.53%改善されたことが示されている。
3つの種類のフィードバックモデルが提案されており、それぞれ情報量が異なる。
サンプリング技術は10回以上行う場合でも高い性能を発揮することが示されている。
INTRODUCTION
LLMはソフトウェアエンジニアリングで有用性が証明されており、多くのオープンソースコードデータセットやGitHubから学習し、さまざまな言語に対する統計的理解を向上させている。
FEEDBACK-DIRECTED LLMS
LLVM IRコードを入力として使用し、最適化手法や命令数などを予測し、元々優れたLLVM -Oz最適化よりも2.87%改善したことが示されている。
THE MODEL
7Bパラメーターモデルでトレーニングされており、Byte Pair Encoding(Gage, 1994)トークナイザーと32 attention heads, 4,096 hidden dimensions, and 32 layers を含む構造である。
EVALUATION
フィードバックモデルはオリジナルモデルよりも性能向上しており、サンプリング技術は非常に効果的であることが示されている。
統計
LLMは-Oz最適化よりも2.87%改善した。
サンプリング技術では98%まで性能向上可能。