80억 파라미터 LLM도 속일 수 있다? 코드 의미 보존 변이에 대한 취약성 분석
최대 80억 파라미터의 LLM을 대상으로 코드 의미 보존 변이를 적용한 실험 결과, 일부 LLM은 잘못된 추론으로도 정답을 도출하고 코드 변이에 예측이 불안정한 것으로 나타났습니다. 이는 LLM의 신뢰성과 실제 응용 가능성에 대한 심각한 문제점을 제기합니다.

최근 급속도로 발전하는 대규모 언어 모델(LLM)은 프로그래밍 분야에서도 혁신적인 가능성을 보여주고 있습니다. 하지만 이러한 모델의 추론 과정과 신뢰성에 대한 의문은 여전히 남아 있습니다. 단순히 정답을 맞추는 것 이상으로, LLM이 코드를 어떻게 이해하고 있는지, 그리고 그 이해가 얼마나 견고한지에 대한 깊이 있는 연구가 필요합니다.
포르투갈의 Pedro Orvalho 와 영국의 Marta Kwiatkowska 연구팀은 최대 80억 파라미터를 가진 최첨단 LLM의 코드 이해 능력을 심층적으로 분석한 연구 결과를 발표했습니다. 연구팀은 Python 프로그램에 대해 의미는 유지하되 문법을 변경하는 5가지 변이 기법을 적용했습니다. 변수 이름 바꾸기, 비교 표현식 반전, if-else 문 교체, for 루프를 while 루프로 변환, 루프 언롤링 등이 그것입니다. 이러한 변이는 프로그램의 의미를 유지하면서 구문을 변경하여 LLM의 추론 과정을 면밀히 검토하는 데 도움을 줍니다.
6개의 LLM을 대상으로 실험한 결과, 놀라운 사실이 드러났습니다. Llama3.2를 포함한 일부 LLM은 최대 61%의 경우 잘못된 추론 과정을 거쳐 정답을 맞추는 것으로 나타났습니다. 이는 LLM이 코드의 본질적인 의미를 제대로 이해하지 못하고, 단순히 패턴 매칭이나 통계적 예측에 의존하고 있음을 시사합니다. 더욱 심각한 것은, LLM들이 코드 변이에 매우 민감하게 반응하여 예측 결과가 쉽게 바뀐다는 점입니다. 이는 LLM의 코드 이해 능력이 예상보다 훨씬 취약하며, 실제 프로그래밍 환경에서 안정적으로 사용하기 어려움을 보여줍니다.
이 연구는 LLM의 블랙박스적인 성격과 신뢰성 문제를 다시 한번 강조합니다. LLM을 프로그래밍 도구로 활용하기 위해서는 단순한 정확도 측정을 넘어, 그 내부의 추론 과정을 면밀히 분석하고, 외부 변화에 강인한 모델을 개발하는 것이 필수적입니다. 앞으로 LLM의 신뢰성을 높이기 위한 연구가 더욱 활발히 진행될 것으로 예상됩니다. 이는 단순한 기술적 문제를 넘어, 인공지능 기술의 윤리적 책임과 사회적 영향에 대한 심도있는 고찰을 요구하는 중요한 이슈입니다.
Reference
[arxiv] Are Large Language Models Robust in Understanding Code Against Semantics-Preserving Mutations?
Published: (Updated: )
Author: Pedro Orvalho, Marta Kwiatkowska
http://arxiv.org/abs/2505.10443v1