Core Concepts
대규모 언어 모델은 코드를 단순한 텍스트로 해석하는 경향이 있으며, 인간이 강조하는 근본적인 논리적 지식을 이해하지 못하고 있다.
Abstract
이 연구는 대규모 언어 모델의 코드 이해 능력에 대해 탐구합니다. 연구진은 대규모 언어 모델이 코드를 단순한 텍스트로 해석하는 경향이 있으며, 인간이 강조하는 근본적인 논리적 지식을 이해하지 못하고 있다고 주장합니다.
이를 검증하기 위해 연구진은 "논리적으로 동등한 코드 선택" 이라는 새로운 과제를 소개했습니다. 이 과제는 주어진 코드와 논리적으로 동등한 코드를 후보 집합에서 선택하는 것입니다. 실험 결과, 현재의 대규모 언어 모델은 이 과제에서 저조한 성능을 보였는데, 이는 모델이 코드를 순서 없는 키워드 집합으로 이해하기 때문입니다.
이를 개선하기 위해 연구진은 "Next Token Prediction+" 이라는 새로운 사전 학습 과제를 제안했습니다. 이 과제는 모델의 생성 능력을 저해하지 않으면서 문장 임베딩 분포를 수정하는 것을 목표로 합니다. 실험 결과, 이 사전 학습 후 Code Llama와 StarCoder 모델 모두 논리적 동등 코드 선택 과제와 코드 완성 과제에서 큰 성능 향상을 보였습니다.
Stats
현재 대규모 언어 모델은 논리적으로 동등한 코드와 약간 다른 코드를 구분하는 데 어려움을 겪고 있다.
Code Llama 7B 모델의 경우 논리적으로 동등한 코드와 부정적 코드를 구분하는 정확도가 66.91%에 불과하다.
Code Llama 13B 모델의 경우 논리적으로 동등한 코드와 줄 순서가 바뀐 코드를 구분하는 정확도가 26.08%에 불과하다.
Quotes
"현재 대규모 언어 모델은 코드 논리를 진정으로 이해하지 못하고 있다."
"모델은 코드를 단순한 텍스트로 해석하는 경향이 있지만, 인간은 근본적인 논리적 지식을 강조한다."