如何评价 DeepSeek 的 DeepSeek-V3 模型?

官网显示模型名为deepseek-V3-600B
Deepseek V3的Aider代码能力排行榜正确率为48.4%,仅次于OpenAI o1,超过Claude 3.5 Sonnet。
收藏者
0
被浏览
96

5 个回答

杨安国将军 LV

发表于 2025-4-27 16:13:35

一个国内主业是搞量化的公司能搞出来大模型就已经很牛逼了,
现在居然又用同级别十分之一的成本训练出来了目前第一梯队的大模型,
Respect !

说回问题,
deepseek证明了,
“算力极限会制约大模型的演进”是一个伪命题。
硬件、架构、算法还有非常多的工程优化空间,而且这个上限很高;
我非常坚信这一点,因为大模型目前的上限跟人类大脑的上限相比差的非常远,
有600万亿神经元突触的人脑的功率大概只有20瓦,而1000B(1万亿)参数的大模型推理消耗功率需要上千瓦,训练消耗就更大了,起码是百万瓦级别。
更牛逼的是deepseek还把他优化的过程方法详细的写在论文里了,模型也给你开源了。
从这一点来说deepseek真是行业明灯啊,比CloseAI不知道高到哪里去了。
你再回想一下人家居然是国内的一个量化基金?
继续Respect!

charden LV

发表于 2025-4-27 16:21:56

Vue程序员(后端Go),最近高强度使用之后,现在来回答一波。
优点
量大管饱、便宜好用,第一梯队
网页端免费

网页版chat是免费的,注册就能用,目前应该是不消耗Token额度,比其chatGpt这种不可用的东西,用这个就绝对足够了。
API使用

目前用的免费赠送的10元额度,有效期一个月,这周高强度使用(疯狂加班周,每天干了12小时那种),每天消耗也不过五角钱。

如何评价 DeepSeek 的 DeepSeek-V3 模型?-1.jpg

尝试一周之后就充值了100块,感觉还是很实惠的,加免费送的10元额度,估计能用一年(按工作日算)。
使用方式

VS Code中Cline + Continue
DeepSeek Platform点击上面的链接,生成 api_key 之后分别在VS Code的插件 Cline 和 Continue 中配置即可,目前已提供了 DeepSeek的快捷配置了,看一下就能配。
使用体验:

  • Cline 相当好用,与 cursor 的使用体验相差无几,问啥都能直接帮你操作好,无脑用就行;缺点是没有提供 tab 自动补全的功能,所以我需要同时用 Continue 来配合;
  • Continue 就很差了,一个是体感延迟,编写代码时那种顿挫感,像是新手在开手动挡的汽车一样难受,另外就是类似于copilot内联chat那种功能,用起来感觉很不对,离完善还有一段很长的距离,基本处于能用的状态吧。
cursor + deepseek

同样的,在生成 api_key 之后,将其配置到 cursor 中。这个是要打开 cursor settings,具体这样配置:

如何评价 DeepSeek 的 DeepSeek-V3 模型?-2.jpg

如图:点 Models,再点 Add model,我这添加了两个 deepseek-chat 和 deepseek-coder(评论区大佬说V3之后chat和coder合并了,那么现在配置只需要添加deepseek-chat即可)。
评论区大佬补充提醒:注意,要将其他模型都取消勾选再verify


往下拉,在 Open API Key配置项这里将生成的 api_key 填进去,再用https://api.deepseek.com 覆盖Base URL,最后点击 Verify 校验通过,那么就能用了。

如何评价 DeepSeek 的 DeepSeek-V3 模型?-4.jpg


cursor下的tab 自动补全示例

使用体验:
总体感觉 cursor 下的使用更优,tab 自动补全更加流畅,cursor chat 也好用,相比于 Cline + Continue 就好用在能够 cursor 的交互更为优秀和方便,不好用的地方就是 composer 不支持自定义了,这是挺大的缺陷,另外就是 cursor chat 下达了指令后要手动应用,这也是差点意思的地方。
最后
cursor + Cline 最终能够达到 cursor Pro 的效果,当然deepseek只用100块钱一年的事情,做到了1500元一年的事情正好契合了量大管饱、便宜好用的特点。
希望 deepseek 再接再厉,在使用插件和工具生态这方面也好好完善一下的话,我只能说:天下无敌。
<hr/>20250113更新
发现cursor只有订阅pro时才可自定义模型,所以免费使用cursor是不可能的了,基本功能都没法使用。
目前最便宜的方案可能还是 VS Code + Cline + Continue。然而问题出在 Continue 还没那么好用 ...

tzwd873 LV

发表于 2025-4-27 16:34:17

看不懂,但我大受震撼。
幻方买了很多卡在多年前就是我们饭桌上的谈资,最迟在我博四时候(2020年),在和有一级市场二级市场的小伙伴们参与的饭局上,我们就喜欢讨论这事儿,因为我们搞不太清楚,量化投资这个领域到底是要跑什么模型,需要这么大的算力(我没记错的话是千卡集群级别的算力,在当年属于一个非常梦幻的数字),毕竟传统的那些量化领域的模型,看上去都是有个笔记本电脑就能搞定的东西。
当时其实没人能回答这个问题,我们实验室还有小朋友入职了幻方,也讲不清楚这个问题,大家只知道,幻方bar很高很厉害。22年年中,当时我接到了个猎头的电话问我想不想投幻方,我委婉的表达了我过于菜逼和方向不对口之后,又问了这个问题,那个时候,猎头也只能拿着“他们肯定有一些很耗算力的大需求”这种话打哈哈。没过几个月,出现了一个叫做ChatGPT的东西,然后所有人都知道这个卡有什么用了
后面就是deepseek崛起的故事。其实直到今天,我依旧搞不清楚deepseek到底能给量化投资带来什么帮助。但是幻方就是笃定的投钱,投到deepseek已经是中国AI的一张名片了。
我只能说,这样的故事太梦幻了。愿中国这样的大金主多一点,且这样的有理想有能力的技术团队多一点。

山东大牛 LV

发表于 2025-4-27 16:45:23

看完技术报告,从infra的视角分享一些个人看法,供大家讨论。
首先,训练超大号的MoE模型,仅使用两千张H800加两个月的时间,就能达到如此好的效果,这点实在是太强了。只能说实践出先知,从DeepSeek过往的技术报告来看,明显可以感觉到团队的算法能力和系统能力都在持续升级。
模型结构

遵循system-algorithm co-design原则,DeepSeek-V3继续沿用V2中的MLA和MoE结构,其中前者是为了降低kv cache/token开销,后者是为了降低flops/param开销。
1)MLA技术我之前就有介绍[1],简单来说就是通过类似LoRA的方式对kv进行降维压缩,同时将升维操作转移到Q和O上,避免反复解压缩。遗憾的是,MLA并没有收获太多关注。一个可能的原因是,它跟MQA相比似乎没有表现出什么优势[2],反而增加了系统复杂度。
2)MoE结构,不同于Mixtral中大专家的设计(将稠密模型中的MLP结构复制8份),DeepSeek-V3采用大量“小专家”的设计,能够显著提升模型的稀疏程度(总参数量除以激活参数量)。相比V2的236B总参数(21B激活参数),V3更加激进地引入256个专家,总参数量达到惊人的671B,而激活参数量仅仅增加到37B。
根据技术报告里的数据,得益于更加稀疏的MoE设计,以及系统上的一系列优化,训练V3每trillion数据的GPU小时数仅仅为180K(而V2对应的GPU小时数为172.8K),可谓是将V2技术报告标题中的Economical(性价比)贯彻到底。
3)除了继承V2的模型设计,V3中使用先前发布的auxiliary-loss-free策略[3]来缓解专家之间的负载不均衡(学术探索的技术能够如此迅速地上线到自家大模型,可见DeepSeek对于创新的重视程度)。另外,V3引入了multi-token prediction(MTP),不仅可以在训练时提供更多监督信息,还可以在推理时结合投机采样加速模型解码。从论文汇报的效果来看,MTP会是一个不错的训练技巧。
训练优化

对于训练而言,最引人注目的自然是FP8的使用。DeepSeek-V3据我所知,是第一个(至少在开源社区内)成功使用FP8混合精度训练得到的大号MoE模型。
众所周知,FP8伴随着数值溢出的风险,而MoE的训练又非常不稳定,这导致实际大模型训练中BF16仍旧是主流选择。现有FP8方案[4]的训练困难主要来自两个方面,一个是粗粒度的per-tensor E4M3量化会因为个别异常值增加量化误差,另一个则是反向过程中使用的E5M2格式会带来较大的舍入误差。
为了解决以上问题,DeepSeek-V3在训练过程中统一使用E4M3格式,并通过细粒度的per-tile(1x128)和per-group(128x128)量化来降低误差。这种设计更加接近micro-scaling格式[5],然而,当前硬件架构并不支持这种格式的运算,这给FP8矩阵乘法的实现带来了挑战(需要通过partial sum的方式来实现)。
尽管DeepSeek-V3展示了per-tile和per-group量化对于模型收敛的重要性,论文中并没有给出对应的FP8矩阵乘法的算子效率。另外,论文中缺乏per-token加per-channel量化的讨论,不清楚这种实现上更加友好的量化方法对于训练稳定性的影响会有多大。
当然,FP8的好处还体现在节省显存上(尤其是激活值)。此外,DeepSeek-V3使用BF16来保存优化器状态,以及对部分操作进行选择性重计算(例如RMSNorm, MLA Up-Proj, SwiGLU)。显存的优化有助于设计更好的并行策略,例如可以减少甚至消除张量并行的使用。
并行策略上,DeepSeek-V3使用64路的专家并行,16路的流水线并行,以及数据并行(ZeRO1)。其中,专家并行会引入all2all通信,由于每个token会激活8个专家,这导致跨节点的all2all通信开销成为主要的系统瓶颈。
为了降低通信开销,在算法层面,DeepSeek-V3使用分组路由的方式,限制每个token只会激活4个节点上的专家,从而减半跨节点的通信流量。在系统层面,将节点间通信和节点内通信进行流水,最大化使用网络带宽和NVLink带宽。
通过以上优化,DeepSeek-V3可以将通信计算比例控制在大约1:1,这为后面的通信隐藏带来了机会。具体来说,我们可以将不同micro-batches里前向和反向的计算通信任务做并发调度,使得计算和通信尽可能相互掩盖。
对于流水线并行,DeepSeek-V3设计了类似于Chimera[6] 中的双向流水来降低bubble,而没有采用更加常见的interleaved 1F1B(尽管interleaved 1F1B中的steady阶段同样可以将前向和反向的计算通信相互进行隐藏)。
推理优化

最后,DeepSeek-V3模型的部署同样十分挑战。
对于MoE模型来说,开源框架大多沿用稠密模型的推理方案,例如Mixtral模型仍旧采用张量并行的方式部署。然而,这种处理方式使得MoE模型相比稠密模型在推理上失去优势。这是因为,MoE节省flops的好处主要体现在计算密集的prefill阶段,而在访存密集的decode阶段,MoE巨大的参数量然而会带来更加昂贵的数据搬移开销。哪怕能解决访存密集的问题,MoE参数消耗如此多昂贵的HBM空间,这可能也不是一个相当划算的决定。
可见,要发挥出MoE架构在推理侧的价值,必须改变并行策略,回到训练时DP+EP的方式。这意味着我们需要使用更大的机器单元来部署MoE模型,并尽可能避免专家层的冗余存储,从而降低每个设备上的模型参数量,缓解HBM容量和带宽的压力。
在这种部署方案下,负载均衡和all2all通信成为了核心挑战。了解以上背景之后,让我们回到DeepSeek-V3的推理方案。
首先,DeepSeek-V3采取PD分离的方式,分别应对prefill和decode两阶段的挑战。
prefill阶段,attention模块采用4路张量并行+8路数据并行,moe模块采用32路专家并行。这样并行的目的是在满足首token时延的要求下,最大化系统吞吐(和训练任务类似)。
decode阶段,DeepSeek-V3采取320路专家并行(256个小专家+64个热点专家),有效降低解码时延,并缓解负载不均衡的问题。
最后,为了填充all2all通信阶段的设备空闲时间,DeepSeek-V3采用NanoFlow[7]中的双流推理策略,将不同micro-batch中的计算和通信任务并发执行,从而提高设备资源利用率。

月朗风清 LV

发表于 2025-4-27 16:57:11

我觉得 deepseek v3 主要做成了 2 件事:

  • 继 flash attention 之后,又一个相信自己比英伟达懂 GPU 计算,并且做到了的团队;
  • 找到了 pretrain 的一个 10x 变化。
这里前者是指 fp8 训练,后者是指 pretrain batch size 的扩展。
fp8 训练应该算是各个工程团队长久的痛。大家都明白 fp8 的计算峰值是 bf16 的两倍,但是除了 23 年 Yi 团队对外宣传成功做了 fp8 的 pretrain,fp8 这里一直都没有一个相对公开的 recipe,更多地是 “训练极其不稳定” 的流言。而英伟达官方的 transformer engine 似乎也没有解决这个问题,并且如同英伟达的其他开源软件库一样,变得愈发笨重和冗杂。
deepseek 团队有这个勇气和能力直接抛开英伟达提出的 fp8 实践,给出了例如正反向都使用 e4m3,attention 后的 linear 输入的精度需要提升这样的细节,以及独立实现 per-group scaling 的训练(这部分也可以解读为受 B 系列显卡的 microscaling 启发),真的是非常令人佩服。就像是 Tri Dao 大大告诉大家 attention 的 kernel 应该这样写一样,deepseek 团队正在告诉大家,fp8 应该这样用。
相较于 fp8 这个可以被看做是相对独立的工程问题,我更喜欢的是他们通过扩大 batch size,提升工程效率的这种算法和工程的联调。相信很多朋友都听说过,系统领域的一个常见思路就是去考虑在某个维度放大 10 倍之后,会有哪些新的 trade-off,从而获取更充分的设计空间。deepseek 提出的将 pretrain batch size 从传统的 4M~8M tokens,提升至 4K * 15360 = 60M tokens 就是这样的变化。超大的 batch size 可能可以 makes pipeline parallel great again。
在此之前,我一直认为 pp 是相对鸡肋的并行方式,因为不管怎么优化 pp 算法,减小 bubble 的前提总是 micro batch 足够多,划分足够细。以 deepseek v3 这个 671B 模型为例,目前的设置是 2048 卡分 16 路 pp,没有 tp,也就是 2048 / 16 = 128 路 dp。那么在 context length 为 4k 的情况下,如果 batch size 为 4M,也就是 1024 条 sample,每一组 pp 的 16 张卡只能分到 1024 / 128 = 8 个 sample,连让 16 张卡同时运行都做不到。
而当 batch size 扩到 15360 个 sample 时,每一组 pp 的 16 张卡就能分到 120 个 sample,那么 bubble 就可以压下来,pp 也就变成了一个不错的候选:因为它通信较小,而且部分通信相较于 tp 更好隐藏。由此,引出了论文中 dualpipe 这样的新设计,这部分我估计这个问题下面会有很多细致解读,我就不展开了。
考虑到现在工业界的 sft 也走到了一个 epoch 10B token 这个量级,我觉得这种 batch size 上的调整会对 25 年训练框架的设计带来比较大的影响。
我倾向于扩大 batch size 会有一定程度的掉点(实际上最近还在和同事聊,是不是 llm 到了一个需要上 lamb 的时候),所以如之前 character.ai 的那个回答中提到的,我非常钦佩能够牺牲一点模型性能,换取工程效率提升的团队。真的太优秀了,太 nb 了!
<hr/>最后,还要感谢 deepseek 让资源少的团队又燃起了从零训 sota 的火苗!
<hr/>P.S. 刚刚发现其实 deepseek v2 的时候 batch size 就已经很大了,是我后知后觉了...

您需要登录后才可以回帖 登录 | 立即注册