← 최신 논문
💬 NLP

Dream at SemEval-2026 Task 13: SALSA for Single-Pass Machine-Generated Code Detection

Dream team은 균형 잡힌 샘플링과 보수적인 미세 조정을 결합한 SALSA 스타일의 단일 패스 자기회귀 분류 프레임워크를 제안하여 기계 생성 코드에 대한 강력한 분포 외 탐지를 달성함으로써 SemEval-2026 Task 13 리더보드에서 CodeBERT 베이스라인을 크게 능가합니다.

원저자: Ruslan Berdichevsky, Shai Nahum-Gefen, Elad Ben-Zaken

게시일 2026-06-25
📖 3 분 읽기☕ 가벼운 읽기

원저자: Ruslan Berdichevsky, Shai Nahum-Gefen, Elad Ben-Zaken

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신은 학생의 숙제가 학생이 직접 쓴 것인지, 아니면 아주 똑똑한 AI가 베낀 것인지 알아내려는 선생님이라고 상상해 보세요. 이것이 바로 이 논문의 저자들이 SemEval-2026 Task 13이라는 경진대회를 위해 해결하고자 했던 과제입니다.

다음은 그들이 이 문제를 어떻게 해결했는지에 대한 이야기를 쉬운 비유를 들어 설명한 것입니다.

문제점: "카멜레온" 코드

과거에 AI가 작성한 코드를 탐지하는 것은 숲속에서 카멜레온을 찾는 것과 같았습니다. AI는 다양한 프로그래밍 언어(Python, Java, C++ 등)와 다양한 작업들을 수행할 수 있었습니다. 만약 당신이 Python에서 AI 코드를 찾아내도록 탐지기를 훈련시킨다면, AI가 Java로 언어를 바꾸었을 때 그 탐지기는 종종 실패할 것입니다. 탐지기가 너무 "특화"되어 있어서 새로운, 보지 못한 상황을 처리할 수 없었기 때문입니다.

해결책: "단답형 게임"

Dream Security Ltd. 팀은 이 게임을 플레이하는 새로운 방식인 SALSA(Single-pass Autoregressive LLM Structured Classification)를 제안했습니다.

일반적인 AI 챗봇은 수다스러운 앵무새와 같습니다. 만약 당신이 "이 코드는 AI가 작성했나요?"라고 물으면, 챗봇은 *"음, 구문과 변수 이름을 살펴보니, ~하기 때문에 아마도 AI가 작성한 것 같습니다..."*라며 한 단락을 통째로 써 내려갈 것입니다. 이는 지저지고 채점하기 어렵습니다.

SALSA는 규칙을 바꿉니다:

  1. 프롬프트: 그들은 AI에게 코드 조각을 주고 매우 구체적인 질문을 던집니다: "이것은 기계가 생성한 것입니까?"
  2. 제약 조건: 그들은 AI에게 이렇게 말합니다: "당신은 오직 단 하나의 단어, 즉 '0'(아니오) 또는 '1'(예)로만 대답해야 합니다."
  3. 결과: AI는 긴 에세이를 쓰는 대신, 빠르고 결단력 있는 선택을 강요받습니다. 이는 마치 판사에게 10페이지짜리 법적 의견서를 쓰는 대신, 단 한 번의 의사봉 소리를 내라고 요구하는 것과 같습니다.

훈련: "적을수록 좋다 (Less is More)"

보통 컴퓨터 모델에게 새로운 작업을 가르칠 때, 당신은 모델이 주어진 특정 예시들을 암기할 때까지 오랫동안 반복 학습을 시킬 수 있습니다. 하지만 저자들은 모델을 특정 예시에 너무 과하게 훈련시키면, 모델이 새로운 상황을 다루는 법을 잊어버린다는 것(이를 '과적합'이라고 합니다)을 깨달았습니다.

그들은 "보수적 훈련(Conservative Training)" 방식을 사용했습니다:

  • 학습률 (Learning Rate): 학습률을 라디오의 볼륨 조절 노브라고 상상해 보세요. 그들은 볼륨을 아주 낮게 낮추었습니다. 이를 통해 모델이 기존 지식을 압도하지 않으면서도 새로운 작업을 배울 수 있게 했습니다.
  • 기간 (Duration): 그들은 모델이 예시를 딱 한 번만 공부하도록 했습니다(1 epoch). 그들은 너무 오래 공부하면 모델이 일반론적인 능력을 잃고 학습 데이터에만 너무 특화된다는 것을 발견했습니다.
  • 균형 잡힌 식단: 훈련 데이터에는 Java나 C++보다 훨씬 많은 양의 Python 코드가 있었습니다. 모델이 "Python 전용" 전문가가 되는 것을 막기 위해, 그들은 설령 추가적인 Python 데이터를 버려야 하더라도 모든 언어를 동일한 양으로 먹도록 강제했습니다.

결과: 베이스라인을 뛰어넘다

이 경진대회에는 기존의 "베이스라인" 탐지기인 CodeBERT가 있었는데, 이는 마치 녹슨 오래된 금속 탐지기와 같았습니다. 이 모델은 새로운 언어로 테스트되었을 때 0.305라는 매우 낮은 점수(매우 불량함)를 기록했습니다.

Dream Security 팀의 SALSA 시스템은 고성능의 적응형 스캐너와 같았습니다.

  • Zero-Shot (훈련 없이): 특별한 훈련 없이도 그들의 AI는 준수한 성능(약 0.5)을 보였습니다.
  • 훈련 후: 정교한 "1-epoch" 훈련을 거친 후, 그들의 최상위 시스템은 0.789의 점수를 달성했습니다.

이는 엄청난 도약입니다. 이는 그들의 시스템이 한 번도 본 적 없는 언어나 스타일로 작성된 코드라도 훨씬 더 잘 찾아낼 수 있음을 의미합니다.

주의할 점

논문은 재미있는 특징 하나를 언급합니다. 훈련 전의 AI는 매우 수줍음이 많았습니다. 실수를 할까 봐 너무 두려워한 나머지, 실제 AI가 작성한 코드임에도 불구하고 거의 항상 "사람이 작성함(0)"이라고 추측했습니다. 이 때문에 모델은 높은 "정밀도(precision, AI라고 예측했을 때 맞을 확률)"를 보였지만, "재현율(recall, AI 코드를 찾아내는 능력)"은 형편없는 것처럼 보였습니다. 훈련은 이 수줍음을 고쳐주었고, 모델이 AI 코드를 보았을 때 "예"라고 말할 수 있는 용기를 갖도록 가르쳐 주었습니다.

요약하자면: 그들은 에세이를 쓰지도 않고, 교과서를 통째로 외우지도 않으며, 새로운 언어에 압도당하지도 않는 탐지기를 만들었습니다. 그저 코드를 보고, 순식간에 생각한 뒤, 정확한 "예" 또는 "아니오"를 딱 떨어뜨립니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →