{
  "name": "experts4bit-qlora",
  "canonical_package": "experts4bit-qlora",
  "aliases": [
    "e4b",
    "e4b-qlora",
    "experts4bit",
    "expertsnbit",
    "experts-mxfp4"
  ],
  "import_names": [
    "experts4bit_qlora"
  ],
  "summary": "Train and serve Mixture-of-Experts models that do not fit in VRAM: fused 4-bit experts, QLoRA, CPU/NVMe offload, and fast inference on consumer NVIDIA GPUs.",
  "system_manifest": {
    "role": "runtime",
    "owns": [
      "model loading (streaming loader, fused expert stacks, Experts4bit/ExpertsNbit bases)",
      "quantization orchestration (NF4/MXFP4 routes, int4 expert store, calibration drivers)",
      "adapters (ExpertsLoRA)",
      "training (trainer, fast/batched/hybrid paths, checkpointing)",
      "residency integration (host-RAM and NVMe engines bound to a loaded model)",
      "serving (paged runner, decode stack, HTTP shim)",
      "model-level measurement, quality gates and the claims register for model-level numbers"
    ],
    "relationship": "one system, two independently released packages: the runtime package depends on the kernel package through its optional `fast` extra; the kernel package never depends on the runtime package",
    "dependency_direction": [
      "experts4bit-qlora -> grouped-nf4-gemm"
    ],
    "related_package": "grouped-nf4-gemm",
    "url": "https://cerinamroth.com/ml/system-manifest.json",
    "provenance_url": "https://cerinamroth.com/ml/system-manifest.provenance.json",
    "sha256": "196cb55a41e890842f258305f307b873d55639cc617cd4ae61c771a063204918"
  },
  "freshness": {
    "source": {
      "repository": "pjordanandrsn/experts4bit-qlora",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "version": "0.35.3"
    },
    "publication": {
      "latest_pypi_version": "0.35.3",
      "fresh": true,
      "state": "CURRENT",
      "checked_at": "2026-09-06T04:07:55Z"
    },
    "generated_at": "2026-09-06T04:07:55Z"
  },
  "problems_solved": [
    "A Mixture-of-Experts model loaded with load_in_4bit still occupies bf16-sized VRAM and OOMs, because transformers stores its experts as one fused 3-D parameter per layer that bitsandbytes' nn.Linear walker never touches.",
    "Fine-tune (QLoRA / LoRA) a fused-expert MoE whose expert weights PEFT and the bitsandbytes walker never see.",
    "The quantised experts still do not fit the GPU: run a Mixture-of-Experts model larger than VRAM by keeping experts resident somewhere else and streaming them per layer.",
    "Experts do not even fit host RAM: serve or train from an on-disk expert arena (NVMe) with a pinned-DRAM hot tier.",
    "Serve a large fused-expert MoE on one consumer NVIDIA GPU with the decode path measured against the model's own attention.",
    "Work with models whose experts are released as native MXFP4 (gpt-oss, DeepSeek-V4): load them faithfully, keep the released bytes in an NVMe arena, train on them, and serve them without re-quantisation."
  ],
  "install": {
    "quantize-fused-moe-experts": [
      {
        "purpose": "streaming loader + trainer",
        "command": "pip install \"experts4bit-qlora[train]\"",
        "primary": true
      }
    ],
    "qlora-fused-moe-experts": [
      {
        "purpose": "minimum/reference training",
        "command": "pip install \"experts4bit-qlora[train]\"",
        "primary": true
      },
      {
        "purpose": "accelerated grouped-kernel path",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "run-moe-larger-than-vram": [
      {
        "purpose": "host-RAM training route",
        "command": "pip install \"experts4bit-qlora[train]\"",
        "primary": true
      },
      {
        "purpose": "residency/NVMe/fast-kernel route",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "offload-moe-experts-to-cpu-or-nvme": [
      {
        "purpose": "residency/NVMe/fast-kernel route",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": true
      },
      {
        "purpose": "host-RAM training route",
        "command": "pip install \"experts4bit-qlora[train]\"",
        "primary": false
      }
    ],
    "serve-moe-on-consumer-gpu": [
      {
        "purpose": "library fast path",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": true
      },
      {
        "purpose": "HTTP shim (optional)",
        "command": "pip install \"experts4bit-qlora[serve]\"",
        "primary": false
      }
    ],
    "mxfp4-moe-training-and-residency": [
      {
        "purpose": "minimum/reference training",
        "command": "pip install \"experts4bit-qlora[train]\"",
        "primary": true
      },
      {
        "purpose": "residency/NVMe/fast-kernel route",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ]
  },
  "install_routes": {
    "primary": {
      "purpose": "streaming loader + trainer",
      "command": "pip install \"experts4bit-qlora[train]\"",
      "capabilities": [
        "quantize-fused-moe-experts",
        "qlora-fused-moe-experts",
        "run-moe-larger-than-vram",
        "offload-moe-experts-to-cpu-or-nvme",
        "mxfp4-moe-training-and-residency"
      ]
    },
    "alternatives": [
      {
        "purpose": "accelerated grouped-kernel path",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "capabilities": [
          "qlora-fused-moe-experts",
          "run-moe-larger-than-vram",
          "offload-moe-experts-to-cpu-or-nvme",
          "serve-moe-on-consumer-gpu",
          "mxfp4-moe-training-and-residency"
        ]
      },
      {
        "purpose": "HTTP shim (optional)",
        "command": "pip install \"experts4bit-qlora[serve]\"",
        "capabilities": [
          "serve-moe-on-consumer-gpu"
        ]
      }
    ],
    "environment": {
      "os": [
        "Linux"
      ],
      "python": [
        ">=3.11 tested in CI (pyproject says >=3.9; 3.9/3.10 are not tested)"
      ],
      "accelerator": [
        "NVIDIA CUDA GPU (bitsandbytes 4-bit)",
        "NVIDIA CUDA GPU, sm_80 or newer (Triton kernels via grouped-nf4-gemm)"
      ],
      "special_requirements": [
        "an expert arena baked with grouped-nf4-gemm (nvme_bake_nf4 for NF4, the MXFP4 relocation bake for native MXFP4)",
        "bitsandbytes>=0.43",
        "grouped-nf4-gemm>=0.30.0 ([fast] extra; the floor is pyproject.toml's, validated by CI)",
        "local NVMe or a fast block device; pinned host RAM for the hot tier",
        "torch>=2.2",
        "transformers>=5.0 for the streaming loader ([train] extra)",
        "triton>=3.4 (Linux-only distribution)"
      ]
    }
  },
  "entrypoints": [
    "cli:python -m experts4bit_qlora.serve",
    "cli:python -m experts4bit_qlora.train",
    "experts4bit_qlora.engines.batched:enable_batched_train",
    "experts4bit_qlora.engines.capture:capture_decode",
    "experts4bit_qlora.engines.dense_offload:enable_dense_offload",
    "experts4bit_qlora.engines.expert_profile:hot_sets_from_profile",
    "experts4bit_qlora.engines.fast:enable_fast",
    "experts4bit_qlora.engines.fast:enable_fast_train",
    "experts4bit_qlora.engines.int4_attn_calib:enable_serve_attn_int4_calib",
    "experts4bit_qlora.engines.int4_experts:enable_serve_experts_int4",
    "experts4bit_qlora.engines.nvme_experts:enable_mxfp4_nvme_residency",
    "experts4bit_qlora.engines.nvme_experts:enable_nvme_residency",
    "experts4bit_qlora.engines.nvme_train:enable_nvme_train_residency",
    "experts4bit_qlora.engines.offload:enable_expert_offload",
    "experts4bit_qlora.engines.paged_runner:PagedModelRunner",
    "experts4bit_qlora.engines.pipelined:enable_pipelined_residency",
    "experts4bit_qlora.loader:load_moe_4bit_streaming",
    "experts4bit_qlora.lora:ExpertsLoRA",
    "experts4bit_qlora.verify:verify_moe_4bit",
    "experts4bit_qlora:Experts4bit",
    "experts4bit_qlora:ExpertsNbit",
    "flag:E4B_EXPERT_PROFILE"
  ],
  "supported": {
    "modes": [
      "inference",
      "offload",
      "quantization",
      "serving",
      "streaming",
      "training"
    ],
    "formats": [
      "bf16",
      "fp16",
      "fp4",
      "fp8",
      "int4",
      "int8",
      "mxfp4",
      "nf4"
    ],
    "model_families": [
      "deepseek_v2",
      "deepseek_v4 (Flash, Pro)",
      "gemma4_text",
      "gpt_oss",
      "granitemoe",
      "mixtral",
      "olmoe",
      "qwen3_5_moe",
      "qwen3_moe",
      "qwen3_next"
    ],
    "environment": {
      "accelerator": [
        "NVIDIA CUDA GPU (bitsandbytes 4-bit)"
      ],
      "os": [
        "Linux"
      ],
      "python": ">=3.11 tested in CI (pyproject says >=3.9; 3.9/3.10 are not tested)",
      "special_requirements": [
        "torch>=2.2",
        "bitsandbytes>=0.43",
        "transformers>=5.0 for the streaming loader ([train] extra)"
      ]
    }
  },
  "limitations": [
    "Unsupported model_type raises NotImplementedError; identity-expert families (LongCat-Flash) are refused by name",
    "4-bit is a memory trade when the model already fits, and cost energy on the measured comparator (one card, one bitsandbytes development build): claim e4b.train.energy-honest.scoped-a2000",
    "Dense (non-MoE) models are not the target; use bitsandbytes directly",
    "enable_fast_train returns 0 (does not raise) when the kernel package is absent: assert the return value",
    "dgrad=True needs grouped-nf4-gemm>=0.7.0 (below the current [fast] floor in pyproject.toml, so any [fast] install has it); on older cuts it is downgraded with a RuntimeWarning",
    "Loss parity is measured on the registered criteria in docs/METHODOLOGY.md, not asserted for every dataset",
    "model_families is evidence-gated: a family is listed when its fast_train path -- the headline path, enable_fast_train -- PASSES the registered loss-parity criteria on real weights with a receipt in this repository (training_support is the per-path record; bench/train-parity-20260905/tp1/ is lane tp1, all six serving families). olmoe is confirmed on real weights and a registered text; qwen3_moe and gemma4_text carry tp1 PASSes beside their flagship matrices; mixtral entered on its tp1 fused PASS under offload; granitemoe entered on its corrected-counter re-run's PASS (its first attempt was a harness error, kept as its own row); gpt_oss is refused by every training enabler and stays out",
    "gpt_oss is not a training family here: the loader builds its experts bare (no ExpertsLoRA), and both enable_fast_train and enable_batched_train return zero on it -- REFUSED rows on tp1 (e4b.train.parity.tp1.gptoss.fused.2026-09-05, e4b.train.parity.tp1.gptoss.batched.2026-09-05). Attention-only QLoRA over its frozen experts trains (e4b.train.parity.tp1.gptoss.attn_only.2026-09-05); the only route that trains its experts is grouped-nf4-gemm's experimental mxfp4_qlora.ExpertsMxfp4LoRA under the mxfp4-moe-training-and-residency capability -- experimental, never licensed",
    "enable_batched_train falls back to the reference forward per call above _PAD_WASTE_LIMIT (engines/batched.py): the patch count stays positive while some or all layers run the per-expert loop on some steps. In the shipped code tp1 measured this fallback was uncounted, and three arms read VOID on exactly that -- OLMoE, Qwen3 and Gemma-4 (e4b.train.parity.tp1.olmoe.batched.2026-09-05, e4b.train.parity.tp1.qwen3.batched.2026-09-05, e4b.train.parity.tp1.gemma4.batched.2026-09-05); it engaged everywhere only on Mixtral's eight-expert and Granite's forty-expert shapes. As of the release carrying that bundle the fallback is countable: batched_fallback_stats(model) reports it (#402; those VOID rows are the reason it exists). Assert kernel engagement, not the return value alone",
    "enable_fast, enable_fast_train and enable_batched_train refuse a wrapper whose base violates the stock-epilogue contract (EpilogueContractError, #402) instead of silently computing act(gate)*up over a base that applies biases, clamps or another gating rule -- a refusal is loud, a wrong epilogue is not; gpt-oss is the family this protects, and DeepSeek-V4 supplies its epilogue through _apply_gate and is admitted",
    "Head-to-head against Unsloth's 4-bit MoE QLoRA path on one identical training problem (lane p38, 2026-09-05, one rented RTX 5090, Qwen3-30B-A3B, the clinical fixture tokenised once, seq 512, r 8 / alpha 16, identical targets, optimizer, batch, steps, precision and eval; bench/h2h-20260905/p38/): the shipped fused dgrad path with NF4 attention is faster per step, lower in peak VRAM and lower in energy per step than Unsloth on that box, and the two are comparable on held-out loss at sixty steps (e4b.train.h2h.unsloth.qwen3.5090.2026-09-05, ...quality-n60) -- BUT the two-hundred-step curve favours Unsloth: its held-out loss is lower at the end of the curve while e4b's flattens from step sixty (e4b.train.h2h.unsloth.qwen3.5090.2026-09-05.curve-n200). Quote the position only beside that row. Candidate causes (the eval schedule, the checkpointing mode, the transformers/peft versions of the two stacks, the expert adapter's precision -- bf16 on this side, the loader passes the model dtype to ExpertsLoRA -- against fp32 on Unsloth's) are not established. One workload, one box, one family; nothing here licenses a path (tp1 does) and no general speed claim is made",
    "tp2/P40 (2026-09-06, one rented RTX 5090, receipts in bench/h2h-20260906/tp2/) extends the Unsloth head-to-head to all six families on one box and one fixture, and its rows are statuses, not one number: positions exist only for Qwen3-30B-A3B (s/step ratio Unsloth/e4b 1.457, e4b faster per step, quality COMPARABLE; it agrees with P38's 1.413 inside the pre-registered anchor band, e4b.train.h2h.unsloth.qwen3.5090.2026-09-06) and Mixtral-8x7B, whose row leads with the footprint trade: e4b trained its experts under CPU offload at roughly one-ninth of Unsloth's resident allocator peak (the registered design; the footprint row e4b.train.h2h.unsloth.mixtral.5090.2026-09-06.footprint -- a trainable-on-smaller-cards capability, quality COMPARABLE) while Unsloth ran resident, its only mode, and what that VRAM buys it is speed per step (s/step ratio 0.361, e4b.train.h2h.unsloth.mixtral.5090.2026-09-06 -- a footprint-vs-speed trade, not a kernel deficit). No position on the other four, and the coverage rows are results, not empty cells: on Granite the comparator attached LoRA to the attention only, a fraction of e4b's trainable count with ExpertsLoRA on every MoE layer (e4b.train.h2h.unsloth.granite.5090.2026-09-06.coverage), and on OLMoE it died at MoE-LoRA engage while both e4b arms trained (e4b.train.h2h.unsloth.olmoe.5090.2026-09-06.coverage); gpt-oss refuses on both sides (P5 held), and Gemma-4's e4b attention-4-bit arms died on the projection-count check (#412; the bf16-attention fast_train path stays as tp1 left it) while Unsloth's arm trained. P38's two-hundred-step curve row (Unsloth lower at the end of the curve) still stands beside any Qwen3 position; per-arm rows are e4b.train.h2h.unsloth.<family>.5090.2026-09-06.arm.*",
    "enable_pipelined_residency patches an ExpertsLoRA wrapper's base and only runs when the wrapper delegates (eval mode, no_grad, an adapter that contributes nothing): assert the count and check the served path",
    "enable_hot_residency is deprecated since 0.6.2",
    "Speed absolutes depend on the host link; only ratios travel between hosts (claim e4b.host.ratios-travel-absolutes-do-not)",
    "No shipped tool bakes the training arena from a bf16 checkpoint yet (docs/STATUS.md, open)",
    "enable_nvme_train_residency refuses hot_rows below the expert count and requires gradient checkpointing",
    "NVMe residency is a batch-throughput path; cold-expert latency is bounded by the device link",
    "Not a general-purpose vLLM replacement: on the same box with identical prompt ids vLLM 0.28.0 is ahead of this package's NF4 control at both batch sizes (claim e4b.serve.h2h.vllm-0.28.0.qwen3.5090.2026-09-05); the ratio against the licensed stack is not quoted on that lane because its licensed arms were void on that box under the pre-registered pack-fingerprint rule (the streamed calibration did not reproduce the licensed pack's expert-matrix counts), the registered K8 gate run on that box's pack failed its second text (claim e4b.serve.h2h.vllm-0.28.0.qwen3.5090.2026-09-05.gate), so the recipe's speed there stays unlicensed and the streamed calibration's host-dependence is an open item; the 2026-09-03 comparison is superseded",
    "Gemma-4 has no quality instrument at this resolution (claim e4b.parity.gemma4.no-reference); gpt-oss raw-text perplexity cannot rank arms",
    "Granite's int4-expert rows fail the registered K8 budget (claim IDs carry the numbers); its licensed stack keeps NF4 experts with the folds and epilogue (e4b.serve.census.bo7.granite.b1.5090.2026-09-05, licensed by e4b.serve.buildout.granite.b1.5090.2026-09-04); the per-family positions the census quotes are in docs/STATUS.md -- Qwen3's licensed stack is the streamed calibrated pack (e4b.serve.buildout.bo6c.qwen3.all-calibexp-streamed-64k.k8.2026-09-05), OLMoE's and Mixtral's position is NF4, Gemma-4's is the exact round-1 fold on NF4 with no quality instrument, gpt-oss's is its NF4 reference arm",
    "Single-stream speed absolutes are measured-private where the register says so; ratios travel, absolutes do not",
    "The streamed 64k calibration recipe does not reproduce its licence across hosts: re-derived on another RTX 5090 host with the same checkpoint, text and knobs it produced a different pack (a handful of expert matrices classified differently at the min_rows threshold) that fails the registered gate on C4 validation (claim e4b.serve.h2h.vllm-0.28.0.qwen3.5090.2026-09-05.gate); the licence of e4b.serve.buildout.bo6c.qwen3.all-calibexp-streamed-64k.k8.2026-09-05 stands on its box as measured, and a pack derived elsewhere carries no licence until gated on that box -- tracked as issue #405",
    "A uniform int4 grid cannot hold e2m1 levels: re-quantising MXFP4 experts to int4-b32 fails the quality gate (docs/STATUS.md)",
    "gpt-oss raw-text perplexity is not an instrument for ranking an exact arm against a noisy one; the native store's speed is quoted with its quality gate open (docs/SERVING-THROUGHPUT.md)",
    "MXFP4 arena training needs grouped-nf4-gemm>=0.12.0 (F8_E8M0 scales), below the current [fast] floor in pyproject.toml",
    "gpt-oss expert training is EXPERIMENTAL and unlicensed. Lane tp1 (bench/train-parity-20260905/tp1/) ran grouped-nf4-gemm's run_mxfp4_20b_qlora (mxfp4_qlora.ExpertsMxfp4LoRA over the released e2m1/e8m0 bytes, faithful clamped GLU and biases) on its own text: the step-0 canary against transformers' dequant path passed, provenance pre == post held over every native expert tensor, and the loss fell -- the row is e4b.train.parity.tp1.gptoss.mxfp4.2026-09-05. No parity pair exists, the run is never compared to the e4b arms, and nothing licenses it; the e4b enablers refuse gpt-oss (zero patched), and the arena_train=True wrap of gpt-oss computes a generic epilogue without the per-expert biases and clamp -- do not train gpt-oss experts through it",
    "enable_mxfp4_nvme_residency REFUSES bias-carrying (gpt-oss-shaped) modules (#402): it passed no biases and defaulted to the DeepSeek-V4 epilogue, so binding a gpt-oss stack to a native-byte arena computed an unfaithful forward (#397); the native MXFP4 store for gpt-oss serving is the paged engine's route (enable_serve_experts_int4 on gpt-oss), and gpt-oss training against an arena has no route -- training_support.gpt_oss.nvme_train is refused, with that code reference"
  ],
  "non_goals": [
    "dense (non-MoE) models: use bitsandbytes directly",
    "a general-purpose serving engine or a vLLM replacement",
    "models that already fit in bf16 and need no offload: 4-bit here is a memory trade, not a speed-up, and on the measured comparator it cost energy (claim e4b.train.energy-honest.scoped-a2000)",
    "silent fallbacks: every enable_* returns a count or a non-empty handle list, or raises; callers must assert it",
    "operating systems other than Linux, or GPUs without CUDA"
  ],
  "capability_status": {
    "quantize-fused-moe-experts": "supported",
    "qlora-fused-moe-experts": "supported",
    "run-moe-larger-than-vram": "supported",
    "offload-moe-experts-to-cpu-or-nvme": "supported",
    "serve-moe-on-consumer-gpu": "supported",
    "mxfp4-moe-training-and-residency": "experimental"
  },
  "claim_tiers": {
    "measured": 161,
    "measured-private": 6,
    "open": 3,
    "superseded": 7,
    "retired": 6
  },
  "active_claim_ids": [
    "e4b.train.olmoe-converges",
    "e4b.offload.fits-30b-class",
    "e4b.serve.census.bo7.qwen3.b1.5090.2026-09-05",
    "e4b.parity.moe-routing-flip-floor",
    "e4b.train.energy-honest.scoped-a2000"
  ],
  "solutions": [
    {
      "slug": "bitsandbytes-moe-load-in-4bit-still-ooms",
      "title": "Why does `load_in_4bit` still OOM on a Mixture-of-Experts model?",
      "summary": "bitsandbytes' 4-bit walker replaces only nn.Linear and skips a fused MoE's 3-D expert stacks, so load_moe_4bit_streaming quantises exactly those stacks and verify_moe_4bit proves it.",
      "url": "https://cerinamroth.com/ml/solutions/bitsandbytes-moe-load-in-4bit-still-ooms/"
    },
    {
      "slug": "mxfp4-moe-training-and-residency",
      "title": "How do I train and serve MoE models released in MXFP4 (gpt-oss, DeepSeek-V4)?",
      "summary": "Choose between the convenient QLoRA path, which decodes MXFP4 and re-quantises to NF4, and the native-byte path, which keeps the released blocks and scales in an arena.",
      "url": "https://cerinamroth.com/ml/solutions/mxfp4-moe-training-and-residency/"
    },
    {
      "slug": "offload-moe-experts-to-cpu-or-nvme",
      "title": "How do I offload MoE experts to host RAM, or serve and train them from an NVMe arena?",
      "summary": "Bind pinned host RAM or a baked NVMe arena to a real model with the streaming loader and the nvme_residency, mxfp4_nvme_residency and nvme_train_residency engines.",
      "url": "https://cerinamroth.com/ml/solutions/offload-moe-experts-to-cpu-or-nvme/"
    },
    {
      "slug": "qlora-fused-moe-experts",
      "title": "How do I QLoRA-train the fused experts of a MoE (per-expert LoRA on 4-bit experts)?",
      "summary": "ExpertsLoRA adds a trainable per-expert low-rank delta before each routed expert's activation over a frozen NF4 stack PEFT cannot target; enable_fast_train runs it on grouped kernels.",
      "url": "https://cerinamroth.com/ml/solutions/qlora-fused-moe-experts/"
    },
    {
      "slug": "run-moe-larger-than-vram",
      "title": "How can I run a Mixture-of-Experts model larger than my GPU's VRAM?",
      "summary": "Choose a residency path by workload and by the memory tier that ran out: pinned-host expert streaming, dense offload, profiled hot residency, or an NVMe arena.",
      "url": "https://cerinamroth.com/ml/solutions/run-moe-larger-than-vram/"
    },
    {
      "slug": "serve-large-moe-on-a-consumer-gpu",
      "title": "How do I serve a large MoE on a consumer GPU (RTX 5090 class)?",
      "summary": "The paged decode runner with experts on grouped-nf4-gemm's kernels is the measured serving path on one RTX 5090 class; the HTTP shim is a separate reference-path deployment.",
      "url": "https://cerinamroth.com/ml/solutions/serve-large-moe-on-a-consumer-gpu/"
    }
  ],
  "source_repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
  "pypi_project": "https://pypi.org/project/experts4bit-qlora/",
  "source_commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
  "commit_date": "2026-09-05",
  "repository_version": "0.35.3",
  "pypi_version": "0.35.3",
  "publication": "published",
  "synced_at": "2026-09-06T04:07:55Z",
  "pinned_urls": {
    "commit": "https://github.com/pjordanandrsn/experts4bit-qlora/commit/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
    "tree": "https://github.com/pjordanandrsn/experts4bit-qlora/tree/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
    "capabilities": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd/docs/capabilities.json",
    "claims": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd/docs/claims.json",
    "status": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd/docs/STATUS.md",
    "solutions_index": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd/docs/SOLUTIONS.md",
    "pyproject": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd/pyproject.toml",
    "system_manifest": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd/docs/system-manifest.json"
  },
  "current_main_urls": {
    "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
    "capabilities": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/main/docs/capabilities.json",
    "claims": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/main/docs/claims.json",
    "status": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/main/docs/STATUS.md",
    "solutions_index": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/main/docs/SOLUTIONS.md"
  },
  "current_main_label": "latest on main — unpinned; not the source of any fact rendered here",
  "generated_from": [
    {
      "path": "docs/ARCHITECTURE_SUPPORT.md",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "sha256": "6d00c1c314bba350295b434210cb3a4a1affa37ac218a52f9e82e4de7560503e"
    },
    {
      "path": "docs/SOLUTIONS.md",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "sha256": "5a06e678c5e19fc6a23154b68ed7a22ba8066c18f9953f7e067ac7bb1e6c22f5"
    },
    {
      "path": "docs/STATUS.md",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "sha256": "87e2f6af9928a9f86527d1e5bd1933cdf4a56980ac47dede59f8abd339900f46"
    },
    {
      "path": "docs/capabilities.json",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "sha256": "09f53039fea3d8af5c153afe9187c77cec3d61e2352eaac2a11ab2ce751306ba"
    },
    {
      "path": "docs/claims.json",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "sha256": "eb6d105c6b86f9dbb17553a11dbbd4b12f45538a12e097e041db94e36f767b05"
    },
    {
      "path": "docs/system-manifest.json",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "sha256": "196cb55a41e890842f258305f307b873d55639cc617cd4ae61c771a063204918"
    },
    {
      "path": "pyproject.toml",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "sha256": "01137fe2ec321d96af9edb8dcb050787837fa90d193f7a2e930ae53606bf7dd2"
    }
  ],
  "sources": [
    {
      "repository": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "commit": "0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "commit_date": "2026-09-05",
      "package": "experts4bit-qlora",
      "package_version": "0.35.3",
      "published_version": "0.35.3",
      "publication": "published",
      "documents_used": [
        "docs/capabilities.json",
        "docs/claims.json",
        "docs/solutions/bitsandbytes-moe-load-in-4bit-still-ooms.md",
        "docs/solutions/mxfp4-moe-training-and-residency.md",
        "docs/solutions/offload-moe-experts-to-cpu-or-nvme.md",
        "docs/solutions/qlora-fused-moe-experts.md",
        "docs/solutions/run-moe-larger-than-vram.md",
        "docs/solutions/serve-large-moe-on-a-consumer-gpu.md",
        "docs/system-manifest.json",
        "pyproject.toml"
      ],
      "registers_used": [
        "capabilities",
        "claims"
      ],
      "synced_at": "2026-09-06T04:07:55Z",
      "pinned_tree": "https://github.com/pjordanandrsn/experts4bit-qlora/tree/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd",
      "current_main": "https://github.com/pjordanandrsn/experts4bit-qlora",
      "current_main_label": "latest on main — unpinned; not the source of any fact rendered here",
      "system_manifest": {
        "url": "https://cerinamroth.com/ml/system-manifest.json",
        "provenance_url": "https://cerinamroth.com/ml/system-manifest.provenance.json",
        "sha256": "196cb55a41e890842f258305f307b873d55639cc617cd4ae61c771a063204918",
        "pinned": "https://github.com/pjordanandrsn/experts4bit-qlora/blob/0c2a256dcdc2cb0a83cf7692224a8aa716f61ecd/docs/system-manifest.json"
      }
    },
    {
      "repository": "https://github.com/Cerin-Amroth/cerinamroth-site",
      "commit": null,
      "package_version": null,
      "documents_used": [
        "scripts/build_ml_site.py"
      ],
      "registers_used": [],
      "synced_at": null,
      "sections_owned": [
        "direct-answer",
        "smallest-verified-example"
      ],
      "kind": "site",
      "note": "site-authored prose; cites the registers above and copies no numbers"
    }
  ],
  "canonical_url": "https://cerinamroth.com/ml/experts4bit-qlora/"
}
