최신논문
NExT: 대규모 언어 모델에 코드 실행에 대한 추론을 가르치기
작성자
작성일
2024-07-04 10:10
조회
609
https://arxiv.org/abs/2404.14662
인간 개발자에게 기본적인 기술은 프로그램 실행을 이해하고 추론하는 능력입니다. 예를 들어, 프로그래머는 자연어로 코드 실행을 정신적으로 시뮬레이션하여 코드를 디버깅하고 복구할 수 있습니다(일명 러버덕 디버깅). 그러나 코드의 대규모 언어 모델(LLM)은 일반적으로 프로그램의 표면 텍스트 형식에서 학습되므로 프로그램이 런타임에 어떻게 실행되는지에 대한 의미적 이해가 부족할 수 있습니다. 이 문제를 해결하기 위해 LLM이 프로그램의 실행 추적(실행된 줄의 가변 상태)을 검사하고 사고의 사슬(CoT) 근거를 통해 런타임 동작에 대해 추론하도록 가르치는 방법인 NExT를 제안합니다. 구체적으로, NExT는 자체 학습을 사용하여 힘든 수동 주석 없이 올바른 작업 솔루션(예: 고정 프로그램)으로 이어지는 실행 인식 근거의 합성 학습 세트를 부트스트랩합니다. MBPP와 HumanEval을 기반으로 한 프로그램 복구 작업에 대한 실험은 NExT가 PaLM 2 모델의 수정률을 각각 26.1%와 14.3% 절대치만큼 개선한다는 것을 보여주며, 자동화된 메트릭과 인간 평가자에 의해 검증된 바와 같이 근거 품질이 상당히 개선되었습니다. 또한, 저희 모델은 테스트 시점에 프로그램 추적이 없는 시나리오로 일반화할 수 있습니다.
인간 개발자에게 기본적인 기술은 프로그램 실행을 이해하고 추론하는 능력입니다. 예를 들어, 프로그래머는 자연어로 코드 실행을 정신적으로 시뮬레이션하여 코드를 디버깅하고 복구할 수 있습니다(일명 러버덕 디버깅). 그러나 코드의 대규모 언어 모델(LLM)은 일반적으로 프로그램의 표면 텍스트 형식에서 학습되므로 프로그램이 런타임에 어떻게 실행되는지에 대한 의미적 이해가 부족할 수 있습니다. 이 문제를 해결하기 위해 LLM이 프로그램의 실행 추적(실행된 줄의 가변 상태)을 검사하고 사고의 사슬(CoT) 근거를 통해 런타임 동작에 대해 추론하도록 가르치는 방법인 NExT를 제안합니다. 구체적으로, NExT는 자체 학습을 사용하여 힘든 수동 주석 없이 올바른 작업 솔루션(예: 고정 프로그램)으로 이어지는 실행 인식 근거의 합성 학습 세트를 부트스트랩합니다. MBPP와 HumanEval을 기반으로 한 프로그램 복구 작업에 대한 실험은 NExT가 PaLM 2 모델의 수정률을 각각 26.1%와 14.3% 절대치만큼 개선한다는 것을 보여주며, 자동화된 메트릭과 인간 평가자에 의해 검증된 바와 같이 근거 품질이 상당히 개선되었습니다. 또한, 저희 모델은 테스트 시점에 프로그램 추적이 없는 시나리오로 일반화할 수 있습니다.
전체 0