1. 摘要

训练成本低,但效果卓越。DeepSeek V3的参数量为671B,每个token激活 37B,支持上下文长度为128k。训练语料由14.8T高质量且多样化的token组成, 在2048个H800上训练了2.788M H800 GPU小时,耗时57天(2.788*1000000/2048/24=56.78天),用了558万美元。其所用的GPU训练资源仅为Llama 3.1 405B的差不多1/14,但是效果显著。

2. 算法改进

2.1 MLA

把传统的Multi-head Attention(MHA)结构改成Multi-head Latent Attention(MLA)

  1. 输入embedding的维度为𝑑
  2. 表示注意力头的数量
  3. 表示每个注意力头的维度
  4. 表示注意力层中第t个token的输入
  5. transformerhttps://latex.csdn.net/eq?l

 keyvalue压缩后的潜在向量。

表示KV被压缩后的维度,一般被设置为4

表示下投影矩阵。

表示k和v的上投影矩阵。

生成带有旋转位置嵌入(RoPE)的解耦密钥的矩阵,一般被设置为https://latex.csdn.net/eq?%5Cfrac%7Bd_%7Bh%7D%7D%7B2%7D

生成的时候只需要存储就行。

是q的压缩隐向量。

q压缩后隐向量的维度。

分别是q的下投影矩阵和上投影矩阵。

生成带有旋转位置嵌入(RoPE)的解耦密钥的矩阵。

单个token,MHA中的KV Cache需要存储,MLA中的KV Cache需要存储,虽然存储减少,但是效果比MHA还好。

2.2 DeepSeekMoE

把传统的FFN(Feed-Forward Network)结构改成DeepSeekMoE。

DeepSeekMoE两个关键理念。

  1. 的粒度以实现更高的专业化和更准确的知识获
  2. 隔离一些共享家以减路由家之的知冗余

表示FFN输入的第t个token。

表示共享专家的数量。

表示路由专家的数量。

表示共享专家。

表示路由专家。

表示第t个token到第i个家的和度。

表示第https://latex.csdn.net/eq?i 家的值。

表示第i个专家的质心向量。

V3中设置了1个共享专家,256个路由专家,激活专家数为8。

2.3 MTP

多token预测:Multi-Token Prediction(MTP)——显著加快模型的解码速度

2.4 使用FP8训练

使用FP8混合精度框架可以减小内存消耗增加训练速度。

大多数GEMM(矩阵乘法)操作都是以FP8实现的。

3. 本地部署

3.1 下载程序

git clone https://github.com/deepseek-ai/DeepSeek-V3.git

3.2 安装依赖库

cd DeepSeek-V3/inference

pip install -r requirements.txt

3.3  HuggingFace 模型

https://huggingface.co/deepseek-ai/DeepSeek-V3/tree/main

3.4  HuggingFace 模型转换为特定格式

python convert.py --hf-ckpt-path /path/to/DeepSeek-V3 --save-path /path/to/DeepSeek-V3-Demo --n-experts 256 --model-parallel 16

3.5 运行DeepSeek-V3

torchrun --nnodes 2 --nproc-per-node 8 generate.py --node-rank $RANK --master-addr $ADDR --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --interactive --temperature 0.7 --max-new-tokens 200

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐