Search

챗GPT가 스택 오버플로를 오염시키고 있다, AI가 AI를 잡아낸다

챗GPT가 스택 오버플로를 오염시키고 있다, AI가 AI를 잡아낸다
이미지 출처: 이디오그램 생성

개발자들의 성지로 불리는 스택 오버플로(Stack Overflow)가 조용히 무너지고 있다. 챗GPT(ChatGPT)가 생성한 그럴듯한 답변들이 플랫폼을 채우기 시작하면서, 수백만 개발자가 매일 의존하는 이 지식 공유 플랫폼의 신뢰성이 흔들리고 있다. 이 문제를 해결하기 위해 연구자들이 AI로 AI를 탐지하는 새로운 도구를 개발했다.

챗GPT 답변이 개발자 커뮤니티를 위협하는 이유

스택 오버플로는 2008년 서비스를 시작한 이래 전 세계 소프트웨어 개발자들이 기술 질문과 해답을 나누는 핵심 플랫폼으로 자리 잡았다. 수천만 명의 개발자가 일상적인 코딩 문제부터 복잡한 알고리즘까지 이곳의 답변에 의존한다.

문제는 챗GPT의 등장 이후 불거졌다. 챗GPT가 생성한 답변들은 겉으로 보기에 논리적이고 잘 정리되어 있지만, 실제로는 틀린 정보를 포함하는 경우가 빈번하다. 논문에 소개된 대표적인 사례가 이를 잘 보여준다. “가장 최근의 로컬 커밋을 어떻게 취소하나요?”라는 질문에 인간 개발자는 git rm, git add, git commit –amend 명령어를 정확히 안내한 반면, 챗GPT는 존재하지 않는 명령어인 git delete commit을 사용하라고 안내했다. 이 답변을 그대로 따른 개발자는 오류에 빠질 수밖에 없다.

스택 오버플로 측은 이미 챗GPT 생성 답변이 “실질적으로 해롭다”고 규정하고 이를 전면 금지했다. 그러나 자원봉사자로 운영되는 콘텐츠 검토 시스템은 쏟아지는 AI 생성 답변을 일일이 걸러내기에 역부족이다. 답변을 만들어내는 것은 순식간이지만, 그 정확성을 검증하는 데는 전문 지식과 시간이 필요하기 때문이다.

SOGPTSpotter가 AI 답변을 탐지하는 방법

호주 CSIRO 데이터61(Data61), 독일 뮌헨공과대학교(Technical University of Munich), 호주 디킨대학교(Deakin University), 모나시대학교(Monash University) 공동 연구팀은 이 문제를 해결하기 위해 ‘SOGPTSpotter’라는 탐지 도구를 개발했다.

핵심 기술은 샴 신경망(Siamese Neural Network)이다. 이는 마치 쌍둥이처럼 동일한 구조의 두 신경망이 각각 입력을 처리하고, 두 입력 사이의 유사도를 측정하는 방식이다. 연구팀은 세 가지 답변을 함께 비교하는 방식을 채택했다. 기준 답변(reference answer), 인간이 작성한 답변, 그리고 챗GPT가 생성한 답변이다. 기준 답변은 AI 특유의 문체와 특성을 의도적으로 담아 만든 비교 기준점 역할을 한다.

샴 신경망은 트리플렛 손실(triplet loss)이라는 학습 방법으로 훈련된다. 이 방법은 기준 답변과 챗GPT 답변 사이의 거리를 좁히고, 기준 답변과 인간 답변 사이의 거리는 최대한 벌리도록 모델을 학습시킨다. 결과적으로 모델은 새 답변이 들어왔을 때 기준 답변과의 유사도 점수를 계산해 0.5 이상이면 AI 생성, 미만이면 인간 작성으로 분류한다.

연구팀은 빅버드(BigBird)라는 언어 모델을 샴 신경망 내부에 탑재했다. 기존의 언어 처리 모델들은 처리할 수 있는 텍스트 길이에 한계가 있어 긴 답변을 다루기 어렵다. 빅버드는 무작위 어텐션(random attention), 슬라이딩 윈도우 어텐션(sliding window attention), 글로벌 어텐션(global attention)을 조합한 독자적인 메커니즘으로 이 한계를 극복하고 긴 텍스트도 효율적으로 처리한다.

기존 탐지 도구를 압도한 97.67% 정확도

연구팀은 스택 오버플로에서 수집한 6,000개의 고품질 게시물로 데이터셋을 구성했다. 평판 점수 1,000점 이상의 사용자 답변, 5개 이상의 추천수, 채택된 답변 등 엄격한 기준을 적용해 데이터 품질을 높였다. 챗GPT가 서비스를 시작한 2021년 11월 이전에 작성된 게시물만 인간 답변 데이터로 사용해 오염 가능성도 차단했다.

성능 비교 실험에서 SOGPTSpotter는 정확도 97.67%, 정밀도(precision) 98.64%, F1 점수 97.64를 기록했다. 이는 현재 널리 쓰이는 AI 탐지 도구들을 크게 앞서는 수치다. GPT제로(GPTZero)보다 정확도가 21.71% 높았고, 딜렉트GPT(DetectGPT)보다는 22.35%, GLTR보다는 5.50% 높았다. 버트(BERT), 로버타(RoBERTa), GPT-2 같은 강력한 언어 모델 기반 탐지기와 비교해도 각각 3.30%, 1.88%, 4.18% 높은 정확도를 보였다.

특히 주목할 점은 정밀도다. 정밀도는 AI가 생성했다고 판단한 답변 중 실제로 AI가 생성한 비율을 나타낸다. 정밀도가 높을수록 인간이 쓴 답변을 AI 생성으로 잘못 분류하는 일이 줄어든다. SOGPTSpotter의 정밀도 98.64%는 모든 비교 모델 중 가장 높았다. 스택 오버플로처럼 커뮤니티 신뢰가 중요한 플랫폼에서는 억울하게 삭제되는 인간 답변을 최소화하는 것이 핵심이기 때문에, 이 결과는 실제 적용 가능성 측면에서 특히 중요한 의미를 갖는다.

적대적 공격과 타 플랫폼에서도 통한 강건함

연구팀은 SOGPTSpotter가 실제 환경에서도 신뢰할 수 있는지 검증하기 위해 세 가지 방식의 공격 실험을 진행했다. 동의어 대체(synonym substitution), 텍스트 변형(perturbation), 문장 바꿔쓰기(paraphrasing)를 적용해 AI 생성 답변을 인간 답변처럼 위장하려 한 것이다. 이런 조작은 실제로 일부 사용자들이 AI 생성 답변을 탐지 시스템에 걸리지 않게 하려고 사용하는 방법이기도 하다.

세 가지 공격 방식 모두에서 SOGPTSpotter는 기존 도구들보다 높은 F1 점수를 유지했다. 동의어 대체 공격 시 94.43%, 텍스트 변형 시 94.90%, 문장 바꿔쓰기 시 95.85%를 기록해 모든 비교 모델을 앞섰다. 또한 성능 저하 비율도 가장 낮았다. 문장 바꿔쓰기 공격으로 GPT제로는 7.64% 성능이 떨어진 반면, SOGPTSpotter는 1.83% 하락에 그쳤다.

일반화 성능도 확인했다. 연구팀은 수학 스택익스체인지(Mathematics Stack Exchange), 전자공학 스택익스체인지(Electronics Stack Exchange), 비트코인 스택익스체인지(Bitcoin Stack Exchange)에서 각각 100개의 게시물을 수집해 테스트했다. SOGPTSpotter는 세 분야 모두에서 비교 모델들을 앞섰다. 챗GPT 외에 메타(Meta)의 라마3(LLaMA 3), 구글(Google)의 제미나이(Gemini), 앤스로픽(Anthropic)의 클로드3(Claude 3)가 생성한 답변을 탐지하는 실험에서도 가장 높은 성능을 보였다. 기준 답변을 활용해 해당 언어 모델의 생성 패턴을 학습하는 구조 덕분에 다양한 AI 모델에도 대응할 수 있었다.

실제 스택 오버플로에서 47개 AI 게시물 삭제

연구팀은 실험실을 넘어 실제 스택 오버플로에서도 효과를 확인했다. 2022년 11월 30일부터 2024년 4월 30일 사이에 작성된 게시물 5만 개를 무작위로 선정해 SOGPTSpotter로 분석했다. 모델은 이 중 146개를 AI 생성 의심 답변으로 분류했고, 연구팀은 이 가운데 50개를 직접 스택 오버플로에 수정 요청으로 제출했다.

결과는 인상적이었다. 제출한 50건 중 47건, 즉 94%가 커뮤니티 검토를 통과해 해당 게시물이 실제로 삭제됐다. 거부된 3건 중 2건은 30토큰 미만의 매우 짧은 답변이었고, 나머지 1건은 긴 코드 조각에 짧은 설명만 붙은 형태였다. 짧은 텍스트는 AI와 인간 모두 비슷한 방식으로 작성하는 경향이 있어 구별이 어렵고, 코드 위주의 답변은 자연어 패턴이 부족해 탐지의 단서가 줄어드는 한계가 있다.

연구팀은 이 두 가지 상황, 즉 매우 짧은 답변과 코드 중심의 답변을 향후 개선 과제로 꼽으면서, 실시간 탐지 기능 개발과 다른 Q&A 플랫폼으로의 확장도 향후 연구 방향으로 제시했다.

FAQ( ※ 이 FAQ는 본지가 리포트를 참고해 자체 작성한 내용입니다.)

Q. SOGPTSpotter는 어떤 원리로 챗GPT가 쓴 답변을 탐지하나요?

SOGPTSpotter는 샴 신경망(Siamese Neural Network)과 빅버드(BigBird) 언어 모델을 결합해 만든 AI 탐지 도구입니다. AI가 작성한 것으로 알려진 기준 답변과 검사 대상 답변을 비교해 유사도를 계산하고, 일정 수준 이상으로 유사하면 챗GPT가 생성한 답변으로 분류합니다.


Q. 챗GPT가 쓴 답변이 스택 오버플로에서 왜 문제가 되나요?

챗GPT 생성 답변은 논리적으로 보이지만 실제로 존재하지 않는 명령어나 잘못된 정보를 포함하는 경우가 많습니다. 개발자들이 이를 검증 없이 따를 경우 심각한 오류가 발생할 수 있어, 스택 오버플로는 이미 챗GPT 답변을 공식적으로 금지한 상태입니다.

Q. SOGPTSpotter는 챗GPT 외에 다른 AI가 쓴 글도 탐지할 수 있나요?

네, 가능합니다. 연구팀이 라마3(LLaMA 3), 제미나이(Gemini), 클로드3(Claude 3)를 대상으로 실험한 결과, SOGPTSpotter는 세 모델 모두에서 기존 탐지 도구보다 높은 성능을 보였습니다. 다만 학습에 사용된 챗GPT 데이터와 다른 AI 모델의 생성 패턴 차이로 인해 성능이 다소 낮아질 수 있습니다.

기사에 인용된 리포트 원문은 arXiv에서 확인할 수 있다.

리포트명: SOGPTSpotter: Detecting ChatGPT-Generated Answers on Stack Overflow

이미지 출처: 이디오그램 생성

해당 기사는 챗GPT와 클로드를 활용해 작성되었습니다.