Optimized Mamba implementation with chunk processing and ONNX export
Project description
MambaX
PyTorch implementation of the Mamba architecture with enhanced production-ready features:
- ONNX Export - Full model export support for deployment
- Chunk Processing - Single-forwardpass chunk handling (no token loops)
- 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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fc513a582ff87c4d5951d204af28b30928e314939862257d422e21170a9a6ea
|
|
| MD5 |
772af4d85490a81e42c3d8442e54deae
|
|
| BLAKE2b-256 |
2bb2c1752798fdd6bfdddacb76503e01abfac0ad7d8922f54a1a236112559777
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8ad51a47cfc0161891f4bea7771ee6f9398f56152c434e7e87408786f8e51e4
|
|
| MD5 |
32daed1e858561106e8246d9c0f6293c
|
|
| BLAKE2b-256 |
eefb40aaaec0889647d59cae1d497e82c6ee29665db9d482fc8efa7afc0ccaa6
|