Удалить это! Стирание чувствительных запоминаний в языковых моделях для кода с помощью машинного "разучивания"
Scrub It Out! Erasing Sensitive Memorization in Code Language Models via Machine Unlearning
September 17, 2025
Авторы: Zhaoyang Chu, Yao Wan, Zhikun Zhang, Di Wang, Zhou Yang, Hongyu Zhang, Pan Zhou, Xuanhua Shi, Hai Jin, David Lo
cs.AI
Аннотация
Хотя языковые модели для кода (Code Language Models, CLMs) продемонстрировали превосходную производительность в задачах программной инженерии, таких как генерация и суммаризация кода, недавние эмпирические исследования выявили критическую уязвимость в области конфиденциальности: эти модели демонстрируют непреднамеренное запоминание чувствительных данных из обучающего набора, что позволяет дословно воспроизводить конфиденциальную информацию при специфических запросах. Для решения этой проблемы были предложены различные подходы, включая дедупликацию обучающих данных и усиление дифференциальной приватности. Однако эти методы требуют полного переобучения уже развернутых CLMs, что влечет за собой значительные вычислительные затраты. В данной статье мы стремимся ответить на следующий исследовательский вопрос: Можно ли эффективно и экономно удалить чувствительную информацию, запомненную CLMs?
Мы проводим пионерское исследование по удалению чувствительных данных из CLMs с помощью машинного "забывания" (machine unlearning) — метода постобработки, который удаляет конкретную информацию из обученных моделей без необходимости полного переобучения. В частности, мы сначала количественно оцениваем риски запоминания чувствительных данных в обучающих наборах CLMs и формируем набор из 50 000 высокорисковых запомненных образцов в качестве целей для "забывания". Мы изучаем два широко используемых подхода на основе градиентного восхождения: базовый метод и метод с ограничениями, а также представляем CodeEraser — усовершенствованный вариант, который избирательно "забывает" чувствительные запомненные фрагменты кода, сохраняя структурную целостность и функциональную корректность окружающего кода. Масштабные эксперименты на трех семействах CLMs, а именно CodeParrot, CodeGen-Mono и Qwen2.5-Coder, подтверждают эффективность и экономичность CodeEraser в удалении целевых чувствительных данных при сохранении полезности модели.
English
While Code Language Models (CLMs) have demonstrated superior performance in
software engineering tasks such as code generation and summarization, recent
empirical studies reveal a critical privacy vulnerability: these models exhibit
unintended memorization of sensitive training data, enabling verbatim
reproduction of confidential information when specifically prompted. To address
this issue, several approaches, including training data de-duplication and
differential privacy augmentation, have been proposed. However, these methods
require full-model retraining for deployed CLMs, which incurs substantial
computational costs. In this paper, we aim to answer the following research
question: Can sensitive information memorized by CLMs be erased effectively and
efficiently?
We conduct a pioneering investigation into erasing sensitive memorization in
CLMs through machine unlearning - a post-hoc modification method that removes
specific information from trained models without requiring full retraining.
Specifically, we first quantify the memorization risks of sensitive data within
CLM training datasets and curate a high-risk dataset of 50,000 sensitive
memorized samples as unlearning targets. We study two widely used gradient
ascent-based unlearning approaches: the vanilla and constraint-based methods,
and introduce CodeEraser, an advanced variant that selectively unlearns
sensitive memorized segments in code while preserving the structural integrity
and functional correctness of the surrounding code. Extensive experiments on
three families of CLMs, i.e., CodeParrot, CodeGen-Mono, and Qwen2.5-Coder,
validate the effectiveness and efficiency of CodeEraser in erasing targeted
sensitive memorization while maintaining model utility.