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.2.0.tar.gz
(6.4 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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff21facda2f7a8f579d8fee43b581f1debc5f94de0c8d17e289b62e52e4a9726
|
|
| MD5 |
fe4a59717a6bdaf7b472b78097eff212
|
|
| BLAKE2b-256 |
2f74465828854e1c6f2771b1502fb678aba53e2e1279de186a7b69c98ce6b5e3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88740f59690f60c1a386c4692c7e0b314e80c658bbddd3726b75ad9b29827337
|
|
| MD5 |
9878f9d2be1fdf1937c9eb728de15399
|
|
| BLAKE2b-256 |
b141a1527c2be1373a3d5ee315f4f6ed63b513dd4779560175140920dbbfc426
|