일관성 기반 강화학습을 통한 LLM의 코드 추론 능력 향상
요약
CodeThinker는 LLM의 코드 추론 능력을 향상시키기 위해 단계별 추론 과정의 일관성을 활용하는 새로운 강화학습 프레임워크입니다. 기존 방식의 희소 보상 및 보상 해킹 문제를 해결하기 위해 단계별 추론 인지 모델, 동적 빔 샘플링, 일관성 보상 메커니즘을 도입했습니다. 실험 결과, Qwen2.5-Coder-7B-Instruct를 포함한 여러 모델에서 최첨단 성능을 기록하며 수학 및 프로그래밍 태스크 전반에서 정확도를 개선했습니다.
핵심 포인트
- 기존 강화학습의 희소 보상 및 보상 해킹 문제를 단계별 일관성 추적을 통해 해결
- CodeThinker의 3대 핵심 요소: 단계별 추론 인지 학습, 동적 빔 샘플링, 일관성 보상 메커니즘
- Qwen2.5-Coder-7B-Instruct 적용 시 기존 베이스라인 대비 정확도 4.3% 향상
- 추가 학습 없이도 수학적 추론 및 17개 프로그래밍 언어 태스크에서 성능 향상 입증
코드 추론 (Code reasoning)은 소스 코드와 특정 입력이 주어졌을 때 프로그램의 출력을 예측하는 작업을 의미합니다. 이는 대규모 언어 모델 (LLMs)의 추론 능력을 측정할 수 있으며, 코드 생성 (code generation) 및 수학적 추론 (mathematical reasoning)과 같은 다운스트림 태스크 (downstream tasks)에도 도움이 될 수 있습니다. 기존 연구들은 이 작업에서 강화학습 (reinforcement learning)의 효과를 검증해 왔습니다. 그러나 이러한 방법들은 최종 출력이나 조립된 (coarse-grained) 신호에만 기반하여 보상 (rewards)을 설계하며, 해당 작업 내 단계별 추론 과정의 내재된 일관성 (consistency)을 간과합니다. 따라서 이러한 방법들은 종종 희소 보상 (sparse reward) 또는 보상 해킹 (reward hacking)을 초래하여, 향상된 학습 능력의 완전한 발휘를 제한합니다.
이러한 문제를 완화하기 위해, 우리는 코드 추론을 위한 일관성 주도 강화학습 프레임워크인 CodeThinker를 제안합니다. 구체적으로, CodeThinker는 세 가지 핵심 구성 요소를 가집니다: (1) 단계별 추론 인지 모델 학습 모듈로, 일관성 추적 (consistency tracing) 패러다임을 템플릿으로 활용하여 단계별 추론 과정을 포착하는 학습 데이터를 합성합니다; (2) 고정된 샘플링 예산 하에서 샘플링된 출력의 품질을 개선하는 것을 목표로 하는 동적 빔 샘플링 (dynamic beam sampling) 전략; (3) 보상 해킹을 효과적으로 완화할 수 있는 일관성 보상 (consistency reward) 메커니즘입니다.
세 가지 대중적인 벤치마크 (benchmarks)에서의 실험 결과, CodeThinker는 여러 LLM에 걸쳐 최첨단 (state-of-the-art) 성능을 달성함을 보여줍니다. 예를 들어, Qwen2.5-Coder-7B-Instruct에 배포되었을 때 가장 강력한 베이스라인 (baseline)보다 정확도 면에서 4.3% 더 높은 성능을 기록했습니다. 우리는 또한 다운스트림 태스크에서 CodeThinker의 효과를 검증했습니다. 결과에 따르면, 추가 학습 없이도 CodeThinker는 수학적 추론 태스크와 17개의 프로그래밍 언어를 아우르는 코드 추론 태스크에서 각각 평균 5.33%포인트와 3.11%포인트의 정확도 향상을 얻었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기