AI 탐지에서 퍼플렉서티란 무엇인가?
퍼플렉서티는 언어 모델이 사용자의 단어 선택에 얼마나 놀랐는지를 설명하기 위해 산출하는 수치이다. 이 글은 이 지표의 1977년 기원을 추적하고, 수식을 살펴보며, 같은 문단이 어떤 모델이 읽느냐에 따라 왜 다르게 점수화될 수 있는지 설명한다.
perplexity와 AI detection을 함께 검색하면, 상위 결과 몇 개는 전혀 관련 없는 제품에 관한 내용으로 드러난다. 바로 Perplexity라는 이름을 가진 AI 기반 검색 엔진이다. detector가 실제로 보고하는 지표는 그 회사와 단어 하나를 제외하면 아무 관련이 없다. 그것은 GPTZero나 검색 엔진보다 수십 년 앞선 음성 인식 연구에서 비롯되었으며, 둘 중 어느 것보다도 더 좁은 것을 측정한다. 즉, 언어 모델이 이미 페이지에 있는 단어들에 얼마나 놀라는지를 측정한다.
그렇다면 AI detection에서 perplexity는 무엇인가? perplexity는 언어 모델이 한 구절에 있는 정확한 단어들을 얼마나 잘 예측했는지를 설명하는 점수로, 모델이 산출한 확률들을 평균한 뒤 그 결과를 하나의 수치로 바꾸어 얻는다. 점수가 낮다는 것은 모델의 추측이 계속 맞았다는 뜻이다. 점수가 높다는 것은 계속 놀랐다는 뜻이다.
이 개념은 시중의 어떤 AI detector보다도 오래되었고, 그 자체로는 문서를 누가 썼는지에 대해 아무것도 말해주지 않는다. 숫자 뒤의 산술이 드러나면, 보고서의 점수는 판정처럼 보이지 않고 실제 모습대로 보이기 시작한다. 즉, 단어 선택에 대한 설명이다.
AI detection에서 perplexity는 무엇인가?
perplexity는 언어 모델링에서 빌려온 측정값이다. 이는 모델이 한 구절에 나타나는 특정 단어들을 얼마나 잘 예측했는지를 점수화하며, 그 점수를 하나의 수치로 보고한다. detector는 제출된 문서에 같은 측정값을 적용한다. 점수가 낮다는 것은 모델의 추측이 실제 단어와 매우 가깝게 일치했다는 뜻이며, 기계 저작의 표시로 읽힌다. 점수가 높다는 것은 인간 저작의 표시로 읽힌다. 이 계산의 어느 부분도 문서의 논지, 인용, 또는 주제를 읽지 않는다. 각 단어가 얼마나 예상 가능했는지만, 하나씩 읽는다.
detector가 이 측정값을 만든 것은 아니다. detector는 speech recognition과 machine translation 시스템이 이미 수십 년 동안 모델이 일상 언어를 얼마나 잘 예측하는지 판단하는 데 사용해 온 도구를 빌려와, 원래는 그런 용도로 만들어지지 않은 저작자 판별의 대리 지표로 재활용했다.
이 모든 것은 앞서 언급된 관련 없는 검색 엔진과는 아무런 관련이 없다. 탐지기가 보고하는 perplexity는 결코 회사명이 아니며 대문자로 쓰이지도 않는다. 그것은 단어열의 단순한 통계적 속성으로, 주어진 텍스트가 무엇이든 그때그때 새로 계산된다.
perplexity는 실제로 어떻게 계산되는가
이 계산은 어떤 AI 제품보다도 더 오래된 데서 비롯된다. Frederick Jelinek, Robert Mercer, Lalit Bahl, James Baker는 1977년에 perplexity를 도입하여, 통계적 모델에 대해 음성 인식 과제가 얼마나 어려운지를 측정했다. 이는 누구도 이 용어를 에세이나 실험 보고서에 적용하기 훨씬 전의 일이다. 그 정의는 그 이후로 변하지 않았다.
문서의 각 위치에서 모델은 실제로 다음에 오는 단어에 대한 확률을 출력한다. 흔한 전이에는 0.72와 같은 값이, 드문 전이에는 0.03과 같은 값이 나온다. perplexity는 전체 구절에 걸쳐 이러한 확률의 로그를 평균한 뒤, 지수로 그 평균을 되돌린다.
여기서의 지수는 보이는 것보다 더 많은 일을 한다. 로그 확률을 평균하는 것은 우리가 cross-entropy를 계산할 때 정확히 하는 일인데, 이는 모델이 내린 예측을 바탕으로 주어진 수열을 인코딩하는 데 몇 비트가 필요한지를 정보이론적으로 표현한 것이다. 그러나 perplexity는 비트의 개수를 우리가 더 잘 이해할 수 있는 것으로 다시 바꾼다. 즉, 추상적인 비트의 개수가 아니라 유효한 선택지의 수로 바꾸는 것이다.
그 산술에서 남는 것은 명확하고 거의 물리적인 의미를 지닌다. 매번 완전히 확신하는 모델은 perplexity 1을 산출하는데, 이는 척도의 최저값이다. 모든 위치를 서로 같은 가능성을 지닌 여든 개의 단어 사이의 동등한 추첨으로 취급하는 모델은 perplexity 80을 산출한다.
대부분의 실제 문서는 이 두 극단의 중간 어딘가에 놓이며, 정확히 어디에 놓이는지는 작성자, 주제, 그리고 어떤 모델이 읽고 있는지에 따라 달라진다.
Humanize your own paper
Transform your AI-assisted text and make it sound human, without touching important words or citations.
왜 인간의 글은 대체로 다른 점수를 받는가
모델의 기대는 앞선 내용만으로, 한 단어씩 형성된다. ‘the treatment group showed a statistically’라는 구문 뒤에는, 잘 형성된 이어짐의 압도적 다수가 ‘significant’이며, 방대한 과학 글쓰기로 훈련된 모델은 그 단어에 망설임 없이 높은 확률을 부여한다. 같은 구문에 도달한 인간 저자도 역시 ‘significant’에 이를 수 있는데, 그 구문 자체가 해당 장르의 전형이기 때문이다. 차이는 다른 곳에서 드러난다. 두 문장 뒤에 선택된 명사, 괄호 안에 덧붙인 삽입구, 둥근 수가 아니라 소수점 아래 이상한 자리까지 보고된 수치에서이다.
그 가운데 어느 것도 속임수가 아니다. 실제 데이터를 다루는 글쓴이가 정확한 수치를, 정밀한 한정어를, 조금 더 좁은 범주의 단어를 찾으려 할 때, 그들은 장르에 참인 것이 아니라 작업에 참인 것들을 향해 손을 뻗고 있는 것이다. 그리고 그러한 선택 하나하나가 모델에게는 조금 더 큰 놀라움을 요구한다. 놀라움이야말로 그 점수가 합산하도록 설계된 대상이다.
추론은 측정이 지탱할 수 있는 것보다 더 많은 일을 하고 있다. Perplexity는 예측 가능성을 직접 측정한다. 그것은 예측 가능한 글쓰기가 인간에게는 드물고 모델에게는 흔하다고 가정함으로써만 저작자를 추론하는데, 이 가정은 대체로 타당하지만, 텍스트가 그것을 입력한 사람이 누구인지와는 무관한 이유로 가질 수 있는 예측 가능성이라는 속성 때문에, 특정하고 식별 가능한 방식으로 때때로 틀린다.
같은 구절이 서로 다르게 점수를 받을 수 있는 이유
이 점수는 겉보기보다 이식성이 떨어지기도 하는데, 그것이 결코 진공 상태에서 측정되지 않기 때문이다. Perplexity는 언제나 하나의 특정한 기준 모델의 훈련에 대해 계산되며, 그 의존성은 단 하나의 정의만으로는 드러낼 수 없는 문제를 낳는다.
| 요인 | 무엇이 달라지는가 | 왜 그런가 |
|---|---|---|
| 어떤 모델이 읽고 있는가 | 같은 문단도 한 모델에서는 낮게, 다른 모델에서는 높게 점수화될 수 있다 | Perplexity는 언제나 하나의 모델의 학습 데이터에 대해서만 측정되며, 서로 다른 모델은 서로 다른 텍스트로 학습되었기 때문이다 |
| 해당 구절이 널리 복제된 텍스트인지 여부 | 유명한 역사 문서나 교과서의 정의는 사람이 그 모든 단어를 detector에 직접 입력했더라도 낮은 perplexity로 점수화될 수 있다 | Pangram Labs는 독립선언서를 예로 든다. 이 문서는 학습 데이터에서 너무 자주 인용되기 때문에, 모델은 그 안의 모든 문장을 전혀 놀랍지 않게 여긴다 |
| detector가 토큰 확률을 아예 볼 수 있는지 여부 | ChatGPT, Gemini, Claude 같은 폐쇄형 상용 모델은 perplexity에 필요한 단어별 확률을 공개하지 않는다 | detector는 실제로 텍스트를 생성한 모델에 대해 perplexity를 계산하는 대신, 대체용 공개 모델로 점수를 근사한다 |
이 모든 것은 숫자를 무의미하게 만들지는 않지만, 그것만으로 판정으로 신뢰하기에는 더 위험하게 만든다. GPTZero의 자체 문서는 한때 대략적인 경험칙을 제시했는데, perplexity가 85를 넘으면 인간이 작성했을 가능성이 더 높다고 보았다. 그러나 한 모델에서의 한 공급업체의 임계값은 다른 도구, 다른 모델에 대해 측정된 값으로는 그대로 옮겨지지 않는다. 단일 점수를 보고하는 detector는 위의 모든 요인을 어떤 것이 실제로 작용했는지 밝히지 않은 채 하나의 수치로 압축하고 있는 것이다.
perplexity 점수가 실제로 알려 주는 것
상용 detector는 보고서에 단일 숫자를 출력하기 전에 perplexity를 문장 수준의 패턴, 분류기 학습, 그리고 몇 가지 다른 신호와 함께 결합한다. AI detector가 실제로 어떻게 작동하는지에 대한 더 완전한 설명은 별도로 다루며, 그 설명은 그 숫자의 나머지 부분이 어디에서 오는지 밝힌다.
문장 간 리듬은 관련은 있지만 별개의 신호이며, burstiness checker가 그 자체의 기준에 따라 다루는 대상이고, 이는 단일 단어가 아니라 한 구절 전체에서 얼마나 변이가 있는지를 살펴본다.
이러한 수치들만으로는 문서를 누가 썼는지 증명할 수 없으며, 여기에는 제출된 초안에서 TextPulse가 계산하는 추정 Human Score도 포함된다. 이 점수는 그 자체로 텍스트를 설명할 뿐, 그에 대한 판정을 내리지는 않는다. 같은 생각을 단순화한 버전, 즉 전체 모델 확률이 아니라 어휘 다양성에 초점을 둔 방식이 이 사이트의 free perplexity checker를 작동시키며, 보고서가 다른 사람의 글에 대해 무엇을 말하는지 믿기 전에, 이미 출처가 알려진 문단에 대해 시험해 볼 만하다.
perplexity checker는 TextPulse의 나머지 free tools와 함께 배치되어 있으므로, 초안, 어휘, 리듬, 그리고 그 밖의 모든 것을 한 번에 점검하는 데 열두 개의 별도 탭을 동시에 열어 둘 필요가 없다.
Perplexity는 이러한 시스템이 의존하는 두 가지 통계 중 하나이다. 다른 하나는 한 구절 전반에 걸친 burstiness, 문장 길이와 구조의 변동이며, 이 둘의 아래에는 점수를 처음 만들어 내는 토큰 확률 산술이 놓여 있다.
보고서의 수치는 긴 산술적 연쇄의 끝이지, 무엇을 누가 썼는지에 대한 논쟁의 시작이 아니다. 산술이 더 이상 신비롭게 느껴지지 않게 된 뒤에 더 흥미로운 질문은, 무엇이 그 문서를 처음부터 놀랍거나 예측 가능하게 만들었는가 하는 점이며, 이는 바로 글쓰기 자체에 관한 질문이다.
Frequently Asked Questions
아니다. AI 탐지에서 퍼플렉서티는 언어 모델링에서 비롯된 수십 년 된 통계적 측정으로, 한 문단의 텍스트가 모델에 얼마나 예측 가능한지를 설명한다. Perplexity AI는 AI 기반 검색 제품을 만드는 관련 없는 회사이다. 둘은 이름만 같을 뿐이며, 이를 혼동해도 탐지기의 보고서를 이해하는 데 도움이 되지 않는다.
PhD in natural language processing, with years spent building NLP applications end to end. Moe works on text analysis: lexical and syntactic structure, and what separates machine-generated prose from human prose statistically. He has been experimenting with computational linguistics since the early days of NLTK, spaCy and WordNet, and still writes most of his tooling in Python.