DeepSeek-V3.1 有671B参数,权重文件动辄几百GB,大部分人电脑存不下,服务器也未必下得起。modelmap.cc 反过来解决这件事:粘贴一个Hugging Face模型ID,不下载一个字节权重,就能看到这个模型完整的结构图。
传统看懂模型结构的路径是下载权重、跑起来、再翻代码。modelmap把下载和跑这两步都砍掉了,只留下代码和一次"空转"。这对研究者和学习者是真省事,但省的是哪一步的事,得说清楚。
三步看清骨架,覆盖哪些架构
核心是两步:meta-device实例化,加fake forward追踪。
先用meta-device把模型类实例化出来,只建结构骨架,不分配真实权重内存。这一步拿到的是模型有多少层、每层是什么模块。
再用虚拟张量跑一次前向传播,也就是fake forward,记录每一层输入输出的张量形状。整个过程不涉及真实数值计算,也不需要下载权重文件。
它覆盖的架构类型不算窄:
| 架构类型 | 示例模型 | 参数量 | 结构特点 |
|---|---|---|---|
| 经典解码器 | GPT-2 | 124M | 注意力+FFN堆叠 |
| 稠密模型 | Qwen3-8B | 8.19B | GQA + RMSNorm |
| 混合专家 | Qwen3-235B-A22B | 235B,128专家 | 稀疏路由 |
| MoE+多头潜在注意力 | DeepSeek-V3.1 | 671B | 混合专家结构 |
| 编码器 | BERT | 参数量视版本而定 | 双向编码 |
| 视觉语言模型 | Qwen2.5-VL | 参数量视版本而定 | 视觉塔接LLM |
页面还支持两个模型并排对比结构,比如把Qwen2.5-7B和Qwen3-8B放一起,注意力机制和归一化层的差异能直接看出来。这种横向对比,以前基本靠人工翻两份代码手动比对。
边界:不是任意模型,也看不到动态运行
"不下载权重"这句话容易被过度解读。modelmap依赖的仍是模型仓库里的代码和配置文件,只是不拉取权重张量本身。
仓库得是Transformers能直接加载、或者结构兼容的公开仓库,才可能生成结构图。私有和gated模型,用户得自己填Hugging Face token才能看,不是纯匿名可用。
"any HuggingFace models"这个说法在实际使用里要打折扣。一个模型如果用的是仓库自定义的非标准代码结构,或者Transformers还没适配,出图大概率失败或不完整。
fake forward追踪的是一次前向传播的静态形状。MoE里按token动态分配专家这种运行时行为,未必能在图里完整还原——它给的是骨架,不是骨架怎么动。
真要判断一个MoE模型的路由是否合理、显存开销多大,还是得下载权重、真跑一次推理。结构图和实测,不是一回事。
谁该用它,谁别拿它当依据
学Transformer的人,用它几分钟建立一个模型的直觉印象,比啃论文插图和读裸代码快。
做架构选型的工程师,可以先用它快速对比两个候选模型的结构差异,再决定要不要真的下载权重、跑基准测试——它省的是筛选阶段的时间,不是验证阶段的时间。
不该拿它做的事:把结构图当成推理速度、显存占用或生成质量的答案。这几项它不提供,也不该提供。
modelmap更像模型时代的电路图阅读器。看懂电路图,知道电流从哪进、核心元件在哪,但这台机器好不好用,还是要插电试。
接下来值得盯的,是它的模型库更新速度能不能跟上新架构——新模型发布后多久能被追踪、公开仓库覆盖率有多高,决定了它是长期有用的工具,还是只看得懂"经典款"。
671B的权重你可能一辈子不会下载,但骨架长什么样,现在几十秒就能看完。
