| """Per-surface heads for the multi-surface encoder demo. |
| |
| Each surface (dispute legitimacy, collections, fraud pattern, AML |
| anomaly, credit repayment) gets one probability head + one attribution |
| head + reuses the LM head for reasoning generation. Heads share the |
| backbone via per-surface LoRA adapters. |
| |
| Doctrine sources: |
| - `liquid-models-architecture` Section 10 (head selection table). |
| - `liquid-finetuning-playbook` Section 10 (350M attractor states: |
| prefer categorical over continuous numerics). |
| - `liquid-models-architecture` Section 16 (mean-pool, not last-token, |
| on LFM2.5 because the final layer is conv). |
| - Multi-head decision layer ADR-014: per-task LoRA + per-batch |
| homogeneous-head sampling. Co-training token + sequence heads |
| naively collapsed PII to 9.9% F1. |
| """ |
|
|
| from __future__ import annotations |
|
|
| from encoder.src.model.heads.attribution_head import AttributionHead |
| from encoder.src.model.heads.probability_head import ProbabilityHead |
|
|
| __all__ = ["ProbabilityHead", "AttributionHead"] |
|
|