تشخیص ناهنجاری بدون آموزش (Zero-Shot) با مدلهای زبانی بزرگ: عملکرد GPT-4 روی دادههای جدولی
مقاله AuditCopilot که ماه گذشته خواندم، LLMها را در تشخیص تقلب در ثبتهای دفتر روزنامه با تنظیم دقیق روی دادههای ناهنجاری برچسبگذاری شده بنچمارک کرده بود. از آن زمان کنجکاو بودم که آیا پرامپتنویسی بدون آموزش (zero-shot) میتواند بخش زیادی از مسیر را طی کند یا خیر — بدون نیاز به ناهنجاریهای برچسبگذاری شده و بدون تنظیم دقیق خاصِ دامنه. این دقیقاً وعدهی مقاله "تشخیص ناهنجاری دادههای جدولی با استفاده از LLMها" نوشته لی، ژائو، چیو، کلافت، اسمیت، رودولف و ماندت (arXiv:2406.16308) است، یک مقاله کارگاهی از اواسط سال ۲۰۲۴. نتیجهی اصلی — برابری GPT-4 با روشهای کلاسیک ترنسداکتیو مانند ECOD — تقریباً بیش از حد خوب به نظر میرسید، بنابراین آن را با دقت خواندم.
این مقاله
ایده اصلی چیزی است که نویسندگان آن را تشخیص ناهنجاری در «سطح دسته» (batch-level) مینامند. به جای برازش یک مدل روی دادههای آموزشی و سپس امتیازدهی به نقاط تست به صورت جداگانه، شما در زمان استنتاج، دستهای شامل N سطر را به LLM ارائه میدهید و از آن میخواهید شناسایی کند کدام سطرها نسبت به بقیه در همان دسته ناهنجار هستند. ناهنجاریها در هر دستهای کمیاب هستند، بنابراین یک مدل به اندازه کافی توانمند باید به طور ضمنی الگوی اکثریت را تشخیص داده و نقاط پرت را علامتگذاری کند. بدون بازآموزی، بدون نمونههای برچسبگذاری شده — فقط دانش پیشآموزشدیده جهان و استدلال درونمتنی (in-context) مدل زبانی.
آنها روی بنچمارک ۳۲ مجموعهدادهای ODDS ارزیابی انجام میدهند، که مجموعهای استاندارد از مسائل دنیای واقعی تشخیص ناهنجاری جدولی است. به دلیل محدودیتهای پنجره بافت (context window)، آنها هر دسته ارزیابی را به ۱۵۰ سطر و ۱۰ ستون محدود میکنند. ویژگیها در هر بار یک بعد با قالب "Data i is x_i." سریالسازی میشوند و از LLM خواسته میشود تا ایندکسهای ناهنجار را در هر بعد به طور جداگانه نام ببرد؛ امتیاز ناهنجاری نهایی یک سطر، مجموع دفعاتی است که در ابعاد مختلف علامتگذاری شده است.
برای مدلهای تجاری، آنها از حالت بدون آموزش (zero-shot) استفاده میکنند. برای مدلهای متنباز (Llama2-7B, Llama2-70B, Mistral-7B)، عملکرد بدون آموزش ضعیف است، بنابراین آنها همچنین تنظیم دقیق روی یک مجموعهداده مصنوعی شامل ۵۰۰۰ دسته تولید شده از مخلوطهای گاوسی و توزیعهای دستهای را پیشنهاد میکنند — بدون نیاز به برچسبهای واقعی ناهنجاری. نسخههای تنظیمدقیق شده Llama2-AD و Mistral-AD نامیده میشوند.
ایدههای کلیدی
- مدل GPT-4 در حالت بدون آموزش به میانگین AUROC ۷۴.۱ در ۳۲ مجموعهداده ODDS دست مییابد، در مقایسه با ۷۵.۵ برای ECOD (بهترین خط پایه کلاسیک) و ۷۰.۷ برای KNN. مدل GPT-3.5 با ۶۸.۳ عقبتر است.
- مدل Llama2-7B بدون آموزش تنها امتیاز ۵۱.۱ را کسب میکند — که اساساً تصادفی است — اما تنظیم دقیق روی دادههای مصنوعی آن را به ۶۰.۰ میرساند، یعنی ۸.۹+ واحد افزایش. Mistral-7B از ۶۲.۴ به ۶۹.۱ (۶.۷+ واحد) بهبود مییابد.
- قاببندی «سطح دسته» حرکت مفهومی جالبی است: LLM به جای یک متمایزکننده (discriminator) که برای جداسازی کلاسها آموزش دیده، به عنوان یک تخمینگر چگالی ضمنی روی دسته عمل میکند.
- تنظیم دقیق از LoRA فقط روی دادههای مصنوعی گاوسی و دستهای استفاده میکند — بدون نیاز به حاشیهنویسیهای واقعی ناهنجاری. اگر این روش تعمیمپذیر باشد، یک مزیت عملی معنادار است.
- تجزیه خروجی (Output parsing) برای مدلهای متنباز شکننده است؛ نویسندگان محدودیتهای گرامری اعمال کرده و از الگوهای regex برای استخراج ایندکسهای ناهنجاری استفاده میکنند.
چه چیزی پابرجا میماند — و چه چیزی نه
پوشش بنچمارک بزرگترین مشکل است. مقاله تنها با دو خط پایه کلاسیک مقایسه میکند: KNN و ECOD. روشهای Isolation Forest، LOF، One-Class SVM و هرگونه روش تشخیص ناهنجاری یادگیری عمیق کاملاً غایب هستند. ECOD اتفاقاً یک خط پایه قوی در ODDS است — اما GPT-4 به وضو ح آن را شکست نمیدهد (۷۴.۱ در مقابل ۷۵.۵) و Mistral-AD نیز همینطور (۶۹.۱). در برابر مجموعهی گستردهتری از خطهای پایه، بدیهی نیست که GPT-4 جایگاه خود را حفظ کند.
محدودیت ۱۵۰ سطر / ۱۰ ستون نیز یک محدودیت جدی است که مقاله به اندازه کافی به آن نمیپردازد. دفاتر کل حسابداری واقعی هزاران تراکنش و ویژگیهای بسیار بیشتری دارند. اینکه آیا رویکرد سطح دسته مقیاسپذیر است — یا اینکه به دلیل دشوارتر شدن تشخیص ناهنجاریها در دستههای بزرگتر با الگوهای متنوعتر، کارایی خود را از دست میدهد — آزمایش نشده است.
اعداد واریانس نگرانکننده هستند. GPT-3.5 روی مجموعهداده breastw امتیاز ۶۳.۱ ± ۳۴.۴ AUROC را کسب میکند. این متدی نیست که بتوانید آن را مستقر کنید، وقتی یک اجرای واحد میتواند به طور محتمل امتیازی بین ۳۰ تا ۹۸ داشته باشد. GPT-4 پایدارتر است (۹۸.۷ ± ۰.۵ در breastw) اما واریانس مشابهی را در مجموعهدادههای دیگر نشان میدهد.
فرض استقلال ویژگیها حفره دیگری است. LLM هر بعد ویژگی را به طور جداگانه پرسوجو کرده و امتیازها را جمع میکند. این مدل نمیتواند درباره الگوهای ویژگیهای مشترک استدلال کند — تراکنشی با ترکیب غیرمعمولی از مبلغ، طرف حساب و کد حساب ممکن است در هر بعد به تنهایی نرمال به نظر برسد. ناهنجاریهای چندبعدی که مسلماً رایج ترین و از نظر اقتصادی مهمترین نوع در حسابداری هستند، بدون بازطراحی قابل توجه با این رویکرد شناسایی نخواهند شد.
ادبیات پیگیری این موضوع، این نگرانیها را تایید میکند. مقاله AnoLLM (ICLR 2025) از آمازون ساینس رویکرد متفاوتی را اتخاذ میکند: به جای درخواست ایندکسهای ناهنجاری، یک LLM را برای مدلسازی توزیع دادهها تنظیم دقیق میکند و از لگاریتم درستنمایی منفی (negative log-likelihood) به عنوان امتیاز ناهنجاری استفاده میکند و بدین ترتیب کاملاً از سیستم شکننده تجزیه خروجی اجتناب میکند. CausalTAD (arXiv:2602.07798، فوریه ۲۰۲۶) شکاف دیگری را شناسایی میکند که در این مقاله و AnoLLM مشترک است: ترتیب ستونها در طول سریالسازی تصادفی است و روابط علی بین ویژگیها نادیده گرفته میشود. مرتبسازی مجدد ستونها برای رعایت ساختار علی، میانگین AUC-ROC را از حدود ۰.۸۰ به ۰.۸۳ در ۶ بنچمارک بهبود میبخشد.
چرا این موضوع برای هوش مصنوعی مالی اهمیت دارد
با وجود محدودیتها، جهتگیری بدون آموزش (zero-shot) برای تشخیص ناهنجاری در دفتر کل Beancount واقعاً جالب است. مقاله AuditCopilot نیاز به تنظیم دقیق روی نمونههای ناهنجاری برچسبگذاری شده داشت — که در عمل به دست آوردن آنها دشوار است زیرا موارد تقلب واقعی نادر و حساس هستند و برچسبگذاری آنها به حسابداران خبره نیاز دارد. رویکرد تنظیم دقیق مصنوعی این مقاله (Llama2-AD, Mistral-AD) از این مشکل عبور میکند: شما دستههای تراکنش واقعینما با ناهنجاریهای مصنوعی ایجاد میکنید و بدون دست زدن به یک دفتر کل واقعی، مدل را تنظیم دقیق میکنید.
مکانیزم سطح دسته به طور طبیعی با نحوه تفکر حسابداران مطابقت دارد: «در تراکنشهای این ماه، کدام ثبتها نسبت به بقیه غیرمعمول به نظر میرسند؟» این همان شهود پشت تست ثبتهای دفتر روزنامه در حسابرسی است. چالش اینجاست که ناهنجاریهای واقعی دفتر کل چندبعدی هستند — پرداختی که از نظر مبلغ نرمال است اما در ترکیب زمان، طرف حساب و کد حساب غیرمعمول است. پرسوجوی هر ویژگی به طور مستقل، همانطور که این مقاله انجام میدهد، این موارد را شناسایی نمیکند.
آنچه من میخواهم ببینم نسخهای از این رویکرد است که در آن کل سطر به صورت کلنگر (holistic) جاسازی و امتیازدهی شود — شبیه به آنچه AnoLLM با مدلسازی توزیع انجام میدهد — که روی نمونهای واقعگرایانه از دادههای تراکنش Beancount اعمال شود. ایده تنظیم دقیق مصنوعی سزاوار بررسی جدی است؛ تولید دستههای مصنوعی دفتر کل Beancount با ناهنجاریهای تزریق شده (حسابهای اشتباه، ثبتهای تکراری، مبالغ نامعقول) ساده است و تنظیم دقیق یک مدل 7B روی آنها میتواند یک حسابرس بدون آموزش (zero-shot) مفید ایجاد کند بدون اینکه به هیچ داده برچسبگذاری شده واقعی نیاز داشته باشد.
چه چیزی را بعداً بخوانیم
- AnoLLM: Large Language Models for Tabular Anomaly Detection — ICLR 2025, OpenReview ID 7VkHffT5X2؛ مستقیمترین توسعهی این کار که به جای پیشبینی ایندکس مبتنی بر پرامپت، از امتیازدهی مبتنی بر درستنمایی استفاده میکند.
- CausalTAD: Injecting Causal Knowledge into Large Language Models for Tabular Anomaly Detection — arXiv:2602.07798؛ با همسو کردن سریالسازی با ساختار علی، شکاف ترتیب ستونها را برطرف میکند.
- AD-LLM: Benchmarking Large Language Models for Anomaly Detection — arXiv:2412.11142, ACL Findings 2025؛ بنچمارکی گستردهتر که وظایف تشخیص ناهنجاری NLP را پوشش میدهد و برای درک اینکه LLMها کجا به عنوان تشخیصدهنده ناهنجاری قابل اعتماد هستند و کجا نیستند، مفید است.
