📌 项目地址:marin-community/marin | ⭐ 2,035 颗星 | 🔧 Python | 📜 未标注
先说清楚 Marin 是什么
Marin 是一个训练大语言模型的开源项目,覆盖数据筛选、转换、过滤、tokenization、预训练、后训练、评估的全流程。它同时是个研究项目和社区,不只是个代码仓库。
它最不一样的地方在“开放开发”这个承诺上:流程、实验、决策全部实时记录,从原始数据到最终模型,失败的实验也留在记录里。我看过不少开源模型项目,放出权重和训练脚本的不少,把“为什么这么决策”和“哪些路走不通”一起放出来的,几乎没有。Marin 是冲着这个来的。
框架本身也有通用性。社区已经用它做了音频-文本模型(issue #1699)、DNA 模型(Open-Athena/marin-dna)和蛋白质模型(Open-Athena/MarinFold)。非纯文本领域可以通过把 Marin 当库来用,参考 marin-community/marin-experiments 这个仓库的用法。
两件正在做的事
一,从零预训练一个大型 MoE 模型。 规模是 5e24 model-FLOPs,总参数量 5000 亿以上,预训练加后训练,目标是服务科研人员的任务。这是团队当前的主线。
二,Delphi scaling suite。 受 Pythia 启发,把同一个 LLM 训练配方从 3e18 一路缩放到 1e23 FLOPs。包含三块:计算预算映射到模型配置的配方、在 Google TPU Research Cloud 上按配方训出来的模型套件、用小模型预测大模型表现的 scaling law。
Delphi 的资产清单,这是普通用户真正能用的部分
预训练一个 5000 亿参数的 MoE 模型,个人显然做不了。但 Delphi 这批资产是实打实可以直接拿走的:
- Checkpoints:每一次运行的检查点都在 HuggingFace 的 marin-community/delphi 集合里,拿去做 scaling 分析或者微调都行
- 训练数据混合管道:代码在仓库的
experiments/pretraining_datasets/nemotron.py,可以确定性复现 Nemotron-CC、StarCoderData、ProofPile 2 的公开混合比例。“确定性复现”这点很关键——数据混合复现不了,scaling 实验就没法验证 - 配方代码:
experiments/scaling_law_sweeps/completed_adamh.py里的CompletedAdamHParams类,设计成可 fork 的,你可以基于它跑自己的缩放实验 - 开发方法论:
docs/recipes/add_scaling_heuristic.md里的add_scaling_heuristicagent skill,把“怎么加缩放启发式”这个流程本身也文档化了 - 绘图数据:marin-community/delphi-blog-data,博客里每张图对应的数据都有,每行带
wandb_url,可以直接追溯到原始实验
这套东西组合起来,基本就是一个可复现的 scaling 研究工作台。对做 scaling law 相关研究的人来说,checkpoint 加可复现数据管道加 plot-ready 数据,省掉的准备工作不是一点半点。
和同类项目比一下
Megatron-LM、DeepSpeed 这类项目给的是训练基础设施;Pythia 给的是一批不同规模的检查点,供分析用。Marin 把两样都做了,还多加了第三层:过程知识。决策记录和失败实验也在仓库里。
代价是项目结构会更复杂,API 稳定性也差一些。2,035 颗星,活跃但还在快速变动期,fork 之前要有心理准备。
几个实际问题
- README 没给安装命令,上手请直接看 marin.community 的文档
- License 在 README 里没提,商用或再分发前必须去仓库确认
- README 原文末尾有一条 HuggingFace 链接被截断了,访问时以仓库实际内容为准
我的判断
如果你只是想找个框架跑训练,DeepSpeed 之类的生态更成熟。Marin 值得关注的原因是另一个:它是目前少有的、把“从原始数据到模型的全过程包括失败”当作核心产品来开源的项目。Delphi 那批资产(checkpoint、数据管道、配方代码)现在就能用,而这个项目记录过程的方式,本身就在定义一种新的开源做法。