AI Detection

Ймовірність токена та log-likelihood в AI detection

Perplexity привертає увагу, але арифметика, що лежить під нею, це ймовірність токена: що насправді містить розподіл моделі для наступного слова, чому математика detection працює в log space, а не на сирій ймовірності, і як послідовність per-token scores стає одним числом.

6 min
Diagram illustrating token probability ai detection: a language model's next-token distribution turning into a log-likelihood score

Якщо ви запитаєте детектор, як він дійшов до такого бала, більшість його інтерфейсів користувача дадуть вам ту саму відповідь: абзац, у якому деякі слова зафарбовані темніше за інші. Це зафарбування не є здогадкою. Воно походить від числа, прив’язаного до кожного токена в уривку, обчисленого ще до того, як детектор узагалі торкається perplexity, burstiness або підсумкового відсотка.

Це ймовірність токена, і кожне ai detection на основі ймовірності токена спирається саме на це, від самого початку. Будь-яке число метрик, яке детектор повідомляє, включно з двома, які ми розглядаємо в іншому місці на цьому сайті, це лише арифметика, виконана над послідовністю цих чисел. Шар під шаром, на якому зупиняються більшість пояснень, це місце, де потрібно подумати про те, чим насправді є токен, що означає розподіл моделі над ним і чому арифметика виконується в логарифмічному просторі, а не в сирій ймовірності. Більшість пояснень зупиняються саме там.

Усе це не повинно залишатися непрозорим. Токен, розподіл ймовірностей і логарифм, це звичайні інструменти, а не власницькі таємниці, і ті самі три ідеї пояснюють як AI detectors насправді працюють, від сирого тексту до одного числа у звіті.

Token Probability AI Detection: Від розподілу до бала

Token probability ai detection працює у три етапи. Мовна модель призначає ймовірність кожному можливому наступному токену з огляду на те, що було перед ним. Ці ймовірності для кожного токена перетворюються на логарифми і підсумовуються по всьому уривку, що обходить числову проблему, з якою сире множення стикається майже відразу. Отримана сума, усереднена і масштабована, це те, що зрештою постає як показник perplexity або входить у рішення класифікатора. Кожен етап, це конкретний, перевірний фрагмент арифметики, а не чорна скринька.

Що таке токен насправді

Токен не є словом. Сучасні мовні моделі розбивають текст на субсловні частини за допомогою алгоритму, такого як byte-pair encoding, тому поширене слово, як-от 'the', зазвичай є одним токеном, рідше вживане слово, як-от 'perplexity', ділиться на дві або три частини, а незнайоме ім'я може розпастися до окремих символів. Фрагмент звичайної англійської мови надійно токенізується у більшу кількість частин, ніж у ньому є слів, і це варто знати, перш ніж довіряти будь-якому підрахунку слів, який інструмент повертає вам.

Модель ніколи не бачить слова так, як їх бачить читач. Вона бачить послідовність цілих чисел, кожне з яких є індексом у фіксованому словнику, на якому модель навчали. Усе, що робить token probability ai detection від цього моменту, працює з цією послідовністю цілих чисел, а не з початковим рядком літер, і саме тому внутрішня робота детектора може здаватися відірваною від того, як людина насправді читає речення.

Розподіл моделі за наступним токеном

У кожній позиції послідовності автогресивна мовна модель не видає один прогноз. Вона видає повний розподіл імовірностей по всьому своєму словнику, десятки тисяч чисел, що в сумі дорівнюють одному, упорядковуючи кожен можливий наступний токен від найімовірнішого до найменш імовірного з огляду на все, що було раніше. Якщо подати моделі фразу 'the results of the', вона розподіляє більшу частину цієї імовірнісної маси між кількома правдоподібними іменниками, 'study,' 'experiment,' 'analysis,' тоді як на щось на кшталт 'marmalade.' припадає мізерно мала частка.

Токен, який фактично з'являється наступним у реальному документі, опиняється десь у цьому ранжуванні, і призначена йому імовірність є сировиною, з якої побудовано все інше. Модель, що створює власний текст, може безпосередньо спиратися на цей розподіл, неодноразово обираючи з-поміж найвищих значень. Детектор, який читає вже завершений текст, може лише постфактум запитати, яку саме імовірність модель надала б тому вибору, який фактично було зроблено.

Ймовірність цілого послідовного фрагмента є добутком ймовірності кожного токена за умови всього, що було перед ним, якщо ми застосовуємо це покрокове запитання до всього документа, використовуючи стандартне правило для спільної ймовірності, то кінцевий результат є одним числом, що описує, наскільки очікуваним був увесь уривок. Саме на цьому добутку арифметика починає давати збій, і саме тому існує наступний розділ.

Гуманізуйте свою власну статтю

Перетворіть текст, створений за допомогою AI, і зробіть його природним, не змінюючи важливих слів або цитат.

Почати безкоштовно

Чому логарифмічна правдоподібність замінює сиру ймовірність

Множити ймовірності між собою математично правильно, але практично марно вже після кількох десятків токенів. Кожна окрема ймовірність є дробом меншим за один, тому поточний добуток зменшується щоразу, коли додається ще один токен, і зменшується швидко. Уже через кілька сотень токенів сирий добуток може впасти настільки нижче за найменше число, яке комп'ютер може подати, що він округлюється до точно нуля, це режим збою, який називається переповненням донизу.

Коли це стається, число взагалі не несе інформації. Документ, який був лише малоймовірним, і документ, який був украй, хаотично малоймовірним, обидва зводяться до однакового нуля, без жодної можливості розрізнити їх потім. Логарифми виправляють це, тому що логарифм добутку дорівнює сумі логарифмів, це тотожність із базової алгебри. Сума послідовності звичайних від'ємних чисел не зазнає переповнення донизу так, як це відбувається при множенні послідовності малих дробів, і до того ж її дешевше обчислювати.

Довжина уривка (для ілюстрації)Сира ймовірність, поточний добутокСума логарифмів ймовірностей
12 токенів при ілюстративному значенні 0.1 кожен1 x 10 до степеня -12, ще подаєтьсяприблизно -27.6
350 токенів при ілюстративному значенні 0.1 кожен1 x 10 до степеня -350, переповнюється донизу до точно 0приблизно -805.9

Це спрощена ілюстрація. Реальні ймовірності для кожного токена змінюються надзвичайно сильно, а не залишаються на рівні 0.1, але напрям проблеми є цілком правильним. Щойно необроблений добуток занулюється через переповнення вниз, порівняння, яке насправді потрібне детектору, чи був цей документ більш або менш очікуваним, ніж той, стає неможливим. Сума логарифмічних ймовірностей ніколи не відмовляє таким чином. Вона залишається точним, звичайним, порівнюваним числом незалежно від того, наскільки довгим є уривок, і саме тому виявлюваність вимірюють у логарифмічному просторі, а не в просторі необроблених ймовірностей.

Від оцінок для кожного токена до оцінки виявлення

Підсумовування логарифмічних ймовірностей по всьому уривку дає загальну логарифмічну правдоподібність документа за референтною моделлю. Ділення на кількість токенів усуває вплив довжини і залишає середню логарифмічну правдоподібність на токен, число, яке нарешті можна порівнювати між есе на п'ятсот слів і розділом дисертації на п'ять тисяч слів. Якщо взяти від цієї середньої величини протилежний знак і застосувати експоненту, то вийде показник perplexity, метрика, яку цей кластер повністю розглядає в окремому матеріалі про що саме вимірює perplexity.

Ті самі показники для кожного речення, які відстежують за варіацією по всьому документу, а не зводять до однієї середньої величини, є тим, з чого побудовано burstiness, пов'язаним, але окремим від perplexity сигналом. Обидва починаються з тих самих чисел для кожного токена, описаних вище. Далі вони просто виконують над ними різну арифметику.

Проста середня величина не є єдиним способом використати цю сировину, і дослідження давно пішли далі. DetectGPT, опублікований на ICML 2023 Mitchell, Lee, Khazatsky, Manning і Finn, працює з іншою властивістю тієї самої функції ймовірності: текст, вибірково згенерований мовною моделлю, зазвичай перебуває в області, де невеликі перефразування знижують логарифмічну ймовірність, а не підвищують її, і в статті цей шаблон називають негативною кривизною.

Натомість того, щоб навчати класифікатор або використовувати водяний знак, цей метод збурює уривок, утворюючи невеликі варіації того, як його перефразовано, а потім повторно оцінює кожну варіацію тією самою моделлю. У статті це порівнюють із найкращим zero-shot базовим підходом і виявляють, що на тексті, згенерованому моделлю з 20 мільярдами параметрів, цей метод досягає 0.95 AUROC, тоді як найкращий zero-shot базовий підхід досягає 0.81 AUROC.

Той самий розподіл, використаний для водяного знака замість виявлення

Досі все розглядало ймовірнісний розподіл як щось, що читають постфактум. Його також можна змінювати в момент генерації, що повністю перевертає проблему. Метод 2023 року від Kirchenbauer, Geiping, Wen, Katz, Miers і Goldstein перед кожним згенерованим словом відбирає випадково впорядкований короткий список дозволених токенів, спираючись на хеш того, що було раніше, і м'яко спрямовує семплювання до цього короткого списку. Це зміщення непомітне для читача і згодом може бути відновлене за допомогою статистичного тесту на короткому фрагменті тексту, без потреби в доступі до оригінальної моделі.

SynthID від Google DeepMind втілює версію цієї ідеї у виробничому використанні, він коригує оцінки ймовірності наступного токена під час генерації і сьогодні доступний у застосунку Gemini та у вебверсії. OpenAI створила порівнювану систему і не випустила її. У звітах це рішення частково пояснюють опитуванням, у якому близько 30 percent користувачів ChatGPT сказали, що водяний знак змусив би їх менше користуватися продуктом, а також занепокоєннями щодо того, наскільки добре водяний знак витримав би перефразування.

Звіт детектора показує затемнене слово або один відсоток і на цьому зупиняється, ніколи не показуючи розподіл, з якого все це походить. Безкоштовний perplexity checker від TextPulse запускає спрощену версію того самого оцінювання за кожним токеном щодо вашого власного чернеткового тексту, що є прямішим способом побачити, де саме перебуває уривок, ніж читати висновок з чужих слів.

Дві сусідні сторінки розглядають це. Чи досі детектори покладаються на burstiness змінилося від 2023 року, а як GPTZero перетворює ці самі ймовірності на оцінку описано на окремій сторінці.

Це розміщено поруч з рештою безплатних інструментів TextPulse, тож той самий чернетковий текст можна перевірити на ритм і структуру, а також на передбачуваність на рівні слів, не відкриваючи для цього десяток окремих вкладок.

XLinkedInFacebook

Часті запитання

Token probability ai detection це шар під усіма іншими метриками detection. Language model призначає ймовірність кожному токену в послідовності, по одному word-piece за раз, на основі всього, що було перед ним. Perplexity, classifier scores і відсоток у звіті, це вся арифметика, виконана над цією послідовністю чисел після цього, а не окреме, незалежне вимірювання.

Moe

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.