banking · compliance · classical-ml · llm

Market-Abuse Surveillance at Scale

A Tier-1 bank needed to monitor a very high volume of employee communications daily for market abuse, across multiple jurisdictions, inside an overnight clearance window before markets opened. The existing rules engine flooded compliance analysts with false positives, and simply running a large language model over every message was economically impossible at that volume.

I architected a four-layer classification funnel instead of one strong model: deterministic rules cleared obviously benign traffic at near-zero cost; a lightweight FastText classifier did cheap high-recall triage; a fine-tuned BERT model handled genuinely borderline cases; and only the hardest few percent reached a LoRA fine-tuned Gemma-7B, grounded with RAG over the bank’s policy and regulatory documents. Every layer was tuned for recall, not precision — a layer is allowed to over-escalate (costs money) but never allowed to under-escalate a genuinely suspicious message (costs a regulatory failure).

The result: materially higher accuracy, a significant reduction in false positives reaching analysts, and a large avoided annual inference cost versus the naive “one model over everything” approach — enough that a compliance committee approved deploying it into a regulated surveillance path. The system never dispositions an alert itself; it routes and prioritizes, and a human analyst makes every determination.