README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
mamba-minimal
一个基于 PyTorch 的单文件实现,提供了简洁、极简的 Mamba 模型。
特点:
- 在前向传播和反向传播过程中,都能产生与官方实现一致的数值结果
- 代码经过简化,易于阅读,并附有注释
未包含的内容:
- 性能优化。官方实现经过了深度优化,而这些优化正是 Mamba 论文的核心贡献。为保证可读性,我让大部分实现保持简单。
- 合适的参数初始化(不过在不影响可读性的前提下也可以添加此项)
演示
请查看 demo.ipynb 以了解提示词补全的示例。
from model import Mamba
from transformers import AutoTokenizer
model = Mamba.from_pretrained('state-spaces/mamba-370m')
tokenizer = AutoTokenizer.from_pretrained('EleutherAI/gpt-neox-20b')
generate(model, tokenizer, 'Mamba is the')
曼巴蛇是世界上毒性最强的蛇类,其体长估计超过 150 米。凭借如此巨大的体型以及致命的毒液,曼巴蛇会通过刺伤猎物来致死(这种方式比单纯用毒液咬伤更痛苦,效果也稍差)。
150 米……🫢 真可怕!
参考文献
Mamba 架构由 Albert Gu] 和 Tri Dao] 在 Mamba: Linear-Time Sequence Modeling with Selective State Spaces] 一文中首次提出。