코드 RL의 언어 간 전이 성능 향상: Parallel-SFT 제안
요약
본 논문은 대규모 언어 모델(LLM)이 특정 프로그래밍 언어(PL)에 편중된 학습 데이터로 인해 다른 저자원 PL에서 성능 저하를 겪는 문제를 해결하고자 합니다. 연구진은 효과적인 코드 강화학습 (RL) 전이를 위해서는 일반화 가능한 지도 미세 조정 (SFT) 초기화가 필수적이라고 가정하고, '병렬 프로그램(parallel programs)'을 활용하는 **Parallel-SFT** 전략을 제안합니다. 이 방법은 기능적으로 동등한 코드를 여러 PL로 묶어 데이터에 주입하며, 이를 통해 모델의 잠재 공간(latent space)이 언
핵심 포인트
- LLM은 C++, Python 같은 고자원 PL에서 뛰어난 성능을 보이지만, 저자원 PL에서는 학습 데이터 부족으로 전이가 어렵습니다.
- 기존 코드 RL 방식으로는 소스 PL에서의 훈련이 타겟 PL의 성능 개선에 실패하거나 오히려 성능을 저하시키는 문제가 발견되었습니다.
- 제안된 Parallel-SFT는 기능적으로 동등한 코드를 여러 프로그래밍 언어(PL)로 구성하여 SFT 단계에서 모델에 주입함으로써 전이성을 높입니다.
- Parallel-SFT를 거친 모델은 PL 간의 등가 프로그램들이 잠재 공간 내에서 더 밀집하게 군집화되는 '기능 중심적 (functionality-centric)' 표현을 학습합니다.
최근 대규모 언어 모델(LLM)은 C++, Python과 같은 일반적인 프로그래밍 언어(PL)에서 인상적인 코딩 능력을 보여주고 있습니다. 하지만 이러한 성능은 주로 풍부한 훈련 데이터가 존재하는 고자원 PL에 국한되는 경향이 있으며, 학습 데이터 확보가 어려운 저자원 PL에서는 성능 발휘에 한계가 있습니다.
근본적으로 프로그래밍 지식은 언어와 관계없이 보편적(universal)이어야 하므로, 한 PL에서 습득한 능력이 다른 PL로 전이되어야 합니다. 본 연구는 코드 강화학습 (Reinforcement Learning, RL)의 맥락에서 '제로샷 크로스-프로그래밍-언어 전이(zero-shot cross-programming-language transfer)'라는 과제를 정의하고 해결책을 제시합니다.
연구진은 Llama-3.1과 같은 모델에 대해 소스 PL에서 코드 생성을 위해 RL 훈련을 수행했을 때, 다른 타겟 PL에서의 성능 개선이 이루어지지 않거나 심지어 성능 저하를 보이는 현상을 관찰했습니다. 이에 따라 효과적인 RL 전이를 위해서는 일반화 가능한 지도 미세 조정 (Supervised Fine-Tuning, SFT) 초기화가 선행되어야 한다는 가설을 세웠습니다.
이에 대한 해결책으로 Parallel-SFT 전략을 제안합니다. Parallel-SFT는 데이터 혼합(data mixture)에 '병렬 프로그램(parallel programs)'을 통합하는 SFT 기법입니다. 여기서 병렬 프로그램이란, 기능적으로 동등한 코드를 여러 프로그래밍 언어(PLs)로 구현한 코드 세트를 의미합니다.
연구 결과, Parallel-SFT를 적용하여 모델을 초기화하고 이후 RL 훈련을 수행했을 때, 이전에 보지 못했던 새로운 PL에 대한 일반화 성능이 현저히 개선됨을 입증했습니다. 또한, 모델의 내부 표현(internal representations) 분석 결과, Parallel-SFT가 학습된 모델은 PL 간 등가 프로그램들이 잠재 공간(latent space) 내에서 더 조밀하게 군집화되는 '기능 중심적 (functionality-centric)' 잠재 공간을 형성한다는 것을 발견했습니다. 이는 언어 문법 구조보다는 코드의 핵심 기능 자체에 초점을 맞춘 표현이 되어, 궁극적으로 전이 성능 향상에 기여한다고 해석됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.CL의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기