--- library_name: gendynamics license: mit tags: - diffusion - unconditional-generation --- # synthetic_alpha_stable_mixture Unconditional reference models trained with gendynamics. The weights correspond to the best validation epoch. ## Dataset Synthetic unbalanced high-dimensional alpha-stable mixture. Generated by `gendynamics.datasets.fetch_synthetic_data('unbalanced_highdim_alpha_stable_mixture')`. Sample the configured mixture, then make a seeded random train/validation/test split. The train/validation/test splits contain 25,000/1,000/10,000 samples of shape `[150]`. Normalization: None The exact generator arguments or processed-file identity, split settings, and seed are in `dataset.json`. The source data themselves are not redistributed here; source-data terms remain with their provider. The preparation code is in [gendynamics](https://github.com/Diffusion-Research-Lab/gendynamics). API-backed sources can change; the processed-file checksum identifies this snapshot. ## Architecture and training All independently trained models use this network architecture: ```json { "name": "mlp", "params": { "width": 240, "depth": 4, "time_dim": 128, "dropout": 0.0, "use_norm": true, "dim": 150 } } ``` | Directory | Model | Prediction target | Trainable parameters | Sampling steps | Learning rate | Epochs run / best | Val loss | Test loss | |---|---|---|---:|---:|---:|---:|---:|---:| | ddpm-v | DDPM-V | velocity | 693,894 | 128 | 0.0005 | 562 / 462 | 8.425 | 4.067 | | dlpm-eps | DLPM-Eps | noise | 693,894 | 128 | 0.0005 | 256 / 156 | 0.8574 | 0.9514 | | tedm-origin | t-EDM | denoised data | 693,894 | 64 | 0.0005 | 158 / 58 | 1.412 | 3.308 | The complete **selected final** model and training settings are below and in each directory's `config.json`. The training settings include the maximum epoch budget; `epochs run / best` reports what actually happened. `provenance.json` records software versions and the source revision. Each model was reloaded and checked before upload; `export_check.json` records that check. Losses use each model's own objective, so they are not comparable sample-quality scores. The number of held-out rows used for each test loss is in `metrics.json`. Sample previews do not establish tail accuracy. ### DDPM-V (`ddpm-v/`) ```json { "model_parameters": { "n_steps": 128, "sigma_max": 2.0, "sampler": "ddpm" }, "training": { "device": "cuda", "data_device": "cpu", "batch_size": 1024, "n_epochs": 640, "early_stopping_patience": 100, "lr": 0.0005, "num_workers": 0, "use_adamw": true, "weight_decay": 1e-06, "grad_clip_norm": 10.0, "lr_schedule": "cosine", "warmup_steps": 400, "cosine_eta_min_ratio": 0.05, "freq_logging": 50, "stats_freq_epochs": 1, "log_grad_norm": true, "ckpt_freq_epochs": 64, "ckpt_keep_last": 8 } } ``` ### DLPM-Eps (`dlpm-eps/`) ```json { "model_parameters": { "n_steps": 128, "alpha": 1.8, "sampler": "native" }, "training": { "device": "cuda", "data_device": "cpu", "batch_size": 1024, "n_epochs": 640, "early_stopping_patience": 100, "lr": 0.0005, "num_workers": 0, "use_adamw": true, "weight_decay": 1e-06, "grad_clip_norm": 10.0, "lr_schedule": "cosine", "warmup_steps": 400, "cosine_eta_min_ratio": 0.05, "freq_logging": 50, "stats_freq_epochs": 1, "log_grad_norm": true, "ckpt_freq_epochs": 64, "ckpt_keep_last": 8 } } ``` ### t-EDM (`tedm-origin/`) ```json { "model_parameters": { "n_steps": 64, "nu": 2.2, "sigma_min": 0.005, "sigma_max": 5.0, "sigma_data": 1.0, "solver": "edm_stochastic_heun" }, "training": { "device": "cuda", "data_device": "cpu", "batch_size": 1024, "n_epochs": 640, "early_stopping_patience": 100, "lr": 0.0005, "num_workers": 0, "use_adamw": true, "weight_decay": 1e-06, "grad_clip_norm": 10.0, "lr_schedule": "cosine", "warmup_steps": 400, "cosine_eta_min_ratio": 0.05, "freq_logging": 50, "stats_freq_epochs": 1, "log_grad_norm": true, "ckpt_freq_epochs": 64, "ckpt_keep_last": 8 } } ``` DDIM-V (`ddim-v/`) shares the trained DDPM-V weights. Only the reverse sampler changes to deterministic DDIM (`eta=0`); it has no separate training run. Its exact sampling settings are in `ddim-v/config.json`. ## Loading Install the training package and its dependencies: python -m pip install git+https://github.com/Diffusion-Research-Lab/2_training_2026_tail_reference_models.git Then load one of the listed model directories by its underscored name: from toolkit.huggingface import load_huggingface_model model, normalization, data_scale = load_huggingface_model("Diffusion-Research-Lab/alpha-stable-mixture-1p7-150d-diffusion", "ddpm_v", device="cpu") samples = model.sample(16).float().cpu() if normalization is not None: samples = samples * normalization["std"] + normalization["mean"] The model-specific files are `model.safetensors`, `config.json`, `dataset.json`, `metrics.json`, `provenance.json`, `export_check.json`, and, when applicable, `normalization.safetensors`. This repository is released under the MIT license. Cite the model repository revision when using these weights.