Skip to main content
QUICK REVIEW

[논문 리뷰] Large Language Model-Aware In-Context Learning for Code Generation

Jia Li, Ge Li|arXiv (Cornell University)|2023. 10. 15.
Software Engineering Research인용 수 7
한 줄 요약

이 논문은 지식 기반의 컨텍스트 내 예제 선택 방법인 LAIL을 제안한다. 이 방법은 대규모 언어 모델(LLM)이 자체적으로 후보 예제의 생성 확률을 기반으로 평가하고 레이블을 부여함으로써 지식 기반의 예제 선택을 수행한다. LLM이 제공한 피드백을 기반으로 대조 학습 추론기를 훈련시킴으로써 LAIL은 최신 기술 수준의 성능을 달성하였으며, CodeGen에서 기준 모델 대비 Pass@1을 최대 11.58% 향상시키고, GPT-3.5에서 4.38% 향상시켰다. 이는 세 가지 벤치마크 데이터셋에서 확인된 결과이다.

ABSTRACT

Large language models (LLMs) have shown impressive in-context learning (ICL) ability in code generation. LLMs take a prompt consisting of requirement-code examples and a new requirement as input, and output new programs. Existing studies have found that ICL is highly dominated by the examples and thus arises research on example selection. However, existing approaches randomly select examples or only consider the textual similarity of requirements to retrieve, leading to sub-optimal performance. In this paper, we propose a novel learning-based selection approach named LAIL (LLM-Aware In-context Learning) for code generation. Given a candidate example, we exploit LLMs themselves to estimate it by considering the generation probabilities of ground-truth programs given a requirement and the example. We then label candidate examples as positive or negative through the probability feedback. Based on the labeled data, we import a contrastive learning objective to train an effective retriever that acquires the preference of LLMs in code generation. We apply LAIL to three LLMs and evaluate it on three representative datasets (e.g., MBJP, MBPP, and MBCPP). LATA outperforms the state-of-the-art baselines by 11.58%, 6.89%, and 5.07% on CodeGen, and 4.38%, 2.85%, and 2.74% on GPT-3.5 in terms of Pass@1, respectively.

연구 동기 및 목표

  • 컨텍스트 내 학습(ICL)의 불안정성을 해결하기 위해, 선택된 예제의 품질에 크게 의존하는 코드 생성에서의 문제를 다루기 위해.
  • 문자열 유사도나 무작위 샘플링에만 의존하는 히우리스틱 기반의 예제 선택 방법의 한계를 극복하기 위해.
  • LLM의 내재된 선호도를 효과적으로 반영할 수 있는 학습 기반 접근법을 개발하기 위해.
  • LLM가 생성한 피드백을 기반으로 한 대조 학습 목표를 사용해 LLM의 코드 생성에 대한 선호도를 학습하는 추론기를 훈련하기 위해.

제안 방법

  • 요구사항과 예제가 주어졌을 때, 지정된 정답 프로그램의 생성 확률을 측정하여 LLM 자체가 후보 예제의 품질을 추정한다.
  • 이 확률 피드백을 정량화하는 새로운 지표를 설계하고, 점수에 따라 예제를 긍정 또는 부정으로 레이블링한다.
  • LLM의 코드 생성에 대한 선호도를 학습하기 위해 대조 학습 목표를 사용해 신경망 기반 추론기를 훈련시킨다.
  • LLM 피드백에서 유래한 레이블된 데이터를 활용해 추론기를 최적화함으로써, LLM이 정확한 프로그램을 생성하는 데 가장 도움이 되는 예제를 추론할 수 있도록 한다.
  • 훈련된 추론기를 활용해 새로운 요구사항에 대해 컨텍스트 내 예제를 선택함으로써 ICL 성능을 향상시킨다.

실험 결과

연구 질문

  • RQ1LLM가 자체적으로 컨텍스트 내 예제의 품질 평가에 신뢰할 수 있는 피드백을 제공할 수 있는가?
  • RQ2히우리스틱 기반 방법(예: BM25 또는 무작위 선택)과 비교할 때, LLM 인지 예제 선택은 ICL 성능에서 어떤가?
  • RQ3LLM 피드백을 기반으로 훈련된 대조 학습 기반 추론기는 다양한 LLM과 데이터셋 간에 일반화 가능한가?
  • RQ4제안된 방법은 Pass@1 및 기타 코드 생성 지표에서 어느 정도 향상되는가?

주요 결과

  • LAIL은 CodeGen에서 Pass@1을 11.58% 향상시키고, MBJP에서 6.89%, MBPP에서 5.07%, GPT-3.5에서 4.38% 향상시켜 최신 기술 수준의 기준 모델를 초월한다.
  • 이 방법은 다양한 LLM과 데이터셋 간에 뛰어난 일반화 능력을 보이며, 광범위한 적용 가능성을 시사한다.
  • 인간 평가 결과, LAIL이 생성한 예제는 정확성, 가독성, 관련성 측면에서 더 높은 품질의 코드를 유도하는 것으로 확인되었다.
  • 무작위 또는 BM25 기반 선택 대비 성능 변동성을 크게 감소시켜 ICL의 안정성을 향상시켰다.
  • LLM가 생성한 피드백에 의존함으로써, 어휘 유사도 기반 방법보다 실제 LLM의 선호도와 더 잘 일치한다.
  • 대조 학습 목표는 LLM의 미세한 선호도를 효과적으로 포착하여 히우리스틱 접근보다 더 나은 예제 선택을 가능하게 했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.