Skip to main content

Optimized Mamba implementation with chunk processing and ONNX export

Project description

MambaX

PyTorch implementation of the Mamba architecture with enhanced production-ready features:

  1. ONNX Export - Full model export support for deployment
  2. Chunk Processing - Single-forwardpass chunk handling (no token loops)
  3. CPU-First - Optimized execution without CUDA dependencies

Installation

Install the package directly from PyPI:

pip install mambax

Key Advantages

  • Production Ready: ONNX-compatible for serving
  • No Token Loops: Processes entire chunks in single forward pass
  • Hardware Agnostic: Runs equally well on CPU/GPU

Acknowledgements

Builds upon reference work from alxndrTL/mamba.py

Usage

1. Standard Forward Pass

import torch
import torch.nn as nn
from mambax import Mamba

# Initialize model
model = Mamba(
    d_model=512,
    d_inner=1024,
    d_conv=4,
    d_state=16,
    dt_rank=64,
    use_cuda=False
)

# Process full sequence
x = torch.rand(1, 128, 512)  # (batch, seq_len, dim)
output = model(x)  # single forward pass

2. Single Token Processing

x_token = torch.rand(1, 1, 512)  # (batch, 1, dim)
output, new_state, new_conv = model(x_token, state_cache, conv_cache)

3. Chunk-Based Processing

# Initialize with empty caches
state_cache = torch.zeros(1, 1024, 16)  # (batch, d_inner, d_state)
conv_cache = torch.zeros(1, 1024, 3)     # (batch, d_inner, d_conv-1)

# Process chunks (e.g. 8 tokens at once)
x_chunk = torch.rand(1, 8, 512)
output, new_state, new_conv = model(x_chunk, state_cache, conv_cache)

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

mambax-0.4.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

mambax-0.4.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file mambax-0.4.0.tar.gz.

File metadata

  • Download URL: mambax-0.4.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for mambax-0.4.0.tar.gz
Algorithm Hash digest
SHA256 3fc513a582ff87c4d5951d204af28b30928e314939862257d422e21170a9a6ea
MD5 772af4d85490a81e42c3d8442e54deae
BLAKE2b-256 2bb2c1752798fdd6bfdddacb76503e01abfac0ad7d8922f54a1a236112559777

See more details on using hashes here.

File details

Details for the file mambax-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: mambax-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for mambax-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8ad51a47cfc0161891f4bea7771ee6f9398f56152c434e7e87408786f8e51e4
MD5 32daed1e858561106e8246d9c0f6293c
BLAKE2b-256 eefb40aaaec0889647d59cae1d497e82c6ee29665db9d482fc8efa7afc0ccaa6

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