AnoLLM: Дообучение LLM для обнаружения аномалий в табличных финансовых данных
Статья об обнаружении аномалий с помощью LLM без предварительного обучения (zero-shot), которую я прочитал два дня назад (arXiv:2406.16308), показала, что GPT-4 может выявлять табличные выбросы без всякой подготовки, не уступая классическим базовым методам, таким как ECOD, на бенчмарке ODDS. Но у этого подхода была очевидная слабость: просьба к модели вывести список индексов аномальных строк ненадежна — опенсорсные модели регулярно галлюцинируют индексами, выходят за пределы диапазона или помечают каждую строку как подозрительную. AnoLLM, представленная на ICLR 2025 Че-Пин Цаем, Ганью Тенгом, Филлипом Уоллисом и Вэй Дином из Amazon, устраняет эту проблему, одновременно показывая отличные результаты на наборах данных смешанного типа, где чисто числовые базовые модели начинают давать сбои.
Статья
AnoLLM переосмысляет обнаружение аномалий в таблицах как оценку плотности вероятности языковой моделью, а не как классификацию через промпты. Вместо того чтобы просить LLM назвать подозрительные строки, авторы дообучают (fine-tune) предобученную языковую модель на сериализованных тренировочных строках из основного распределения (нормальных), а затем оценивают каждую тестовую строку по ее отрицательному логарифмическому правдоподобию (NLL) в рамках изученного распределения. Строка, которая совсем не похожа на тренировочное распределение, получает высокий показатель NLL — это и есть оценка аномальности. Никаких форматов индексов, никакого парсинга вывода, никакой хрупкой экстракции через регулярные выражения.
Сериализация преобразует каждую строку таблицы в строку на естественном языке с именами признаков и их значениями. Для текстовых столбцов NLL нормализуется по столбцам, чтобы избежать смещения из-за длины, иначе более длинные описания механически накапливали бы более высокие штрафы вероятности. Для числовых и категориальных столбцов сырой NLL на уровне токенов суммируется по всему полю. Модель дообучается в полуавтоматическом режиме (semi-supervised) — в обучение попадают только строки с меткой «нормально» — до 2000 шагов с использованием распределенного обучения на GPU.
Ключевые идеи
- Проблема формата вывода: предыдущие подходы с предсказанием индексов требуют от LLM надежного вывода индексов аномальных строк из пакета данных. Модели семейства Llama часто привязывают неверные индексы к значениям, генерируют индексы за пределами размера пакета или просто перечисляют все подряд как аномалию. NLL полностью обходит эту проблему.
- AnoLLM достигает наилучшей производительности на шести эталонных наборах данных со смешанными типами признаков, включая обнаружение мошенничества в автостраховании и наборы данных о мошенничестве в электронной коммерции с Kaggle.
- На 30 преимущественно числовых наборах данных бенчмарка ODDS AnoLLM работает на уровне лучших классических базовых моделей — не явно лучше, а просто конкурентоспособно.
- Нормализация NLL по столбцам для текстовых признаков — это небольшое, но критически важное инженерное решение: без него описание транзакции из тридцати токенов доминировало бы в оценке над двузначной суммой, что является неверным индуктивным смещением.
- Контекст базового обучения: zero-shot подход GPT-4 (arXiv:2406.16308) достигает среднего AUROC 74.1 на ODDS, что сопоставимо с ECOD (75.5) и KNN (70.7). Преимущество AnoLLM проявляется именно на наборах данных, где текстовые и категориальные признаки несут значимый сигнал об аномалии.