LLM 기반 코드 번역에서의 기능적 정확성과 실행 효율성 간의 격차 해소
요약
LLM 기반 코드 번역 시 기능적 정확성뿐만 아니라 실행 효율성을 동시에 개선하기 위한 연구를 소개합니다. 제안된 SwiftTrans 프레임워크는 다각도 탐색과 차이 인식 선택 과정을 통해 최적의 코드를 식별하며, 새로운 벤치마크인 SwiftBench를 통해 성능을 검증했습니다.
핵심 포인트
- LLM 번역 코드의 실행 효율성 문제 제기
- SwiftTrans 프레임워크: MpTranslator와 DiffSelector 제안
- 병렬 인컨텍스트 학습 및 차이 인식 선택 방식 도입
- 새로운 벤치마크 SwiftBench를 통한 성능 입증
대규모 언어 모델(LLMs)이 자동 코드 번역 시스템의 기능적 정확성(functional correctness)을 크게 향상시켰지만, 번역된 프로그램의 실행 효율성(runtime efficiency)은 상대적으로 적은 관심을 받아왔습니다. 무어의 법칙(Moore's law)이 약화됨에 따라, 실행 효율성은 기능적 정확성과 더불어 프로그램 품질을 결정하는 데 점점 더 중요해지고 있습니다. 우리의 예비 연구에 따르면, LLM이 번역한 프로그램은 종종 사람이 작성한 프로그램보다 느리게 실행되며, 이 문제는 프롬프트 엔지니어링(prompt engineering)만으로는 해결될 수 없습니다. 따라서 본 연구에서는 두 가지 핵심 단계로 구성된 코드 번역 프레임워크인 SwiftTrans를 제안합니다: (1) MpTranslator가 병렬 인컨텍스트 학습(in-context learning (ICL))을 활용하여 다양한 번역 후보를 생성하는 다각도 탐색(Multi-Perspective Exploration); (2) DiffSelector가 번역 간의 차이점을 명시적으로 비교하여 최적의 후보를 식별하는 차이 인식 선택(Difference-Aware Selection)입니다. 우리는 더 나아가 MpTranslator를 위한 계층적 가이드(Hierarchical Guidance)와 DiffSelector를 위한 순서 가이드(Ordinal Guidance)를 도입하여, LLM이 이 두 가지 핵심 구성 요소에 더 잘 적응할 수 있도록 합니다. 번역된 프로그램의 실행 효율성 평가를 지원하기 위해, 우리는 기존 벤치마크인 CodeNet과 F2SBench를 확장하고 새로운 벤치마크인 SwiftBench를 도입합니다. 세 가지 벤치마크 모두에서의 실험 결과, SwiftTrans는 정확성과 실행 효율성 모두에서 일관된 개선을 달성함을 보여줍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기