Core Concepts
대규모 언어 모델(LLM)은 별도의 재학습 없이도 다양한 코드 관련 작업에서 뛰어난 성능을 보여주지만, 자동 코드 번역 분야에서는 아직 한계가 있다. UniTrans는 LLM의 코드 번역 성능을 향상시키기 위해 자동 생성된 테스트 케이스를 활용하는 통합 번역 프레임워크이다.
Abstract
이 논문은 대규모 언어 모델(LLM)의 자동 코드 번역 기능을 탐구하고 UniTrans라는 통합 번역 프레임워크를 제안한다.
먼저 저자들은 널리 사용되는 코드 번역 데이터셋을 정리하고, 5개의 최신 LLM과 3개의 최신 학습 기반 번역기의 성능을 비교 평가했다. 그 결과 일부 LLM이 기존 번역기를 능가하지만, 여전히 정확도 문제가 있음을 발견했다. 이를 바탕으로 저자들은 LLM의 한계를 분석하고, 자동 생성된 테스트 케이스를 활용하여 LLM의 코드 번역 성능을 향상시키는 UniTrans를 제안했다.
UniTrans는 3단계로 구성된다. 첫째, LLM을 활용하여 테스트 케이스를 자동 생성한다. 둘째, 생성된 테스트 케이스를 활용하여 번역을 보강하고 정확성을 검증한다. 셋째, 테스트 케이스 실행 결과를 바탕으로 번역 오류를 수정한다.
저자들은 UniTrans를 GPT-3.5, LLaMA-13B, LLaMA-7B 등 3개의 LLM에 적용하여 실험했다. 그 결과 UniTrans는 거의 모든 번역 데이터셋에서 LLM의 코드 번역 성능을 크게 향상시켰다. 예를 들어 GPT-3.5의 경우 계산 정확도와 정확 일치 정확도가 각각 4.02%와 13.28% 개선되었다.
Stats
번역 정확도(CA)가 GPT-3.5에서 평균 4.02% 향상되었다.
정확 일치 정확도(EM Acc)가 GPT-3.5에서 평균 13.28% 향상되었다.
LLaMA-13B의 CA와 EM Acc가 각각 19.20%와 36.42% 평균 향상되었다.
LLaMA-7B의 CA와 EM Acc가 각각 28.58%와 71.22% 평균 향상되었다.
Quotes
"LLMs, pre-trained on billions of text/code tokens, bypass the need for re-training/fine-tuning but demonstrate the powerful generality of various code-related tasks, such as code generation [7, 11, 23, 25, 28, 52], program repair [12, 48], and code summarization [2, 14]."
"Enlightened by the above findings, we further propose UniTrans, an Unified code Translation framework, applicable to various LLMs, for unleashing their power in this field."