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.2.0.tar.gz (6.4 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.2.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mambax-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ff21facda2f7a8f579d8fee43b581f1debc5f94de0c8d17e289b62e52e4a9726
MD5 fe4a59717a6bdaf7b472b78097eff212
BLAKE2b-256 2f74465828854e1c6f2771b1502fb678aba53e2e1279de186a7b69c98ce6b5e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mambax-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 88740f59690f60c1a386c4692c7e0b314e80c658bbddd3726b75ad9b29827337
MD5 9878f9d2be1fdf1937c9eb728de15399
BLAKE2b-256 b141a1527c2be1373a3d5ee315f4f6ed63b513dd4779560175140920dbbfc426

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