# 热门搜索 #
搜索
Mamba架构第一次做大!混合Transformer,打败Transformer
5733点击    2024-03-30 14:01

精彩精彩,第一个把爆火Mamba架构真正扩展到足够大的工作来了。


520亿参数,还是Mamba+Transformer混合架构。


它的名字叫Jamba



取两种架构之长,模型质量和效率兼得,要吞吐量有吞吐量,要低内存有低内存。



初步跑分显示:

  • Jamba性能总体接近Mixtral 8x-7B,处理128k长上下文时吞吐量却是其3倍




  • 一共支持256k上下文,而单张A100 GPU即可处理140k,直接拿下同等规模模型之最,高效又经济。




这项成果,来自以色列AI公司AI21labs


Mamba原作者看了之后都激动转发:

绝对的“大新闻”。



Mamba、Transformer,合体


由CMU和普林斯顿大学提出的Mamba,解决了Transformer的局限性(随着推理上下文越长,模型内存占用量越大,同时推理速度变慢,由此导致算力消耗巨大)


但它也有自己的缺点——

在不关注整个上下文的情况下,Mamba的输出质量很差,尤其是在召回相关的任务上。


本着“既要也要”的原则,Jamba站出来提供两全其美之作。



Jamba由Transformer、Mamba和MoE层组成,可同时优化内存、吞吐量和性能。


如下图所示,为了集成两种架构,Jamba采用块层(blocks-and-layers)组合的创新方法。


简单来说,就是每个Jamba块包含一个注意力层或一个Mamba层,再跟一个多层感知器MLP,总体比例保证为每八层一个Transformer层



其次,Jamba利用MoE来增加模型参数的总量,同时简化推理中使用的活动参数量。


最终模型容量高了,计算需求也没有相应的增加。


而为了在单张GPU(80GB)上最大限度地提高模型吞吐量,Jamba还优化了所用MoE层和专家数量,最终为日常推理工作负载留出足够内存。


值得一提的是,在推理时,Jamba的MoE层仅需520亿可用参数中的120亿,就能同时保证比同等大小的仅Transformer模型更高效。


要知道,此前有人光是尝试过扩展Mamba,就没能做到30亿参数之上。


因此,除了成功合体Mamba和Transformer,Jamba也达成了第二大成就:

同类中第一个达到生产级规模和质量的混合架构(SSM混Transformer)(ps. Mamba就是一种状态空间模型SSM)


吞吐量和效率up


初步评估显示,Jamba在吞吐量和效率等关键指标上表现出色。


首先,Jamba可以在长上下文中提供3倍吞吐量,比Mixtral 8x7B等大小相当的Transformer模型都要高效。


如下图所示,当上下文窗口达到128k时,Jamba的每秒token数近乎1500,而此时表现最好的Mixtral 8x7B应该才在500往上的样子。



其次,在单张GPU上,Jamba最多可以容纳140k上下文,经济又高效。


相比之下,Mixtral 8x7B为64k,Llama2 70B则仅为16k。



第三,Jamba的输出质量也得到了保证。


在如下一系列推理基准上,4项中有3项它都拿下了SOTA。同时,在GSM8K等基准上,Jamba即使没有夺魁,也和SOTA模型打了个不相上下。


总体来说,Jamba的性能接近Mixtral 8x7B。



最后,作者提示,别忘了,这些都还只是初步改造后的结果,后续还有很多优化空间(比如MoE并行、更快的Mamba实现)。所以到时性能会更强。


好消息:Jamba现在已经上线Hugging Face,并且划重点:采用apache-2.0许可


(Jamba的指令版本则将很快通过AI21labs平台上线。)



网友看完都感动哭了。




传送门:

https://huggingface.co/ai21labs/Jamba-v0.1

参考链接:

[1]https://www.ai21.com/blog/announcing-jamba

[2]https://www.ai21.com/jamba

[3]https://twitter.com/AI21Labs/status/1773350888427438424?s=20

[4]https://twitter.com/tri_dao/status/1773418926518734957?s=20


文章来自微信公众号“量子位 ”,作者:量子位