왜 중요한가
대규모 training 데이터가 부족한 no-resource 언어는 상용 LLM이 코드 생성을 제대로 수행하기 어렵다. 본 연구는 Gleam과 MoonBit라는 두 no-resource 언어를 대상으로 벤치마크를 만들고, prompt-based 기술, pre-training, fine-tuning, 그리고 instruction-following 능력 이전(instruction transferring)까지 다양한 접근법을 비교한다. 결과는 특히 no-resource 언어에서의 파인튜닝이 성능을 크게 끌어올리며, instruction transferring이 비용 대비 효과적으로 작동하는 방식을 보여준다.
핵심 기여
No-resource 벤치마크 생성
Gleam와 MoonBit에 대해 HumanEval, MBPP, McEval-Hard를 번역·구축하고, 벤치마크 번들을 제공한다. 번역 파이프라인과 테스트 스위트를 포함해 재현성을 보장한다.
다양한 기술로 no-resource 코드 생성 성능 평가
Few-shot, RAG, pre-training, fine-tuning 등 4가지 전략을 동일 모델에 적용해 성능 향상을 비교했다. 각 모델/언어/벤치마크 조합에서 pass@1과 passed%를 측정한다.
instruction transferring 제안 및 평가
instruct 모델의 weight diff를 no-resource 모델에 주입하는 instruction transferring을 제시하고, 이를 통해 비슷한 규모의 모델이 더 큰 모델을 상회하도록 성능을 끌어올린다.
학습 데이터 규모에 따른 차이 분석
pre-training이 no-resource 언어에서 가장 강력한 성능 향상을 제공하며, fine-tuning은 보조적 효과를 보였고, instruction transferring은 여러 모델에서 일반화된 이득을 보여준다.
재현성 확보 및 Replication 패키지 제공
벤치마크, 프롬프트, 실험 코드 등 재현 자원을 replication 패키지로 공개한다.
핵심 아이디어 이해하기
출발점: 고-resource 언어에서의 코드 생성은 대규모 데이터에 의존한다. 반대로 no-resource 언어는 학습 데이터가 부족해 LLM이 해당 언어의 문법/구문을 파악하기 어렵고, 결과적으로 syntactic/semantic 오류가 늘어난다. 이 논문은 Gleam과 MoonBit를 대상으로 벤치마크를 구성하고, prompt 기반의 적은 데이터 접근법에서부터 pre-training, fine-tuning, 그리고 instruction transferring에 이르는 점진적 학습 전략이 어떤 개선을 이끄는지 분석한다. 1) pre-training은 no-resource 데이터 전체를 이용해 언어 파악 능력을 넓히고, 2) instruction transferring은 instruct 모델의 지식을 기반 모델에 합성하는 방식으로 추가 학습 없이도 instruction-following을 확보한다. 3) 결과적으로 no-resource 언어에서 pass@1은 zero-shot에서 대체로 0~20% 범위이고, pre-training과 instruction transferring를 통해 이 수치를 크게 상승시킨다.
방법론
단계 1: 벤치마크 구성 및 데이터 수집 — Gleam 18,767 Gleam 코드 파일(Pre-training)과 13,534 Gleam 함수(Fine-tuning), MoonBit 3,609 MoonBit 파일(Pre-training)과 2,444 MoonBit 함수(Fine-tuning)을 확보한다. Token 수: Gleam Pre-training 28.3M 코드 토큰 + 0.1M 문서 토큰, MoonBit 13.7M 토큰. 단계 2: 모델 구성 — 6개 LLM(Qwen 2.5 Coder 32B Instruct/Base, Qwen 3 32B Instruct/8B Base, o3-mini, GPT-4o) 중 인스트럭션 여부에 따라zero-shot, few-shot, RAG, pre-training, fine-tuning을 적용한다. LoRA를 이용한 파인튜닝 및 사전 학습을 수행하고, 10회 반복으로 평가한다. 입력 패러미터: 0.2(일부 예외) 온도 설정. 단계 3: 평가 지표 — p@1 pass@1 및 passed%를 사용하고 McNemar의 검정과 Benjamini-Hochberg 보정을 통해 통계적 유의성을 판단한다. 단계 4: 분석 포인트 — syntactic vs semantic 오류 구분, 모델 크기와 데이터 양의 관계, instruction transferring의 효과를 비교한다.
주요 결과
RQ1 요약: 고-resource 언어에서 대부분의 모델이 90%대의 p@1를 달성하고, 저-resource 언어에서도 Lua 등은 60%대까지 상승하는 경향을 보이나 no-resource 언어 Gleam/MoonBit에서는 020% 범위에 머무르는 경우가 많다. McEval-Hard에서의 성능은 거의 01% 수준이다. RQ2 요약: few-shot 및 RAG는 no-resource에서 일정 개선을 보였고, pre-training은 더 큰 개선을 이끌었다. fine-tuning은 일부 모델에서 높은 성능을 보였지만, instruct 모델의 경우 더 큰 폭의 향상을 보이는 경향이다. RQ3 요약: instruction transferring은 no-resource에서 가장 큰 효과를 보였다. Qwen 2.5 Coder 32B Base에 Gleam MoonBit를 추가 pre-training한 경우 HumanEval에서 32.99→56.23(PT+Diff) 등의 개선이 나타났고, Qwen 3 8B Base에서도 33.31의 개선을 observation했다. 평균적으로 instruction transferring은 12%p@1 상승을 보이고, 더 작은 모델이 더 큰 모델보다 우수한 경우도 다수 관찰된다. 요약적으로, training-에 의한 방법보다 instruction transferring이 더 낮은 비용으로 실용적 성능 향상을 제공한다.
기술 상세
아키텍처: 각 모델은 base/ instruct 버전에 따라 다르고, LoRA로 파인튜닝한다. Pre-training은 2,048 토큰 시퀀스 길이로 CLM objective 하에 수행되며, LoRA 하이퍼파라미터는 r=16, α=32, dropout=0.05를 사용한다. Fine-tuning은 4,096 토큰 시퀀스로 수행되며 LoRA를 동일하게 적용한다. 데이터 수집은 Gleam/MoonBit 코드 파일과 문서를 대상으로 하며, 데이터 누수(leakage) 방지를 위해 파일-함수 명이 벤치마크의 함수명과 일치하는 경우를 제거하고, 8-gram 중복 여부를 확인한다. In-context learning은 5-shot 및 RAG를 적용하고, retrieval은 FAISS 기반으로 구현한다. 평가 지표는 p@1과 passed%이며, 10회 반복 실험으로 통계적 검정을 수행한다. Instruction transferring은 Mb_i, Mb_b, Mb_bk의 세 모델 간 weight diff Δw를 활용해 Mb_bk에 주입하는 방식으로 구현된다. 기준 모델은 base/ pre-trained 모델로 설정되며, instruct 모델의 지식을 delta로 전달한다. 결과적으로, instruction transferring은 no-resource에서 성능 향상을 크게 촉진하는 가장 일관된 전략이다. 데이터 세트 규모와 토큰 수, 모델 사이즈, 그리고 실험 구성은 Replication 패키지에 상세히 제공된다.
한계점
본 연구는 Gleam/MoonBit에 한정되며, 다른 no-resource 언어로 일반화하는 데 추가 검증이 필요하다. 벤치마크 번역의 정확성 및 테스트 스위트의 품질에 의존한다. 실험에서 hyperparameter 튜닝은 수행하지 않았으며, 특정 도메인에서의 하위 작업으로의 일반화 여부는 추가 연구가 필요하다. 또한 training 비용과 데이터 수집의 한계로 인해 real-world에서의 대규모 운영 이전의 추가 검증이 필요하다.
실무 활용
no-resource 언어를 대상으로 한 내부 코드 추천 시스템의 개발 비용을 낮추고, 현업에서 자주 쓰이는 도메인 특화 언어에 특화된 코드 보조 도구를 구축할 수 있다.
- Gleam/MoonBit에 특화된 in-house code assistant 구축
- 도큐먼트 기반 RAG 프롬프트로 언어별 API 레퍼런스 보조
- 기존 코드베이스의 문서-코드 페어를 바탕으로 자동 문서화/주석 생성
- 사전 학습 데이터 활용을 통한 초기 모델 배포 후 instruction transferring으로 언어 맞춤화
코드 공개 여부: 공개
코드 저장소 보기키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.