AnoLLM: LLM's finetunen voor tabelgebaseerde anomaliedetectie in financiële gegevens
Het zero-shot LLM-anomaliedetectie-artikel dat ik twee dagen geleden las (arXiv:2406.16308) toonde aan dat GPT-4 tabelgebaseerde uitschieters kon identificeren zonder enige training, waarbij het de klassieke baselines zoals ECOD op de ODDS-benchmark evenaarde. Maar het had een zwak punt: het model vragen om een lijst met indexen van afwijkende rijen te produceren is kwetsbaar — open-source modellen hallucineren regelmatig indexen, gaan buiten de grenzen van de dataset of markeren elke rij als verdacht. AnoLLM, gepubliceerd op ICLR 2025 door Che-Ping Tsai, Ganyu Teng, Phillip Wallis en Wei Ding van Amazon, verhelpt die kwetsbaarheid en richt zich tegelijkertijd op datasets van gemengde types waar puur numerieke baselines beginnen te haperen.
Het artikel
AnoLLM herformuleert tabelgebaseerde anomaliedetectie als een dichtheidsschatting van het taalmodel in plaats van een classificatie via prompts. In plaats van het LLM te vragen welke rijen er verdacht uitzien, finetunen de auteurs een vooraf getraind taalmodel op geserialiseerde "in-distribution" (normale) trainingsrijen, en scoren vervolgens elke testrij op basis van de negatieve log-likelihood (NLL) onder die geleerde verdeling. Een rij die totaal niet lijkt op de trainingsverdeling krijgt een hoge NLL — dat is de anomaliescore. Geen indexformaat, geen parsering van de output, geen fragiele extractie met regex.
De serialisatie zet elke tabelrij om naar een string in natuurlijke taal met kolomnamen en waarden. Voor kolommen met tekstwaarden wordt de NLL per kolom genormaliseerd om lengte-bias te voorkomen, waarbij langere beschrijvingen anders mechanisch hogere waarschijnlijkheidskosten zouden accumuleren. Voor numerieke en categorische kolommen wordt de ruwe NLL op token-niveau over het veld opgeteld. Het model wordt gefinetuned in een semi-gesuperviseerde setting — alleen als normaal gelabelde rijen worden gebruikt voor de training — gedurende maximaal 2.000 stappen met behulp van gedistribueerde GPU-training.
Kernideeën
- Het probleem met het uitvoerformaat: eerdere benaderingen van indexvoorspelling vereisen dat LLM's op betrouwbare wijze indexen van afwijkende rijen uit een batch uitvoeren. Modellen uit de Llama-familie koppelen vaak verkeerde indexen aan waarden, genereren indexen buiten de batchgrootte of geven simpelweg alles aan als afwijkend. NLL omzeilt dit volledig.
- AnoLLM behaalt de beste prestaties op zes benchmark-datasets met gemengde kenmerktypen, waaronder fraudedetectie bij voertuigverzekeringen en e-commerce fraudedatasets van Kaggle.
- Op de 30 overwegend numerieke ODDS-benchmarkdatasets presteert AnoLLM op gelijke voet met de beste klassieke baselines — niet duidelijk beter, maar concurrerend.
- De NLL-per-kolom normalisatie voor tekstkenmerken is een kleine maar essentiële technische beslissing: zonder dit zou een transactiebeschrijving met dertig tokens de score domineren boven een bedrag van twee cijfers, wat de verkeerde inductieve bias is.
- De context van de trainingsbaseline: de zero-shot GPT-4 benadering (arXiv:2406.16308) behaalt een gemiddelde AUROC van 74,1 op ODDS, vergelijkbaar met ECOD (75,5) en KNN (70,7). Het voordeel van AnoLLM komt specifiek naar voren bij datasets waar tekstuele en categorische kenmerken een betekenisvol anomaliesignaal bevatten.
Wat standhoudt — en wat niet
Het kernidee van NLL is solide. Het gebruik van een gefinetuned taalmodel als dichtheidsschatter over geserialiseerde rijen is principieel en het verwerkt op natuurlijke wijze de gezamenlijke verdeling van alle kolommen tegelijk — iets wat klassieke niet-gesuperviseerde detectoren die kolom voor kolom worden toegepast, niet zuiver kunnen doen. De oplossing voor indexvoorspelling is echt nuttig en de vergelijking met de zero-shot baseline is eerlijk.
Wat mij stoort, is de kloof tussen kosten en baten waarover het artikel te weinig rapporteert. AnoLLM vereist het finetunen en hosten van een LLM voor inferentie — een aanzienlijke investering in infrastructuur vergeleken met het fitten van ECOD of IsolationForest op een CPU in enkele seconden. Op de ODDS-benchmark (puur numeriek) is AnoLLM slechts "op gelijke voet", niet beter. De argumentatie voor AnoLLM ligt dus volledig in het regime van gemengde types, waarbij de zes geëvalueerde datasets afkomstig zijn van fraudedetectie op Kaggle. Zes datasets is een magere empirische basis voor een sterke aanbeveling, vooral omdat benchmark-datasets van Kaggle vaak schone schema's, vaste kolomsemantiek en bekende grondwaarheid hebben — zaken die bij productie-grootboekgegevens vaak ontbreken.
Het probleem met de kolomvolgorde blijft ook open. CausalTAD (arXiv:2602.07798) identificeerde dit gat onmiddellijk: AnoLLM serialiseert kolommen in een willekeurige volgorde en negeert de causale relaties tussen velden. Voor gestructureerde gegevens met bekende causale ketens — het type account beïnvloedt geldige transactiebereiken, die weer de verwachte tegenpartij beïnvloeden — is dit een reële beperking. CausalTAD frameert de herordening als een lineair ordeningsprobleem en rapporteert een consistente verbetering ten opzichte van AnoLLM over meer dan 30 datasets. Dat dit gat bestond en zo snel gevonden kon worden, suggereert dat het serialisatie-ontwerp van AnoLLM niet volledig doordacht was.
Er is ook een schaalvraag die het artikel niet beantwoordt: bij welk volume aan normale trainingsvoorbeelden wordt het finetunen van een LLM de moeite waard ten opzichte van bijvoorbeeld een tabelgebaseerd deep learning-model dat rechtstreeks op de numerieke kenmerken is getraind? Voor persoonlijke Beancount-grootboeken met een paar duizend regels kunnen de rekenkosten gemakkelijk opwegen tegen eventuele winst in nauwkeurigheid.
Waarom dit belangrijk is voor finance AI
Beancount-grootboekvermeldingen zijn precies het soort gegevens van gemengde types waar AnoLLM zich op richt: bedragen (numeriek), accountnamen (gestructureerde tekst), begunstigde/omschrijving (vrije tekst), tags (categorisch), data (gestructureerd). Een enkele rij zoals 2024-03-15 * "AWS" "Cloudfactuur" Assets:Checking -2.400,00 EUR codeert tegelijkertijd informatie over al deze types. Klassieke anomaliedetectoren hebben het hier moeilijk omdat ze voor elk kolomtype een aparte behandeling nodig hebben en de correlaties tussen beide verliezen — het gezamenlijke patroon dat "AWS"-facturen in een bepaald bereik moeten liggen en op een specifiek account moeten vallen.
De NLL-benadering van AnoLLM zou in principe deze gezamenlijke patronen leren van normale historische vermeldingen en afwijkingen over elke kolomcombinatie signaleren. Dat is potentieel nuttiger dan op regels gebaseerde JET's of statistische tests op één kolom.
Dat gezegd hebbende, de beperking van dubbel boekhouden is structurele kennis die AnoLLM niet kan leren van geserialiseerde rijen alleen — debet moet gelijk zijn aan credit, account-hiërarchieën moeten worden gerespecteerd. Deze domeininvarianten zijn harde beperkingen, geen statistische regelmatigheden, en geen enkele hoeveelheid LLM-finetuning op historische rijen zal deze betrouwbaar afdwingen als de trainingsdata uitzonderingen of afrondingsfouten bevat. De juiste architectuur combineert waarschijnlijk de NLL-score van AnoLLM voor semantische anomalieën met expliciete regelcontroles voor structurele anomalieën.
Wat nu te lezen
- CausalTAD (arXiv:2602.07798) — verbetert AnoLLM direct door causale kolomvolgorde toe te voegen; het meest directe vervolg om te evalueren.
- AD-LLM: Benchmarking Large Language Models for Anomaly Detection (arXiv:2412.11142, ACL Findings 2025) — biedt de systematische evaluatie over meerdere paradigma's die ontbreekt in artikelen over individuele methoden.
- "Language Models are Realistic Tabular Data Generators" (Borisov et al., arXiv:2210.06280, ICLR 2023) — het BE-GREAT model dat AnoLLM als baseline gebruikt; het begrijpen hiervan verduidelijkt wat AnoLLM daadwerkelijk verbetert buiten de indexvoorspelling.
