13일 전

휴먼처럼 디버그하기: 런타임 실행 단계별 검증을 통한 대규모 언어 모델 디버거

Li Zhong, Zilong Wang, Jingbo Shang
휴먼처럼 디버그하기: 런타임 실행 단계별 검증을 통한 대규모 언어 모델 디버거
초록

대규모 언어 모델(Large Language Models, LLMs)은 코드 생성 분야에서 중요한 진전을 이끌고 있다. 일회성 코드 생성을 넘어서, 최근 연구들은 단위 테스트(unit tests)와 프로그램 검증기(program verifiers)를 LLM에 통합하여 생성된 프로그램을 반복적으로 개선하는 방식을 탐색하고 있다. 그러나 이러한 기존 연구들은 생성된 프로그램을 분리 불가능한 전체(entity)로 간주하며, 특히 복잡한 논리 흐름과 데이터 연산을 포함한 프로그램의 디버깅 능력에서 LLM의 한계를 드러낸다. 반면 인간 개발자는 프로그램을 디버깅할 때 일반적으로 브레이크포인트를 설정하고 실행 시점의 정보 중 일부만 선택적으로 확인한다. 실행 흐름과 중간 변수는 디버깅 과정에서 핵심적인 역할을 하지만, 기존 코드 생성 연구에서는 이러한 요소들이 충분히 활용되지 못하고 있다. 본 연구에서는 LLM이 실행 시점 정보를 활용하여 생성한 프로그램을 개선할 수 있도록 하는 새로운 디버깅 프레임워크인 Large Language Model Debugger(LDB)를 제안한다. 구체적으로 LDB는 프로그램을 기본 블록(basic blocks)으로 분할하고, 실행 중 각 블록 이후의 중간 변수 값들을 추적한다. 이를 통해 LLM은 전체 실행 흐름 내에서 보다 단순한 코드 단위에 집중하여, 각 블록별로 작업 설명(task description)과 일치하는지 검증하고, 잠재적 오류를 효율적으로 식별할 수 있다. 실험 결과, LDB는 HumanEval, MBPP, TransCoder 벤치마크에서 기준 성능을 최대 9.8%까지 지속적으로 향상시켜, 다양한 LLM 선택에 대해 코드 디버깅 분야에서 새로운 최고 성능(state-of-the-art)을 기록하였다.

휴먼처럼 디버그하기: 런타임 실행 단계별 검증을 통한 대규모 언어 모델 디버거 | 최신 연구 논문 | HyperAI초신경