자원이 없는 언어(No Resource)? 자원이 없는 언어에서의 코드 생성(Code Generation)을 위한 LLM 평가 및 개선
요약
학습 데이터가 거의 없는 '자원 없는 언어(No-resource languages)'를 위한 LLM 코드 생성 성능 평가 및 개선 방안을 연구합니다. 새로운 벤치마크를 구축하고, 추가 사전 학습과 가중치 차이 전이(weight diff transfer) 기술을 통해 지시 수행 능력을 유지하며 성능을 높이는 방법을 제안합니다.
핵심 포인트
- 자원 없는 언어를 위한 3가지 코드 생성 벤치마크 구축 및 공개
- 추가 사전 학습이 성능 향상에 가장 효과적임을 확인
- 가중치 차이 전이를 통해 지시 수행 능력을 보존하며 성능 개선
- 기업용 도메인 특화 언어 모델의 저비용 배포 가능성 제시
대규모 언어 모델 (LLMs)은 소프트웨어 엔지니어링 작업의 자동화를 크게 발전시켰습니다. 대표적인 예로 코드 생성 (code generation)이 있는데, 이는 LLM이 자연어 설명을 바탕으로 지정된 프로그래밍 언어로 코드를 생성하는 것을 의미합니다. 이 분야의 대부분의 연구는 풍부한 학습 데이터의 혜택을 받는 Python이나 Java와 같은 고자원 언어 (high-resource languages)에 집중되어 왔습니다. 소수의 연구는 학습 코퍼스 (training corpora)에서 비중이 낮은 저자원 언어 (low-resource languages)를 탐구해 왔습니다. 이와 대조적으로, LLM이 사실상 학습 데이터를 거의 보지 못한 자원 없는 언어 (no-resource languages)는 여전히 대부분 연구되지 않은 상태로 남아 있습니다. 이러한 언어들은 종람적으로 산업 현장에서 나타나는데, 기업들이 GitHub Copilot과 같은 상용 도구의 지원을 받지 못하는 독자적인 또는 도메인 특화 언어 (domain-specific languages)를 개발하기 때문입니다. 이로 인해 기업들은 자체적인 사내 코드 추천기 (in-house code recommenders)를 배포해야 하는 필요성에 직면합니다. 이러한 맥락에서 가능한 해결책을 조사하기 위해, 우리는 학습 데이터가 거의 없는 최근 제안된 두 가지 프로그래밍 언어를 기반으로 자원 없는 언어를 위한 세 가지 코드 생성 벤치마크 (benchmarks)를 구축하고 공개합니다. 이 벤치마크를 사용하여, 우리는 프롬프트 기반 기술 (prompt-based techniques)뿐만 아니라 가용 가능한 적은 데이터를 활용하는 사전 학습 (pre-training) 및 미세 조정 (fine-tuning)을 포함하여 LLM에게 자원 없는 언어를 가르치기 위한 여러 솔루션을 실험합니다. 추가적인 사전 학습 (further pre-training)은 자원 없는 언어에 대해 가장 큰 성능 향상을 제공하지만, 이를 지시어 튜닝된 모델 (instruction-tuned models)에 직접 적용하면 지시를 따르는 능력을 해칩니다. 이를 해결하기 위해, 우리는 베이스 모델 (base model)에서 시작하여 대상 언어로 추가 사전 학습을 진행한 다음, 지시어 모델 (instruction model)로부터의 가중치 차이 전이 (weight diff transfer)를 통해 지시 수행 능력을 주입합니다. 이러한 접근 방식은 자원 없는 환경에서 코드 생성 능력을 크게 향상시키며, 기업들이 지시어 미세 조정 (instruction fine-tuning)의 계산 비용을 감당하지 않고도 전문화된 지시어 모델 (instruct model)을 저렴하게 배포할 수 있게 해줍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기