EBM-Splats
Status: Research complete. Phase 1-2 empirical tests finished. Energy-guided generation continued in m2m-energy-fields.
Energy-Based Model with Gaussian Splats on a 640D hypersphere. Explores distributional representations for latent spaces, sampling via Langevin dynamics and Rectified Flow.
Project Phases
Phase 1: EBM + PGLF (April 2026) — Discarded
EBM with Gaussian splats as attractors on S^639 + PGLF (projection over MiniLM with contrastive loss).
Result: PGLF degraded MiniLM on STS-B (-4.7%). Projection over pre-trained embeddings always destroys geometry.
Phase 1 Empirical: Discard Tests (July 2026)
3 empirical tests to discard or confirm alternatives. RTX 3090, real data.
| Test | Hypothesis | Result | Verdict |
|---|---|---|---|
| PGLF Grid (14 configs) | Can any config beat MiniLM? | 0/14 beat baseline (0.8672) | DISCARDED |
| OOD Detection | Does EBM energy detect OOD? | AUROC=1.0 but NN=0.999 | NO ADVANTAGE |
| RF vs Langevin | Does RF solve the speed bottleneck? | 24-29x faster, better quality | CONFIRMED |
Key finding: The argument that "200 Langevin steps per token" is prohibitive no longer applies. Rectified Flow with 1-2 steps produces better samples than Langevin with 200 steps, 24x faster.
Phase 2: Energy-Guided Generation (July 2026)
EBM as a generator that learns its own latent space (not as a layer over pre-trained models), with sampling via Rectified Flow.
| Test | Hypothesis | Result | Verdict |
|---|---|---|---|
| Energy-Guided Generation | Can energy manipulation steer generation? | 100% topic control at gs=1.0-2.0 | CONFIRMED |
| Concept Composition | Can multiple concepts be combined? | 4/4 mechanisms work | CONFIRMED |
Composition results:
- Equal blend (A+B): balanced similarity to both topics
- Weighted (70/30): asymmetric control confirmed
- Suppression (A−B): sim_B dropped from 0.44 to −0.29
- Triple (A+B+C): all three topics active (sim > 0.48)
EBM + RF enables semantic arithmetic on the hypersphere.
Repository Structure
├── src/ebm/ # Core EBM modules (geometry, splats, energy, model, etc.)
├── pglf/ # PGLF (archived — discarded empirically)
├── scripts/ # Training and generation scripts
├── tests/
│ ├── phase1_t11_rf_vs_langevin.py # RF vs Langevin benchmark
│ ├── phase1_t12_pglf_grid.py # PGLF grid search
│ ├── phase1_t13_ood_energy.py # OOD detection test
│ ├── phase2_energy_guided.py # Energy-guided generation test
│ ├── phase2_composition.py # Concept composition test
│ └── t*_results.jsonl # Raw results
├── docs/
│ ├── PHASE1_RESULTS.md # Full Phase 1 report
│ ├── PHASE2_RESULTS.md # Phase 2 energy-guided generation report
│ └── ...
└── benchmark_results/ # Previous benchmarks
Detailed Results
See docs/PHASE1_RESULTS.md and docs/PHASE2_RESULTS.md for full empirical test reports.
Tech Stack
- Python, PyTorch (CUDA 12.4, RTX 3090)
- sentence-transformers, HuggingFace datasets
- Rust (M2M integration via HTTP)
License
Apache-2.0
Metadata
Release files for ebm-splats 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ebm_splats-2.0.0.tar.gz | 61.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ebm_splats-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 114.4 kB
Release files / ebm_splats-2.0.0.tar.gz
| Download URL | ebm_splats-2.0.0.tar.gz |
|---|---|
| Size | 61.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
86b4b6565d09af5ee39f9312623bf4e75b91f98fdc8cab8ccebe145de2238097
|
|
BLAKE2b-256 checksum How to use checksums |
8014f7256092b5b90d4288c07f92265890ea7517a9b98e67eebf87f9576e5637
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 4, 2026.
Transparency logRelease files / ebm_splats-2.0.0-py3-none-any.whl
| Download URL | ebm_splats-2.0.0-py3-none-any.whl |
|---|---|
| Size | 53.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2805b46ebe602a68876b0642f2a9b69c2d37a2b9e9556a31ebacfe9a1c4bdb6b
|
|
BLAKE2b-256 checksum How to use checksums |
873233c0d1ee821131e5347071aebe1ea7c65ccc4aa351ce2f3b2a1956b82e9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 4, 2026.
Transparency log