V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cpalead
V2EX  ›  deepseek

为什么 deepseek 的源代码只有几个文件?

  •  
  •   cpalead · 1 天前 · 1911 次点击

    convert.py fp8_cast_bf16.py generate.py kernel.py model.py 就这几个文件? 就这一个文件就可以实现一个大模型?

    15 条回复    2026-03-29 11:53:43 +08:00
    106npo
        1
    106npo  
       1 天前 via Android
    大模型的开源指的是权重
    opengps
        2
    opengps  
       1 天前
    大模型里的大,指的是训练集大
    cpalead
        3
    cpalead  
    OP
       1 天前
    @106npo 权重是什么意思
    lifei6671
        4
    lifei6671  
       1 天前
    当然不是呀。DeepSeek 所谓的开源是指开源里大模型的权重。你可以理解为一个公式,DeepSeek 给出的最优解集合。开源的当然不是解的过程。
    一般情况下,会有三个文件,配置文件、权重文件和 Tokenizer 文件。
    levn
        5
    levn  
       1 天前   ❤️ 2
    完全开源 (Open Source / Open Source AI - OSI): 遵循 Open Source Initiative 的定义。指不仅开放模型权重,还开放训练代码、数据预处理流程、甚至训练数据集的完整生态,OLMo 就是一个例子。
    开放权重 (Open Weights): 大多数所谓的“开源”大模型均属于此。这类模型会公开模型参数( Weight ),使您可以运行、微调模型,但通常不公开训练数据来源、预训练时的配比策略或完整代码。例如,早期的 Llama 系列通常被认为是开放权重。
    Inn0Vat10n
        6
    Inn0Vat10n  
       1 天前
    其他的代码你没集群,没数据,也跑不起来啊
    cpalead
        7
    cpalead  
    OP
       1 天前
    @Inn0Vat10n 其他的代码在哪
    CEBBCAT
        8
    CEBBCAT  
       1 天前   ❤️ 1
    楼主是退休的高校计算机系老教授吗?这些问题可以问问 chatgpt.com 看看
    frayesshi1
        9
    frayesshi1  
    PRO
       1 天前
    这几个 python 文件不是权重吧,权重是类似 CV 里面的 bin 文件或者 yolo 的 onnx 文件,是训练得到的数据
    hefish
        10
    hefish  
       1 天前
    数据有好多 G 的吧。
    源码里面调用的模块,也不小啊。。
    你跑了跑就知道了。。
    我光装个 vllm 就装了几百个 M 。
    strobber16
        11
    strobber16  
       22 小时 48 分钟前 via Android
    微内核
    cpalead
        12
    cpalead  
    OP
       22 小时 40 分钟前
    @CEBBCAT 是什么让你判断是高校计算机老教授的
    CEBBCAT
        13
    CEBBCAT  
       21 小时 10 分钟前   ❤️ 4
    @cpalead #12 说出来会打击人,总的来说还是尝试在思维敏捷和思辨上加强一些锻炼吧
    xyooyx
        14
    xyooyx  
       18 小时 32 分钟前
    非 AI 时代,企业花了大量成本找来最优秀的工程师编写出优质代码,有价值的是代码逻辑,所以我们得出逻辑 [开放代码=共享价值] 。
    模型时代,企业花了大量算力计算出模型权重,那么开发代码并不能实现价值共享,转而变成 [开放权重=共享价值]
    zizon
        15
    zizon  
       4 小时 35 分钟前
    1. generate.py 描述了数据/权重文件怎么加载的.
    2. model.py,尤其 Transformer 类描述了模型结构/层等怎么构成的信息.
    3. kernel.py 描述了 2 里用到的一些核心自定义算子.

    给你 2+1 类似与给了头文件声明和.so 文件.

    开源的是这个.h.

    4. 更接近一些你理解的开源的是有些会提供 finetune.py,做微调的.
    这个会告诉你一部分真实完整训练场景下,input/训练数据大概长什么样.
    理论上,你有可能根据这个数据格式,去完整重新训练一个等价模型,前提是有对应的硬件资源.

    但,通常来说 fintune.py 暴露的信息是不够的.
    之所以叫微调,也就是因为它只是一部分 input 长这样.

    你可以看看 olmo 的 train.py,比较符合你的对开源的想法.
    属于一个端到端,理论上你有硬件条件就可以从 repo 完整复刻的开源形态.
    https://github.com/allenai/OLMo/blob/main/scripts/train.py

    你说 1/2/4 够不够.
    也不能说不够吧.

    但 pretrain 的 datasource 直觉上还是很影响跟模型交互的语言/prompt 风格的.
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2892 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:29 · PVG 16:29 · LAX 01:29 · JFK 04:29
    ♥ Do have faith in what you're doing.