deepseek-v2 开源,mla & moe 架构,超强中英文大模型,遥遥领先

向量数据库云原生可观测混合云

欢迎关注我的公众号“ NLP前沿 ”,日更最新论文/博客速读,周更AI领域近一周发生的那些事儿 。欢迎投稿! 行文仓促,有理解错误,欢迎指正


        
          
https://github.com/deepseek-ai/DeepSeek-V2/tree/main  
https://github.com/deepseek-ai/DeepSeek-V2/tree/main#2-model-downloads  
https://github.com/deepseek-ai/DeepSeek-V2/blob/main/deepseek-v2-tech-report.pdf  

      
总结:
  • 128k上下文
  • 总参数量236B,21B活跃参数
  • code能力开源模型最强,数学 推理能力开源模型最强
  • mmlu、ceval等基准不逊色于qwen1.5 72b , mixtral 8*22B, llama3 70b等
  • 几乎全绿的大海捞针结果
  • 使用multi-head latent attention (MLA) & deepseek moe, 技术细节后文细说
  • 对比deepseek 67b降低了42.5%的训练成本,降低了93.3的kv-cache推理成本
  • 预训练了8.1T token的多语言
  • 强化学习使用的GRPO

Standard Benchmark

BenchmarkDomainQWen1.5 72B ChatMixtral 8x22BLLaMA3 70B InstructDeepSeek V1 Chat (SFT)DeepSeek V2 Chat(SFT)DeepSeek V2 Chat(RL)
MMLUEnglish76.277.880.371.178.477.8
BBHEnglish65.978.480.171.781.379.7
C-EvalChinese82.260.067.965.280.978.0
CMMLUChinese82.961.070.767.882.481.6
HumanEvalCode68.975.076.273.876.881.1
MBPPCode52.264.469.861.470.472.0
LiveCodeBench (0901-0401)Code18.825.030.518.328.732.5
GSM8KMath81.987.993.284.190.892.2
MathMath40.649.848.532.652.753.9

Chinese Open Ended Generation Evaluation

Alignbench

模型开源/闭源总分中文推理中文语言
gpt-4-1106-preview闭源8.017.738.29
DeepSeek-V2 Chat(RL)开源7.917.458.36
erniebot-4.0-202404(文心一言)闭源7.897.618.17
DeepSeek-V2 Chat(SFT)开源7.747.308.17
gpt-4-0613闭源7.537.477.59
erniebot-4.0-202312(文心一言)闭源7.366.847.88
moonshot-v1-32k-202404(月之暗面)闭源7.226.428.02
Qwen1.5-72B-Chat(通义千问)开源7.196.457.93
DeepSeek-67B-Chat开源6.435.757.11
Yi-34B-Chat(零一万物)开源6.124.867.38
gpt-3.5-turbo-0613闭源6.085.356.71
模型结构

picture.imagedeepseek moe 之前写过了,与常规的相比就是多了共享专家的概念。这里主要介绍 Multi-head Latent Attention以及路由的负载均衡策略

传统的 Transformer 模型通常采用多头注意力 (multi-head attention),在推理过程中,KV缓存将成为限制推理效率的瓶颈。然后就有很多研究,比如multi-query attention ,group query attention,通过在头上共享kv,降低了kv-cache的大小。他们的具体形式如下图

picture.image

mla的核心是对kv进行低秩联合压缩,以降低kv cache的大小

picture.image

这里的维度,h_t (batch_size, sentence_length, hidden_size) 省略为 (hidden size) W_Q、W_K、W_V 省略为 (head_size * num_head, hidden_size) q_t、k_t、v_t 省略为 (head_size * num_head)

W_dkv的第一个维度 (d_c 远小于上面的head_size * num_head),通过先将h_t下投影到c_t,然后再上投影得到kv,实际的时候只需要缓存

为了降低训练过程中的消耗,对q也同样进行低秩压缩

picture.image为了计算方便,q,k分一部分出来计算rope,最后拼接起来,做矩阵相乘算attention weights,完整的计算如下图

picture.image

moe负载均衡的辅助损失,不平衡的负载会增加路由崩溃的风险,使一些专家无法得到充分的培训和利用。另外当采用专家并行时,不平衡负载会降低计算效率。论文中使用了3种策略,分别用于控制专家级负载均衡、设备级负载均衡和通信均衡。

这里基础的策略是使用的swith transformers里边的方法,另外2个是第一个的变体,之前也写过,简单看下,如下图

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论