IDE 자동완성을 위한 차등프라이버시 기반 코드 보호
초록
본 논문은 Kotlin 코드 자동완성 모델을 차등프라이버시(DP)로 미세조정하여, 멤버십 추론 공격(MIA)에 대한 방어 효과와 모델 성능 저하를 최소화하는 방법을 제시한다. DP‑SGD와 LoRA를 결합해 𝜖≈30의 프라이버시 예산을 달성했으며, 공격 성공률을 무작위 수준(AUC 0.606)으로 낮추면서 비공개 모델과 유사한 정확도를 유지한다.
상세 분석
본 연구는 IDE에 통합되는 코드 자동완성 LLM이 사용자 소스코드를 학습 데이터로 사용할 때 발생하는 메모리제이션 및 데이터 유출 위험을 실질적인 방어 메커니즘으로 해결하고자 한다. 차등프라이버시(DP)를 적용하기 위해 저자들은 두 가지 핵심 기술을 결합한다. 첫째, 기존의 4 B 파라미터 Mellum 모델을 사전학습된 공개 코드 베이스 위에 두고, 내부 Kotlin 레포지토리(8 M 샘플)에서 파인튜닝한다. 둘째, 파인튜닝 단계에서 Low‑Rank Adaptation(LoRA)를 사용해 전체 파라미터가 아닌 소수의 저차원 매트릭스만 학습한다. LoRA는 학습 시 필요한 per‑sample gradient 차원을 크게 축소시켜, DP‑SGD에서 요구되는 개별 샘플 그래디언트 계산과 클리핑, 가우시안 노이즈 추가 비용을 크게 낮춘다.
DP‑SGD는 전형적인 SGD와 달리 (1) 배치 내 각 샘플에 대해 그래디언트를 별도로 계산하고, (2) L2 노름 기준으로 사전 정의된 클리핑 임계값 C를 초과하는 경우 스케일링하여 개인별 영향력을 제한한다. (3) 클리핑된 그래디언트들의 평균에 가우시안 노이즈를 추가하고, (4) 이를 모델 가중치에 적용한다. 이 과정에서 누적 프라이버시 손실을 추적하는 ‘프라이버시 회계기’가 𝜖와 𝛿 값을 실시간으로 업데이트한다.
실험에서는 비공개 데이터 전체(8 M)로 파인튜닝한 비DP 모델(Mellum Int. Base)과, 동일 데이터셋 중 80 K(1 %)만 사용해 DP‑SGD(𝜖≈30, 𝛿=1e‑5)로 학습한 DP 모델(Mellum Int. DP)을 비교한다. 멤버십 추론 공격은 최신 LiRA 기반 방법을 적용했으며, 비DP 모델에서는 AUC 0.901로 높은 성공률을 보였지만, DP 모델에서는 AUC 0.606으로 거의 무작위 수준으로 감소했다. 동시에 코드 완성 정확도(Exact‑Match, BLEU 등)에서는 DP 모델이 비DP 모델과 1~2 % 차이만 보이며, 데이터 양이 100배 적음에도 불구하고 실용적인 성능을 유지한다.
이 결과는 (1) 𝜖≈30이라는 비교적 큰 프라이버시 예산이라도 멤버십 추론 공격을 효과적으로 억제한다는 점, (2) LoRA와 결합한 DP‑SGD가 대규모 파라미터 모델에서도 학습 효율성을 확보한다는 점, (3) 실제 IDE 환경에서 사용자 코드를 안전하게 활용할 수 있는 실용적인 방안을 제시한다는 점에서 의미가 크다. 다만, 𝜖 값이 여전히 10 이하인 엄격한 DP 수준과는 차이가 있으며, 노이즈 수준이 증가하면 미세한 코드 스타일이나 특수한 API 사용 패턴 같은 세부적인 유틸리티가 손실될 가능성이 있다. 향후 연구에서는 프라이버시 예산을 더 낮추면서도 성능 저하를 최소화하는 최적화 기법과, 다양한 프로그래밍 언어에 대한 일반화 가능성을 검증할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기