You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

๐Ÿฅ– Baguette

A Distributed Inference Engine for Paris MoE Diffusion Models

License: AGPL v3 Python 3.10+ HuggingFace

Fast, efficient inference for the 5-billion parameter Paris Mixture-of-Experts text-to-image model


โšก Quick Start

# Clone the repo
git clone https://huggingface.co/nbagel/baguette
cd baguette

# Install dependencies
pip install uv && uv pip install torch torchvision safetensors transformers diffusers accelerate tqdm

# Generate images
python generate.py --prompt "a cute cat" --num_samples 4

Output: output_bf16.png with 4 generated images.


๐ŸŽจ Generation Examples

# Basic generation (4 images, top-2 routing, 30 steps)
python generate.py --prompt "sunset over mountains" --num_samples 4

# See expert routing visualization
python generate.py --prompt "abstract art" --visualize

# Faster generation
python generate.py --prompt "a happy dog" --num_steps 20

# Lower memory usage (offload experts to CPU)
python generate.py --prompt "portrait of a scientist" --offload 4

# INT8 quantized (smaller weights)
python generate.py --prompt "enchanted forest" --precision int8

๐Ÿ”ฎ Expert Routing Visualization

Baguette includes real-time visualization of the MoE router's expert selection. Use --visualize to see which experts are activated:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚           โšก EXPERT USAGE DISTRIBUTION            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ†’ E4  โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ”‚ 40.6% โ”‚
โ”‚   E2  โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Ž โ”‚ 36.7% โ”‚
โ”‚   E6  โ”‚โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ                 โ”‚ 14.8% โ”‚
โ”‚   E1  โ”‚โ–ˆโ–ˆโ–ˆโ–Š                        โ”‚  5.5% โ”‚
โ”‚   E5  โ”‚โ–ˆโ–‹                          โ”‚  2.3% โ”‚
โ”‚   E0  โ”‚                            โ”‚  0.0% โ”‚
โ”‚   E3  โ”‚                            โ”‚  0.0% โ”‚
โ”‚   E7  โ”‚                            โ”‚  0.0% โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Active: 5/8 experts   Calls: 128               โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚            ๐Ÿ“ˆ ROUTING TIMELINE                   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Step  0  1  2  3  4  5  6  7  8  9 10 11 12 13  โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚  E0   ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  โ”‚
โ”‚  E1   ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  โ”‚
โ”‚  E2   ยท  ยท  ยท  ยท  ยท  โ—  โ—  โ—  โ—  โ—  โ—  โ—  โ—  โ—  โ”‚
โ”‚  E3   ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  โ”‚
โ”‚  E4   ยท  ยท  โ—  โ—  โ—  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  โ”‚
โ”‚  E5   ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  โ”‚
โ”‚  E6   โ—  โ—  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  โ”‚
โ”‚  E7   ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  ยท  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Routing changes:   2/13 steps (15%)            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

The router dynamically selects different experts based on the noise level at each diffusion timestep. Early steps (high noise) often use different experts than later steps (low noise).


๐Ÿ“‹ Command Reference

Flag Default Description
--prompt "a cute cat" Text description of the image to generate
--num_samples 16 Number of images to generate
--num_steps 30 Diffusion sampling steps (15-50)
--cfg_scale 7.5 Classifier-free guidance scale (5-12)
--precision bf16 Weight precision: bf16 or int8
--topk 2 Number of experts per sample (1-8)
--offload 0 Experts to offload to CPU RAM (0-7)
--visualize false Show expert routing statistics
--output auto Custom output filename
--seed 999 Random seed for reproducibility

๐Ÿ—๏ธ Model Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     PARIS MoE ARCHITECTURE                      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                 โ”‚
โ”‚   Input: Text Prompt โ”€โ”€โ†’ CLIP ViT-L/14 โ”€โ”€โ†’ Text Embeddings     โ”‚
โ”‚                                                                 โ”‚
โ”‚   Noise: z ~ N(0,1) โ”€โ”€โ†’ 32ร—32ร—4 Latent                         โ”‚
โ”‚                              โ”‚                                  โ”‚
โ”‚                              โ–ผ                                  โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚   โ”‚                  DiT-B/2 ROUTER                         โ”‚  โ”‚
โ”‚   โ”‚            (12 layers, 768 dim, 129M params)            โ”‚  โ”‚
โ”‚   โ”‚                         โ”‚                               โ”‚  โ”‚
โ”‚   โ”‚            Selects Top-K Experts per Step               โ”‚  โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                              โ”‚                                  โ”‚
โ”‚          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚          โ–ผ                   โ–ผ                   โ–ผ             โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚   โ”‚  Expert 0  โ”‚      โ”‚  Expert 1  โ”‚ ยทยทยท  โ”‚  Expert 7  โ”‚       โ”‚
โ”‚   โ”‚  DiT-XL/2  โ”‚      โ”‚  DiT-XL/2  โ”‚      โ”‚  DiT-XL/2  โ”‚       โ”‚
โ”‚   โ”‚   606M     โ”‚      โ”‚   606M     โ”‚      โ”‚   606M     โ”‚       โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”‚          โ”‚                   โ”‚                   โ”‚             โ”‚
โ”‚          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ”‚                              โ–ผ                                  โ”‚
โ”‚                   Weighted Velocity Prediction                  โ”‚
โ”‚                              โ”‚                                  โ”‚
โ”‚                              โ–ผ                                  โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚   โ”‚                 SD-VAE DECODER                          โ”‚  โ”‚
โ”‚   โ”‚              Latent โ”€โ”€โ†’ 256ร—256 RGB                     โ”‚  โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                 โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Total: ~5 Billion Parameters  โ”‚  8 Specialized Experts        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ’พ Available Weights

Format Size Quality Speed Use Case
BF16 9.3 GB โญโญโญโญโญ Fastest Production, best quality
INT8 4.8 GB โญโญโญโญ Fast Memory-constrained GPUs

๐Ÿ–ฅ๏ธ Memory Requirements

Configuration GPU VRAM Speed Notes
BF16, no offload ~25 GB ~3 img/s Best performance
BF16, offload 4 ~14 GB ~1 img/s RTX 4090 / A6000
BF16, offload 6 ~8 GB ~0.5 img/s RTX 3080/4080
INT8, no offload ~12 GB ~2 img/s Good balance
INT8, offload 4 ~8 GB ~0.5 img/s Consumer GPUs

๐Ÿ”ง Utilities

Benchmarking

python benchmark.py --quick                    # Fast benchmark
python benchmark.py --output results.md        # Full benchmark, save results

Weight Conversion

# Convert PyTorch checkpoints to BF16 SafeTensors
python quantize.py --input /path/to/weights --output ./weights/bf16 --format bf16

# Convert BF16 to INT8
python quantize.py --input ./weights/bf16 --output ./weights/int8 --format int8

๐Ÿš€ Future: Distributed Inference with Tailscale + Erlang

Baguette is being developed as a fully distributed inference engine that can run across multiple machines connected via Tailscale VPN, orchestrated by an Erlang/OTP supervisor.

๐ŸŒ Architecture Vision

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    BAGUETTE DISTRIBUTED NETWORK                         โ”‚
โ”‚                         (Up to 8 Nodes)                                 โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                         โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      Tailscale VPN Mesh      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚
โ”‚   โ”‚   Node 1    โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚   Node 2    โ”‚         โ”‚
โ”‚   โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚                              โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚         โ”‚
โ”‚   โ”‚ โ”‚ Router  โ”‚ โ”‚                              โ”‚ โ”‚ Router  โ”‚ โ”‚         โ”‚
โ”‚   โ”‚ โ”‚   VAE   โ”‚ โ”‚                              โ”‚ โ”‚   VAE   โ”‚ โ”‚         โ”‚
โ”‚   โ”‚ โ”‚Expert 0 โ”‚ โ”‚                              โ”‚ โ”‚Expert 1 โ”‚ โ”‚         โ”‚
โ”‚   โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚                              โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚         โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ”‚          โ”‚                                            โ”‚                 โ”‚
โ”‚          โ”‚         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”‚                 โ”‚
โ”‚          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚  Erlang/OTP      โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ”‚
โ”‚                    โ”‚  Coordinator     โ”‚                                 โ”‚
โ”‚          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚                  โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                 โ”‚
โ”‚          โ”‚         โ”‚  โ€ข Load Balance  โ”‚              โ”‚                 โ”‚
โ”‚          โ”‚         โ”‚  โ€ข Fault Tolerantโ”‚              โ”‚                 โ”‚
โ”‚          โ”‚         โ”‚  โ€ข Auto-Healing  โ”‚              โ”‚                 โ”‚
โ”‚          โ”‚         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              โ”‚                 โ”‚
โ”‚          โ”‚                                            โ”‚                 โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚
โ”‚   โ”‚   Node 3    โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚   Node 4    โ”‚         โ”‚
โ”‚   โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚           ...                โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚         โ”‚
โ”‚   โ”‚ โ”‚ Router  โ”‚ โ”‚                              โ”‚ โ”‚ Router  โ”‚ โ”‚         โ”‚
โ”‚   โ”‚ โ”‚   VAE   โ”‚ โ”‚        (up to 8 nodes)       โ”‚ โ”‚   VAE   โ”‚ โ”‚         โ”‚
โ”‚   โ”‚ โ”‚Expert 2 โ”‚ โ”‚                              โ”‚ โ”‚Expert 3 โ”‚ โ”‚         โ”‚
โ”‚   โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚                              โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚         โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŽฏ Key Features (Planned)

Feature Description
Self-Organizing Network Nodes automatically discover peers and negotiate roles
Adaptive Load Balancing Routes requests based on real-time latency and compute availability
Auto-Benchmarking Each node benchmarks GPU/CPU speed, VRAM, RAM, and network throughput
Fault Tolerance Erlang supervisors restart failed nodes, redistribute load
1 Expert Per Node Each node loads only 1 expert (~2.7GB VRAM) plus router & VAE
Latency-Aware Routing Prioritizes low-latency nodes for time-sensitive steps
Zero Configuration Just join the Tailscale network and runโ€”automatic peer discovery

๐Ÿ“Š Node Self-Benchmarking

When a node joins the network, it automatically benchmarks:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚         NODE CAPABILITY REPORT         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  GPU: NVIDIA RTX 4090                  โ”‚
โ”‚  VRAM: 24 GB                           โ”‚
โ”‚  GPU Compute: 847 TFLOPS (FP16)        โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚  CPU: AMD Ryzen 9 7950X                โ”‚
โ”‚  RAM: 64 GB                            โ”‚
โ”‚  CPU Compute: 2.1 TFLOPS               โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚  Network Latency to Peers:             โ”‚
โ”‚    โ†’ Node 2: 12ms                      โ”‚
โ”‚    โ†’ Node 3: 8ms                       โ”‚
โ”‚    โ†’ Node 4: 45ms                      โ”‚
โ”‚  Network Bandwidth: 940 Mbps           โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚  Assigned Expert: E0                   โ”‚
โ”‚  Status: READY                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ”„ Distributed Inference Flow

  1. Request arrives at any node
  2. Router runs locally โ†’ selects top-K experts needed
  3. Coordinator dispatches expert calls to appropriate nodes
  4. Nodes compute in parallel โ†’ return velocity predictions
  5. Results aggregated โ†’ Euler step applied
  6. VAE decodes locally โ†’ image returned to requester

This enables running the full 5B parameter model across consumer hardwareโ€”each machine only needs ~4GB VRAM to hold one expert.


๐Ÿ“ Repository Structure

baguette/
โ”œโ”€โ”€ generate.py          # ๐ŸŽจ Main generation script
โ”œโ”€โ”€ benchmark.py         # ๐Ÿ“Š Performance benchmarking
โ”œโ”€โ”€ quantize.py          # ๐Ÿ”ง Weight format conversion
โ”œโ”€โ”€ requirements.txt     # ๐Ÿ“ฆ Python dependencies
โ”œโ”€โ”€ README.md            # ๐Ÿ“– This file
โ”œโ”€โ”€ src/                 # ๐Ÿง  Model architecture code
โ”‚   โ”œโ”€โ”€ models.py        # DiT expert & router definitions
โ”‚   โ”œโ”€โ”€ vae_utils.py     # VAE encoding/decoding
โ”‚   โ”œโ”€โ”€ config.py        # Configuration dataclass
โ”‚   โ””โ”€โ”€ schedules.py     # Noise schedules
โ””โ”€โ”€ weights/             # ๐Ÿ’พ Model weights
    โ”œโ”€โ”€ bf16/            # BFloat16 SafeTensors (9.3 GB)
    โ”‚   โ”œโ”€โ”€ expert_0.safetensors ... expert_7.safetensors
    โ”‚   โ”œโ”€โ”€ router.safetensors
    โ”‚   โ””โ”€โ”€ config.pt
    โ””โ”€โ”€ int8/            # INT8 Quantized (4.8 GB)
        โ”œโ”€โ”€ expert_0.safetensors ... expert_7.safetensors
        โ””โ”€โ”€ router.safetensors

๐Ÿ”— Links


๐Ÿ“œ License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

See LICENSE for details.


Made with ๐Ÿฅ– by the Baguette Team

Distributed inference for everyone

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for nbagel/baguette

Base model

bagellabs/paris
Finetuned
(1)
this model