Core Concepts
신경망 코드 완성 모델이 훈련 데이터에 포함된 코드 샘플을 식별할 수 있는지 여부를 조사하는 것이 이 연구의 핵심 목적이다.
Abstract
이 연구는 신경망 코드 완성 모델의 법적 및 윤리적 문제를 탐구한다. 특히 "내 코드가 귀하의 신경망 코드 완성 모델에 사용되었습니까?"라는 질문에 답하고자 한다.
이를 위해 분류 작업을 위해 고안된 멤버십 추론 접근법(CodeMI)을 코드 완성 작업에 맞게 조정했다. 타깃 모델의 내부 정보에 접근할 수 없기 때문에 여러 개의 그림자 모델을 훈련시켜 타깃 모델의 동작을 모방하도록 했다. 이렇게 얻은 출력 벡터를 사용하여 멤버십 분류기를 훈련했다. 이 멤버십 분류기를 통해 주어진 코드 샘플이 타깃 모델의 훈련 데이터에 포함되었는지 여부를 판단할 수 있다.
실험 결과, LSTM 기반 및 CodeGPT 모델은 멤버십 누출 문제에 취약한 것으로 나타났으며, CodeMI를 통해 각각 0.842와 0.730의 정확도로 탐지할 수 있었다. 반면 CodeGen 및 StarCoder와 같은 대규모 언어 모델의 데이터 멤버십은 탐지하기 어려운 것으로 나타났다. 이러한 발견을 모델 메모리화 관점에서 설명하고자 했다.
Stats
LSTM 기반 코드 완성 모델의 경우 멤버십 추론 정확도가 0.842이다.
CodeGPT 모델의 경우 멤버십 추론 정확도가 0.730이다.
CodeGen 및 StarCoder 모델의 경우 멤버십 추론 성능이 낮다.
Quotes
"최근 몇 년 간 딥러닝 기반 자동 코드 완성 모델 개발에 큰 진전이 있었다."
"이러한 모델들은 일반적으로 GitHub와 같은 오픈소스 커뮤니티에서 수집한 대량의 소스 코드로 학습된다."
"그러나 이는 저작권 침해와 같은 법적 및 윤리적 문제를 야기할 수 있다."