DeepSeek-V3.1 有671B参数,权重文件动辄几百GB,大部分人电脑存不下,服务器也未必下得起。modelmap.cc 反过来解决这件事:粘贴一个Hugging Face模型ID,不下载一个字节权重,就能看到这个模型完整的结构图。

传统看懂模型结构的路径是下载权重、跑起来、再翻代码。modelmap把下载和跑这两步都砍掉了,只留下代码和一次"空转"。这对研究者和学习者是真省事,但省的是哪一步的事,得说清楚。

三步看清骨架,覆盖哪些架构

核心是两步:meta-device实例化,加fake forward追踪。

先用meta-device把模型类实例化出来,只建结构骨架,不分配真实权重内存。这一步拿到的是模型有多少层、每层是什么模块。

再用虚拟张量跑一次前向传播,也就是fake forward,记录每一层输入输出的张量形状。整个过程不涉及真实数值计算,也不需要下载权重文件。

modelmap 如何生成结构图 粘贴 Hugging Face 模型ID meta-device实例化 (只建结构) fake forward追踪 (记录张量形状) 动态结构图 不下载权重 支持模型对比

它覆盖的架构类型不算窄:

架构类型示例模型参数量结构特点
经典解码器GPT-2124M注意力+FFN堆叠
稠密模型Qwen3-8B8.19BGQA + RMSNorm
混合专家Qwen3-235B-A22B235B,128专家稀疏路由
MoE+多头潜在注意力DeepSeek-V3.1671B混合专家结构
编码器BERT参数量视版本而定双向编码
视觉语言模型Qwen2.5-VL参数量视版本而定视觉塔接LLM
经典架构参数跨度 GPT-2 124M 经典解码器 Qwen3-8B 8.19B 稠密模型 Qwen3-235B-A22B 235B 128专家MoE DeepSeek-V3.1 671B MoE + 多头潜在注意力 从1.24亿到6710亿参数,用的是同一套查看方式

页面还支持两个模型并排对比结构,比如把Qwen2.5-7B和Qwen3-8B放一起,注意力机制和归一化层的差异能直接看出来。这种横向对比,以前基本靠人工翻两份代码手动比对。

边界:不是任意模型,也看不到动态运行

"不下载权重"这句话容易被过度解读。modelmap依赖的仍是模型仓库里的代码和配置文件,只是不拉取权重张量本身。

仓库得是Transformers能直接加载、或者结构兼容的公开仓库,才可能生成结构图。私有和gated模型,用户得自己填Hugging Face token才能看,不是纯匿名可用。

"any HuggingFace models"这个说法在实际使用里要打折扣。一个模型如果用的是仓库自定义的非标准代码结构,或者Transformers还没适配,出图大概率失败或不完整。

fake forward追踪的是一次前向传播的静态形状。MoE里按token动态分配专家这种运行时行为,未必能在图里完整还原——它给的是骨架,不是骨架怎么动。

真要判断一个MoE模型的路由是否合理、显存开销多大,还是得下载权重、真跑一次推理。结构图和实测,不是一回事。

谁该用它,谁别拿它当依据

学Transformer的人,用它几分钟建立一个模型的直觉印象,比啃论文插图和读裸代码快。

做架构选型的工程师,可以先用它快速对比两个候选模型的结构差异,再决定要不要真的下载权重、跑基准测试——它省的是筛选阶段的时间,不是验证阶段的时间。

不该拿它做的事:把结构图当成推理速度、显存占用或生成质量的答案。这几项它不提供,也不该提供。

modelmap更像模型时代的电路图阅读器。看懂电路图,知道电流从哪进、核心元件在哪,但这台机器好不好用,还是要插电试。

接下来值得盯的,是它的模型库更新速度能不能跟上新架构——新模型发布后多久能被追踪、公开仓库覆盖率有多高,决定了它是长期有用的工具,还是只看得懂"经典款"。

671B的权重你可能一辈子不会下载,但骨架长什么样,现在几十秒就能看完。