{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/magazine-sebastianraschka-com/2026-04-18-my-workflow-for-understanding-llm-architectures/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "Many people asked me over the past months to share my workflow for how I come up with the LLM architecture sketches and drawings in my articles, talks, and the [LLM-Gallery](https://sebastianraschka.com/llm-architecture-gallery/). So I thought it would be useful to document the process I usually follow.\n\nThe short version is that I usually start with the official technical reports, but these days, papers are often less detailed than they used to be, especially for most open-weight models from industry labs.\n\nThe good part is that if the weights are shared on the Hugging Face Model Hub and the model is supported in the Python [transformers](https://github.com/huggingface/transformers) library, we can usually inspect the config file and the reference implementation directly to get more information about the architecture details. And “working” code doesn’t lie.\n\n[![](https://substackcdn.com/image/fetch/$s_!NNCh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd5ee24-27f0-4d06-a987-e1c7247057d3_4800x2700.png \"\")](https://substackcdn.com/image/fetch/$s_!NNCh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd5ee24-27f0-4d06-a987-e1c7247057d3_4800x2700.png)\n\nFigure 1: The basic motivation for this workflow is that papers are often less detailed these days, but a working reference implementation gives us something concrete to inspect.\n\nI should also say that this is mainly a workflow for open-weight models. It doesn’t really apply to models like ChatGPT, Claude, or Gemini, where the weights and details are proprietary.\n\nAlso, this is intentionally a fairly manual process. You could automate parts of it. But if the goal is to learn how these architectures work, then doing a few of these by hand is, in my opinion, still one of the best exercises.\n\n[![](https://substackcdn.com/image/fetch/$s_!evXx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06a1e90-e1bf-411f-964b-ce89852491a3_4168x1699.png)](https://substackcdn.com/image/fetch/$s_!evXx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06a1e90-e1bf-411f-964b-ce89852491a3_4168x1699.png)\n\nFigure 2: At a high level, the workflow goes from config files and code to architecture insights.\n",
  "authors": [
    "Sebastian Raschka, PhD"
  ],
  "captured_at": "2026-09-27T19:29:15.293681927+00:00",
  "category": "programming",
  "content_html": "<p>Many people asked me over the past months to share my workflow for how I come up with the LLM architecture sketches and drawings in my articles, talks, and the <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://sebastianraschka.com/llm-architecture-gallery/\">LLM-Gallery</a>. So I thought it would be useful to document the process I usually follow.</p>\n<p>The short version is that I usually start with the official technical reports, but these days, papers are often less detailed than they used to be, especially for most open-weight models from industry labs.</p>\n<p>The good part is that if the weights are shared on the Hugging Face Model Hub and the model is supported in the Python <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/huggingface/transformers\">transformers</a> library, we can usually inspect the config file and the reference implementation directly to get more information about the architecture details. And “working” code doesn’t lie.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://substackcdn.com/image/fetch/$s_!NNCh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd5ee24-27f0-4d06-a987-e1c7247057d3_4800x2700.png\"><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://substackcdn.com/image/fetch/$s_!NNCh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd5ee24-27f0-4d06-a987-e1c7247057d3_4800x2700.png\" alt=\"\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></a></p>\n<p>Figure 1: The basic motivation for this workflow is that papers are often less detailed these days, but a working reference implementation gives us something concrete to inspect.</p>\n<p>I should also say that this is mainly a workflow for open-weight models. It doesn’t really apply to models like ChatGPT, Claude, or Gemini, where the weights and details are proprietary.</p>\n<p>Also, this is intentionally a fairly manual process. You could automate parts of it. But if the goal is to learn how these architectures work, then doing a few of these by hand is, in my opinion, still one of the best exercises.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://substackcdn.com/image/fetch/$s_!evXx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06a1e90-e1bf-411f-964b-ce89852491a3_4168x1699.png\"><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://substackcdn.com/image/fetch/$s_!evXx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06a1e90-e1bf-411f-964b-ce89852491a3_4168x1699.png\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></a></p>\n<p>Figure 2: At a high level, the workflow goes from config files and code to architecture insights.</p>\n",
  "content_markdown": "Many people asked me over the past months to share my workflow for how I come up with the LLM architecture sketches and drawings in my articles, talks, and the [LLM-Gallery](https://sebastianraschka.com/llm-architecture-gallery/). So I thought it would be useful to document the process I usually follow.\n\nThe short version is that I usually start with the official technical reports, but these days, papers are often less detailed than they used to be, especially for most open-weight models from industry labs.\n\nThe good part is that if the weights are shared on the Hugging Face Model Hub and the model is supported in the Python [transformers](https://github.com/huggingface/transformers) library, we can usually inspect the config file and the reference implementation directly to get more information about the architecture details. And “working” code doesn’t lie.\n\n[![](https://substackcdn.com/image/fetch/$s_!NNCh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd5ee24-27f0-4d06-a987-e1c7247057d3_4800x2700.png \"\")](https://substackcdn.com/image/fetch/$s_!NNCh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfd5ee24-27f0-4d06-a987-e1c7247057d3_4800x2700.png)\n\nFigure 1: The basic motivation for this workflow is that papers are often less detailed these days, but a working reference implementation gives us something concrete to inspect.\n\nI should also say that this is mainly a workflow for open-weight models. It doesn’t really apply to models like ChatGPT, Claude, or Gemini, where the weights and details are proprietary.\n\nAlso, this is intentionally a fairly manual process. You could automate parts of it. But if the goal is to learn how these architectures work, then doing a few of these by hand is, in my opinion, still one of the best exercises.\n\n[![](https://substackcdn.com/image/fetch/$s_!evXx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06a1e90-e1bf-411f-964b-ce89852491a3_4168x1699.png)](https://substackcdn.com/image/fetch/$s_!evXx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc06a1e90-e1bf-411f-964b-ce89852491a3_4168x1699.png)\n\nFigure 2: At a high level, the workflow goes from config files and code to architecture insights.\n",
  "dateCreated": "2026-09-27T19:29:15.293681927+00:00",
  "date_created": "2026-04-18T11:24:36+00:00",
  "date_modified": "2026-04-18T11:24:36+00:00",
  "date_published": "2026-04-18T11:24:36+00:00",
  "description": "A learning-oriented workflow for understanding new open-weight model releases",
  "external_url": "https://magazine.sebastianraschka.com/p/workflow-for-understanding-llms",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/magazine-sebastianraschka-com/2026/04/2026-04-18-my-workflow-for-understanding-llm-architectures.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/magazine-sebastianraschka-com/2026/04/2026-04-18-my-workflow-for-understanding-llm-architectures.md"
  },
  "id": "urn:aggr:item:b12d52a86cdc648942c3fbfc3f979bb837213a9b",
  "isBasedOn": {
    "@id": "https://magazine.sebastianraschka.com/p/workflow-for-understanding-llms"
  },
  "mainEntity": {
    "@id": "https://magazine.sebastianraschka.com/p/workflow-for-understanding-llms",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/magazine-sebastianraschka-com/2026-04-18-my-workflow-for-understanding-llm-architectures/#webpage"
    },
    "author": [
      {
        "@type": "Person",
        "name": "Sebastian Raschka, PhD"
      }
    ],
    "dateModified": "2026-04-18T11:24:36+00:00",
    "datePublished": "2026-04-18T11:24:36+00:00",
    "headline": "My Workflow for Understanding LLM Architectures",
    "timeRequired": "PT2M",
    "url": "https://magazine.sebastianraschka.com/p/workflow-for-understanding-llms",
    "wordCount": 252
  },
  "name": "Archived snapshot: My Workflow for Understanding LLM Architectures",
  "preview": null,
  "reading_minutes": 2,
  "replicated_at": null,
  "source": "magazine-sebastianraschka-com",
  "source_name": "Ahead of AI",
  "summary": "A learning-oriented workflow for understanding new open-weight model releases",
  "tags": [],
  "temporalCoverage": "2026-09-27T19:29:15.293681927+00:00",
  "title": "My Workflow for Understanding LLM Architectures",
  "url": "https://aggr.aymericbeaumet.com/items/magazine-sebastianraschka-com/2026-04-18-my-workflow-for-understanding-llm-architectures/",
  "word_count": 252
}