Skip to main content

Mixture of Convex Experts (MiCE) for PyTorch

Project description

MiCE (Mixture of Convex Experts)

What is MiCE?

MiCE is a lightweight PyTorch library for building convex mixture-of-experts models via a novel max-of-means atlas. Instead of softmax routing or hard top-k gating, MiCE fuses an ensemble of convex “petal” subnetworks with a fixed, irreducible atlas of affine charts:

  1. Forward projection into each petal’s chart
  2. Convex evaluation in chart space (Input-Convex Neural Nets)
  3. (Optional) exact inversion back to the global frame
  4. Overlapping mean-of-pairs + max fusion

This guarantees convexity, interpretability, and efficient compute without exponentials or discrete dispatch.

Why MiCE?

  • Global convexity
    Each chart is convex; max-fusion preserves convexity in any dimension.

  • Two operating modes

    • Forward-only (invert=False): fast chart tiling with learnable shifts
    • Atlas mode (invert=True): full chart atlas with exact reprojection, no shifts needed
  • Efficiency
    No softmax, no log-sum-exp, no sparse dispatch. Fusion is just a handful of GEMMs, adds, and a single max per group. Compute scales ~2.6× a 2-layer MLP.

  • Interpretability
    Clear regions of dominance — visualize arg-max and margins over petals in any 2-D slice.


Feature Comparison

Feature MiCE (MoMx) Softmax MoE Hard MoE Standard MLP
Routing max(mean(…)) softmax(weights) top-k mask none
Convexity ✅ (vector-valued) ✅ (scalar only)
Atlas inversion optional (invert)
Compute cost ~2.6× MLP >10× (exp/log) ~k× experts baseline
Params ~2.6× MLP high high baseline
Gradient smoothness high (piecewise convex) smooth sparse smooth
Interpretability high medium low low

Installation

pip install torch-mice

import torch
from torch_mice import VectorHull

# Forward-only mode (default):
hull = VectorHull(in_dim=512, petals=8, out_dim=512, invert=False)
y_fwd = hull(x)

# Full atlas mode with exact inversion:
hull_atlas = VectorHull(in_dim=512, petals=8, out_dim=512, invert=True)
y_atlas = hull_atlas(x)

License

Licensed under the Gratis Public License © 2025 Joshuah Rainstar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torch_mice-0.4.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torch_mice-0.4.1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file torch_mice-0.4.1.tar.gz.

File metadata

  • Download URL: torch_mice-0.4.1.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for torch_mice-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c59535ddfd2f96d3165b1d9f390b91e1929e65ffbfb1ee70f9072735d09b9fcb
MD5 67d8f11160c61a075ac7eff85d6e8360
BLAKE2b-256 eb45b09a7e4a6be968a3377a367360981999539bf25a2e256ad9928452fe7957

See more details on using hashes here.

File details

Details for the file torch_mice-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: torch_mice-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for torch_mice-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fbf6d6089d78dc568c86b2153523fefff5b26009b18bf09d60bf25bbbe868ac1
MD5 34201d6b058f80a55651d82e59a687eb
BLAKE2b-256 1dd6db8121f349c0d12223cd2b9a7da46f152abe2521edc36d5fff79d31e2273

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page