AI 탐지를 위한 토큰 확률과 로그우도
Perplexity가 주목을 받지만, 그 아래의 산술은 토큰 확률입니다. 즉, 모델이 다음 단어에 대해 실제로 가지는 분포, 탐지 수학이 원시 확률이 아니라 로그 공간에서 계산되는 이유, 그리고 토큰별 점수의 연속이 어떻게 하나의 수치가 되는지입니다.
검출기에 그 점수가 어떻게 산출되었는지 묻는다면, 대부분의 사용자 인터페이스는 같은 응답을 보여 줍니다. 일부 단어가 다른 단어보다 더 짙게 음영 처리된 단락입니다. 그 음영은 추측이 아닙니다. 그것은 문단의 각 토큰에 붙은 수치에서 비롯되며, 검출기가 perplexity, burstiness, 또는 최종 백분율에 닿기 전에 계산됩니다.
그것은 토큰 확률이며, 모든 토큰 확률 ai detection은 처음부터 그것에 기반합니다. 검출기가 보고하는 어떤 지표의 수치든, 이 사이트의 다른 곳에서 다루는 두 가지를 포함하여, 결국은 이러한 수열에 대해 수행한 산술일 뿐입니다. 대부분의 설명이 멈추는 층 아래의 층에서는 토큰이 실제로 무엇인지, 그것에 대한 모델의 분포가 무엇을 의미하는지, 그리고 왜 산술이 원시 확률이 아니라 로그 공간에서 이루어지는지를 생각해야 합니다. 대부분의 설명은 거기서 멈춥니다.
이 모든 것은 불투명하게 남아 있을 필요가 없습니다. 토큰, 확률 분포, 그리고 로그는 독점적 비밀이 아니라 일상적인 도구이며, 같은 세 가지 개념이 AI 검출기가 실제로 어떻게 작동하는지를 원시 텍스트에서 보고서의 하나의 수치에 이르기까지 설명합니다.
토큰 확률 AI Detection: 분포에서 점수까지
토큰 확률 ai detection은 세 단계로 작동합니다. 언어 모델은 앞선 내용을 바탕으로 가능한 모든 다음 토큰에 확률을 부여합니다. 이러한 토큰별 확률은 로그로 변환되어 문단 전체에 걸쳐 합산되며, 이는 원시 곱셈이 거의 즉시 맞닥뜨리는 수치적 문제를 피하게 해 줍니다. 그렇게 얻어진 합은 평균화되고 다시 척도 조정되어, 결국 perplexity 수치로 나타나거나 분류기의 판단에 입력됩니다. 각 단계는 특정하고 검증 가능한 산술의 일부이며, 블랙박스가 아닙니다.
토큰이 실제로 무엇인가
토큰은 단어가 아니다. 현대의 언어 모델은 byte-pair encoding과 같은 알고리즘을 사용하여 텍스트를 서브워드 조각으로 분할하므로, 'the'와 같은 흔한 단어는 보통 하나의 토큰이고, 'perplexity'와 같은 덜 흔한 단어는 두세 개의 조각으로 분해되며, 낯선 이름은 개별 문자 수준까지 분절될 수 있다. 평범한 영어 문단은 단어 수보다 더 많은 조각으로 안정적으로 토큰화되므로, 도구가 돌려주는 단어 수를 그대로 신뢰하기 전에 이것을 아는 것이 중요하다.
모델은 독자가 보는 방식으로 단어를 보지 않는다. 모델은 정수의 연속을 보며, 각 정수는 모델이 학습된 고정 어휘집의 하나의 인덱스이다. 이 시점부터 token probability ai detection이 수행하는 모든 것은 원래의 문자열이 아니라 그 정수 연속을 대상으로 하며, 이것이 바로 탐지기의 내부 작동이 사람이 실제로 문장을 읽는 방식과 동떨어져 느껴질 수 있는 이유의 일부이다.
다음 토큰에 대한 모델의 분포
연속의 모든 위치에서 자기회귀 언어 모델은 하나의 예측만 출력하지 않는다. 그것은 전체 어휘집에 걸친 완전한 확률 분포를 출력하는데, 이는 수만 개의 수가 합쳐져 1이 되는 형태이며, 앞선 모든 것을 바탕으로 가능한 모든 다음 토큰을 가장 가능성이 높은 것부터 가장 낮은 것까지 순위화한다. 모델에 'the results of the'라는 구를 입력하면, 모델은 그 확률 질량의 대부분을 'study,' 'experiment,' 'analysis,'와 같은 몇몇 그럴듯한 명사에 분배하고, 'marmalade.'와 같은 것에는 극히 작은 비중만 할당한다.
실제 문서에서 다음에 실제로 나타나는 토큰은 그 순위의 어딘가에 위치하며, 그에 할당된 확률이 나머지 모든 것이 구축되는 원재료이다. 자신의 텍스트를 생성하는 모델은 이 분포를 직접 활용하여, 반복적으로 상위권에서 선택할 수 있다. 다른 사람이 완성한 텍스트를 읽는 탐지기는 사후적으로, 실제로 선택된 항목에 모델이 얼마나 큰 확률을 할당했을지를 물을 수 있을 뿐이다.
전체 시퀀스의 확률은 그 이전의 모든 것을 조건으로 한 각 토큰의 확률을 곱한 값이다. 표준적인 결합 확률 규칙을 사용하여 이 토큰별 질문을 문서 전체에 걸쳐 연결하면, 최종 결과는 전체 구절이 얼마나 예상 가능했는지를 나타내는 하나의 수가 된다. 이 곱셈에서 산술이 무너지기 시작하며, 이것이 다음 절이 존재하는 이유이다.
자신의 논문을 인간적으로 다듬기
중요한 단어나 인용은 건드리지 않고, AI 보조로 작성한 텍스트를 자연스럽고 사람처럼 들리게 바꾸세요.
왜 로그 우도가 원시 확률을 대체하는가
확률을 서로 곱하는 것은 수학적으로는 옳지만, 몇십 개의 토큰을 넘어서면 실용적이지 않다. 개별 확률은 모두 1보다 작은 분수이므로, 새로운 토큰이 곱해질 때마다 누적 곱은 줄어들고, 그 감소는 빠르다. 수백 개의 토큰이 지나면, 원시 곱은 컴퓨터가 표현할 수 있는 가장 작은 수보다 훨씬 아래로 떨어져 정확히 0으로 반올림될 수 있는데, 이를 언더플로라고 한다.
일단 그렇게 되면, 그 수는 아무 정보도 담지 못한다. 단지 가능성이 낮았던 문서와 극도로, 혼란스럽게 가능성이 낮았던 문서는 모두 동일한 0으로 붕괴하며, 이후에는 서로 구분할 방법이 없다. 로그는 곱의 로그가 로그의 합과 같다는, 기초 대수의 항등식이므로 이를 해결한다. 일반적인 음수들의 열을 더하는 것은 작은 분수들의 열을 곱하는 것처럼 언더플로가 발생하지 않으며, 게다가 계산 비용도 더 적다.
| 구절 길이, 예시 | 원시 확률, 누적 곱 | 로그 확률의 합 |
|---|---|---|
| 각각 0.1인 12개 토큰, 예시 | 1 x 10 to the power of -12, 여전히 표현 가능 | 대략 -27.6 |
| 각각 0.1인 350개 토큰, 예시 | 1 x 10 to the power of -350, 정확히 0으로 언더플로 | 대략 -805.9 |
이것은 단순화된 설명이다. 실제 토큰별 확률은 0.1처럼 평평하게 놓여 있는 것이 아니라 훨씬 크게 달라지지만, 문제의 방향은 정확하다. 원시 곱이 0으로 언더플로되면, 탐지기가 실제로 필요로 하는 비교, 즉 이 문서가 저 문서보다 더 예상되었는지 덜 예상되었는지는 불가능해진다. 로그 확률의 합은 그런 방식으로는 결코 실패하지 않는다. 문장이 얼마나 길어지든 정확하고, 평범하며, 비교 가능한 수치로 남아 있으며, 이것이 바로 탐지 가능성이 원시 확률 공간이 아니라 로그 공간에서 측정되는 실제 이유다.
토큰별 점수에서 탐지 점수로
문장 전체에 걸쳐 로그 확률을 합하면 기준 모델 아래에서 해당 문서의 총 로그 우도를 얻는다. 이를 토큰 수로 나누면 길이의 영향을 제거하고 토큰당 평균 로그 우도가 남는데, 이는 500단어 에세이와 5000단어 논문 장을 서로 비교할 수 있게 해 주는 수치다. 이 평균에 음수를 취하고 지수화를 하면 퍼플렉서티 점수가 나오며, 이 지표는 이 묶음에서 퍼플렉서티가 실제로 무엇을 측정하는지를 별도로 자세히 다룬다.
같은 문장별 수치는 문서 전체에서 하나의 평균으로 평탄화하는 대신 변동성을 추적할 때 버스티니스가 구성되는 기반이 되며, 이는 퍼플렉서티와 관련되지만 별개의 신호다. 둘 다 위에서 설명한 동일한 토큰별 수치에서 출발한다. 다만 그 위에서 서로 다른 산술을 수행할 뿐이다.
단순 평균이 이 원자료를 사용하는 유일한 방법은 아니며, 연구는 이미 그것을 훨씬 넘어섰다. Mitchell, Lee, Khazatsky, Manning and Finn이 ICML 2023에서 발표한 DetectGPT는 같은 확률 함수의 다른 성질에서 출발한다. 언어 모델에서 샘플링된 텍스트는 작은 재표현이 로그 확률을 상승시키기보다 하락시키는 영역에 놓이는 경향이 있으며, 논문은 이 패턴을 음의 곡률이라고 부른다.
분류기를 훈련하거나 watermark를 사용하는 대신, 이 방법은 한 구절에 교란을 가해, 표현을 바꾸는 방식에 약간의 변형을 만들고, 그런 다음 같은 모델로 각 변형을 다시 채점한다. 이 논문은 이를 최상의 zero-shot 기준선과 비교하며, 20-billion-parameter 모델이 생성한 텍스트에서 이 방법이 0.95 AUROC를 달성하는 반면 최상의 zero-shot 기준선은 0.81 AUROC를 달성한다고 밝힌다.
탐지가 아니라 watermarking에 사용되는 동일한 분포
지금까지는 모두 확률 분포를 사후에 읽는 어떤 것으로 다루었다. 그러나 그것은 생성 순간에도 적용될 수 있으며, 이로써 문제의 성격이 완전히 바뀐다. Kirchenbauer, Geiping, Wen, Katz, Miers and Goldstein의 2023년 방법은 각 단어가 생성되기 전에, 앞선 내용의 해시를 바탕으로 허용되는 토큰의 무작위화된 후보 목록을 선택하고, 샘플링을 그 후보 목록 쪽으로 부드럽게 유도한다. 이 편향은 독자에게는 보이지 않으며, 나중에는 원래 모델에 접근할 필요 없이 짧은 텍스트 구간에 대한 통계적 검정으로 복원할 수 있다.
Google DeepMind의 SynthID는 이 아이디어의 한 버전을 실제 서비스에 적용한다. 이는 생성 시점에 다음 토큰의 확률 점수를 조정하며, 현재 Gemini 앱과 웹 경험에서 사용되고 있다. OpenAI는 유사한 시스템을 구축했지만 출시하지는 않았다. 보도에 따르면, 이 결정은 약 30 percent에 가까운 ChatGPT 사용자가 watermarking이 제품 사용을 줄이게 할 것이라고 답한 설문조사와, watermark가 패러프레이징을 얼마나 잘 견딜 수 있는지에 대한 우려가 함께 작용한 결과로 설명된다.
탐지기의 보고서는 음영 처리된 단어 하나나 단일 퍼센트만 보여 주고, 그것이 나온 분포는 끝내 보여 주지 않는다. TextPulse의 free perplexity checker는 자신의 초안에 대해 동일한 per-token 채점을 단순화한 버전을 실행하므로, 판정을 간접적으로 읽는 것보다 한 구절이 어디에 위치하는지 더 직접적으로 확인할 수 있는 방법이다.
인접한 두 페이지에서 이를 다룹니다. 탐지기가 여전히 burstiness에 의존하는지 여부는 2023년 이후 달라졌으며, GPTZero가 이러한 동일한 확률을 점수로 바꾸는 방식은 별도의 페이지에서 설명됩니다.
이는 TextPulse의 나머지 무료 도구와 함께 제공되므로, 같은 초안을 단어 수준의 예측 가능성뿐 아니라 리듬과 구조 측면에서도 확인할 수 있으며, 이를 위해 여러 개의 별도 탭을 열 필요가 없습니다.
자주 묻는 질문
토큰 확률 AI 탐지는 모든 다른 탐지 지표의 아래층에 있는 층입니다. 언어 모델은 앞선 모든 내용을 바탕으로 시퀀스의 각 토큰에 하나씩 확률을 할당합니다. Perplexity, 분류기 점수, 그리고 보고서의 퍼센트는 모두 그 뒤에 그 수열에 대해 수행되는 산술이며, 별도의 독립적인 측정이 아닙니다.
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.