晚点晚点聊 LateTalk2025年2月25日· 56:40

102: DeepSeek 启动开源周,大模型开源到底在开什么?

本期《晚点聊》由程曼祺主持,邀请西北大学MLL Lab博士生王子涵,围绕DeepSeek开源周及大模型开源的具体层次展开。节目指出,开源不只是开放权重,还包括技术报告、推理框架、训练框架和数据集等层级,而绝大多数公司只开放前两者。王子涵以FlashMLA为例,解释了算子级优化如何提升推理效率,并对比了vLLM、SGLang、字节VERL等社区框架的生态差异。节目还剖析了DeepSeek选择MIT协议、开源最强模型背后的优先级与盈利模式,并谈到开源训练框架需额外投入代码规范化工作。王子涵分享了自己因开源模型被滥用导致推特账号被盗的经历,提出最强模型是否应开源的社会风险问题。节目最后讨论了OpenAI可能的开源选择,以及人类在AGI时代的位置。

  1. 0:00开场
  2. 5:22DeepSeek 开源周
  3. 9:31算子优化
  4. 18:54逛 GitHub
  5. 31:09开源分层
  6. 44:03开源工作量
  7. 48:43开源策略
  8. 52:15开源的阴影
  9. 55:31尾声

PodHood 提供支持

文字稿

开场0:00

曼祺0:04

欢迎收听本期 《 晚点聊 》。 今天的主播是曼祺 。 上个周五 ,DeepSeek 在官方推特上预告了下一周会连续 5 天开源 5 个成果 , 进入 open-source week( 开源周 )。

我们录制节目的这一天是周一 ,DeepSeek 也正式放出了开源周的第一个开源项目 FlashMLA。 我一直很想和人好好聊一下, 大模型开源是在 " 开什么 、 怎么开 "。

比如相比于闭源模型 , 开源要额外做一些什么工作 , 才能让社区比较好地理解到这个开源成果 ,以及能更充分地把开源用起来 。

随着 DeepSeek 在春节的爆火出圈 , 开源也正在成为一种趋势 。 比如之前一直模型闭源的一些公司 , 如 MiniMax、 阶跃星辰 , 从 1 月到现在都陆续发布了自己的第一批开源模型 。

之前选择保留自己最强的模型 、 开源较小版本模型的公司 , 可能也会在 DeepSeek 的冲击波里有新的选择 。

正好在 DeepSeek 这个开源周 , 我邀请到了正在美国西北大学 MLL Lab 攻读博士学位的王子涵 。 子涵今年刚博一 , 之前毕业于人大 , 大四的时候 ,也就是 2024 年, 她曾在 DeepSeek 实习过数个月 。

接下来在今年的暑假 , 即将去一家美国的做 AI Agent 的公司 , 叫 Yutori 实习 。 这期我和子涵聊到了开源模型不同的层级 , 主要有技术报告 、 模型权重 、 推理框架 、 训练框架 , 还有数据集 。

现在我们说一个模型是 " 开源 " 的 , 一般指的是有技术报告也开放了模型权重 ; 再往下更深入的开源是推理框架和训练框架 。

而现在只有极少数的机构 , 比如 Allen AI 研究所和 EleutherAI,他们也开放过预训练或微调的数据集 。 我们也在一起围观 DeepSeek 开源周的过程中, 回顾了他们之前开源模型的一些重点优化思路 ,以及他们为了让社区充分理解和使用开源成果 ,而专门花费心力去规范代码 、 写详细的技术报告 。

这背后是一个组织对优先级的选择 。 而在本期最后, 子涵也分享了一个自己成为开源模型滥用 " 受害者 " 的亲身经历 : 开源在加速技术进化 ,也带来了一些需要一边技术进化 、 一边思考和防范的新问题 。

这让我想到最近刚看过的一句话 , 马斯克曾经说 :" 有人问我是不是想死在火星上, 我说当然 ,但别死于 ( 登陆器降落时的 ) 撞击 。"

下面我们就正式进入本期节目吧 。 子涵 , 你可以和我们的听友先打个招呼 ,也简单介绍一下你之前的学习 、 工作与开源的一些渊源与关系 。

王子涵2:25

大家好 , 我叫王子涵 , 非常开心今天能来曼祺的频道做客 。 我现在是在西北大学读一年级 PhD, 导师是李曼玲老师 。

我的方向有 logic and model, 然后 agent reasoning 等等 ,以及比如我们最近在做一些 long-context 和 efficiency 相关的内容 。 因为我的导师李曼玲老师之前是在 Stanford 家具和飞飞组里做 postdoc, 所以说我们组也做一些 vision language model 和 robotics 方向 。

这些方向虽然我没有直接参与 ,但是就是听组里的同学做项目的话 ,也有一些了解吧 。 我之前本科是人大的高龄人工智能学院 , 我本科期间有一段实习经历 , 就是像刚才曼祺所说的 ,在 DeepSeek。

我接下来暑假也会去继续做 agent 这个方向 ,在一家创业公司实习 。 对 , 谢谢 。

曼祺3:18

你之前的工作里 , 包括实习这些都算上的话 ,有什么和开源比较相关的一些工作吗 ?

王子涵3:23

我觉得我绝大部分工作应该都开源了吧 。 其实最早的一篇 , 我只能说就是最早的我做的比较出名的一篇吧 , 可能是当时在暑研的时候 , 季恒老师组里做的一篇关于 agent 相关的工作 。

我们当时做了一篇 benchmark, 这个 benchmark 的话相当于是当时 23 年 9 月份吧 ,其实我们做这个课题的时候是 23 年的 2 月份 。

当时做 agent 其实是一个还比较超前的选择 ,因为当时我们初步地发现 language model 有去通过它自己能力调用外部工具的一些可能性 , 然后我们就去想 , 那现在其实很多公司都会当时已经 claim 就是说自己能做 agent 了 ,但是就这种 benchmark 什么的还比较少 , 就是没有一个比较统一的能够去 evaluate 它们 , 然后去比比到底谁比较厉害的这种工具 。

我们就做了一些就是在网上可能是通过已有的数据集里面找了一些训练题 , 然后把它重新组织成一个模型能够通过这种 agent 的方式去学习的 , 就是去把这题做出来的一个形式吧 。

这可能是第一个就是影响力比较大的开源工作 。 当时在公司里面的话 ,DeepSeek VR 也有参与 ,但是就只能说是参与了研发吧 。

组会的时候就是可能可以聊一聊 、 提提意见 , 然后帮忙跑跑实验什么的 ,其实也不是特别核心的贡献 。

最后就是可能最近做了一篇关于 DeepSeek R1 + Agent 的这个 , 目前说是一个开源的 repo,但我们之后会考虑把它给发布出来 , 就是发布一个正式的报告 。其实我们现在这个报告已经在写了 , 差不多写完了 , 主要就是把这个问题给用形式化的语言 , 就各种数学公式给 formalize 了一下 。

而且我们也加了几个不同的 task, 我们就是去研究这个 reasoning agent 如果它使用 DeepSeek R1 这种纯 RL 训练的方法 , 再加上一个多轮的 dynamics 的话 , 它大概能达到什么样的效果 。

DeepSeek 开源周5:22

曼祺5:22

我们第一部分先来聊一聊 DeepSeek 的开源周吧 。 我觉得这也是大家现在比较关注的一个事情 。 开源周在上周释放出来的信息 , 主要是 DeepSeek 在推特上的一个预告 , 原文的截图我会贴在 shownotes 里 。

这里我简单复述一下, 它大概写的是 :" 第 0 天为开源周预热 , 我们是来自 DeepSeek AI 的一个小团队 , 致力于探索通用人工智能 。

从下周开始 , 我们将开源 5 个代码库 ,以完全透明的方式分享我们 " 虽小但诚挚 "( 这里的原文是 Small but sincere)的进展 。

我们在线服务中这些看似平平无奇的基础组件 ( 它用的是 humble building blocks), 都已经被文档化 、 部署 ,并且在实际应用中经过了实战检验 。

作为开源社区的一份子 , 我们相信每一行被分享的代码都将汇聚成加速这趟旅程的集体势能 。 每日开源内容即将推出 , 这里没有高高在上的象牙塔 , 只有纯粹的车库精神和社区驱动的创新 。"

这是它在推特上的一个预告 。 同一天 ,DeepSeek 也在 GitHub 上发布了他们第一个和开源周有关的一个库 ,而且它是置顶到它这个库的一个置顶页面的 , 名字就是叫 Open-Infra-Indes 开源的 Infra 指引 。Infra 就是指 AI 的 Infrastructure( 基础设施 ) 层 , 这个项目的地址我也贴在 shownotes 里了 。

以及顺便说一下, 如果有一些听友不是特别了解 AI Infra 是做什么的话 , 可以去听 《 晚点聊 》 的第 58 期 , 我们和硅基流动的创始人袁庆辉非常详细地聊了 AI Infra 到底是在做什么 。

回到开源周 , 子涵 , 你从 DeepSeek 的这个推特预告 ,以及它 Open-Infra-Indes 这个 GitHub 的库里面 , 你看到了些什么亮点 ,以及结合今天放的这个东西 , 你觉得这一整周整体上大概 DeepSeek 会连续开源一些什么东西 ?

王子涵7:01

我觉得 that's a good question。 我其实没有什么预判这个东西的能力 , 可能在我就是比如说出来之后, 我就很难预测它们的任何一个 action。

我觉得其实它们自己有一个框架 , 就是它们内部有一个示模型的框架 。其实今天这个 FlashMLA, 我觉得可能如果你说它还算是一个比如说推理加速 , 它可能也有训练的在 ,但是我觉得如果它们有机会 , 可能可以去开源一些比如说 training 的框架 , 包括它们 v3 那些成果吧 。

我觉得可以这么说 , 就是比如说现在这个成果可能还是 VR 的训练框架 , 我觉得它们是有可能会开一些比如说 v3 或者 R1 的训练和推理框架的 。

曼祺7:45

因为 MLA 其实就是 DeepSeek VR 里面算是它的一个创新点吧 。

王子涵7:49

对 。

曼祺7:49

所以它现在这个可以如果总结来说的话 , 今天放的 FlashMLA 是 VR 这个框架里的一个推理的优化 , 对吧 , 就可以加速你的这个效率的 。

王子涵7:59

对 ,其实它们很多创新都是 target 在要提高效率 , 就是每一个吧 , 我觉得可能真的是每一个 。 就比如说它 v3 里面有 ,其实整体总结是三个创新点吧 , 一个是它们沿用了 Meta 那个 multi-token prediction, 模型一次能够吐两个 token、 三个 token 了 ,其实它就会更加 efficient。

我记得它们报告里面写的是两个 token, 就是它可以一次并行地去吐两个 token。 第二个是低精度训练 , 说是低精度 ,其实就是把数字用一个更小的比特去存下来的 , 你达成差不多的训练效果 , 那也是 efficiency,也是效率 。

还有一个就是和并行相关的 , 就是模型并行 , 它在做 pipeline parallel 的时候 , 它不是向量会在模型的不同的部分跑吗 ?

它需要在这个地方做一个并行 。其实它们就是说相当于在并行的时候会有很多那种空泡 , 比如说你要先做 forward 再做 backward,其实就会有很多模型的不同的层是闲置的 , 它没有在处理任何一个向量 。其实它之前的工作就是说你可以做 pipeline parallel, 就是说你这个模型 1 号就是第一层处理完了第一个 tensor 之后, 把它交给第二层 , 第一层再处理第二号 tensor, 就这样一直去做一个流水线并行 。DeepSeek

相当于在这个过程中又做了一些优化 ,在这个过程中你可能有些时候也会有一些闲置的块 , 它把这个闲置的块变少了 。

所以说我觉得每个创新点都挺 efficiency 的 。

算子优化9:31

曼祺9:31

就是都是挺追求效率的 。

王子涵9:33

对 。

曼祺9:34

回到这个 FlashMLA 的话 , 你觉得它对社区里的什么类型的开发者是最有用 、 最有帮助的呀 ?

王子涵9:41

我觉得对每一类开发者都挺有帮助 。 因为 FlashMLA 的话 , 它说是比如说可能很多人会注意到它是 MLA,但很多人也会注意到它是 Flash, 就是说它对系统做了一些特别底层的优化 。

我觉得它应该是写了很多算子 。 就其实我自己在和很多人交流的时候 , 我发现他们自己写代码可能最多就写到这个 , 就是说他们不会去做系统上的优化 ,他们就是说把这个代码能实现出来就好了 。其实我觉得之前 FlashAttention 就是做那种系统上的优化 , 就比如说 attention 都是这么算 , 你在算的过程中就是做相同的矩阵运算 , 我也有能让你更快的方法 , 就是

比如说我把多个操作合并成一个操作 , 你就会更快一些 。

曼祺10:30

这个就是靠你说的我去写一些更底层的算子来实现的 , 对吧 ?

王子涵10:33

对 。

曼祺10:34

即使它计算的方式还是一样的 ,但是它可以让系统或者说硬件发挥出更好的效率 。

王子涵10:40

对 。

曼祺10:41

具体到这一次 FlashMLA 的开源 , 它是把这些算子的代码也都开源出来了 。

王子涵10:46

我看一下, 它写到 C++ 这一层了 , 肯定是算子优化 。

曼祺10:51

你也可以跟我们的听友解释一下, 就是算子优化大概是指什么意思 ,因为有的人可能他不是专门做 AI 研究的 。

王子涵10:57

行 , 我想一想算子优化怎么解释 。 我们拿很简单的矩阵乘法去做这个例子吧 , 就比如说我们实际上做矩阵乘法 , 大家可能想法就是一个一个算 ,在这个算的过程中可以这么说 , 就 GPU 它是去并行地处理一些操作的 。

你在这个过程中如果你能把这个计算的方式以一个 GPU 能听懂的方式去告诉它 , 比如说你什么时候这个 1 号操作要在第一个 worker 这里做 ,2 号操作要在第二个 worker 这里做 , 它就会变得比较的 efficient。其次就是你可以通过合并一些运算的方式来让这个计算更加 efficient, 比如说可能有时候加法结合率 、 乘法结合率 、 加法交换率这些方式吧 , 比如说你先算 A 再算 B, 或者说先

算 B 再算 A, 你可能也会不一样 。 我能想到一个比较经典的例子就是 FlashAttention 里面 , 它其实是整个 attention 它可能有好几种不同的运算 , 它把它合并成一种 ,在 GPU 里面去一次把它完成 。

这样的话 ,因为我如果要对很大的矩阵做多次运算的话 , 我就让它过 GPU 的那个桥 , 就是说其实 GPU 它是有好几层的 , 比如说最里面那一层它是最小的 ,也是算得最快的 , 外面有一个比较大的层 , 它可以装下更多东西 ,但是它算得就没有那么快 。

实际上我们在做的过程中就是把外面这一层的一个大矩阵一批一批地送到里面去做一个操作 , 算完之后再送出来 。

如果我们只做一次的话 , 这个操作就是我们把它送进去送出来就不太花时间 ,但是如果我们要做好几次操作的话 , 每一次运送都会花时间 , 我就不如一次把这个矩阵送进去 ,在里面做完五种 , 就比如说五种吧 , 五种不同的操作 , 再把它给送出来 。

这样的话你就不需要过很多次那个狭窄的桥 ,因为其实矩阵在这两个层之间去传递也是需要时间的 。

这是一个很简单的算子优化的例子 。 就想象一下你现在有一些粮食 , 就比如说小麦吧 , 你要把它送到河对岸去加工 , 加工完了之后再送回来 , 比如说它可能先变成一个中间的产物 , 中间产物你还得再送到桥的另一边去 , 它还得再过来 , 就其实中间会有一个很狭窄的桥 , 你每次在上面去通行都会花一些时间 。

你如果要走很多次这个桥的话 , 就会比较慢 , 就比如说你每次走那个桥可能需要花一些时间 。 有些人他就想了一个方法 , 就是说能够把你的粮食送到桥的对面去之后, 一次就能把这些所有的操作都做完 , 就不用再来回折腾这个桥了 , 你就可以去提高运算的效率 。在 GPU 的运算里面 , 就是比如说你有一个很大的矩阵 , 矩阵要做好几次不同的运算

, 它需要从一个计算比较慢但是比较大的地方去转移到一个计算比较快但比较小的地方 , 去做一次运算之后再送过去再回来 , 这样就可能比较慢 。

如果你能把所有的这些操作去总结成一次操作的话 , 直接把这个大矩阵送过去 , 就是一批一批地送过去 , 处理完了再送回来 , 它就会比较快 。

曼祺14:08

你刚才也提到就是说其实大部分人是不会学到算子层的优化的 ,但 DeepSeek 可能自己会学很多算子层的优化 。

就是能做这件事情 , 它这个是能力的差异还是一个意愿的差异导致的呀 ?

王子涵14:19

其实在我看来是能力差异 ,因为我自己不太会写 , 我就会觉得这个很难写 。 我其实之前的时候也经常会觉得自己的一些项目可能想着比较简单 , 实际上做起来比较困难 。

比如说我去年有一个失败的项目 ,是让 large language model 去做这个 online 的 training, 就之前很多语言模型它都是直接去做 offline training 的 , 就相当于我有一些已经得到的数据 , 我用这个数据里面的奖励信号在这个模型上做训练 。

我们当时就有一个 idea, 它设计的前提是能够让这个模型去实时地生成数据 , 生成完数据之后, 我可能会有一些 , 比如说不管是环境给的 feedback 还是一个奖励模型给的 feedback, 去知道它生成这些数据的好坏 , 再去对它做训练 。

这个过程当时我们觉得是很简单的 , 就是说你生成数据之后, 我们给数据去有一个 feedback,feedback 再回来 update 这个模型 , 这个模型再继续去生成新的数据 。

这个过程当时最难的一点在于 , 我们如果要写这个代码的话 , 它有两个路径 , 一个是用当时比较厉害的推理框架 ,但那个框架它写到了算子层的优化 ,但是我们看不太懂 ,但是它是相当于你的这个模型被 load 进来之后, 它就没有办法被改变了 。

所以说你就不能就是说一边让它去生成一些东西 , 一边去对它做这个模型的优化 , 就是它是一个固定死的模型 。

如果我们用这个最先进的框架 , 它生成很快 ,但那个模型就没法更新了 , 还是做的相当于之前类似的这种 , 就是一次生成完了 , 我就再去对它进行各种处理 , 再用它去优化那个模型 。

还有一种方式就是我们自己写这个推理库 , 那就没有能力 , 真的没有能力做这个事情了 。 就是我们要写一个能够生成得很快 , 同时又能兼容模型不同更新的这个库 , 那就很难了 。

我讲这个例子其实就是想说很多时候一些看似简单的这个操作 , 它都需要很大的 effort 去从工程上把它实现 。

所以说这个确实是我觉得很多可能就没有这样的 training 吧 , 就是其实 code 这方面的教育我觉得一直是就是前沿界的 , 可能会发展得很快 ,但是教育可能就比较难 get the shot。

曼祺16:40

你刚说到这个例子让我想到他们在推特里说的那个 small but sincere, 就他们来描述自己要开源的这个东西 。

王子涵16:47

对 , 我觉得确实是挺真诚的 。

曼祺16:51

我看到这个 FlashMLA 的页面 , 虽然它今天才放出来 ,但是在 issue 里面 , 就是一些社区的反馈里面已经有很多人在有一些反馈了 , 大家有提了一些想法 , 比如说有的人问什么时候我们可以让 DeepSeek 快点开这个支持 FP8 的 FlashMLA 的部署代码 ,也有人问什么时候可以发这个支持 NPU 芯片的版本 。

就这个你可以给大家解释一下吗 ? 就现在它开的是一个什么版本 , 为什么大家比较希望它能开支持 FP8 的一个部署代码 ?

王子涵17:19

对 ,其实 FP8 就是他们 v3 的一个技术 , 就是我刚才说的一个低精度的训练 。 如果就是 FlashMLA, 它本身是一个用来去优化 attention KV cache 的这个技术 , 如果它结合了模型低精度的话 , 它就会更快 。其实我觉得就是比如说它的不同的技术 , 它现在可能是一个一个开源 , 可能大家就想把它综合起来吧 , 到时候就相当于是有一个统一的库 , 我说我想用哪个部分就用哪个部分 ,也可以

不同的部分叠加到一起这样 。

曼祺17:52

我觉得他们也许真的有这个计划 ,因为它现在那个大的页面叫做 DeepSeek Open-Infra-Indes, 对吧 ? 好像就是你说的这样一个 infra 的各种工具的一个指引 , 就看起来它是会陆续开源一些的 。

王子涵18:05

对 , 就是还有一个比较需要 effort, 就是比较需要精力去做的事情 , 就是它可能会开源五个库 ,但是这五个库怎么综合起来 , 当然所以是一个方面 , 另一个方面就是把这五个库合并成一个库 , 你可以随时随心地在里面去调用这五个库里面不同的部分 , 这个可能就是需要把它 merge 起来 , 这个 merge 的时候可能也会出 bug, 就需要一些努力 。

曼祺18:33

像就是这种开源项目它发出来之后, 这个 merge 的工作是 DeepSeek 自己的人主要来做 , 还是社区里一些厉害的人也会来贡献这件事情吗 ?

王子涵18:41

我觉得这个就看他们自己的这个计划了 ,但是社区里的人复现这些技术应该还是挺积极的 。 我之前其实看到有非常多的就复现各种各样的他们技术的这种工作 。

曼祺18:54

接下来我们可以从这个 FlashMLA 聊得更广一点 ,也就是我之前一直很想找人聊清楚的大模型开源到底是在开什么 、 怎么开 ,因为它可能跟以前的一些传统的这种软件开源还不太一样 。

逛 GitHub18:54

曼祺19:05

首先我觉得有个特别实际也有用的问题 , 就是想请子涵带着我们去看一个开源的 GitHub 的页面 ,因为这个页面里它会有不同的一些栏 ,有一些不同的子页面 。

你可以给我们讲一讲 , 就是我们进到一个这样 GitHub 的开源页面里面 , 主要是要去看一些什么 , 正好也可以覆盖到一些开源的基础要素 。

我们可以就看一下今天这个 FlashMLA 的页面吧 。

王子涵19:27

好的 , 所以我需要去共享一下我的屏幕 , 对吧 ?

曼祺19:31

对 。

王子涵19:32

好的 。

曼祺19:32

你可以先按你的逻辑讲一讲 , 如果我有什么有疑问的地方我再问你 。其实我们可以先从 DeepSeek 的主页开始看 , 比如说在 GitHub 上你可以进到 DeepSeek 的主页 , 对吧 ?

王子涵19:41

对 , 就是比如说如果我看到 DeepSeek 的主页的话 ,其实这里有很多不同的功能 , 比如说这里有搜索 , 你搜索的时候你就可以直接搜 FlashMLA, 它就会出现一些代码 , 你可能就会看到这里面有 FlashMLA。其次就是可能会在这里面去找 , 比如说这里面也可以去找一个有没有自己比较想要的库 , 所以说就可以直接从这个地方点进去 。

曼祺20:07

可以先给大家解释一下库的概念 ,因为它其实这个主页的一个主体它就是放了很多库 , 就是叫 repo, 你可以讲讲这个 。

王子涵20:15

对 , 一个 repo 它就是相当于一个比较完整的能够实现一个 , 比如说我们说算法或者说实现一个概念的一个仓库 。其实 repo 我觉得它把它翻译成仓库会比较合理 。

实际上这个仓库里面你可以放代码 ,也可以放很多别的东西 , 比如说我记得之前有很多人在上面放自己的大作业 。

曼祺20:39

是不是其实也可以放小说 ?

王子涵20:41

是可以放小说的 , 对 , 就是其实很多人在上面放自己大作业 , 所以说它其实并不是单纯一个写代码的东西 , 就是你很自由 , 你想上放什么放什么 。

就比如说你随便点进一个库的话 , 你就可以去点这个 code, 你就可以去下载它 , 你第一个是可以直接 download 下载 , 第二个就是说我们 copy 这个界面之后, 你在你的电脑上去输入 , 就是你在比如说 VS Code 这些主页上你就输入就是 git clone, 这样的话就能够把这个东西下到你的本地 , 下到你电脑上 ,也是一个比较方便的方式 。

曼祺21:14

我们回到这个 DeepSeek 的主页的话 , 就是你看到它这个库里面 , 就它在陈列的时候 , 就比如说下面到这个页面 , 它前面也会标一些语言 , 对吧 ?

比如刚才你就提到这个 FlashMLA 它是 C++ 的 , 所以它肯定大概率是写到这个算子层的一些改进的 ,因为它是个比较底层的语言 。

有的我看它标的是 Python, 对吧 ?

王子涵21:31

嗯 。

曼祺21:32

像 DeepSeek R1 它前面并没有一个编程语言的标识 , 这是为什么呢 ?

王子涵21:36

因为他们目前就是把它当成一个传递他们自己的这个论文的一个库 , 就实际上这里面主要是讲的是它的这个论文的一些总结 。

它这里面其实你看它就是一个说明书 , 可以这么理解 , 它是一个说明书 , 它并不是详细地说你要去怎么做 。

比如说你看到它这里会告诉你怎么样去 run 这个 DeepSeek R1 models, 它在这里面就是告诉你怎么去跑它 , 你 run 这一行代码就可以跑它 ,但实际上它这个库里面主要就是这些东西 ,但它其实 R1 相关的 training 的东西的话 , 我觉得他们可能是之后会开源 , 就是目前还没有开源 。

我的意思是它训练的框架等等 ,但是其实大家每个人复现它都有自己复现的结果 , 所以说其实也还好 , 就是他们自己的这个方法可能会有更多的像我刚才说的算子上的那些优化之类的 ,也是很期待他们之后能把这些东西开源出来 。

曼祺22:31

OK, 我们接下来就可以进到一个库的主页 ,因为刚才是在一个机构的主页 。 进到一个库的主页就是你会看什么 ?

我们可以以这个 FlashMLA 为例吧 。

王子涵22:40

对 , 我可能会比如说我看到 license, 我就先说 license 吧 , 比如说它这里面就是 MIT license,MIT license 就是基本上是很短的一个 license, 它没有什么要求 , 它比较重要的要求就是这个 assists。assists 比较通俗的理解就是我开源这个库没有收你钱 , 所以说你用我这个库出现问题了也别来找我 。

曼祺23:04

免责声明是吗 ?

王子涵23:05

对 ,其实我觉得 MIT license 就是这样的一个特点 , 它比较宽松 ,也最大程度地去保护了就是开发者的利益 。

曼祺23:15

我看 DeepSeek 大部分的项目都是 MIT license, 绝大部分 。

王子涵23:19

对 , 这个是一部分 , 另外一个的话我可能就是先从这个 readme 看起吧 ,readme 里面可能就会有一些你要去怎么装 , 你要怎么去测试之类的 , 就是比如说它这里就会写你要怎么去装它相关的依赖 , 这个就是说你装完之后可能会跑的第一个指令 , 就这个指令的话基本上就是你所有的对这个库了解的一个入口 。

曼祺23:43

就是 benchmark 那一栏是你要装好之后跑的第一个指令 。

王子涵23:46

对 , 我可以跳到另外一个上面举个例子 , 就是我可以跳到我自己那个上面举个例子 。 对 , 就比如说我们这个库的话 , 它不是 DeepSeek R1 加 agent 吗 ?

其实下面要跑的也是类似的概念 , 就是比如说你可能会看到两行代码 , 就第一个是 setup, 就是说你要把环境装下来 , 第二个就是 download data, 相当于也是一个类似的 。

这个做完之后, 你就可以去跑这个第一行指令 , 就是 batch train.sh, 相当于你需要去通过这个代码来对这个库有一个基本的认识 。

我就跳回来 , 我还是用 DeepSeek 举例子 , 就是比如说你看到 Python test FlashMLA.py, 你就可以点到这个里面去看它 , 这里面的比如说它可能会有一些调用 , 比如说 from FlashMLA import 这个之类的 , 就是说这是一个入口 , 相当于它从宏观的角度告诉你我们这个库在干什么 。

如果你想要去了解一些细节的话 , 你就要点到这个里面去看 , 比如说你点一下它 , 你就可以看到它的这个 definition, 你就可以进 definition 去看这些细节 , 你还可以退出来 , 你比如说再点到这个里面去看 , 你又可以去看到这里面的一些细节 , 就逐层的深入去了解这个库 。

看一下 FlashMLA CUDA 应该是没有 ,但是大概是这么个意思 。

曼祺24:55

OK, 所以接下来你会看 readme。

王子涵24:57

对 。

曼祺24:58

你还会看些什么 ?

王子涵24:59

我其实主要就是通过 readme 去就是了解这个库的一个窗口 , 相当于是我进了这个 readme, 我就知道这个库大概是怎么组织的 , 我就能够一层一层地去点到它这个里面我感兴趣的地方 , 相当于是一个树状图的形式把这个 codebase 给学下来 。其实我还有一个点 , 就是这个我不知道算不算是一个比较独特的点 , 就是我看 codebase 我一般不看它 star 有多少 , 我一般看它 issue 有多少 。

曼祺25:24

明白 , 我解释一下, 就 star 可以算是点赞 , 对吧 ?

王子涵25:27

对 , 就 issue 算是评论 , 就是点赞的话 , 比如说就是 star, 它可能更多反映是浅层的使用你这个库的人有多少 , 就每个人他 star 了之后 ,他可能就会去用一用你的库 , 就是用它来去做一些事情 。

但是 issues 一般它这里面就是主要是问问题或者说问 bug, 就是我们可以看到这里面很多的点 , 比如说你能不能适配什么 , 比如说有这些不同的需求 , 比如说什么 metrics involved, 这个 compiling error, 就是他们 。

曼祺26:00

对 ,也有一些报错什么的 , 就自己遇到问题 。

王子涵26:03

对 ,他们遇到问题就会来这里讨论 。 我觉得这某种程度上是一个证明他们深度地去玩了这个库 ,并且去实实在在地对这个库有一些 comments,有一些评论 , 就能证明它就是玩这个库的人是真的很深地去在玩 。

曼祺26:21

你这个补充很好 , 我就以后我也知道要看什么 。

王子涵26:24

对 。

曼祺26:25

我想问一下就是关于 issue 的这个地方 ,因为它这个上面分了两类 , 一个是 open, 一个是 closed 的 , 这个区别是什么 ?

王子涵26:32

这个区别就是如果一个 issue 没有被完全地解决的话 , 它就是 open, 如果解决了它就是 closed。

曼祺26:39

我想问一下 ,因为它目前的这个 FlashMLA 的 closed 的里面有两个 ,其中有一个东西是个好东西 ,但在生成上用不了 , 这个为什么被解决了 ?

王子涵26:46

这个是它自己解决的 。

曼祺26:49

就是发的人自己来 go 解决是吧 ?

王子涵26:51

对 , 就是可以有两个人来解决 , 一个是发的人 ,他可能自己不想再让这个话题被讨论下去了 ,他就会关掉它 , 或者说他自己又解决这个问题了 , 就比如说它这个只是一个 comments, 可能有些是自己遇到了一个 bug, 它就自己说不好意思我弄错了 , 我解决这个 bug 了 , 它就会自己关掉 。

如果这个 bug 真的是开发者的问题 , 就开发者会去把它关掉 , 这个的话其实就是这个人他自己把它关掉了 。

曼祺27:17

明白 , 这个不是一个典型的 closed 的 , 这不是一个 bug, 它只是在评论为什么这个东西现在生成还不支持 。

王子涵27:24

对 , 比如说这个什么 DeepSeek 交流群 ,也是一个被 closed 的 , 就是说它在这个官方的 repo 上面 , 就相当于发了一个广告 ,其实也是不太好的 , 就被 close 掉了 。

曼祺27:37

我看它这个群发出来有 40 个彩 。

王子涵27:40

对 ,有 40 个彩 。其实像这里面就比如说你正常提问的话 , 应该要么就是解决了才会被 close, 就是一般都不会自己发出来自己 close。

曼祺27:51

我还有些问题 , 就是在它上面这一栏里面 , 就除了这个 issue 之外, 还有一个叫 pull requests, 这个是什么 ?

王子涵27:56

对 , 这个就更深层了 , 比如说 issues 可能是你对这个库有疑问 , 你可能要去上面去 , 比如说去问问题 , 你自己本身是不指望去解答它的 。pull request 的意思是我对你这个代码做了一些我主动 , 就是可能说是免费的为你这个代码做了一些优化 , 我想把它贡献进你的这个库 , 所以说它就会有这个 pull request, 相当于是比如说你点进去的话 , 它就会告诉你这个

它希望去解决一个什么需求 , 针对解决这个需求 , 你点进这个 files changed 里面 , 你就可以去看 OK, 它改了哪些内容 , 比如说加号就是它自己加进来的 , 减号就是说它删掉的 , 你就可以去对比这个项目的开发者就看到这个 pull request 之后, 它就会决定是过还是不过 。

但是其实这个也有 ,有的时候就是项目的工作人员自己 , 就开发人员自己去存档 , 就比如说还是拿我自己这个库来举例子 , 就我们组的这个库其实有 30 多个 PR, 就是我们自己比如说做了什么改动就会往上面去 PR,其实我们是把它做成一个比较透明的过程 , 实际上 DeepSeek 它是本地已经做得非常好了 , 它再去放出来 , 它就不太需要就是开发者自己去 PR。

曼祺29:10

所以你们把 pull requests 简称为 PR。

王子涵29:13

PR, 对 。

曼祺29:14

如果我在这个 pull requests 里面 ,在这个 PR 里面我能看到说这个东西到底是社区来给它贡献的 , 还是开发的机构自己贡献的吗 ?

从哪能看出来 ?

王子涵29:23

就是点开这个人, 看一下这个人他是不是 DeepSeek 的 。

曼祺29:28

OK, 这个人虽然不是 DeepSeek,但他是 PKU 的 , 我看出来了 。 就你现在点开了这个人, 有可能吧 ?

王子涵29:34

我也觉得他应该是 PKU 的 , 还是什么 bytest 的 ,其实就是点进去看这个人他是不是 DeepSeek 的 , 或者说是不是这个库的一个 。

曼祺29:44

贡献者 。

王子涵29:45

机构的所有者 , 对 。

曼祺29:47

明白 , 所以就是它也不是直接给你标识出来的 , 就你可能要自己看一下 。

王子涵29:51

对 , 就是自己看一下 。

曼祺29:53

我觉得这个也是一个很好的去看一个开源项目的社区参与度的一个东西 , 对不对 ?

王子涵29:58

对 ,但 pull request 里面有价值的不太多 , 可能因为我没有深度在这个项目里面 ,因为很多时候大家就是说可能也不会去特别深入地去给不同项目起 pull request。

我觉得有是有 ,但是目前就是没有出现一个特别强的 motivation 的让大家主动去做这个事情 。 唯一的 motivation 我觉得就是热爱 , 对吧 ?

你还能有什么 motivation 呢 ? 又不给你钱 ,也没有什么实际上的物质报酬 , 所以说做这个事的人还是比较的少 。

曼祺30:29

这不就是开源精神吗 ?

王子涵30:31

对 , 就开源精神它首先需要热爱去支持 , 我觉得同时也是需要一个对应的体系来鼓励这个事情的 。 就其实 GitHub 里面有些很多鼓励的机制 , 比如它可能给你在这里弄一些小奖章之类的 ,但是其实这个我觉得它的作用就见仁见智了 。

曼祺30:50

就如果你比较追求在社区的这种影响力 , 或者就是你做这个事情你自己有小小的成就感 , 我觉得这种小奖章还是有一点激励作用的 。

王子涵30:58

对 。

曼祺30:59

刚才我们看的这个 FlashMLA, 它还是一个比较简单的库 , 对吧 ?

王子涵31:02

对 。

曼祺31:02

就相比于一个大模型的这种开源的库来说 , 我觉得它是个比较简单的库 。 我觉得接下来我们也可以来聊聊大模型的开源 。

开源分层31:09

曼祺31:09

我觉得这个可能是一个分层的问题 , 就是到底这个大模型开源是在开一些什么东西 ,因为它里面涉及到很多流程和环节 ,有训练的这个部分 ,有推理的部分 , 包括模型它可能还涉及数据集 ,也涉及它的权重 。

所以比如说我们现在来说一个模型是开源的 , 它一般是哪些部分是开放的 , 哪些部分其实即使是一个开源模型 , 它也并没有开放 。

王子涵31:35

这是一个非常好的问题 , 就是有不同的开源的层次 。 第一个当然是这个是必须要开的 , 就是技术报告 。

这个你不开 , 基本上就是可能后面的也都不太会开 。他们肯定一般会有一个报告出来 ,有报告不一定有代码 ,但是它可以跟你讲一些它的技术 。

比如说 DeepSeek 这个就是一个很明显的 , 它把所有的东西都讲得非常清楚的一个示范 ,有些报告它可能讲得比较模糊 。

曼祺32:07

DeepSeek 它每个版本的 , 包括 V2、V3、R1 这些都是很详细的技术报告 。

王子涵32:12

对 , 我觉得 V3 是真的特别详细 。

曼祺32:15

就是你觉得这几个里面 V3 是最详细的是吧 ?

王子涵32:18

因为 V3 的话真的就是我觉得就是所有的人都去 contribute, 就是可能要旗下在 DeepSeek 工作的模式 , 我觉得它就是每个人都写代码 。

我说的就是比如说技术组 , 技术组非常大 , 技术组占到整个团队里面非常多的人, 每个人都写代码 , 每个人他都去想办法验证自己的 idea, 比如说你验证了自己的 idea 能过的话 , 你就去把它在下一版的模型训练里面去加上你的那个 idea。

它其实这里面就是可能每个人负责一小块 ,但是加起来就会非常非常多 , 非常详细 。

曼祺32:53

你刚才在浏览这个 V3 的技术报告里 , 你拉到贡献者那一行 , 我刚好看到了梁文峰的名字 。

王子涵32:58

对 ,因为这个的话我们就是会觉得团队里面每个人都有贡献 ,其实它都不只有梁老板的名字 , 可能还会比如说 data notation 这些人,business 的这些人 ,他其实都会写在里面 , 就是每个人都写在里面 。

这也是我觉得它比较好的一个点 , 就是可能不会说非要区分个什么 , 就比如说我们就这种大 paper 的话 , 肯定是确实是每个人你只要在这个团队里面你都会做出贡献的 。

而且 V3 我觉得它这么详细 , 它相对于 R1 还有一个不同的点 , 就是它是一个 base 模型 。base 模型的话 , 它包括预训练 , 后训练微调数据 , 就等等各种各样的工作 , 它这个工作量加起来肯定是非常大的 。

所以说你有一个 50 多页的报告 ,其实我觉得不足为奇 。R1 我觉得它是用了 V3 的 base model 上面去迭代了一套自己的 reinforcement learning, 就是强化学习的方法 ,其实它只要把那个强化学习方法那一部分就讲得非常的清楚 , 我觉得这是其实是一个非常好的技术报告 。

曼祺33:55

对 , 你说到这个我也想分享的一个点 ,因为这一次 DeepSeek R1 它是一个全民爆火的状态 , 它非常出圈 , 就不光是 AI 圈在讨论 。

但是我自己的就是对 DeepSeek 它变火的这样一个传播路径的感受 , 我是觉得 V3 当时这篇非常详细的一个成果 ,而且它展示了很多实验 , 你刚好翻到了这个消融实验的这一页 。

王子涵34:16

对 。

曼祺34:17

它也展示了很多细致的实验成果 。 我觉得当时它是在全球 , 包括美国比较核心的技术圈层里面 , 它是植入了一种比较深刻的印象 , 就是这是一个很开放地去开源模型的一个公司 。

我觉得当时是让核心的技术圈层对它有一个印象 ,有一个 respect。 这个可能是你后面 R1, 包括它最近又在开源的像 NSA 这些东西 , 慢慢地获得了越来越多人关注的一个基础 。

王子涵34:43

对 , 这个就是我觉得他们为什么一开始就非常 , 我觉得就是其实他们去年并不出圈 , 我知道他们去年其实关注量远远没有今年多 ,但是我觉得可能去年就是大家没有注意到它 。

今年大家注意到它之后, 就是会去看这家公司的技术报告 , 发现每一个技术报告都非常的详细 , 写得非常非常的好 。其实这个就是我觉得开源要做好的第一步 , 就是说需要写一个报告 , 就是它不一定是论文 , 它可能就是一个流水账的报告 ,但是需要去记录一下你到底做了什么样的事情 ,并且是一个服务读者的形式 , 就是能让它由高到低 , 就是由浅

入深地把你们的技术去了解清楚 。 所以这是我觉得开源可能最重要的第一个部分 。

曼祺35:25

对 , 刚才我们讲的是报告 , 这是第一个部分 , 基础的 。

王子涵35:29

其实还有的就比如说你的训练和推理的代码 , 我这里就展示两个来自不同机构的训练和推理代码 。

推理这个是 VLLM, 就是我之前说的 , 我们其实之前自己一直在考虑用的一个框架 。 它其实我觉得是目前做推理里面做的最广为人知的库之一 。

就不管看它 star 就是 30k, 可能 3 万 , 快 4 万多 , 还有它的 issue 可能有几 k, 就是其实它 pull request 也有好几百 。

我觉得它这个生态是做得比较好的 。

曼祺36:00

VLLM 它的谁在维护 ? 就它的维护的主体是谁 ?

王子涵36:05

基本上是伯克利的这一群人。 对 , 就是可以看前面的开发者 。 但是因为它现在就是开源生态做太好了 , 所以说前列的开发者也会有一些别的 , 就是一开始那一版 paper 它叫 Page Attention, 就是我记得是绝大部分都是伯克利的 。

对 , 基本上都是伯克利的 , 还有一些比如 Sanford,San Diego, 还有一个是 Independent Researcher。

曼祺36:28

Independent Researcher 就是个人开发者 , 个人研究者 。

王子涵36:31

对 , 个人开发者 。 现在看可能就是有 800 多个 contributor, 它其实就是相当于做比较的有生态的一个库 , 包括其实你看它这里写了就是 requirement CPU、CUDA、Dev、HPU, 什么就各种 PU, 就是各种架构上它都能跑 , 所以说也很厉害 。

曼祺36:51

而且很多公司都在贡献这个 ,因为我昨天刚好和 MiniMax 就做他们那个线性注意力的新架构的人在聊 ,他们当时就是把 MiniMax 01 开源之后, 也是有人反馈说我也不知道怎么去优化 ,因为你没有放优化的东西 。他们后来是把这个优化的这一部分是放到这个 VLLM 这个库里了 , 就他们相当于贡献了这个库 。

王子涵37:12

对 , 就是因为这个库的生态做得太好了 , 所以说我感觉其实最近有一些新的库 , 比如说就是 SGLang, 就这是一个比较新的库 , 它也有很多关注 , 就它的 contributor 也很多 。

而且我听一些人说它可能使用的体验可能就是跟 VLLM 不相上下, 可能有的方面还更好一些 。其实我们看这 VLLM 的话 ,其实我觉得做 SGLang 的那群人可能还更就是跟潮流跟得比较紧一些 ,因为我看就是其实当时 R1 出来之后 ,他们是第一时间就说自己支持 R1 的代码 。VLLM 的话可能就它库做得非常好 , 对于这种紧跟潮流的事情可能就比较的佛心 。

因为我们看 SGLang 的话 ,其实它直接会说我们这 provide support for DeepSeek V3、R1 这些 model, 就也是一个生态做得很好的一个库 。 这个我觉得是它比较有特色的一个点 , 就是说确实是在不同的这个框架下面 , 它有不同的内容 , 可能也会侧重不同的方面 , 比如说你有的功能我都有 , 我有功能你都有 ,但是我们在优化的时候可能朝着不同的这个方向去优化这样子 。

这是推理库 。其实我想说的一个在推理库之前的东西 , 就是它这个模型的权重 。 模型权重大家一般是在 Hugging Face 上下, 就各种各样的数据 , 就包括模型数据 ,其实还有这个数据集 ,其实也都是在上面下 。

比如说这里面会有这个 files and versions, 点进去之后就是不同的这个模型 ,其实会发现这是一个特别大的模型 , 就是它有 163 个切片 , 每个切片可能就是 4 个 GB 这么大 。

如果我们要下载的话 , 可能就是比如说点 use this model, 可能有不同的这个 library, 比如说如果你用 transformer library 的话 , 就是这么下载 。

如果你用这个 VLLM 的话 , 就是像这样去下载 。

曼祺39:04

这个 libraries 是不同的推理框架的意思吗 ?

王子涵39:06

对 , 这个其实是 transformer, 这个就是 Hugging Face 在维护的库 ,其实它就是一个推理的框架 ,但它也不只是推理框架 , 它也是训练的框架 。

所以说他们就目前是在用这两个比较多的可能用来去做推理的框架 。其实就开源的话 , 可能我觉得绝大部分的公司应该会开源的是技术报告和他们的模型的权重 , 去开源推理框架的可能就稍微少一些 。

开源训练框架可能就更少的了 。 这个是字节他们的一个训练框架 ,也是我们之前做 Meridian 那个 work 的时候会有的一个框架 , 就是在上面用的一个框架 。

它就是一个比较好的能支持 RL 的框架 , 比如说你在 train 的时候 , 我记得比较清楚 , 可能就是点到这里面去 , 比如说它会有不同的 trainer, 比如说 PPO trainer, 它可能就在这里面 , 会告诉你要怎么怎么去做 。PPO 里面可能还会有一些不同的并行模式 ,FSDP 是一种并行去做模型训练的模式 , 它可能还会有其他的模式 , 比如说这里面还会有一些别的 。

曼祺40:12

字节开源的这个训练框架 , 它就是叫什么 VERL, 就叫 Ver。

王子涵40:17

对 。

曼祺40:18

它这个框架用的人多吗 ?

王子涵40:20

看起来的话肯定用的人还挺多的 , 就比如说你看它这里提 pull request 也有很多 ,30 open,196, 这 196 个 closed 加在一起有 200 多 ,issues 的话可能加在一起的话也有几百 , 就是一两百个 。

曼祺40:36

所以就是字节它愿意去开源一个训练框架 , 这还是一个比较少的选择是吗 ?

王子涵40:40

主要是开源训练框架的话 , 要做的工作很多 , 就比如说在公司里面去写的话 , 可能不会那么在意代码规范 ,但是你开源出来就必须要把它写得特别特别的清楚 。

所以我觉得字节他们开源自己的框架还是挺好的 。

曼祺40:58

所以这个在核心的 AI 研究者和技术人员里面 , 就是字节去开源训练框架这件事情 , 还是会让大家有一些这种好感 , 可以这么说吗 ?

王子涵41:07

反正我是挺有好感的 ,因为我之前用的就是它这套框架 , 所以说陪伴我度过了一些时期 。

曼祺41:13

我们刚才讲了几个 , 一个最开始技术报告 , 然后是权重 , 权重主要是在 Hugging Face 上可以下载 , 还讲到了推理框架 , 还有就是你说可能比较少的人开源的训练框架 。

到数据这个层面 ,因为你刚才也提到数据集 , 这个数据开源的话 , 大家现在是一个什么现状 ?

王子涵41:30

数据开源的话 , 几乎是没有公司开源 。

曼祺41:34

没有公司开源数据集 。

王子涵41:36

他们可能会在他们技术报告里面去写一下他们用的不同数据的比例之类的 ,但是具体的数据开源的公司非常非常少 。

我觉得可能主要还是出于那种信息的敏感性 , 就是比如说你开源数据 , 就会有些人说你这个数据里面哪些地方就是敏感信息泄露了 , 可能会说你这不好那不好之类的 。

就比如说我们在网上去爬数据的时候 , 只要是我们能看见的 ,而且法律允许的就爬 ,但是在这些数据里面可能也有一些数据是比较敏感的 , 比如说你就爬了所有就是很多人的个人网站 , 这个肯定是能爬的 ,但是你爬完之后, 它存到你的数据集里面 , 别人要用的话 , 它就可以通过你这个数据集去把这些人的网站什么都给找出来 , 就是可能用他们做一些

事情 , 可能是不好的事情 。 所以说开源数据的公司 , 我觉得可能也有这个安全性的考虑 , 就不完全是他们就是说不想或者没有能力开源 , 可能就是有这种安全性的考虑 。

曼祺42:34

DeepSeek 它自己现在的开源涉及刚才我们说的那几个大的部分 , 技术报告 、 权重 、 推理框架 、 训练框架的哪些部分 ?

王子涵42:42

其实我觉得除了数据集应该都开源了 。

曼祺42:46

DeepSeek 的训练框架也开源了 。

王子涵42:48

我找一找 。 对 , 就是逐渐在有开一些 ,但第一个开的应该是我这个 ESFT, 我自己的这篇我很确定它是开源了训练框架 ,而且我们还做了一些优化 。

曼祺43:01

这个 ESFT 是你自己的哪一个工作 ?

王子涵43:04

就是专家专业微调 , 它说的主要就是在这个 MOE 模型里面有不同的专家 , 每一个专家的话 ,他会有一些特点 , 就是比如说他可能会倾向于找和不同的任务有亲和 , 就比如说在某个任务下某些专家激活可能会更明显 , 我们就想能不能通过这个特质去进行一些比较 efficient 的这种模型的微调 , 比如说你微调的时候 , 你就选定几个和这个任务比较贴合的专家 ,

就去 fine tune 它 ,其他的参数你就不去微调了 。 这样的话 , 你一方面是可以减小这个计算资源 , 另一方面的话 ,因为你让专业的人做专业的事了 , 去认出它不同的专家可能适应哪个任务 , 就把它开源出来了 。

但是这个代码写的还可以更好 。 对 ,因为当时的话 , 我们就是想着能够尽快把这个工作推出来 , 就会去开源 , 比如说这 eval,train,train 里面可能还有 parallel, 就是说对它做一些优化 。

开源工作量44:03

曼祺44:03

我觉得正好也可以讲讲 , 就是我从一个闭源的状态到一个开源的状态 , 我额外要做一些什么工作 。 你刚才也稍微提到了一点 , 就是说可能我自己内部写代码 , 我的代码规范不需要做得那么好 。

如果你要开源 , 让所有人都能用起来的话 , 就是要做一些这方面的工作 。 除了这个之外还有什么吗 ?

王子涵44:20

我其实主要想到就是这些 。其次的话 , 比如说你要开源你的框架一个部分 ,但它是依赖于你现在的 , 就比如说公司里面正在用的这个库的 , 你只想开源这一个部分 ,但是你又暂时没有计划去开源你这个整体特别庞大的框架 , 你就要需要让你的这一部分适配上现在已经开源的框架 。

我当时是这个工作做了很多 ,因为当时他们暂时不打算去开源他们整个的那个很大的那个库 ,但是我 code 都是在那个很大的库上面写的 。

曼祺44:52

明白 。

王子涵44:52

所以说他就会希望我能够用这个已经开源的框架再重新写一遍 , 我就重新写了一遍 , 大概花了个两三天 。

曼祺45:01

就是把代码变得更规范 , 和你刚才说的去适配一个开源的公开的库 , 它大概会占你们的多少精力 ?

你后面一部分已经说了 , 你说后面得花了两三天 , 前面这件事大概占多少精力了 ?

王子涵45:14

就是代码的规范 , 我觉得花挺久的 , 我花了一周多 。

曼祺45:19

一周多到两三天 , 这个算久还是算不久 ,在你们这种 AI 研究人员的评估维度里面 ?

王子涵45:26

挺久的 , 一周可以做不少事了 。 反正我觉得一周能干很多事情 , 开源只是一个优先级的问题 , 就是比如说有的时候你觉得你的算法很有前景 , 你很想去优化它 , 你就会先优化这个算法它自己 。

有的时候你觉得开源的话 , 你让社区来去 , 就比如说能够真正的去用上你的工作 , 享受你的工作成果的话 , 开源就是一个优先的事情 , 这其实都是优先级 。

所以说我觉得一周多的时间 , 我跑模型 , 我能去做很多实验了 , 我去做开源框架 ,其实就是想服务社区 , 去把这个东西给让更多人用上 。

曼祺46:06

所以就是对一些本来一直在做闭源的公司来说 , 它如果要去开源模型 , 甚至之后开源更多框架 , 它其实是额外需要人力来支持这件事情 。

王子涵46:15

非常需要 ,而且我觉得可能很多公司因为它这方面的积淀比较少 , 所以说它可能更需要对这个去多下一些功夫 。

就比如说你开源的时候怎么把代码写得很规范 ,其实我觉得代码写得很规范这个事 , 很多公司或者说很多人, 就是说就是现在所有人可能代码规范其实是没有一个系统的课程的 , 或者说没有一个系统教育的 。

比如说我自己在美国这边 , 比如说跟一些 collaborator 去合作的时候 , 我就会觉得就是他的 idea 很好 ,但他代码的这个细节就是让人看了比较的难受 。

我记得之前有一个我看别人做的工作 ,他开源了一个方法 ,他这个方法里面有三个点 ,他就把这三个不同的文件 , 这个三个文件他就直接命名叫 step 1、step 2、step 3。

我当时看就特别难受 , 我就特别想跟他说能不能把这个名字换一下, 比如说你就换成三个不同的方法的名称也行 。

就是如果你这样做的话 , 别人如果想用你这个库做他自己的事情 ,他就可以直接在上面去再加一个文件 , 去把它命名成他自己要做的那件事 , 比如他想在 step 1 和 step 2 中间加一个中间步骤 ,他就不用给你命名为什么 step 1.5 了 。

如果他把这个命名为 step 2 的话 , 后面的文件名都要改 。 如果他只是把这个文件加进去的话 ,他就要把它命名为 step 1.5, 就感觉还挺怪的 , 还不如就是说我一开始的时候 , 我就去把这个库的不同的代码文件的名字去写好 , 后面维护也方便 。

这就是我觉得很多时候大家没有意识到的一个点 , 就是这个规范不是什么一日之功 , 它是需要去练习的 , 需要去学的 , 你才能够去把这个代码开得比较的 , 让大家能够去读 , 让大家觉得比较的舒服 。

曼祺47:59

你说到这个点 , 我想起来很久以前我采访过阿里的 , 就他们有一个大概是代码规范委员会之类的这么一个机构 , 就是他们专门就是去写这个规则 , 就是我不管你在外面是怎么样 , 或者你之前的习惯是怎么样 ,但是反正在阿里你有一套 , 它可能设计的都是很细的格式 , 比如说你怎么空格 , 或者你一个东西前面你是应该空两个还是空三个

, 它就会去规定这些东西 , 它就希望就在一个大的机构里面 , 大家是比较规范的 , 这样我们相互来协作 , 包括新人去接手老人的东西也比较好改 。

王子涵48:28

对 , 这个很重要 。

曼祺48:31

你刚刚说的这个点也解释我的一个疑惑 , 就是文心不是最近宣布要开源 ,但是他们宣布的时间是到 6 月 30 号才正式开源 , 你觉得要这么久它正常吗 ?

是因为确实工作量很大是吗 ?

王子涵48:43

工作量很大肯定是其中很重要的一个原因 , 就看他们自己的计划 。

开源策略48:43

曼祺48:47

刚才也是讲到了百度 , 第三部分也是想和子涵来聊一聊 , 就是不同的公司接下来的一些开源策略和目前正在全球发生的开源的转向的潮流 , 我们可以从本身就在开源的一些公司来聊 , 这个里面当然很有代表性的是我们刚才已经说了很多的 DeepSeek, 从 DeepSeek 它的开源策略来说 , 它一直都是选择比较开放的 MIT 的协议 , 它也一直开源的是自己最强的模型 , 就最强

模型它都有开源 。 另一方面其实有一些公司最强的它是留着不开源的 , 它开源的是一些次强的或者版本更小的这种模型 。

王子涵49:19

我觉得不同的开源的策略其实就是和他公司的盈利模式还是有关 , 比如说有些公司可能它最强的是开源的 , 它可能完全赚的就不是这个模型本身的溢价 , 它可能是第一是这个老板他可能不想赚钱 ,他开源可能就是造福社会 。

第二个就是可能他比较想做的并不是我利用模型的 API 去赚钱 , 可能他比如说想做一些更大的事情 , 这个大有多大 , 可能我觉得最大可能就是重构这个行业的生态 , 比如说大家以后都以这公司这套系统为标准等等。

就比如说你不想拿开源赚钱 , 你没有订阅费的那个公司 , 它可能就会开源自己最强的模型 。其实也不只是 DeepSeek, 我觉得很多比如说 Allen Tools 美国的另一个机构 , 它也是开源了自己最强的模型 , 它根本就不赚这个钱 。

而且 Allen Tools 我记得它应该是唯一一个开数据集的开源项目 , 它是数据集也开了 。 除了 Allen Tools 之外, 还有一个叫 EleutherAI,他们有个模型叫 Pythia,Pythia 也是特别的开 。

曼祺50:19

Pythia,P-Y-T-H-I-A。

王子涵50:22

对 , 它这个开源开到什么程度 , 它怕你就是承担这个独自训练的风险 , 它这个预训练的中间的 checkpoint 也给你开 , 就是第零步 、 第一步 、 第二步 、 第四步 , 一直到第 1000 步 , 每隔 1000 步给你开一个权重 。

曼祺50:39

保姆式开源 , 保姆式开源服务 。

王子涵50:41

对 , 真的是保姆式开源 ,因为这个公司它可能它也是一个研究性的公司 , 我觉得第一个开的最大的这一波公司 , 就包括 DeepSeek、Allen Tools、EleutherAI, 就他们不赚这个钱 。其次就是比如说它开放小一点的这个型号的公司 , 比如说它一方面它可能要赚订阅费 , 另一方面它可能就是说它还是比较想造福这个 community, 比如说一些不涉及我们当前阶段核心商业机密的这个东西 , 可能就开掉 。

就是它想一直在它的竞争对手那里去维持一个优势 ,但同时它又想让这开源能够去服务到更多的人。

所以说它就会开源一个小一点的 , 比如说你们如果是社区里面想自己去研究它 ,不就挺好了吗 ? 你们就可以用到这个东西 。

如果涉及到威胁它的订阅费以及任何可能和它这公司有关的 , 那就是不会开 。

曼祺51:34

你觉得今年我们会看到 OpenAI 开源最强的模型吗 ?

王子涵51:37

我不太确定 。 对 , 我就是很期待他们的 plan。

曼祺51:42

最近 Sam Altman 倒是发了一个推特 ,他说他们要开源 ,他搞了一个投票 , 当然现在还不涉及到最强的模型 ,他给的两个选项 , 一个是 o3-mini, 一个是 phone-sized model, 就是可以在手机端侧上部署的一个比较小的模型 , 你比较期待它开源哪个 ?

王子涵51:58

其实我觉得开哪个都挺好的 ,其实都会服务到一波人, 我觉得看他自己的计划 。 但是我觉得整体上你肯定对大多数公司来说 , 你即使是开一小部分 , 它对社会的贡献肯定也是比完全不开源好 ,但其实我觉得不开源也有它可能比较 make sense 的地方 。

开源的阴影52:15

曼祺52:15

比如 ?

王子涵52:16

就比如说我其实一直在构想一个场景 , 假如以后 language model 或者说这套 AI 不够强大了 , 到时候开源还是不是一个好的选择 。

后来我的直觉告诉我说 , 到时候可能像这种第二种公司 , 就是它开一个比较小的模型 , 最强的那个不开源可能比较的 make sense, 就是因为你把那个最强模型开源了 , 你也很难防止有些人用你这个去做一些不好的事情 。

曼祺52:40

就你刚这个观点 , 它不是从完全商业的角度考虑的 , 你其实是技术的一个社会影响的角度 , 对吧 ?

王子涵52:46

对 ,因为比如说我之前有一次我那个推特账号被黑了 , 我为什么被黑了 ? 就是因为这个人, 我觉得他在网上自己用大语言模型去做了一个 agent, 用这个 agent 给每个不同的人以不同的姿势 、 以不同的角度去发推特的这个邀请 , 邀请他去参加一些比如说就不同的事 , 商业访谈或者什么的 , 最终的目的就是让他点开那个链接 , 就是让他觉得这个人特别靠谱

, 去点开那个链接 。 我估计他自己都在背后甚至偷偷训了这个模型 , 让推特用户能够更好的点进去 , 一点进去之后你账号就被黑了 。

黑完之后他就会用你的账号做一些就不好的事情 , 比如说是发广告之类的 。 我就想他就是用那种最强大语言模型 , 让他去以一个不太好的目标 , 比如说骗你点开链接为目标去做 optimization, 去做优化 , 最后它训出来的模型能够骗很多人点开那个链接 , 这不就是一个不好的事情吗 ?

但是这个我觉得还是要一个足够强的模型才能做到的 。 如果以后我们有了更强的模型的话 , 它不仅用这个去骗人, 它可能用这个去做一些更不好的事情 , 比如说直接在网上就是注册 100 个小号做网络暴力什么的 , 可能就更麻烦了 。

曼祺53:56

对 ,因为我们今天前面可能大部分都聊的是开源对社区的一些贡献 , 开源对整个技术进展的一些加速 。

你最后说的这个点 , 我觉得是一个非常好的点 。

王子涵54:08

因为我自己就有这个经历 , 所以说我可能 。

曼祺54:12

对 , 你自己就是受害者 。

王子涵54:14

开源的受害者 。

曼祺54:15

你现身说法 。 这个也想了 , 就是跟一个投资人交流的时候 , 我在看他之前写的一个分享 , 它里面引用了当时 Ilya 和 Sam Altman 他们有一些分歧的时候 ,他当时发过一个推特 ,Ilya 发过一个推特 , 大概翻译成中文就是说 , 如果你把智能看得比人类的其他所有品质都重要 , 你日后的日子可不会好过 。

王子涵54:36

对 , 就是不要太卷了 。 确实我觉得他这个点说得很有道理 , 就是其实很多时候有这么强的 AI 之后, 人类会怀疑自己存在的价值 ,但是我觉得人类的价值本来就不在于智力上, 就是你拼智力就是拼不过 AI 的 。其实人类我觉得他不需要有什么价值 , 就活在世界上, 就相当于你一个新游戏 , 你注册了一个账号 , 你作为一个玩家 , 别人问你能为游戏带来什么 ,

你说我为游戏带来一个新玩家 , 这就是意义 。 就其实没有必要说谁的智力更高怎么怎么样的 , 就是有时候人的一些方面比不过 AI, 那就不比了呗 , 那就享受它呗 。

比如说其实围棋那帮人 ,其实我觉得也经历了一个很漫长的接受的过程 , 就是说从这个抗拒 AI 到加入 AI, 就其实到最后大家就是会把这个东西当成一个娱乐 , 就是说我知道这个地方 AI 比人强了 , 我就不去跟它去做正面的冲突了 , 我把它当成一个学习的对象 , 我觉得也挺好的 。

曼祺55:31

好的 , 非常感谢今天子涵来做客晚点聊 , 和我们分享了他自己经历的一些开源项目 ,他对开源社区的一些观察 ,以及我觉得最后你说的这个个人的想法 , 这个游戏的比喻 , 我觉得还挺特别的 ,因为我跟很多人去讨论过 , 就是说如果 AGI 真的到来之后, 会怎样 ,但你应该是其中非常年轻的一个人, 你是 00 后对吧 ?

尾声55:31

王子涵55:52

我 02 年的 。

曼祺55:53

可能我主要是在跟 80 后和 90 后在讨论这种问题 。

王子涵55:57

OK。

曼祺55:57

我觉得大家确实的想法会很不一样 ,也非常感谢今天来做客晚点聊 , 我们今天节目就到这里 , 各位听友拜拜 。

王子涵56:05

好的 , 谢谢曼琪 , 非常非常开心 。

曼祺56:08

好的好的

, 本期节目就到这里 , 感谢收听 。 如果你对今天聊的话题有观察 、 好奇或疑问 , 欢迎在评论区分享想法 , 这也会成为我们节目的一部分 , 让整个讨论更完整 。

你也可以把我们的节目分享给对这个话题感兴趣的朋友 , 推荐更多你想听的主题和嘉宾 。 你可以从小宇宙 、 苹果 Podcast 等渠道关注晚点聊 LateTalk,也欢迎关注我们的公众号晚点 LatePost, 下期再见