احتمال توکن و درستنمایی لگاریتمی در تشخیص هوش مصنوعی
Perplexity توجه را جلب میکند، اما حسابوکتابِ زیرِ آن احتمال توکن است: اینکه توزیع مدل درباره واژه بعدی دقیقاً چه چیزی را دربر میگیرد، چرا ریاضیات تشخیص بهجای احتمال خام در فضای لگاریتمی اجرا میشود، و چگونه رشتهای از امتیازهای هر توکن به یک عدد تبدیل میشود.
اگر از یک آشکارساز بپرسید که چگونه به آن امتیاز رسیده است، بیشتر رابطهای کاربری آن همان پاسخ را میدهند: یک پاراگراف که در آن برخی واژهها تیرهتر از بقیه سایهزنی شدهاند. این سایهزنی یک حدس نیست. از عددی میآید که به هر توکن در متن پیوست شده است، و پیش از آنکه آشکارساز اصلاً perplexity، burstiness یا یک درصد نهایی را بررسی کند، محاسبه شده است.
این یک احتمال توکن است، و هر تشخیص مبتنی بر احتمال توکن ai بر آن است، از پایه. هر تعداد از سنجههایی که یک آشکارساز گزارش میکند, از جمله آن دو موردی که در جای دیگری از این سایت بررسی میکنیم, صرفاً حسابی است که روی دنبالهای از این اعداد انجام میشود. لایهای که زیر لایهای قرار دارد که بیشتر توضیحات در آن متوقف میشوند، جایی است که باید به این فکر کنید که یک توکن واقعاً چیست، توزیع مدل بر آن چه معنایی دارد، و چرا این حساب در فضای لگاریتمی انجام میشود نه با احتمال خام. بیشتر توضیحات در همانجا متوقف میشوند.
هیچیک از اینها لازم نیست مبهم بماند. یک توکن، یک توزیع احتمال و یک لگاریتم ابزارهایی عادیاند، نه اسرار اختصاصی، و همین سه ایده توضیح میدهند AI detectors واقعاً چگونه کار میکنند, از متن خام تا یک عدد واحد روی یک گزارش.
تشخیص ai مبتنی بر احتمال توکن: از توزیع تا امتیاز
تشخیص ai مبتنی بر احتمال توکن در سه مرحله کار میکند. یک مدل زبانی به هر توکن بعدیِ ممکن، با توجه به آنچه پیش از آن آمده است، یک احتمال اختصاص میدهد. آن احتمالهای مربوط به هر توکن به لگاریتم تبدیل میشوند و در سراسر متن جمع میشوند، که از یک مشکل عددی که ضرب خام تقریباً بلافاصله با آن روبهرو میشود، جلوگیری میکند. مجموع حاصل، پس از میانگینگیری و بازمقیاسسازی، همان چیزی است که در نهایت به صورت یک مقدار perplexity ظاهر میشود یا تصمیم یک classifier را تغذیه میکند. هر مرحله، بخشی مشخص و قابلبررسی از حساب است، نه یک جعبه سیاه.
یک توکن واقعاً چیست
یک توکن یک واژه نیست. مدلهای زبانی مدرن متن را با الگوریتمی مانند byte-pair encoding به قطعات زیرواژهای تقسیم میکنند، بنابراین یک واژه رایج مانند 'the' معمولاً یک توکن است، یک واژه کمکاربردتر مانند 'perplexity' به دو یا سه قطعه تقسیم میشود، و یک نام ناآشنا میتواند تا سطح نویسههای منفرد خرد شود. یک بخش از انگلیسی معمولی بهطور قابل اتکا به قطعاتی بیش از تعداد واژههایش توکنسازی میشود، و این نکتهای است که پیش از اعتماد کردن به هر شمارش واژهای که یک ابزار به شما گزارش میکند، باید دانست.
مدل هرگز واژهها را آنگونه که یک خواننده میبیند، نمیبیند. آن یک دنباله از اعداد صحیح را میبیند، که هر کدام یک شاخص درون یک واژگان ثابت هستند که مدل با آن آموزش دیده است. هر آنچه token probability ai detection از این نقطه به بعد انجام میدهد بر روی همان دنباله عدد صحیح عمل میکند، نه بر روی رشته اصلیِ حروف، و همین بخشی از دلیل آن است که سازوکار درونی یک آشکارساز میتواند از شیوهای که یک انسان واقعاً یک جمله را میخواند، گسسته به نظر برسد.
توزیع مدل بر روی توکن بعدی
در هر موقعیت در یک دنباله، یک مدل زبانی خودرگرسیو یک پیشبینی واحد خروجی نمیدهد. بلکه یک توزیع کامل احتمال را در سراسر واژگان خود خروجی میدهد، دهها هزار عدد که جمع آنها برابر با یک است، و هر توکن بعدیِ ممکن را، با توجه به همه چیزهایی که پیش از آن آمدهاند، از محتملترین تا کممحتملترین رتبهبندی میکند. اگر به یک مدل عبارت 'the results of the' را بدهید، آن بخش عمدهای از این جرم احتمال را میان چند اسم محتمل، 'study,' 'experiment,' 'analysis,' توزیع میکند، در حالی که سهمی بسیار ناچیز به چیزی مانند 'marmalade.' اختصاص میدهد.
توکنی که واقعاً در ادامه در یک سند واقعی ظاهر میشود، جایی در آن رتبهبندی فرود میآید، و احتمال تخصیصیافته به آن ماده خامی است که همه چیز دیگر از آن ساخته میشود. مدلی که متن خودش را تولید میکند میتواند مستقیماً بر این توزیع تکیه کند و بهطور مکرر از میان گزینههای نزدیک به صدر انتخاب کند. یک آشکارساز که متن نهاییِ شخص دیگری را میخواند، فقط میتواند پس از وقوع، بپرسد که مدل چه مقدار احتمال به انتخابی که واقعاً انجام شده بود اختصاص میداد.
احتمال یک دنباله کامل، حاصلضرب احتمال هر توکن با توجه به همه چیزهایی است که پیش از آن آمدهاند، اگر این پرسشِ مربوط به هر توکن را در سراسر یک سند با استفاده از قاعده استاندارد برای احتمال مشترک به هم وصل کنیم، نتیجه نهایی یک عدد واحد است که نشان میدهد کل این بخش تا چه اندازه مورد انتظار بوده است. این حاصلضرب همان جایی است که محاسبات شروع به فروپاشی میکنند، و به همین دلیل است که بخش بعدی وجود دارد.
مقاله خود را انسانیسازی کنید
متنِ کمکگرفته از AI خود را دگرگون کنید و کاری کنید طبیعی به نظر برسد، بدون دست زدن به واژههای مهم یا ارجاعها.
چرا Log-Likelihood جایگزین احتمال خام میشود
ضرب کردن احتمالها در کنار هم از نظر ریاضی درست است و در عمل پس از چند ده توکن تقریباً بیفایده میشود. هر احتمال منفرد کسری کمتر از یک است، بنابراین حاصلضربِ در حال پیشرفت هر بار که توکن دیگری در آن ضرب میشود کوچکتر میشود، و این کوچک شدن سریع است. پس از چند صد توکن، یک حاصلضرب خام میتواند آنقدر پایینتر از کوچکترین عددی که یک رایانه میتواند نمایش دهد سقوط کند که بهطور دقیق به صفر گرد شود، حالتی از خطا که underflow نام دارد.
وقتی این اتفاق میافتد، عدد هیچ اطلاعاتی را حمل نمیکند. یک سند که فقط نامحتمل بود و سندی که بهطرزی بسیار شدید و آشفته نامحتمل بود، هر دو به صفر یکسان فرو میریزند، و پس از آن هیچ راهی برای تمایز میان آنها وجود ندارد. لگاریتمها این مشکل را حل میکنند، زیرا لگاریتمِ یک حاصلضرب برابر با مجموع لگاریتمها است، که یک همانی از جبر پایه است. جمع کردن یک رشته از اعداد منفی معمولی مانند ضرب کردن یک رشته از کسرهای کوچک دچار underflow نمیشود، و علاوه بر این، محاسبه آن ارزانتر است.
| طول بخش, نمونهای | احتمال خام, یک حاصلضرب در حال پیشرفت | مجموع log-probabilities |
|---|---|---|
| 12 توکن با یک 0.1 نمونهای برای هر کدام | 1 x 10 به توان -12, هنوز قابل نمایش | تقریباً -27.6 |
| 350 توکن با یک 0.1 نمونهای برای هر کدام | 1 x 10 به توان -350, بهطور دقیق به 0 underflow میکند | تقریباً -805.9 |
این یک تصویرسازی سادهشده است. احتمالهای واقعی به ازای هر توکن بهطور بسیار زیادی متفاوتاند، نه اینکه روی 0.1 ثابت بمانند، اما جهت مسئله دقیقاً درست است. وقتی یک حاصلضرب خام تا صفر underflow میکند، مقایسهای که یک detector واقعاً به آن نیاز دارد، یعنی اینکه آیا این سند نسبت به آن یکی بیشتر یا کمتر مورد انتظار بوده است، ناممکن میشود. جمع احتمالهای لگاریتمی هرگز به آن شکل از کار نمیافتد. این مقدار، صرفنظر از اینکه متن چقدر طولانی باشد، یک عدد دقیق، معمولی و قابلمقایسه باقی میماند، و همین دلیل واقعی است که detectability بهجای فضای احتمال خام، در فضای log اندازهگیری میشود.
از امتیازهای به ازای هر توکن به یک امتیاز تشخیص
جمع کردن احتمالهای لگاریتمی در سراسر یک متن، log-likelihood کل سند را تحت مدل مرجع تولید میکند. تقسیم بر تعداد توکنها اثر طول را حذف میکند و log-likelihood میانگین به ازای هر توکن را باقی میگذارد، عددی که سرانجام میان یک مقاله 500 کلمهای و یک فصل 5000 کلمهای پایاننامه قابلمقایسه است. اگر این میانگین را منفی کنید و از آن exponentiate بگیرید، آنچه به دست میآید امتیاز perplexity است، معیاری که این مجموعه در یک بررسی جداگانه از اینکه perplexity دقیقاً چه چیزی را اندازهگیری میکند بهطور کامل پوشش میدهد.
همان اعداد به ازای هر جمله، وقتی بهجای فشرده شدن در یک میانگین، برای سنجش تغییرپذیری در سراسر یک سند دنبال میشوند، مبنای burstiness هستند، سیگنالی مرتبط اما جدا از perplexity. هر دو از همان اعداد یکسان به ازای هر توکن که در بالا توصیف شد آغاز میشوند. فقط روی آنها محاسبات متفاوتی انجام میدهند.
یک میانگین ساده تنها راه استفاده از این ماده خام نیست، و پژوهش از آن بسیار فراتر رفته است. DetectGPT، که در ICML 2023 توسط Mitchell, Lee, Khazatsky, Manning and Finn منتشر شد، از ویژگی متفاوتی از همان تابع احتمال استفاده میکند: متنی که از یک مدل زبان نمونهگیری شده است، معمولاً در ناحیهای قرار میگیرد که بازنویسیهای کوچک باعث کاهش log-probability میشوند نه افزایش آن، الگویی که مقاله آن را negative curvature مینامد.
بهجای آموزش یک طبقهبند یا استفاده از یک واترمارک، این روش یک passage را دچار perturbation میکند، و تغییرات اندکی در نحوه بازنویسی آن تولید میکند، سپس هر variation را با همان model دوباره امتیازدهی میکند. مقاله این روش را با بهترین zero-shot baseline مقایسه میکند و نشان میدهد که، روی متنی که توسط یک model با 20-billion-parameter تولید شده است، این روش 0.95 AUROC به دست میآورد، در حالی که بهترین zero-shot baseline 0.81 AUROC به دست میآورد.
همان distribution، برای watermark کردن بهجای detect کردن استفاده میشود
تا اینجا، probability distribution بهمثابه چیزی در نظر گرفته شده است که پس از وقوع خوانده میشود. این distribution همچنین میتواند در لحظه تولید لمس شود، و این مسئله را بهطور کامل وارونه میکند. یک روش در 2023 از Kirchenbauer, Geiping, Wen, Katz, Miers and Goldstein پیش از تولید هر word، یک فهرست کوتاه تصادفی از tokenهای مجاز را بر پایه یک hash از آنچه پیش از آن آمده است انتخاب میکند، و sampling را بهنرمی به سوی آن فهرست کوتاه هدایت میکند. این bias برای خواننده نامرئی است و بعداً با یک statistical test روی یک span کوتاه از text، بدون نیاز به دسترسی به model اصلی، قابل بازیابی است.
SynthID از Google DeepMind نسخهای از این ایده را وارد production کرده است: این سامانه در زمان generation امتیازهای probability مربوط به next-token را تنظیم میکند و امروز در app و web experience Gemini فعال است. OpenAI یک system قابل مقایسه ساخته است و آن را منتشر نکرده است. گزارشها این تصمیم را تا حدی به یک survey نسبت میدهند که در آن نزدیک به 30 percent از کاربران ChatGPT گفتهاند watermarking باعث میشود کمتر از product استفاده کنند، همراه با نگرانیهایی درباره اینکه یک watermark تا چه اندازه در برابر paraphrasing دوام میآورد.
گزارش یک detector یک word سایهدار یا یک percentage واحد را نشان میدهد و در همانجا متوقف میشود، بدون آنکه هرگز distributionای را که همه اینها از آن آمدهاند نشان دهد. free perplexity checker در TextPulse نسخهای سادهشده از همان scoring بهازای هر token را روی draft خود شما اجرا میکند، که راهی مستقیمتر برای دیدن جایگاه یک passage است تا خواندن یک verdict بهصورت غیرمستقیم.
دو صفحه مجاور این را پوشش میدهند. اینکه آیا آشکارسازها هنوز به burstiness تکیه میکنند از 2023 تغییر کرده است، و اینکه GPTZero چگونه همین احتمالها را به یک امتیاز تبدیل میکند در صفحه جداگانه خودش توضیح داده شده است.
این بخش در کنار سایر ابزارهای رایگان TextPulse قرار دارد، بنابراین میتوان همان پیشنویس را از نظر ریتم و ساختار، و نیز پیشبینیپذیری در سطح واژه، بررسی کرد، بدون آنکه برای این کار دوازده زبانه جداگانه باز شود.
سؤالات متداول
احتمال توکن لایه زیرینِ هر معیار تشخیصی دیگر است. یک مدل زبانی به هر توکن در یک دنباله، یک واژه-قطعه در هر بار، بر پایه همه چیزهایی که پیش از آن آمدهاند، یک احتمال اختصاص میدهد. 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.