过去几个月,很多人问我,我在文章、演讲以及LLM架构画廊中使用的LLM架构草图与示意图,究竟是怎么画出来的。所以我觉得,记录一下我通常遵循的流程,应该会很有用。

简单来说,我通常从官方技术报告入手。不过现在,论文往往不如以前那么详细了,尤其是大多数来自工业实验室的开源权重模型。

好的一面是,如果权重在Hugging Face模型中心共享,并且该模型在Python的transformers库中得到支持,我们通常可以直接检查配置文件与参考实现,从而获取更多关于架构细节的信息。毕竟,“能跑”的代码不会说谎。

图1:这个工作流程的基本动机是,现在的论文往往不够详细,但一个能跑的参考实现能给我们提供具体可查的东西。

我还得说,这主要是一个针对开源权重模型的工作流程。它并不真正适用于像ChatGPT、Claude或Gemini这样的模型,因为这些模型的权重和细节是专有的。

另外,这有意设计成一个相当手动化的流程。你可以将其中的部分步骤自动化。但如果目标是学习这些架构是如何工作的,那么在我看来,亲手做上几次,仍然是最好的练习之一。

图2:从高层次来看,这个工作流程是从配置文件和代码出发,最终得出架构洞见。