Zero-Shot обнаружение аномалий с помощью LLM: Как GPT-4 справляется с табличными данными
Статья об AuditCopilot, которую я прочитал в прошлом месяце, оценивала LLM в обнаружении мошенничества в бухгалтерских проводках путем дообучения на размеченных данных об аномалиях. С тех пор мне было любопытно, может ли zero-shot промптинг обеспечить аналогичный результат — без размеченных аномалий и специфического для предметной области дообучения. Именно это обещает работа «Обнаружение аномалий в табличных данных с помощью LLM» (Anomaly Detection of Tabular Data Using LLMs) авторов Li, Zhao, Qiu, Kloft, Smyth, Rudolph и Mandt (arXiv:2406.16308), представленная на воркшопе в середине 2024 года. Основной результат — GPT-4 не уступает классическим трансдуктивным методам, таким как ECOD — звучал почти слишком хорошо, поэтому я изучил статью внимательно.
О статье
Основная идея заключается в том, что авторы называют обнаружением аномалий «на уровне пакета» (batch-level). Вместо обучения модели на тренировочных данных с последующей оценкой тестовых точек по отдельности, вы представляете LLM пакет из N строк во время инференса и просите ее определить, какие строки являются аномальными по отношению к другим в том же пакете. Аномалии в любом пакете встречаются редко, поэтому достаточно мощная модель должна неявно распознать основной паттерн и пометить выбросы. Никакого переобучения, никаких размеченных примеров — только предобученные знания LLM о мире и контекстное рассуждение.
Оценка проводится на бенчмарке ODDS, состоящем из 32 датасетов и являющемся стандартной коллекцией реальных задач по обнаружению аномалий в табличных данных. Из-за ограничений контекстного окна каждый оцениваемый пакет ограничен 150 строками и 10 столбцами. Признаки сериализуются по одному измерению за раз с использованием шаблона «Data i is x_i.», и LLM предлагается назвать индексы аномалий для каждого измерения в отдельности; итоговая оценка аномальности строки агрегирует количество измерений, в которых она была помечена.
Для проприетарных моделей тестировался режим zero-shot. Для моделей с открытым исходным кодом (Llama2-7B, Llama2-70B, Mistral-7B) производительность в режиме zero-shot оказалась низкой, поэтому авторы также предложили дообучение на синтетическом датасете из 5000 пакетов, сгенерированных на основе смесей гауссиан и категориальных распределений — реальная разметка аномалий не требовалась. Дообученные варианты получили названия Llama2-AD и Mistral-AD.