Skip to main content

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)

Source distribution for ebm-splats 2.0.0
File Size Uploaded
ebm_splats-2.0.0.tar.gz 61.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ebm-splats 2.0.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page