Core Concepts
Forklift는 토큰 수준의 인코더-디코더 Transformer 모델을 사용하여 어셈블리 코드를 LLVM IR로 자동 변환하는 첫 번째 신경망 기반 변환기입니다. Forklift는 새로운 ISA를 점진적으로 지원할 수 있으며, 기존 접근법보다 더 높은 정확도와 효율성을 달성합니다.
Abstract
이 논문은 Forklift, 어셈블리 코드를 LLVM IR로 자동 변환하는 첫 번째 신경망 기반 변환기를 소개합니다.
Forklift의 핵심 구성 요소는 다음과 같습니다:
대규모 병렬 데이터셋 구축: 수백만 개의 C 함수와 해당 LLVM IR, x86, ARM, RISC-V 어셈블리 코드를 수집하여 학습 데이터로 활용합니다.
LLVM IR을 변환 대상으로 선택: LLVM IR은 포터블하고 학습에 유리한 중간 표현이므로 이를 변환 대상으로 선택했습니다.
토큰 수준의 인코더-디코더 Transformer 모델 설계: 어셈블리 코드를 입력받아 LLVM IR을 출력하는 신경망 모델을 구현했습니다.
점진적 학습 기법 도입: 새로운 ISA를 지원하기 위해 기존 인코더를 미세 조정하고 디코더를 고정하는 방식으로 Forklift를 확장할 수 있습니다.
Forklift는 기존 수작업 변환기인 Lasagne와 강력한 언어 모델 GPT-4를 능가하는 성능을 보였습니다. x86 코드의 경우 Lasagne보다 2.5배, GPT-4보다 4.4배 높은 정확도를 달성했습니다. 또한 새로운 ISA에 대한 지원을 효율적으로 추가할 수 있습니다.
Stats
최적화된 x86 코드에 대해 Forklift는 Lasagne보다 2.5배, GPT-4보다 4.4배 높은 정확도를 달성했습니다.
Forklift는 ExeBench 벤치마크에서 71% 이상의 정확도를 보였습니다.
Synth 벤치마크에서 Forklift는 51% ~ 67.42%의 정확도를 보였습니다.
Quotes
"Forklift는 토큰 수준의 인코더-디코더 Transformer 모델을 사용하여 어셈블리 코드를 LLVM IR로 자동 변환하는 첫 번째 신경망 기반 변환기입니다."
"Forklift는 기존 수작업 변환기인 Lasagne와 강력한 언어 모델 GPT-4를 능가하는 성능을 보였습니다."
"Forklift는 새로운 ISA에 대한 지원을 효율적으로 추가할 수 있습니다."