AI 탐지에서 Perplexity란 무엇인가?
Perplexity는 언어 모델이 단어 선택에 얼마나 놀랐는지를 설명하기 위해 산출하는 수치이다. 이 글은 이 지표의 1977년 기원을 추적하고, 공식을 살펴보며, 같은 문단도 어떤 모델이 읽느냐에 따라 왜 다르게 점수가 매겨질 수 있는지 설명한다.
perplexity와 AI detection을 함께 검색하면, 상위 결과 몇 개는 전혀 관련 없는 제품에 관한 내용으로 나타난다. 즉, Perplexity라는 이름을 가진 AI 기반 검색 엔진이다. detector가 실제로 보고하는 지표는 그 회사와는 단어 하나만 공유할 뿐 아무 관련이 없다. 그것은 GPTZero나 검색 엔진보다 수십 년 앞선 음성 인식 연구에서 비롯되었으며, 둘 중 어느 것보다도 더 좁은 것을 측정한다. 즉, 언어 모델이 이미 페이지에 있는 단어들에 얼마나 놀라는지를 측정한다.
그렇다면 AI detection에서 perplexity는 무엇인가? perplexity는 언어 모델이 한 구절의 정확한 단어들을 얼마나 잘 예측했는지를 설명하는 점수로, 모델이 부여한 확률들을 평균한 뒤 그 결과를 하나의 수치로 바꾸어 산출된다. 점수가 낮다는 것은 모델이 계속해서 올바르게 추측했다는 뜻이다. 점수가 높다는 것은 계속해서 놀랐다는 뜻이다.
이 개념은 시중의 어떤 AI detector보다도 오래되었고, 그 자체로는 문서를 누가 썼는지에 대해 아무것도 말해주지 않는다. 숫자 뒤의 산술이 드러나는 순간, 보고서의 점수는 판정처럼 보이지 않게 되고, 실제로 그것이 무엇인지, 즉 단어 선택에 대한 설명처럼 보이기 시작한다.

AI detection에서 perplexity는 무엇인가?
Perplexity는 언어 모델링에서 차용한 측정값이다. 이는 모델이 한 구절에 나타나는 특정 단어들을 얼마나 잘 예측했는지를 점수화하며, 그 점수를 하나의 숫자로 제시한다. 탐지기는 이와 같은 측정값을 제출된 문서에 적용한다. 낮은 숫자는 모델의 추측이 실제 단어와 매우 가깝게 일치했음을 뜻하며, 기계 저작의 표지로 읽힌다. 높은 숫자는 인간 저작의 표지로 읽힌다. 이 계산은 문서의 논지, 인용, 또는 주제를 전혀 읽지 않는다. 각 단어가 얼마나 예상 가능했는지만, 하나씩 읽는다.
탐지기가 이 측정값을 만든 것은 아니다. 이들은 음성 인식과 기계 번역 시스템이 이미 수십 년 동안 모델이 일상 언어를 얼마나 잘 예측하는지 판단하는 데 사용해 온 도구를 차용했고, 이를 저작자 판별의 대리 지표로 재활용했다. 그러나 그것은 원래 그런 용도로 만들어진 것이 아니었다.
이 모든 것은 앞서 언급된 관련 없는 검색 엔진과는 아무런 관련이 없다. 탐지기가 보고하는 perplexity는 결코 회사명이 아니며 대문자로 표기되지도 않는다. 그것은 주어진 텍스트가 무엇이든 그로부터 새로 계산되는, 단어열의 단순한 통계적 속성이다.
perplexity는 실제로 어떻게 계산되는가
이 계산은 어떤 AI 제품보다도 더 오래된 데까지 거슬러 올라간다. Frederick Jelinek, Robert Mercer, Lalit Bahl and James Baker는 1977년에 통계적 모델이 음성 인식 과제를 얼마나 어렵게 느끼는지를 측정하기 위해 perplexity를 도입했으며, 이 용어가 에세이나 실험 보고서에 적용되기 수십 년 전의 일이다. 그 정의는 그 이후로 변하지 않았다.
문서의 각 위치에서 모델은 실제로 다음에 오는 단어에 대한 확률을 출력한다. 흔한 전이에는 0.72와 같은 값이, 드문 전이에는 0.03과 같은 값이 나올 수 있다. perplexity는 전체 구절에 걸친 이러한 확률의 로그를 평균한 뒤, 지수로 그 평균을 되돌린다.
여기서의 지수는 보이는 것보다 더 많은 일을 한다. 로그 확률을 평균하는 것은 우리가 cross-entropy를 계산할 때 정확히 하는 일이며, 이는 모델이 만든 예측을 바탕으로 어떤 수열을 인코딩하는 데 몇 비트가 필요한지를 정보이론적으로 표현한 것이다. 그러나 perplexity는 비트의 개수를 우리가 더 잘 이해할 수 있는 것으로 다시 바꾼다. 즉, 추상적인 비트의 개수가 아니라 유효한 선택지의 수로 바꾼다.
그 산술에서 남는 것은 분명하고, 거의 물리적인 의미를 가진다. 매번 완전히 확신하는 모델은 perplexity가 1이며, 이는 척도의 최저값이다. 모든 위치를 동등한 확률의 80개 단어 사이의 균등한 추첨으로 취급하는 모델은 perplexity가 80이다.
대부분의 실제 문서는 이 두 극단의 중간 어딘가에 놓이며, 정확히 어디에 놓이는지는 작성자, 주제, 그리고 어떤 모델이 읽고 있는지에 따라 달라진다.
자신의 논문을 인간적으로 다듬기
중요한 단어나 인용은 건드리지 않고, AI 보조로 작성한 텍스트를 자연스럽고 사람처럼 들리게 바꾸세요.
왜 인간의 글쓰기는 보통 다른 점수를 받는가
모델의 기대는 오직 앞선 내용으로부터, 한 번에 한 단어씩 구성된다. 'the treatment group showed a statistically'라는 구절 뒤에는, 잘 형성된 이어짐의 압도적 다수가 'significant'이며, 대량의 과학 글쓰기로 훈련된 모델은 그 단어에 주저 없이 높은 확률을 부여한다. 같은 구절에 도달한 인간 저자도 'significant'를 선택할 수 있는데, 이는 그 구절 자체가 해당 장르의 관용적 표현이기 때문이다. 차이는 다른 곳에서 열린다. 두 문장 뒤에 선택된 명사, 괄호 안에 덧붙인 부연, 둥근 수가 아니라 이상한 소수점 자리까지 보고된 수치에서 차이가 열린다.
그것은 속임수가 아니다. 실제 데이터를 다루는 사람이 정확한 수치를, 정밀한 한정어를, 조금 더 좁은 의미의 단어를 찾으려 할 때, 그들은 장르에 참인 것보다 작업에 참인 것들을 찾고 있는 것이다. 그리고 그러한 선택 하나하나는 모델에게 조금씩 더 큰 놀라움을 요구한다. 놀라움이야말로 그 점수가 합산하도록 만들어진 것이다.
추론은 측정이 지지할 수 있는 것보다 더 많은 일을 하고 있다. perplexity는 예측 가능성을 직접 측정한다. 그것은 인간에게서 예측 가능한 글쓰기가 드물고 모델에서는 흔하다는 가정을 통해서만 저자성을 추론하는데, 이 가정은 대체로 타당하지만 때로는 특정하고 식별 가능한 방식으로 틀리다. 이는 예측 가능성이, 누가 그것을 입력했는지와는 전혀 무관한 이유로 텍스트가 가질 수 있는 속성이기 때문이다.
같은 문장이 다르게 점수화될 수 있는 이유
점수는 겉보기보다 이식성도 낮다, 왜냐하면 그것은 결코 진공 상태에서 측정되지 않기 때문이다. perplexity는 항상 하나의 특정한 기준 모델의 학습에 대해 계산되며, 그 의존성은 어떤 단일한 정의만으로는 보여 줄 수 없는 문제를 만든다.
| 요인 | 무엇이 달라지는가 | 왜 그런가 |
|---|---|---|
| 어떤 모델이 읽고 있는가 | 같은 문단이 한 모델에서는 낮게, 다른 모델에서는 높게 점수화될 수 있다 | perplexity는 언제나 하나의 모델의 훈련 데이터에 대해서만 측정되며, 서로 다른 모델은 서로 다른 텍스트로 훈련되었기 때문이다 |
| 그 문장이 널리 복제된 텍스트인지 여부 | 유명한 역사 문서나 교과서적 정의는 사람이 탐지기에 그 모든 단어를 입력했더라도 낮은 perplexity로 점수화될 수 있다 | Pangram Labs는 독립 선언서를 예로 든다. 그것은 훈련 데이터에서 너무 자주 인용되어 모델이 그 안의 모든 문장을 전혀 놀랍지 않게 여기기 때문이다 |
| 탐지기가 token 확률을 아예 볼 수 있는지 여부 | ChatGPT, Gemini, Claude 같은 폐쇄형 상용 모델은 perplexity에 필요한 단어별 확률을 공개하지 않는다 | 탐지기는 실제로 텍스트를 생성한 모델에 대해 perplexity를 계산하는 대신, 대체용 개방형 모델로 점수를 근사한다 |
이 모든 것은 이 수치를 무의미하게 만들지는 않지만, 그 자체만으로 판정으로 신뢰하기에는 더 위험하게 만듭니다. GPTZero의 자체 문서는 한때 대략적인 경험칙을 제시했는데, perplexity가 85를 넘으면 인간이 작성했을 가능성이 더 높다고 보았습니다. 그러나 하나의 모델에서 나온 한 공급자의 임계값은 다른 도구를 다른 기준으로 측정한 경우에 그대로 옮겨지지 않습니다. 단일 점수를 보고하는 탐지기는 위의 모든 요인을 그것들이 각각 어떤 역할을 했는지 밝히지 않은 채 하나의 수치로 압축하고 있습니다.
perplexity 점수가 실제로 알려 주는 것
상업용 탐지기는 보고서에 단일 수치를 출력하기 전에 perplexity를 문장 수준의 패턴, 분류기 학습, 그리고 몇 가지 다른 신호와 함께 결합합니다. AI 탐지기가 실제로 작동하는 방식에 대한 더 완전한 설명은 별도로 다루며, 그 설명은 그 수치의 나머지 부분이 어디에서 오는지 보여 줍니다.
문장 간 리듬은 관련 있지만 별개의 신호이며, burstiness checker가 그 자체의 기준에 따라 다루고 있습니다. 이는 어떤 단일 단어가 아니라 한 구절 전체에서 변동이 얼마나 있는지를 살펴봅니다.
이러한 수치들만으로는 문서를 누가 썼는지 증명할 수 없습니다. 여기에는 제출된 초안에서 TextPulse가 계산하는 추정 Human Score도 포함되며, 이는 텍스트를 설명할 뿐 그에 대한 판정을 내리지는 않습니다. 같은 생각을 단순화한 버전, 즉 전체 모델 확률이 아니라 어휘 다양성에 기반한 방식은 이 사이트의 free perplexity checker를 작동시키며, 보고서가 다른 사람의 것에 대해 말하는 내용을 신뢰하기 전에 이미 출처가 알려진 문단에 대해 시험해 볼 만합니다.
perplexity checker는 TextPulse의 나머지 free tools와 함께 제공되므로, 초안, 어휘, 리듬, 그리고 그 밖의 모든 것을 한 번에 점검할 때 열어 두어야 할 별도의 탭이 열두 개나 필요하지 않습니다.
Perplexity는 이러한 시스템이 의존하는 두 가지 통계 중 하나이다. 다른 하나는 burstiness, 문장 길이와 구조의 변동이며, 한 구절 전체에 걸친 변동이다. 그리고 이 둘의 아래에는 토큰 확률 산술이 자리하고 있으며, 이것이 애초에 점수를 만들어낸다.
보고서의 숫자는 긴 산술 연쇄의 끝이지, 누가 무엇을 썼는지에 대한 논쟁의 시작이 아니다. 산술이 더 이상 신비롭지 않게 된 뒤에 더 흥미로운 질문은, 애초에 무엇이 문서를 놀랍게 만들었는지 또는 예측 가능하게 만들었는지이며, 그것은 글쓰기 자체에 관한 질문이다.
자주 묻는 질문
아니다. AI 탐지에서 perplexity는 언어 모델링에서 나온 수십 년 된 통계적 측정값으로, 한 문단의 텍스트가 모델에 얼마나 예측 가능한지를 설명한다. 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.