핵심 개념
보조 함수는 언어 모델의 코드 생성 능력을 향상시키는 데 도움이 되지만, 이에 대한 체계적인 탐구가 아직 이루어지지 않았다. 이 연구에서는 최근 코드 사전 학습된 언어 모델이 보조 함수를 활용하는 능력을 종합적으로 평가한다.
초록
이 연구는 보조 함수를 활용하는 언어 모델의 능력을 종합적으로 평가하기 위해 수행되었다. 먼저 연구진은 사람이 직접 작성한 예제로 구성된 HumanExtension 데이터셋을 구축했다. 이 데이터셋에는 한 함수가 다른 함수를 보조하는 관계가 포함되어 있다.
HumanExtension 데이터셋을 활용하여 연구진은 다음과 같은 실험을 수행했다:
단일 보조 함수를 포함한 프롬프트가 코드 생성 성능을 향상시키는지 확인
보조 함수의 관련성, 접근 가능성 등 다양한 요인이 성능에 미치는 영향 분석
여러 개의 보조 함수를 활용할 때 모델이 적절한 함수를 선택하는지 확인
실험 결과, 대부분의 언어 모델이 적절한 보조 함수를 활용할 때 큰 성능 향상을 보였다. 일부 고급 모델의 경우 단계적으로 두 함수를 구현하는 자기 향상 행동도 관찰되었다. 그러나 보조 함수 활용 능력은 기능과 무관한 요인에 따라 다양하게 나타나, 모델의 강건성에 대한 문제가 제기되었다. 또한 구현 스타일 분석 결과, 모델은 보조 함수를 호출하기보다 내부 로직을 반복하는 경향이 있어, 보조 함수 호출 능력 향상이 필요한 것으로 나타났다.
통계
보조 함수를 활용하면 대부분의 언어 모델에서 큰 성능 향상이 관찰되었다.
CodeLLaMA 34B 모델의 경우 관련 보조 함수를 활용할 때 성능이 133.4% 향상되었다.
일부 고급 모델은 단계적으로 두 함수를 구현하는 자기 향상 행동을 보였다.
인용구
"보조 함수는 언어 모델의 코드 생성 능력을 향상시키는 데 도움이 되는 요소이다."
"그러나 보조 함수를 활용하는 방법에 대한 체계적인 탐구가 아직 이루어지지 않았다."