第 36 课 · 真实世界 AI 拆解

DeepSeek 案例:挑选专家,算清效率与成本

每次只用一部分专家,为什么不能直接说模型只占一部分内存、全部成本也按比例下降?

建议 60 分钟先观察再解释原创玩具 MoE 路由与成本台账的本地真实计算;未运行或训练 DeepSeek

学完这一课,你能做到什么

  1. 能按给定分数选择专家、归一化权重并手算一个混合结果,区分总参数与一次激活参数。
  2. 能把 MoE、MLA、低精度与训练调度放到不同的开销位置,保留简化实验的条件。
  3. 能区分 V3 与 R1 的公开研究范围,给成本数字补齐版本、范围、条件和未计入项。

网站对应:DeepSeek 拆解:用几分之一的钱训出顶尖模型。按网站显示顺序编为第 36 课。

先预测 · 操作材料 · 改变条件

四个专家与一张费用台账

本地真实排序、加权与费用计算。E1—E4 的固定输出为 10、20、30、40,输入的是人为给定的路由分数;没有运行神经网络、没有生成 DeepSeek 回答。费用使用虚构单位。

原创玩具计算;不是 DeepSeek 的真实路由、耗时或成本测量

  1. 先手算默认选中的两个专家和权重,再运行。
  2. 只改变选用专家数,比较总参数、激活参数和混合输出。
  3. 费用台账的探索成本始终未知;不要把已知小计写成全部研发成本。

先记录你的预测,再点击运行。每次结果都由本课程序根据当前输入生成。

留下自己的解释

文字只保留在当前页面,离开前可导出;工作纸还有本课的具体记录题。

教师可以怎样一步步讲

完整教师讲稿

第 36 课教师讲稿|DeepSeek 案例:挑选专家,算清效率与成本

本课 60 分钟。学生已经学过模型参数、注意力、训练与推理,今天把这些知识用于读懂一项公开研究。核心问题只有一个:每次只用一部分专家,为什么不能直接说内存、速度和全部费用都按同一比例减少?

学完,学生应能手算一轮简化的专家选择,画出“全部保存、部分使用”的区别;指出 MoE、MLA、低精度各处理哪一项开销;写出带版本、范围和未知项的成本说明。我们不要求学生复现 DeepSeek 的训练,也不需要下载权重、开通 API 或购买服务。

课前准备:把材料放在学生能自己找到的位置

打开本课的“四个专家与一张费用台账”。教师先自行试一次默认输入,再复位。按钮统一叫“计算并查看过程”。投影暂时只显示输入区,参考答案留到 48 分钟之后。学生打开工作纸,在预测旁留一格“观察后修订”,不能运行后擦掉原先判断。

准备四张纸卡 E1、E2、E3、E4。它们各有 100 个参数单位,固定演示输出分别是 10、20、30、40;另有 100 个每次都使用的共享及其他参数单位。单位是为算术设定的数目,不是实际模型规格。四个路由分数依次为 4、3、2、1,默认每次挑分数最高的两个;同分时编号小的优先。选中的分数除以它们的总和,得到混合权重,再对固定输出求加权平均。

这个程序只演示选择与混合。真实专家是训练出的网络,不是四个人在开会,也不是固定的“数学老师、英语老师”。真实路由由模型计算,课堂输入由人给定;真实模型还包含注意力、残差等计算,这里的一个数字不能当完整前向结果。共享参数记进台账,但页面没有模拟共享网络的输出。教师应先把这三处省略写在板边,之后每次解释数值都能回到这个范围。

费用材料另放一张卡:4 块 GPU,每块运行 12 小时,每 GPU 小时按虚构价格 3 单位计算,已知其他费用 35 单位;探索试验费用没有数据。费用卡与专家卡没有自动换算关系。选用专家数改变后,页面仍使用你填入的工作小时;只有实际测得小时变化,才有依据改费用输入。

0—6 分钟|先拆开一句听起来很有吸引力的话

教师可以说:“假如你看到一句介绍:一个模型每次只用一部分参数,所以普通电脑只要准备这一部分内存。你会相信吗?先不要投票给某个品牌,写清楚这句话从哪个数字跳到了哪个结论。”让学生在 Q1 圈出“每次用”和“需要保存”。请一位学生把四张专家卡全部放在桌面,只将两张转向自己。追问:“另外两张这一刻没参与,它们是不是已经从整个模型里消失了?”

若学生说可以临时从硬盘读取,认可这是另一种部署设计,再追问谁负责搬运、会不会增加等待。不要把讨论引向一个绝对的“所有权重必须始终在同一张 GPU 上”。本课要建立的是全体权重仍要有存储与可访问安排;是否分布到多设备、是否卸载,需要另外说明。收集的证据是一句有条件的修订,不能只写“不对”。

6—12 分钟|手动完成一轮路由

把 E1—E4 的分数写在卡上,请学生不碰按钮先排序。说:“路由在这里就是决定当前输入送去哪几个专家。先挑两张,再谈它们各占多少。分数 4 与 3 的和是 7,不是四张分数总和 10;因为我们这个玩具只对入选者重新归一化。”在黑板写 E1 的权重 4/7,再请学生补 E2。

遇到学生直接用 0.4 和 0.3,就让他把两个权重相加,检查是否已经把未选中的份额处理完。强调课堂规则是我们明确规定的一种简化,不代表所有 MoE 都使用这套归一化。学生在 Q2 保留选择、分母、权重三个中间结果。此时才点击按钮,查看表格中未选专家贡献为 0,但固定输出仍列在材料中;列出来是方便核验,并不意味着本轮调用了它。

12—18 分钟|把混合结果和参数账分开算

教师说:“E1 给 10,E2 给 20。当前混合数是 10×4/7 加 20×3/7,约 14.2857。它只是数字练习,没有回答一道现实题,所以不能说分数大就更聪明。”请学生指着表格两项贡献复算,不要只抄最后一行。若算成 30,追问是否遗漏权重;若算成 17,追问分母为什么选 10。

接着在桌面上数全部卡:4×100+100=500;本轮使用两张专家卡和始终使用部分,所以 2×100+100=300。学生将两个算式写在不同列。问:“为什么这里不是简单的 2/4?”让学生在共享卡上做标记,再得出 300/500=60%。这个比例只描述我们给定口径的参数参与数,没有测运算种类、通信、带宽、排队和缓存。页面不给一个虚构的速度倍数,教师也不能替页面补出来。

18—24 分钟|只改一个旋钮,观察哪些项不跟着动

请学生先预测把“每次选用几个专家”从 2 改为 1 后,三个量怎样变:总参数、激活参数、混合输出。运行后比较旧结果,重点指向总参数仍为 500,激活变为 200,混合输出变为 10。要求学生在 Q3 写出一个变了的量和一个没变的量,并解释各自原因。

再把专家数恢复 2,仅将分数改成 1、2、5、2。让学生先找出同分的 E2 与 E4,按题面规定选择较小编号,而不是自己挑更喜欢的输出。程序应显示 E3、E2。请学生观察:参与数没变,输出却变了。由此补一句:“相同激活量不意味着同一结果,也不能单凭激活参数给两种服务排质量名次。”若学生追问真实专家怎样学会分工,可回连第 2、4、6 课:训练目标影响参数与路由,专长不能只由专家编号猜出。

24—30 分钟|用三张开销卡解释三个名词

此时再给名词,不从缩写开始。板书三张卡:“本次参与的专家计算”“历史注意力状态”“数字如何存储和计算”。将 MoE 放第一张,MLA 放第二张,低精度放第三张。教师说:“它们可以共同出现在一个系统里,但不是把一个节省比例贴到三个地方。”

讲 MLA 时只画“较大的历史键值状态 → 压缩后的表示 → 注意力计算需要的量”。说明这是 DeepSeek 公开路线的概念图,实际还有位置等处理,我们没有在浏览器实现。讲低精度时用同一数轴上更少刻度的比喻:记录数字的位数减少可改变存储和计算条件,但舍入误差与硬件支持要配套考虑,不等于所有步骤都随意改成少位数。训练调度则在旁边画两段时间条:一段等数据,一段计算;工程优化会试图减少等待与搬运。让学生把“少算哪些”“少存什么”“少等什么”各连一次线。只要求位置正确,不要求背算法细节。

30—36 分钟|把公开版本和成本口径放回数字旁

教师打开参考文献中的 V3 报告,定位摘要里的总参数与激活参数。说明这份版本化报告记载的是 DeepSeek-V3:671B 总参数、每 Token 37B 激活参数。这两个数不能替换我们桌面的 500 与 300,也不能从它们推导当前网页版正在运行哪一个型号。再打开 R1 的版本化论文,让学生只找标题、日期和训练路线关键词,不要求读完整论文。R1-Zero 与 R1 的训练安排并不完全相同;本课引用它来区分推理能力的后训练研究与 V3 的架构、系统研究。V3 技术报告;R1 论文 v1。

转到费用卡。请学生计算 4×12=48 GPU 小时,再乘 3 得到该次 GPU 费用 144,加已知其他费用 35 得到 179。问:“未知的探索费用放在哪里?”学生若填 0,就把“没有账单”与“账单明确为零”并列,请他说明自己究竟拿到了哪一种证据。正式训练的已知消耗、整个研发投入、对外调用价格是三种口径。即使报告给出了某一项准确数字,也不能擅自扩展成公司所有投入,更不能当今天产品的报价。

36—42 分钟|独立练习:换一套数,不靠记住答案

发 Q4:四个专家,每个 120 参数单位,始终使用部分 60,选 3 个,分数全为 1,固定输出仍为 10、20、30、40。费用改为 2 块 GPU,各 5 小时,每 GPU 小时 4 单位,已知其他费用 7,失败试验成本未知。学生先在纸上写选择、混合输出、总参数、激活参数、比例和费用小计,再把新输入填进页面核对。

这一段不要在投影上运行新数字,不说任何结果。教师巡查时只问:“你把始终使用部分放在哪两列?”“同分规则写在哪里?”“你用了哪条记录说明未知费用?”学生遇到比例小数可保留分数或用计算器;数学小数精度不是本课难点。保留未经提示的第一版,然后另列程序观察。完成快的同学检查自己有没有把页面输出写成真实 DeepSeek 运行日志。

42—48 分钟|独立读解:把宣传句改成可核查说明

Q5 给三条待审句:“激活约占四成,所以只要四成显存”“某次正式训练 GPU 费用较低,所以全部研发费用也较低”“网页回答很快,所以已验证 MLA 是唯一原因”。学生逐条指出缺少哪种证据,并写一个可以继续调查的问题。教师不要只要求加上“可能”两字;例如第二句真正缺的是研发成本范围,而不是语气不够谨慎。

有网络的学生可在已打开的论文中找一条支持自己说明的段落,只记录版本、节名与简短自己的概括。没有网络的同学使用本课来源范围卡,同样写明“依据教师提供的来源说明,未亲自打开全文”。不强制让学生在服务里问“你有多少参数”:聊天回答的自我描述不能替代实际服务型号的配置证据。这个后备保持的是证据读解目标,不把离线阅读包装成在线实测。

48—54 分钟|后置讲评:从算错位置定位误解

现在才展示 Q4 参考。同分按编号,选 E1、E2、E3,权重各 1/3,混合输出 20。总参数 4×120+60=540,激活 3×120+60=420,比例约 77.7778%。GPU 小时为 10,已知费用 10×4+7=47;未知成本仍未知。若有人算 75%,请他圈出未计入的 60。若有人选 E2、E3、E4,先核对题面规则,不把这当成模型随机性。

讲评 Q5 时允许不同措辞,但每句都要有原来的跳跃和所缺证据。显存问题需全体权重安排与运行开销;研发问题需费用范围;响应快慢需同任务、型号、输入输出长度、硬件或服务条件下的测量,无法从一个现象认定内部唯一原因。把“还缺证据”写具体,比背诵谨慎结论更有用。

54—60 分钟|用一张产品研究卡收尾

Q6 要求四栏:公开版本与来源、能从来源确认的机制、课堂真正复算的内容、仍未验证的问题。请学生各写一句能独立理解的话,不允许只写 MoE、MLA、R1 三个词。教师邀请两位学生互换研究卡,检查对方有没有混用真实报告数和玩具数,或把费用未知写成零。

最后说:“你今天不是只认识一个品牌,而是学会把一个效率故事拆成可检查的对象。下一次听到又快又省,先问省的是哪一段,在什么条件下,质量怎么检查。能够把这些问题问准确,才有办法决定一个工具是否适合你的任务。”离堂交 Q6,同时保留 Q2 与 Q4 的中间算式和运行记录。

板书、补救与课后加深

  • 给定路由分数 → 选专家 → 对选中者归一化 → 混合固定输出。
  • 总参数 = 全部专家 + 始终使用部分;激活参数 = 入选专家 + 始终使用部分。
  • 参数比例、显存、时间、费用分别记录;未知不填零。
  • V3 架构与系统报告、R1 后训练研究、课堂算例分开署名。

断网不会影响本地实验;页面失效时用四张卡、计算器和费用表执行同一算法,记录为纸面复算。学生对分数困难时先把 4、3 改成 1、1 手算,再回到默认分数;不要直接给最后小数替代过程。课后可研究多 Token 同时路由时某个专家过忙的问题:手工给三个输入列三行分数,统计每个专家被选几次,提出需要观察的负载指标。此扩展只帮助理解为何需要调度,不模拟真实分布式训练,也不占本课独立练习的时间。

本课来源用于核对概念范围,主要课堂材料为原创。本地程序检查的是已列出的算术与输入条件;没有进行 DeepSeek 模型训练、外部推理对比或真人试教。

60 分钟安排

每行给出具体讲解、学生动作和可检查的结果。根据学生反应调整,尚未真人计时试教。

时间教师讲解与操作学生动作检查依据
00:00—
01:00
展示每次只用部分参数所以只需保存部分权重的待审句,暂不宣布判断。在 Q1 写首答,圈出使用与保存两个词。保留未运行前的判断。
01:00—
02:00
将 E1—E4 四张卡都放在桌面,说明都属于这个玩具模型。在工作纸画四张卡,并写参数单位。全体四卡有记录。
02:00—
03:00
仅翻转两张卡,问未翻的卡是否从模型消失。区分没有参与本轮与仍属于模型。Q1 出现两个不同范围。
03:00—
04:00
对按需从硬盘读取的建议追问搬运与等待条件。写一项部署仍须检查的条件。没有把激活量直接换成显存保证。
04:00—
05:00
指出共享及其他参数卡每次都使用,不能漏计。给共享 100 单位卡做标记。模型图有共享项。
05:00—
06:00
收集一条带条件的 Q1 修订,不要求统一措辞。保留首答并另写修订理由。修订能说明范围差别。
06:00—
07:00
读出默认路由分数 4、3、2、1,要求先手动排序。为 E1—E4 排序,不运行按钮。Q2 排序栏完成。
07:00—
08:00
说明默认只选两个,同分按编号小的优先。在排序中圈出入选者。圈选有题面规则依据。
08:00—
09:00
让学生只把入选分数相加,辨别分母 7 与 10。写入选分数和,并检查是否混入未选者。Q2 分母有算式。
09:00—
10:00
示范第一个权重 4/7,请学生补第二个并求和。写第二权重,验证两权重和为 1。权重过程可复算。
10:00—
11:00
强调这是人为规定的简化路由,不是实际网络推理记录。给材料标注人工给定分数与固定输出。实验类别标注准确。
11:00—
12:00
点击计算并查看过程,指向入选与未选行。核对选择表,把差异写入修订栏。首答与程序观察分开。
12:00—
13:00
写 10×4/7,让学生补 E2 的加权贡献。分别求两项贡献,不只抄总数。Q2 有两项中间量。
13:00—
14:00
把贡献相加,说明数字结果没有现实质量评分含义。核对混合输出并写明它不是文本回答。没有将数值大小当能力高低。
14:00—
15:00
数全体四个专家和共享项,建立总参数算式。写 4×100+100 并圈共享项。总参数账包含全部卡。
15:00—
16:00
只数本轮两位入选者与共享项,建立激活算式。写 2×100+100,与总数分列。两个范围没有混列。
16:00—
17:00
追问直接用 2/4 是否忽略共享部分。用两列结果计算激活比例。比例分子分母可回查。
17:00—
18:00
要求列出本次没有测的显存、通信与耗时。在比例旁注明不能推出的指标。参数比例未扩展为速度倍数。
18:00—
19:00
布置 Q3 把专家数改为 1,先预测三个量。写总参数、激活参数、混合输出预测。三项预测早于运行。
19:00—
20:00
运行选 1 个的条件,与旧结果并排比较。记录变化项与不变项。观察有明确旧新输入。
20:00—
21:00
追问总参数不变的原因,并检查费用输入是否改动。用固定四卡解释总数,指出费用仍使用旧小时。参数与费用没有自动比例联动。
21:00—
22:00
恢复选 2,只将分数改为 1、2、5、2。先按同分规则圈选候选者。仅分数改变的预测保留。
22:00—
23:00
运行新分数,指出选择表与混合表的对应。核对 E2 与 E4 同分时的处理。同分选择有规则解释。
23:00—
24:00
问参与数不变能否保证输出不变。用本轮与默认两次记录回答。Q3 结论引用两次观察。
24:00—
25:00
摆出专家计算、历史状态、数字精度三张开销卡。在 Q3 画三个位置。开销对象被分开。
25:00—
26:00
将 MoE 接到按输入选择专家的步骤。用自己的话解释少参与的是哪些计算。MoE 解释不把专家拟人化为固定学科。
26:00—
27:00
画历史键值状态的压缩概念图,标 MLA。标这是概念图,未在网页执行。MLA 与路由实验分开。
27:00—
28:00
用较少刻度的数轴说明低精度与误差条件。写出位数、误差和硬件支持三个词的关系。没有把低精度解释成无代价压缩。
28:00—
29:00
画等待与计算两段时间条,介绍调度处理的位置。将减少等待与搬运放在系统侧。调度未混成减少模型参数。
29:00—
30:00
让学生把少算、少存、少等各连到一项机制。完成三项连线并口述理由。Q3 开销对应表完成。
30:00—
31:00
打开 V3 版本化报告,指出版本、总参与与激活指标。记录标题及版本,区分报告数字与四卡数字。公开规格和玩具材料不混用。
31:00—
32:00
打开 R1 v1 标题与路线说明,区分 R1-Zero 和 R1。写 V3 架构系统与 R1 后训练的范围。没有将所有型号视为同一训练安排。
32:00—
33:00
读默认费用卡,先算设备数量乘工作小时。计算并写 GPU 小时的单位。48 的对象不是日历小时。
33:00—
34:00
加入虚构单价与已知其他费用,运行费用台账。分别记录该次 GPU 费用与已知小计。144 和 179 对应不同范围。
34:00—
35:00
对探索成本填 0 的情况追问是否有零账单。把没有数据标未知并说明未计入。未知与明确零有区别。
35:00—
36:00
发 Q4 新专家与费用材料,停止演示结果。读取四专家 120、共享 60、选 3 的新条件。新题输入先核对。
36:00—
37:00
只提醒 Q4 同分规则的位置,不宣布入选者。独立写选择与权重。未提示的选择首答。
37:00—
38:00
巡查是否把共享项放进两种参数账,不报数。独立计算混合、总参数、激活与比例。Q4 四项算式保留。
38:00—
39:00
追问费用单位和未知项的来源,不替学生计算。用新费用卡求 GPU 小时和已知小计。新费用首答带单位。
39:00—
40:00
确认首答完成后,允许学生输入 Q4 条件运行。逐项填写新输入并点击计算。本轮输入与工作纸一致。
40:00—
41:00
要求差异写修订栏,不能抹去原算式。对照实际结果定位差异所在步骤。首答、观察、原因三列可见。
41:00—
42:00
提醒本轮是玩具算术,不是 DeepSeek 实测记录。标记实际完成电脑计算或纸面复算。完成方式如实记录。
42:00—
43:00
展示 Q5 三条待审句,只要求定位跨越的对象。独立填写激活与显存、训练与研发的跳跃。Q5 前两行首答。
43:00—
44:00
对网页快的句子追问观察与归因是否一样。写第三句缺的对照条件。速度现象没有直接变成唯一原因。
44:00—
45:00
提供已打开论文或离线来源范围卡两种阅读路径。选实际可用路径并标记来源类型。在线与离线阅读没有混称。
45:00—
46:00
要求来源记录包括版本与节名,概括一条支持内容。记录实际找到的位置或范围卡说明。概括能回查到具体来源。
46:00—
47:00
禁止用聊天模型自述代替后台型号配置,解释证据差别。为一项未知写可继续核查的问题。下一问有明确证据对象。
47:00—
48:00
收齐 Q4、Q5 首答后再进入讲评。锁定首答并准备另一颜色修订。独立练习与答案展示分界清楚。
48:00—
49:00
讲评 Q4 同分选 E1、E2、E3 与各 1/3 的权重。核对选择及混合输出 20 的依据。选择错误能回到同分规则。
49:00—
50:00
讲评总 540、激活 420 和约 77.7778%,指出共享 60。修订遗漏共享项的算式。比例修订说明遗漏位置。
50:00—
51:00
讲评 10 GPU 小时、已知 47 与未知失败试验成本。核对费用范围和未知格。没有将 47 写成总研发。
51:00—
52:00
讲评 Q5 显存与研发两句分别缺哪些数据。补写具体缺项,不只加可能二字。两种证据缺口分别明确。
52:00—
53:00
讲评响应快的归因要有型号、长度与对照条件。修订第三句并写可执行下一问。区分测量现象和机制因果。
53:00—
54:00
发 Q6 四栏研究卡,示范栏名但不代写内容。准备版本、机制、复算、未验证四栏。研究卡结构齐全。
54:00—
55:00
要求公开研究一栏明确来源版本。写自己实际阅读范围的一句话。不虚构已亲自查阅全文。
55:00—
56:00
要求机制一栏指出优化对象而非只列缩写。选一个机制解释对应开销。术语和对象连接。
56:00—
57:00
要求复算栏列出今天真正执行的材料与步骤。写四卡排序、混合和费用台账的实际方式。本地与外部运行范围准确。
57:00—
58:00
组织两人互换,找真实规格与玩具数是否混用。给同伴指出一项可改进的范围说明。互审意见具体到句子。
58:00—
59:00
请学生写听到更便宜后会先问的两个条件。补任务质量与费用范围等可核查问题。离堂问题有对象和条件。
59:00—
60:00
收 Q1—Q6 和运行或纸面记录,强调比例不能替代测量。提交工作纸与研究卡。完整交付包含过程与边界。

来源与使用范围

保持 AIPath 第 36 显示课的主题;版本化参考 DeepSeek-V3 技术报告 v2 与 DeepSeek-R1 论文 v1。参数、路由分数、专家输出和费用均为原创课堂构造,不代表实际产品内部轨迹或报价。