AnoLLM: Doladenie LLM pre detekciu anomálií v tabuľkových finančných údajoch
Článok o zero-shot detekcii anomálií pomocou LLM, ktorý som čítal pred dvoma dňami (arXiv:2406.16308), ukázal, že GPT-4 dokáže identifikovať tabuľkové odľahlé hodnoty bez akéhokoľvek trénovania, čím sa vyrovná klasickým základným modelom ako ECOD v benchmarku ODDS. Mal však zjavnú slabinu: žiadať od modelu, aby vypísal zoznam indexov anomálnych riadkov, je nespoľahlivé — open-source modely bežne halucinujú indexy, idú mimo rozsah alebo označujú každý riadok ako podozrivý. AnoLLM, publikovaný na ICLR 2025 autormi Che-Ping Tsai, Ganyu Teng, Phillip Wallis a Wei Ding z Amazonu, túto nespoľahlivosť rieši a zároveň napreduje v súboroch údajov so zmiešanými typmi, kde čisto numerické baseline modely začínajú zaostávať.
O čom je tento článok
AnoLLM preformulováva detekciu anomálií v tabuľkových údajoch skôr ako odhad hustoty jazykového modelu než ako klasifikáciu pomocou promptov. Namiesto toho, aby autori žiadali LLM o pomenovanie riadkov, ktoré vyzerajú podozrivo, doladia predtrénovaný jazykový model na serializovaných trénovacích riadkoch z normálnej distribúcie a potom ohodnotia každý testovací riadok podľa jeho zápornej logaritmickej vierohodnosti (NLL) v rámci tejto naučenej distribúcie. Riadok, ktorý sa vôbec nepodobá na trénovaciu distribúciu, získa vysoké NLL — to je skóre anomálie. Žiadny formát indexu, žiadne parsovanie výstupu, žiadna krehká extrakcia pomocou regulárnych výrazov.
Serializácia prevádza každý riadok tabuľky na reťazec v prirodzenom jazyku s názvami príznakov a ich hodnotami. Pri stĺpcoch s textovými hodnotami sa NLL normalizuje na stĺpec, aby sa predišlo skresleniu dĺžkou, kde by dlhšie popisy inak mechanicky akumulovali vyššie pravdepodobnostné náklady. Pri numerických a kategorických stĺpcoch sa sčítava surové NLL na úrovni tokenov naprieč polom. Model sa dolaďuje v semi-supervizovanom nastavení — do tréningu vstupujú iba riadky označené ako normálne — až v 2 000 krokoch pomocou distribuovaného tréningu na GPU.
Kľúčové myšlienky
- Problém s formátom výstupu: predchádzajúce prístupy k predikcii indexov vyžadujú, aby LLM spoľahlivo vypísali indexy anomálnych riadkov z dávky. Modely z rodiny Llama často priraďujú nesprávne indexy k hodnotám, generujú indexy mimo veľkosti dávky alebo jednoducho uvádzajú všetko ako anomálne. NLL sa tomuto úplne vyhýba.
- AnoLLM dosahuje najlepší výkon na šiestich benchmarkových súboroch údajov so zmiešanými typmi príznakov, vrátane detekcie podvodov v poistení vozidiel a e-commerce súborov údajov z Kaggle.
- Na 30 prevažne numerických súboroch údajov benchmarku ODDS dosahuje AnoLLM porovnateľné výsledky s najlepšími klasickými baseline modelmi — nie je jednoznačne lepší, len konkurencieschopný.
- Normalizácia NLL na stĺpec pre textové príznaky je malé, ale kľúčové inžinierske rozhodnutie: bez neho by popis transakcie s tridsiatimi tokenmi dominoval skóre nad dvojcifernou sumou, čo je nesprávna induktívna predpoveď.
- Tréningový kontext: zero-shot prístup GPT-4 (arXiv:2406.16308) dosahuje priemerné AUROC 74,1 na ODDS, čo je porovnateľné s ECOD (75,5) a KNN (70,7). Výhoda AnoLLM sa prejavuje konkrétne na súboroch údajov, kde textové a kategorické príznaky nesú významný signál o anomálii.
Čo obstojí — a čo nie
Hlavná myšlienka NLL je správna. Použitie doladeného jazykového modelu ako odhadu hustoty nad serializovanými riadkami je principiálne a prirodzene spracováva združenú distribúciu všetkých stĺpcov súčasne — čo klasické detektory bez dozoru aplikované stĺpec po stĺpci nedokážu urobiť čisto. Oprava predikcie indexov je skutočne užitočná a porovnanie so zero-shot baseline modelom je férové.
Čo ma zaráža, je rozdiel v nákladoch a prínosoch, o ktorom článok informuje nedostatočne. AnoLLM vyžaduje doladenie a prevádzku LLM pre inferenciu — čo je podstatný infraštruktúrny záväzok v porovnaní s natrénovaním ECOD alebo IsolationForest na CPU v priebehu sekúnd. V benchmarku ODDS (čisto numerickom) je AnoLLM len „na úrovni“, nie lepší. Prípad pre AnoLLM je teda výhradne v režime zmiešaných typov, kde šesť vyhodnotených súborov údajov pochádza z detekcie podvodov na Kaggle. Šesť súborov údajov je tenký empirický základ pre silné odporúčanie, najmä preto, že benchmarkové súbory údajov z Kaggle majú tendenciu mať čisté schémy, pevnú sémantiku stĺpcov a známu skutočnosť (ground truth) — čo sú všetko veci, ktoré produkčným údajom účtovných kníh často chýbajú.
Problém s poradím stĺpcov zostáva tiež otvorený. CausalTAD (arXiv:2602.07798) okamžite identifikoval túto medzeru: AnoLLM serializuje stĺpce v ľubovoľnom poradí, pričom ignoruje kauzálne vzťahy medzi poliami. Pri štruktúrovaných údajoch so známymi kauzálnymi reťazcami — typ účtu ovplyvňuje platné rozsahy transakcií, ktoré ovplyvňujú očakávanú protistranu — je to reálne obmedzenie. CausalTAD definuje zmenu poradia ako problém lineárneho usporiadania a uvádza konzistentné zlepšenie oproti AnoLLM vo viac ako 30 súboroch údajov. Skutočnosť, že táto medzera existovala a dala sa tak rýchlo nájsť, naznačuje, že návrh serializácie AnoLLM nebol úplne domyslený.
Existuje aj otázka rozsahu, ktorou sa článok nezaoberá: pri akom objeme normálnych tréningových príkladov sa doladenie LLM oplatí viac ako napríklad tabuľkový deep learning model trénovaný priamo na numerických príznakoch? Pre osobné účtovné knihy Beancount s niekoľkými tisíckami záznamov môžu náklady na výpočet ľahko prevýšiť akýkoľvek nárast presnosti.
Prečo je to dôležité pre AI vo financiách
Záznamy v účtovnej knihe Beancount sú presne tým druhom údajov so zmiešanými typmi, na ktoré sa AnoLLM zameriava: sumy (numerické), názvy účtov (štruktúrovaný text), príjemca/popis (voľný text), tagy (kategorické), dátumy (štruktúrované). Jeden riadok ako 2024-03-15 * "AWS" "Cloud invoice" Assets:Checking -$2,400 kóduje informácie naprieč všetkými týmito typmi súčasne. Klasické detektory anomálií tu majú problémy, pretože potrebujú samostatné spracovanie pre každý typ stĺpca a strácajú korelácie medzi nimi — spoločný vzorec, že faktúry „AWS“ by mali byť v určitom rozsahu a mali by smerovať na konkrétny účet.
Prístup NLL v AnoLLM by sa v princípe naučil tieto spoločné vzorce z normálnych historických záznamov a označil by odchýlky v akejkoľvek kombinácii stĺpcov. To je potenciálne užitočnejšie ako JETy založené na pravidlách alebo štatistické testy jedného stĺpca.
Napriek tomu je obmedzenie podvojného účtovníctva štrukturálnou znalosťou, ktorú sa AnoLLM nedokáže naučiť len zo serializovaných riadkov — debet sa musí rovnať kreditu, hierarchie účtov sa musia dodržiavať. Tieto doménové invarianty sú pevné obmedzenia, nie štatistické pravidelnosti, a žiadne množstvo doladenia LLM na historických riadkoch ich nebude spoľahlivo vynucovať, ak tréningové údaje obsahujú akékoľvek výnimky alebo zaokrúhľovacie artefakty. Správna architektúra pravdepodobne kombinuje skórovanie NLL pomocou AnoLLM pre sémantické anomálie s explicitnými kontrolami pravidiel pre tie štrukturálne.
Čo si prečítať ďalej
- CausalTAD (arXiv:2602.07798) — priamo vylepšuje AnoLLM vložením kauzálneho poradia stĺpcov; najaktuálnejšie nadväzujúce čítanie na vyhodnotenie.
- AD-LLM: Benchmarking Large Language Models for Anomaly Detection (arXiv:2412.11142, ACL Findings 2025) — poskytuje systematické multiparadigmatické vyhodnotenie, ktoré chýba v článkoch o jednotlivých metódach.
- „Language Models are Realistic Tabular Data Generators“ (Borisov a kol., arXiv:2210.06280, ICLR 2023) — model BE-GREAT, ktorý AnoLLM používa ako základ; jeho pochopenie objasňuje, čo AnoLLM skutočne vylepšuje okrem predikcie indexov.
