Spaces:
Sleeping
Sleeping
| title: LIMEN Runtime Audit | |
| emoji: 🔎 | |
| colorFrom: blue | |
| colorTo: indigo | |
| sdk: gradio | |
| app_file: app.py | |
| pinned: false | |
| license: apache-2.0 | |
| short_description: Descriptive LLM activation-trajectory auditing | |
| # LIMEN Runtime Audit | |
| `limen-runtime-audit` is a small, reproducible toolkit for inspecting | |
| layer-wise activation trajectories exported from open-weight language models. | |
| It is an **audit and observability prototype**, not a validated controller. | |
| Its outputs do not establish cognitive states, functional localization, | |
| semantic identity, causality, reasoning, consciousness, or universal | |
| attractors. | |
| ## Why this exists | |
| Most model evaluations inspect the generated answer. LIMEN adds a second view: | |
| how the model's internal activation vector changes from one layer to the next | |
| for every generated token. | |
| In plain language, the first release can help answer: | |
| - Did two checkpoints produce different internal profiles? | |
| - Is one prompt family associated with more irregular layer-wise movement? | |
| - Is a trajectory an outlier relative to a reference run? | |
| - Did an extraction pipeline silently change shape or produce invalid values? | |
| It does **not** answer whether a response is true, safe, intelligent, or | |
| causally controlled. | |
| ## What v0.1 does | |
| - reads hidden states shaped `[tokens, layers, hidden_dim]`; | |
| - computes path length, displacement, tortuosity, speed variability, | |
| acceleration and turning angle; | |
| - computes entropy and top-1/top-2 probability margin when logits are supplied; | |
| - records the source checksum and extraction metadata; | |
| - writes machine-readable JSON and a compact Markdown report. | |
| ## Quick start | |
| ```bash | |
| git clone https://github.com/jeanbosange-bit/limen-runtime-audit.git | |
| cd limen-runtime-audit | |
| python -m venv .venv | |
| source .venv/bin/activate | |
| pip install -e . | |
| python examples/make_demo.py | |
| limen-audit examples/data/demo_trajectory.npz \ | |
| --metadata examples/extraction_manifest.example.json \ | |
| --output examples/output | |
| PYTHONPATH=src python -m unittest discover -s tests -v | |
| ``` | |
| The input is an `.npz` file containing: | |
| - `hidden_states` — required, `[tokens, layers, hidden_dim]`; | |
| - `logits` — optional, `[tokens, vocabulary]`. | |
| The exact real-model extraction script, offline tests and locked TinyLlama | |
| command are available in [`scripts/`](scripts/). | |
| ## Output vocabulary | |
| | Metric | Plain-language meaning | | |
| |---|---| | |
| | Path length | Total layer-to-layer movement | | |
| | Displacement | Direct distance from first to last layer | | |
| | Tortuosity | Indirectness of the layer-wise route | | |
| | Mean speed | Average movement between adjacent layers | | |
| | Speed CV | Variability of that movement | | |
| | Mean acceleration | Change in layer-to-layer movement | | |
| | Turning angle | Change in movement direction | | |
| | Entropy | Uncertainty of the output distribution | | |
| | Top-1/top-2 margin | Separation between the two leading token probabilities | | |
| These are descriptive measurements. See | |
| [`docs/METRICS.md`](docs/METRICS.md) before interpreting them. | |
| ## Real-model example | |
| The repository now includes a first real-model audit from | |
| `TinyLlama/TinyLlama-1.1B-Chat-v1.0`, with the exact revision, extraction | |
| semantics, source checksum, numerical summary and a plain-language | |
| interpretation: | |
| - [`examples/real_runs/tinyllama_20260725/`](examples/real_runs/tinyllama_20260725/) | |
| - [`examples/real_runs/tinyllama_false_premise_20260725/`](examples/real_runs/tinyllama_false_premise_20260725/) | |
| It is a single-run activation fingerprint, not a model-quality score or a | |
| reference distribution. | |
| ## Reproducibility contract | |
| Every scientific run should pin: | |
| - model and tokenizer identifiers and exact revisions; | |
| - library versions; | |
| - chat template and tokenized input; | |
| - seed and generation parameters; | |
| - `model()` versus `generate()`; | |
| - cache configuration and prefill/decode phase; | |
| - the exact extraction point and layer indexing; | |
| - normalization applied before analysis. | |
| Missing information must be marked `to-confirm`, never reconstructed from | |
| memory. | |
| ## Scientific status | |
| The metrics are descriptive observations `[I]`. A stable association supported | |
| by held-out tests and appropriate controls may become `[II]`. Functional names | |
| remain interpretations `[III]` or hypotheses `[IV]` until independently tested. | |
| The next validation milestone is to show that trajectory metrics detect or | |
| predict held-out behavioral regressions beyond entropy, probability margin, | |
| token position, prompt family, model family and shuffled layer/time baselines. | |
| ## Tests | |
| ```bash | |
| PYTHONPATH=src python -m unittest discover -s tests -v | |
| ``` | |
| The public test suite checks geometry, numerical validation, probability | |
| baselines, report creation and the audit schema. GitHub Actions runs it on | |
| Python 3.10, 3.11 and 3.12. | |
| ## Research background | |
| LIMEN grew from an independent empirical research programme on runtime | |
| activation dynamics: | |
| - [Four Dynamical Regimes in Large Language Models](https://doi.org/10.5281/zenodo.20348878) | |
| - [Conditional Dynamic Signatures in Large Language Models](https://doi.org/10.5281/zenodo.20361289) | |
| - [Dynamic-Layer Controllability without Universal Semantic Recovery](https://doi.org/10.5281/zenodo.20400171) | |
| - [A Runtime Trajectory Dynamics Framework for Large Language Models](https://doi.org/10.5281/zenodo.20602685) | |
| The papers preserve the terminology used during the original experiments. | |
| This repository uses narrower engineering language where later controls showed | |
| that stronger interpretations were not justified. | |
| ## Public boundary | |
| This repository contains only the public LLM audit layer. Non-LLM experiments | |
| and unaudited control or compression work are intentionally excluded. | |
| ## License | |
| Apache License 2.0. See [`LICENSE`](LICENSE). | |