Виявлення аномалій за методом Zero-Shot за допомогою LLM: Як GPT-4 працює з табличними даними
У статті про AuditCopilot, яку я прочитав минулого місяця, проводився бенчмаркінг LLM для виявлення шахрайства в журнальних записах шляхом донавчання на розмічених даних про аномалії. Відтоді мені було цікаво, чи може промптинг за методом zero-shot забезпечити більшу частину результату — без необхідності в розмічених аномаліях та специфічному для галузі донавчанні. Саме це обіцяє стаття «Anomaly Detection of Tabular Data Using LLMs» (Виявлення аномалій у табличних даних за допомогою LLM) від Лі, Чжао, Цю, Клофта, Сміта, Рудольфа та Мандта (arXiv:2406.16308), доповідь на воркшопі середини 2024 року. Головний результат — GPT-4 зрівнявся з класичними трансдуктивними методами, такими як ECOD, — звучав майже занадто добре, тому я уважно її прочитав.
Стаття
Основна ідея полягає в тому, що автори називають виявленням аномалій «на рівні пакетів» (batch-level). Замість того, щоб навчати модель на тренувальних даних, а потім оцінювати тестові точки окремо, ви надаєте LLM пакет із N рядків під час виведення (inference) і просите її визначити, які рядки є аномальними відносно інших у тому ж пакеті. Аномалії трапляються рідко в будь-якому пакеті, тому достатньо здатна модель має неявно розпізнати основний патерн і позначити викиди. Жодного перенавчання, жодних розмічених прикладів — лише попередньо навчені знання LLM про світ та контекстне мислення.
Вони проводять оцінку на бенчмарку ODDS, що містить 32 набори даних і є стандартною колекцією реальних завдань із виявлення аномалій у таблицях. Через обмеження контекстного вікна вони обмежують кожен оцінювальний пакет 150 рядками та 10 стовпцями. Ознаки серіалізуються по одному виміру за раз за шаблоном «Дані i — це x_i.», і LLM пропонують назвати аномальні індекси окремо по кожному виміру; фінальна оцінка аномальності рядка підсумовує кількість вимірів, які його позначили.
Для пропрієтарних моделей вони тестують метод zero-shot. Для моделей із відкритим кодом (Llama2-7B, Llama2-70B, Mistral-7B) продуктивність zero-shot є низькою, тому вони також пропонують донавчання на синтетичному наборі даних із 5 000 пакетів, згенерованих із сумішей Гаусса та категоріальних розподілів — реальні мітки аномалій не потрібні. Донавчені варіанти називаються Llama2-AD та Mistral-AD.
Основні ідеї
- GPT-4 у режимі zero-shot досягає середнього AUROC 74,1 у 32 наборах даних ODDS порівняно з 75,5 у ECOD (найкращий класичний базовий метод) та 70,7 у KNN. GPT-3.5 в ідстає з результатом 68,3.
- Llama2-7B у режимі zero-shot набирає лише 51,1 — фактично випадковий результат — але донавчання на синтетичних даних піднімає його до 60,0, приріст +8,9 бала. Mistral-7B покращується з 62,4 до 69,1 (+6,7 бала).
- Формулювання «на рівні пакетів» є цікавим концептуальним ходом: LLM діє як неявний оцінювач щільності над пакетом, а не як дискримінатор, навчений розділяти класи.
- Донавчання використовує LoRA лише на синтетичних гауссових та категоріальних даних — реальні анотації аномалій не потрібні. Це вагома практична перевага, якщо метод піддається узагальненню.
- Парсинг результатів для моделей із відкритим кодом є нестабільним; автори застосовують граматичні обмеження та шаблони регулярних виразів для вилучення індексів аномалій.
Що підтверджується, а що ні
Охоплення бенчмарків є найбільшою проблемою. Стаття порівнює метод лише з двома класичними базовими моделями: KNN та ECOD. Isolation Forest, LOF, One-Class SVM та будь-які методи виявлення аномалій на основі глибокого навчання повністю відсутні. ECOD виявився сильним базовим методом для ODDS, але GPT-4 явно його не перемагає (74,1 проти 75,5), як і Mistral-AD (69,1). На фоні ширшого набору базових моделей не очевидно, чи втримав би GPT-4 свої позиції.
Обмеження у 150 рядків та 10 стовпців також є серйозним бар'єром, який у статті не розглядається належним чином. Реальні бухгалтерські книги мають тисячі транзакцій і набагато більше ознак. Чи масштабується підхід на рівні пакетів — або чи погіршується він через те, що аномалії стає важче розрізнити у великих пакетах із різноманітнішими патернами — не перевірено.
Показники дисперсії викликають занепокоєння. GPT-3.5 на наборі даних breastw демонструє 63,1 ± 34,4 AUROC. Це не той метод, який можна впроваджувати, коли один запуск може показати результат від 30 до 98. У GPT-4 показники стабільніші (98,7 ± 0,5 на breastw), але на інших наборах даних спостерігається подібна дисперсія.
Припущення про незалежність ознак — ще одна прогалина. LLM аналізує кожен вимір ознак окремо і підсумовує бали. Вона не може ро бити висновки про спільні патерни ознак — транзакція з незвичним поєднанням суми, контрагента та коду рахунку може виглядати нормальною в будь-якому окремому вимірі. Багатовимірні аномалії, які, ймовірно, є найпоширенішими та економічно значущими в бухгалтерському обліку, не будуть виявлені за такого підходу без істотної переробки.
Подальша література підтверджує ці побоювання. AnoLLM (ICLR 2025) від Amazon Science використовує інший підхід: замість запиту індексів аномалій, він донавчає LLM моделювати розподіл даних і використовує від’ємну логарифмічну ймовірність як оцінку аномальності, повністю уникаючи нестабільного парсингу результатів. CausalTAD (arXiv:2602.07798, лютий 2026) виявляє ще одну проблему, спільну для цієї статті та AnoLLM: порядок стовпців під час серіалізації є випадковим, що ігнорує казуальні зв'язки між ознаками. Перевпорядкування стовпців з урахуванням причинно-наслідкової структури покращує середній AUC-ROC з ~0,80 до 0,83 на шести бенчмарках.
Чому це важливо для ШІ у фінансах
Незважаючи на обмеження, напрямок zero-shot є дійсно цікавим для виявлення аномалій у книзі Beancount. Стаття AuditCopilot вимагала донавчання на розмічених прикладах аномалій — що важко отримати на практиці, оскільки реальні випадки шахрайства рідкісні, конфіденційні, а їх розмітка потребує експертних бухгалтерів. Синтетичний підхід донавчання у цій статті (Llama2-AD, Mistral-AD) обходить це: ви генеруєте реалістичні пакети транзакцій зі штучними аномаліями та проводите донавчання, ніколи не торкаючись реальної бухгалтерської книги.
Механізм на рівні пакетів природно відповідає тому, як насправді думають бухгалтери: «серед транзакцій цього місяця, які записи виглядають незвично відносно інших?» Саме така інтуїція стоїть за тестуванням журнальних записів в аудиті. Складність полягає в тому, що реальні аномалії в книгах є багатовимірними — платіж, який є нормальним за сумою, але незвичним за часом, контрагентом та поєднанням рахунків. Опитування кожної ознаки окремо, як це робиться в статті, не дозволи ть їх виявити.
Я хотів би побачити версію цього підходу, де весь рядок ембеддується і оцінюється цілісно — ближче до того, що робить 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 вже є надійними, а де ні, як детектори аномалій.
