Skip to main content

Documentation Index

Fetch the complete documentation index at: https://lancedb-bcbb4faf-docs-nested-index-field-paths.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Stable World Model is a research platform for collecting data, training world models, and evaluating policies with model-predictive control across standardized environments. The LanceDB integration is built into Stable World Model’s data format registry. Lance is the default backend for collected datasets, so a path ending in .lance gives you an append-friendly LanceDB table with episode-contiguous rows and fast indexed reads. Random access speed is the bottleneck for world model training, since the loop repeatedly samples temporal windows from high-dimensional observations, actions, and rewards. The faster those windows arrive, the more GPU time goes into training rather than waiting on the data loader.

Install

pip install stable-worldmodel
Datasets and checkpoints are stored under $STABLEWM_HOME, which defaults to ~/.stable_worldmodel/.

Collect data into Lance

Stable World Model uses Lance by default when you collect to a .lance path. Replace your_expert_policy with the expert or scripted policy you use to collect demonstrations. Every writer accepts a mode argument such as append, overwrite, or error. The default is append, so re-running collection extends the existing dataset.

Load a Lance dataset for training

The dataset loader autodetects the Lance format from the path. Your model code stays focused on the world model objective while LanceDB handles the storage layout and read path.

Evaluate with model-predictive control

After training a world model on the Lance-backed dataset, Stable World Model can evaluate it with planning solvers such as CEM. Replace world_model with the trained model object from your training loop.

Convert between formats

Stable World Model can convert between registered dataset formats. A common workflow is to collect in Lance for fast training reads, then export to the video layout for compact inspection artifacts.

Throughput

The Stable World Model README reports the following PushT benchmark results from scripts/benchmark/compare_h5_lance.py:
FormatSourceCachesamples/sms/step
HDF5localno-cache1,416.145.2
HDF5localcached1,474.043.4
LanceDBlocalno-cache4,814.813.3
LanceDBlocalcached4,431.314.4
Videolocal-1,330.648.1
LanceDBs3no-cache3,183.720.1
LanceDBs3cached3,253.219.7
HDF5s3no-cache9.17,032.5
HDF5s3cached756.584.6
In that benchmark, local LanceDB reached about 3.4x the no-cache throughput of local HDF5, while S3-backed LanceDB reached about 350x the no-cache throughput of S3-backed HDF5. Even with cache enabled, S3-backed LanceDB was about 4.3x faster than S3-backed HDF5. These numbers come from the Stable World Model project’s own benchmark setup, so they’re best read as a reproducible directional baseline that may shift across environments, models, and storage configurations.

Storage

The same README reports these local storage sizes for the benchmark dataset:
FormatLocal size
HDF543.12 GB
LanceDB13.31 GB
Video496.29 MB
LanceDB used about 69% less local storage than HDF5 in the reported benchmark, while preserving a table interface built for fast training reads and append-heavy collection.

More resources

Stable World Model README

Installation, quick start, supported formats, benchmarks, environments, solvers, and citation.

Stable World Model docs

Full upstream documentation with tutorials, API references, and guides.