Skip to main content
QUICK REVIEW

[논문 리뷰] Coarse-Tuning Models of Code with Reinforcement Learning Feedback

Abhinav Jain, Chima Adiole|arXiv (Cornell University)|2023. 05. 25.
Software Engineering Research인용 수 4
한 줄 요약

이 논문은 컴파일러 피드백을 통해 문법적/의미적 정확성을 확보하고, 참조 솔루션과의 코드 유사도를 평가하기 위해 판별자 LLM을 사용하는 강화학습 기반의 코arse-tuning 방법 Rlcf를 제안한다. 이 방법은 컴파일 성공률과 테스트 통과율을 크게 향상시켜, 더 작은 모델이 자바 코드 생성 작업에서 2배에서 8배 크기의 모델 수준의 성능을 달성하도록 한다.

ABSTRACT

Large Language Models (LLMs) pre-trained on code have recently emerged as the dominant approach to program synthesis. However, these models are trained using next-token prediction, which ignores the syntax and semantics of code. We propose RLCF, that further trains a pre-trained LLM via reinforcement learning, using feedback from a grounding function that scores the quality of the code. The grounding function uses (i) compiler-derived feedback on whether the code it generates passes a set of correctness checks; and (ii) feedback from a different LLM that compares the generated code to a reference code. RLCF is model- and language-agnostic. We empirically evaluate it on the MBJP and MathQA tasks for Java. Our experiments show that RLCF raises the odds that an LLM-generated program compiles, is executable, and produces the right output on tests, often allowing LLMs to match the performance of 2x-8x larger LLMs.

연구 동기 및 목표

  • 다음 토큰 예측의 한계를 해결하기 위해, 의미적 정확성과 문법적 정확성, 기능적 동등성을 간과하는 코드 LLM의 문제를 다루기 위해.
  • 광범위한 테스트 케이스가 필요하지 않은 강화학습 기반의 코arse-tuning 방법을 개발하기 위해.
  • 문법적으로 유효하고 실행 가능한 코드를 생성하는 것과 참조 솔루션과 유사한 의미적 정확성을 동시에 달성하기 위해 이중 피드백 신호를 사용하는 것.
  • 이 방법이 더 작은 LLM이 코드 생성 작업에서 훨씬 큰 모델의 성능을 따라잡을 수 있는지 평가하기 위해.

제안 방법

  • Rlcf는 강화학습을 사용해 사전에 훈련된 코드 LLM을 코arse-tuning하며, 코드 생성을 마르코프 결정 과정(MDP)으로 간주한다.
  • 보상 함수는 두 가지 피드백 신호를 조합한다: (1) 컴파일러 기반 정적 분석을 통해 문법, 타입, 의미 오류를 탐지하고, 실패 시 음수 보상을 부여한다.
  • 두 번째 LLM 판별자는 생성된 코드가 참조 솔루션과 구분되지 않을 정도로 유사한지 평가하며, 판별자가 오도될 경우 양의 보상을 제공한다.
  • 판별자는 생성된 코드와 참조 코드를 구분하도록 적대적으로 훈련되어, 정책이 더 자연스럽고 정확한 프로그램을 생성하도록 유도한다.
  • 이 방법은 모델 및 언어에 관계없이 적용 가능하며, CodeGen, CodeT5, GPT-2와 같은 모델에 적용 가능하다.
  • 훈련은 보상 함수의 정확성과 參照 솔루션 유사도를 균형 잡는 손실 함수를 사용하는 정책 기반 강화학습 방식을 사용한다.

실험 결과

연구 질문

  • RQ1이중 피드백(컴파일러 및 판별자)을 사용한 강화학습이 LLM 생성 코드의 기능적 정확성과 컴파일 성공률을 크게 향상시키는가?
  • RQ2Rlcf는 더 작은 LLM이 코드 생성 작업에서 훨씬 큰 모델의 성능을 따라잡을 수 있도록 하는가?
  • RQ3코드 품질과 정확성 측면에서 Rlcf는 지도 학습 편집, 컴파일러 전용 피드백, 이전의 RL 기반 기준보다 어떻게 비교되는가?
  • RQ4판별자의 적대적 훈련이 필수적인가, 아니면 고정된 판별자도 동일한 성능을 낼 수 있는가?
  • RQ5Rlcf의 성과는 언어 특화 편집에 기인한 것인지, 아니면 강화학습 피드백 메커니즘 자체에 기인한 것인가?

주요 결과

  • Rlcf는 MBJP 및 MathQA 벤치마크에서 생성된 코드가 컴iles되고 실행 가능하며 테스트 케이스를 통과할 확률을 크게 높인다.
  • MathQA 데이터셋에서 Rlcf는 CodeGen(350M)의 Pass@100을 29.40에서 29.93으로, CodeT5(770M)의 Pass@100을 32.05에서 32.16으로 향상시켜 일관된 성과를 보였다.
  • Rlcf는 더 작은 모델(예: 350M 파라미터의 CodeGen)이 코드 생성 작업에서 2배에서 8배 크기의 모델 수준의 성능을 달성하도록 한다.
  • 제거 실험 결과, Rlcf는 단지 컴파일러 피드백만 사용할 때도 교차 엔트로피 손실, 양극성 RAMP 손실, CodeRL과 같은 지도 학습 기반 기준보다 뛰어난 성능을 보였다.
  • 판별자의 적대적 훈련은 고정된 판별자 대비 약간의 이점은 있으나 일관된 성과를 보였으며, 통계적으로 유의미한 차이는 항상 존재하지는 않았다.
  • 이 방법은 CodeGen, CodeT5, GPT-2 등 다양한 모델 아키텍처에서 뛰어난 성능을 보여, 모델 독립성의 타당성을 확인한다.

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

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

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

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