发布网友 发布时间:2024-10-23 17:50
共1个回答
热心网友 时间:2024-11-13 20:33
本文特别感谢字节跳动 Crane佬解答了我对SWA的疑惑。
0 前言
自从Mistral AI公司发布全球首款MoE大模型——Mixtral-8x7B以来,其在AI界引起了广泛关注,尤其因其参数量比Llama-2 70B更少,但精度更高的特性,激起了我对这一模型的兴趣。本文旨在探讨Mixtral 8x7B与Llama 2 70B的差异。
Mistral AI公司发布了两个模型,Mistral 7B和Mixtral-8x7B,后者基于前者采用MoE策略。Mistral 7B以7B的参数量在所有benchmark测试中超越了Llama-2 13B,与Llama-2 34B性能相当,而Mixtral-8x7B则以46.7B参数量,多数benchmark上超越了Llama 2 70B模型。
这一系列优异的表现让我想要深入了解Mixtral 8x7B相对于Llama 2的改进,以及它们在参数量和FLOPs方面的差异。
值得一提的是,Mistral模型基于Llama 2模型构建,了解Llama 2模型结构有助于更好地理解Mixtral 8x7B的特性。
1 Mistral 7B模型Mistral 7B模型在结构上与Llama 2 7B模型类似,其核心差异主要体现在GQA和FFN HiddenDim的调整。本节将主要介绍SWA(Sliding Window Attention)原理和实现。
1.1 SWA(Sliding Window Attention)Mistral模型采用了GQA和SWA来加速计算Attention。SWA与传统Attention机制不同,在seq_len维度上进行操作,仅与Sliding Window Size范围内的KV进行计算。举例说明,当处理on单词对应的token时,传统Attention与所有seq-len的KV计算,而SWA则仅与Sliding Window Size内的KV计算。为了满足SWA,prompting阶段使用mask操作实现,而generation阶段则通过RotatingBufferCache来实现,利用循环右移存储方式,保留靠近的K,剔除远距离的K。
2 Mixtral 8x7B(MoE)模型Mixtral 8x7B是Mistral 7B的MoE版本,除了上述特性外,还引入了MoE结构,能够实现多条分支的专家计算,每个专家专注于特定领域。具体表现为将FFN替换为MoE FFN。
3 Llama-2 70B vs Mixtral 8x7B本文最后对比了Llama-2 70B和Mixtral 8x7B的参数量与FLOPs,通过基准计算单batch输入2048时的矩阵乘法FLOPs,以此估算整体网络FLOPs,忽略了Norm层计算。