返回 2026-07-12
🤖 AI / ML

Building intuition about LLM parameter countsBuilding intuition about LLM parameter counts

gilesthomas.com·2026-07-10

Building intuition about LLM parameter counts

Giles Thomas

写下那篇我希望在自己刚开始学习某项技术时就能找到的文章……

归档

分类

友情链接

发布于 2026 年 7 月 10 日,分类:AI

当我在 JAX 中构建我的 GPT-2 实现时,我一开始只为输入使用了 token embeddings,并使用了一个单独的 output head(因为我没有使用 weight tying)。它不是一个 LLM——没有 Transformer blocks,没有 attention,也没有 feed-forward networks。

当我注意到即使那个精简模型在我用来训练的“small”设置下——具体来说,embedding 维度为 768——也有 7700 万个参数时,我感到有些惊讶。然而,我意识到我不应该感到惊讶——词表大小为 50,257,这些组件中的每一个本质上都是一个 768×50,257 的矩阵,这确实超过了 3800 万个数字。

但项目结束时完成的 LLM 只有 1.63 亿个参数——这意味着仅输入和输出组件就占了几乎一半。这个比例感觉大得惊人。

当我第一次研究 feed-forward network 时,我也有类似的震惊,我意识到它的参数量大约是 attention layers 的两倍。

当我们学习 LLM 的内部结构时,很多注意力都集中在 attention 机制上。这是合理的——它是最难理解的部分。其余的设置,至少对于简单的 GPT-2 类型模型来说,是相当标准的东西。

但这意味着很容易高估 attention 消耗了模型总参数量中的多少——特别是对于较小的模型,与构成 LLM 实际主体的 Transformer layers 相比,token embeddings 和 output head 显得如此之大。

OpenAI 今天发布了 GPT 5.6,所以我决定在 Codex 中试用它的 "Sol" 变体,并让它写一个可视化工具。它展示了不同大小的 GPT-2 模型(或具有相同架构的自定义设置)的参数如何在 embeddings、attention、FFNs 和 output head 之间分配的明细,你还可以添加/移除 weight tying 和 QKV bias。它做得非常好——去看看吧!这是它展示的没有 weight tying 的 GPT-2 small 的截图。

它非常值得一试。特别是,看看当词表中的 token 数量变得非常大时(许多现代模型有数十万个)会发生什么,这很有趣。你可以非常轻松地创建一个“微型”模型,它几乎完全由 embeddings 和 output head 组成。

需要完整排版与评论请前往来源站点阅读。