{
  "title": "逐源阅读导航与验证边界",
  "upstream_commit": "cdbd33e6d57a71e20ea31434841095fac50cecd8",
  "counts": {
    "tracked_entries": 360,
    "regular_files": 359,
    "gitlinks": 1,
    "notebook_cells": 2875,
    "baseline_definition_occurrences": 2609,
    "supplementary_markdown_definition_occurrences": 4,
    "total_mapped_definition_occurrences": 2613
  },
  "boundaries": [
    "这是源码与正文位置的阅读索引，不是整仓执行覆盖率。具体实测、反例与未运行条件见各章及配套运行说明。",
    "重复实现按路径、单元编号、限定名称和行跨度计为独立出现次数；不是2613种独立算法。",
    "2875个单元包含代码和Markdown，不表示全部运行。四个额外定义来自ch07习题解答Notebook第8单元的Markdown代码示例，未计入原2609定义基线。",
    "reasoning-from-scratch仅作为gitlink延伸入口，映射31.3，未覆盖其独立仓库全树。",
    "原始源码URL用于溯源；配套运行只使用runtime_sources中的去除非运行内容副本。出版书正文和上游图片不在读者交付中。",
    "原始清点有两处不完整文档代码围栏无法解析：ch04/03_kv-cache/README.md的fence-5、pkg/llms_from_scratch/README.md的fence-0；文件用途仍有映射，不据此增加可执行定义计数。"
  ],
  "files": [
    {
      "source": ".github/ISSUE_TEMPLATE/ask-a-question.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/ISSUE_TEMPLATE/ask-a-question.md",
      "sha256": "62db99d8ef4aa173da0687308a6a951bb004a285263f40d1c603e828973049e1",
      "git_object": "e6c11d6249054de53c8a4eebab60e5ccb3e80e9d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": ".github/ISSUE_TEMPLATE/bug-report.yaml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/ISSUE_TEMPLATE/bug-report.yaml",
      "sha256": "5e05e8fd50e5a1b6901daeacde516ba8482ad6c70e5ce9a01ebf58472516db4e",
      "git_object": "bad659196876cb9ab1103a5aa256aa34d8f37aa3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/scripts/check_double_quotes.py",
      "sha256": "ef22727d8f0f4f0f97c7a91ab19f2002d13634bab44b30ee9d9fa1a99410c7d5",
      "git_object": "ef43ff1c6e5617f6115f99ce7ff87631f2a933e3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": ".github/scripts/check_links.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/scripts/check_links.py",
      "sha256": "3cb37317b0bba2e18d7085040f9dce35b1e2f705ec18c7a0331685a02c43f606",
      "git_object": "84405e4feef0af0013c46790a1410fb853b9ef1b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/scripts/test_check_links.py",
      "sha256": "eae1ddbfbf8a30175f003a8c733d5865d6dea4852e2da5214242eb1b66e3beaf",
      "git_object": "c725854091deec2af0019ce37cf8bb41a5df1095",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": ".github/workflows/basic-tests-latest-python.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-latest-python.yml",
      "sha256": "1051af6f37756793ca4ad9e79773119a64e58bc3d792bdade8bbec8d685fcc3b",
      "git_object": "555740535c40ae47ea003f9f68fdabcc744749f2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-linux-uv.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-linux-uv.yml",
      "sha256": "09b1b0637fab1fd0f0ca95be9627e676779c2d916d18c169dd8c744952bef1ed",
      "git_object": "f1b137d74b67f125ef944fc2d67be2ca93d4685b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-macos-uv.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-macos-uv.yml",
      "sha256": "dd52943860badd7333d20f7c95e4b3f1e5e26cb294821ccda6d12926bf8e7b1c",
      "git_object": "3cac9f049d95be75a2d57ab7f21c49c97b7330a4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-old-pytorch.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-old-pytorch.yml",
      "sha256": "91bca707e05769eaa7fd43caa47e6480ad8b907397131da95809845dca134b55",
      "git_object": "fec38842eb1f41a6f00d6971a7d424034575c3ab",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-pip.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-pip.yml",
      "sha256": "f0ac7e83dcbff15e13a08c718b9e85527477d89051bfe9665598cf5c13899765",
      "git_object": "28fa54fa162337087e4f2540148c5dcbfe7d431c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-pixi.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-pixi.yml",
      "sha256": "89193112d0291f56875f9518b6d97f344750fcc5747e2a3849ace4fd2e59137e",
      "git_object": "bb7de3474130fe56c7f9db9956f4c5867982d75d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-pytorch-rc.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-pytorch-rc.yml",
      "sha256": "f83d89d1039310950cc70f08e9ff71e02ff56cd6909889bd6d0a0ef24e2c1539",
      "git_object": "7b525f1310ea33abf6c8e911e257da1e63fa3a54",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-windows-uv-pip.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-windows-uv-pip.yml",
      "sha256": "49e9e2788f66f7eea5f3bf4881f47395d723eae6e30c562424b3cc56cb25a9e9",
      "git_object": "7d304e44d1e5c24b2b8497ea94148888af74884d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/basic-tests-windows-uv-pip.yml.disabled",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-windows-uv-pip.yml.disabled",
      "sha256": "87077e384f9527d44aa475a299fc5a37854584cee5e54852ee12e70a9dd12dac",
      "git_object": "4aa7bc58049c2c47e85f666c52bc6dac84c7f170",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": ".github/workflows/basic-tests-windows-uv.yml.disabled",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/basic-tests-windows-uv.yml.disabled",
      "sha256": "f3957368115503a60532908fb040a914cde8bc7d6936f1d3b762f398671f2fa4",
      "git_object": "d06ac8fa2b6208a4d64d1570df69d769c45456d1",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": ".github/workflows/check-links.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/check-links.yml",
      "sha256": "5282c9d2a4284bf586e3f9e084f96df01b6ea4f58e30f9fd55bb2da6010174d1",
      "git_object": "91507835dc95e77a1097936a4d805ed9401e5d50",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/check-spelling-errors.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/check-spelling-errors.yml",
      "sha256": "c09cb191512335d295a24411fce979614dba2b85ddf955889f2758e5373141df",
      "git_object": "5e6c2fd9c20b6dd4f8a05686a560bc4f3a3b6c95",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/pep8-linter.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/pep8-linter.yml",
      "sha256": "b5d7a92e4e61ad3977f885cc602b7d48125a2ad98631413746cf255084bda187",
      "git_object": "8596569a2294fc4fb7e30c8d30bd99316df3e1fe",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/required-checks.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/required-checks.yml",
      "sha256": "5e64a6614da608c7c73a91c006c7e6e26898fec6e14146565f0e663d70329380",
      "git_object": "d113ceaee5c298a9ac7b676001f2b5a8fb2b3ade",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".github/workflows/retry-required-checks.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.github/workflows/retry-required-checks.yml",
      "sha256": "e8417e58357e722559ce986984d3da8b115585e6dfcaf3b3ad0eeaefd211d395",
      "git_object": "8a9e93d066fbb89e38a39e973f98c58930327897",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": ".gitignore",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.gitignore",
      "sha256": "85b37dde917ccde8080dbffb86030818a10d23dddca5a959898ea485d54417b5",
      "git_object": "ef8a15893db6b287e77db00cb32c8c34954b6939",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Repository hygiene, not an algorithm"
    },
    {
      "source": ".gitmodules",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/.gitmodules",
      "sha256": "20781efbf9040944d0e626ce45f40c4f5a2d04e52047dd9756bd3eefcf8168c8",
      "git_object": "0334313fb6a8cee774b66c7ff1202ae74a7f460b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "CITATION.cff",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/CITATION.cff",
      "sha256": "1e29c458346562a51b8ea2d6078d4a6db9679dc94d348ad537b410a4edd09344",
      "git_object": "38fa8f21b904159b1c0ef23df94199a006aca465",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "LICENSE.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/LICENSE.txt",
      "sha256": "4b6615cdb446946fa1907e1d195e02130d6833fbd162e018b60dd39893fb231f",
      "git_object": "b5d8d0bc15d82220a0cedf7e4f757a33632f72ff",
      "mode": "100644",
      "locations": [
        {
          "document": "ATTRIBUTION_AND_LICENSE.md"
        },
        {
          "document": "front_matter.md"
        }
      ],
      "treatment": "Modified Apache terms; book and image exclusions"
    },
    {
      "source": "README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/README.md",
      "sha256": "7fe7c2073510b1e9a37e5b684d0cbd81389047404ee40da5f261e9f831c38acf",
      "git_object": "4703bc5afc86803540abd6cbc465d635aa3eb5e8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/01-task-boundaries.md",
          "section": "1.5"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.3"
        }
      ],
      "treatment": "Repository navigation and separate reasoning project boundary"
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "sha256": "381df839d5fedbef9dc21150267547ada8afd9d26b7a966c150578aa8ff5e892",
      "git_object": "8fe44b15d0389b48b287584b8efb250fc2dcc674",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/01_main-chapter-code/DDP-script.py",
      "sha256": "6ed5f717d49a9242c172d61484f7fe4c829d4207825aecbbf5c3c2346af530ab",
      "git_object": "9350466c0f9734b46e8d9055fa086228ec8a3e01",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "appendix-A/01_main-chapter-code/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/01_main-chapter-code/README.md",
      "sha256": "1eb1d7ddf169edde5ac65c771c2271b4b82855dfb93e513e3af111b3fe05b5ba",
      "git_object": "2a6787e631e86d61222c110bfd4dca1eea35aa1f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/01_main-chapter-code/code-part1.ipynb",
      "sha256": "ad90ecf3ec5c4c5c78728481cf9caf79fc710dda6258b005a5e2e99930292d2c",
      "git_object": "ac00d3b3bdace432e37247e9080e5da6f41f8963",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.2"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.3"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/01_main-chapter-code/code-part2.ipynb",
      "sha256": "80ec61fa6aca6bf522863303830324c47264aab6004bab5786599750b644f8d2",
      "git_object": "870fb772ab2922d22d774d2da8f2c4e1e42bf17a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "sha256": "c2b1558834167c6a4ba48ba6414851bfc8581c1e3de4668fb452cfc34c5561d1",
      "git_object": "72b06f5e2e369a324ba1eadb17b1cea0e456e484",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "appendix-A/02_setup-recommendations/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/02_setup-recommendations/README.md",
      "sha256": "2d4dc4f2ecfb7959403580f1ba860b7235f973c3d438c2545b3cf12dfddeee06",
      "git_object": "54736a01263b3131e1ad3693e21e1a531aee60b4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "appendix-A/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-A/README.md",
      "sha256": "99e4804a93b75e63f4a3010bf398d2264977e81231a383955d8b33d00b8cdbeb",
      "git_object": "75db721910c615418b893f1a8c986dddc33da213",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "appendix-B/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-B/README.md",
      "sha256": "841c73f45cc260fefac622ed11c576db3c66073565a8c1f786b440f53724e811",
      "git_object": "e9a237bd3987799493250c605f4d7ae6fed5bb0f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.3"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "appendix-C/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-C/README.md",
      "sha256": "043ad2026cc9235e2248061961d00615527ffca710692bcc49958232a8e3a0ef",
      "git_object": "3476deb6b70119032af6c0f526941ee89bb2fd02",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.3"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "sha256": "da6693c89fdd51479ed383e890ebfb199eda97ee94c80268c86e03e3c0db2bd3",
      "git_object": "e1177f0f46692c854ca2e8a8029137f173314f47",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-D/01_main-chapter-code/previous_chapters.py",
      "sha256": "887ccae0e13ef98df2540f810cdea4ea294c1761cd19e548ebff19a0cd5bb485",
      "git_object": "38b062f0767e027c8372c6293cdf12ed4f34223c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "appendix-D/01_main-chapter-code/the-verdict.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-D/01_main-chapter-code/the-verdict.txt",
      "sha256": "b41e41a68f0398a3154ae69e2e4c0e2694e17fe0d66730536837f1b01935b31f",
      "git_object": "6b651c7cdfa3ebb7d7e9bfbd1420f6d220d47bc8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.1"
        }
      ],
      "treatment": "supporting_data_described"
    },
    {
      "source": "appendix-D/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-D/README.md",
      "sha256": "c2f23fea0a7bdeeefc9496b923419f568ed52f26db6b620978b3fecb30305fba",
      "git_object": "1610e060feb74841589186f50092f3b7a850533c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "sha256": "9dc10f802935650346aab967fb6cf6625f9071a4107f82060718f7d8534a2d98",
      "git_object": "aaae15275d0013e795b5c98c9c2962ad5fc2e668",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "appendix-E/01_main-chapter-code/gpt_download.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-E/01_main-chapter-code/gpt_download.py",
      "sha256": "3d6af9dc9c763a2bed0354f52e418cbe6fd34cfa0746e3ba47d813a6302b3e37",
      "git_object": "a4ad38835acf29800b71d138045ed989bc7798b6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-E/01_main-chapter-code/previous_chapters.py",
      "sha256": "fd42d8e3e98859a4421dbc23c3f8127e389c44e0689e4b012d6e66446248bdfd",
      "git_object": "2a3022f2e4d18aac4aab7951847c93892e18b366",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "appendix-E/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/appendix-E/README.md",
      "sha256": "0b481b3c8e670e86514e078b4c3d9b0bd8a82ea41bcdc99ab08a4ca10e1e5a08",
      "git_object": "a07d712701983b5e015b5b317339c00e508050f1",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch01/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch01/README.md",
      "sha256": "5516a7a380d5ca614d6f05fa5caaad32419e75fa3a03c7a7e2fd0a77c443651f",
      "git_object": "ac3b776d8cff7fedbeb969db08ffcb29ec337d4c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/01-task-boundaries.md",
          "section": "1.1"
        },
        {
          "chapter": "chapters/01-task-boundaries.md",
          "section": "1.5"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch01/reading-recommendations.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch01/reading-recommendations.md",
      "sha256": "49bcd6718597dc8124dea80a5eb10c40d3fc502c0920defb13157a49760a3f3f",
      "git_object": "5bb0ea8d6470f0aabe75b4f80b7a635750eee126",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/01-task-boundaries.md",
          "section": "1.1"
        },
        {
          "chapter": "chapters/01-task-boundaries.md",
          "section": "1.5"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/01_main-chapter-code/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/01_main-chapter-code/README.md",
      "sha256": "213ca9b20d89b2ed71e572f232017dd47810737e43d551e8f3c7cf26f1cdce73",
      "git_object": "81c31c5822e214e77fc9e08c8d116437b57d8df6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/01_main-chapter-code/ch02.ipynb",
      "sha256": "18ea03ace9732bd0d0a2420418b8c8f1ae474ca20667d7fe54e9affff981f54f",
      "git_object": "53241d116966f19c8ab23a3a905a551496be4db1",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/01_main-chapter-code/dataloader.ipynb",
      "sha256": "cb287e3f29d553ce4c89c676ffee520e557a41664295e99ad16cf783f30476c6",
      "git_object": "62b62f0998d1d55cf89204bebc4c71169df86027",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "sha256": "28c06aa48c1d9b34cdca53fc871fff7064143fa67d92f71398e21cb2e6ef280c",
      "git_object": "be23260d2f77353ca8c92cb58e12a04436f1a665",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/01_main-chapter-code/the-verdict.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/01_main-chapter-code/the-verdict.txt",
      "sha256": "b41e41a68f0398a3154ae69e2e4c0e2694e17fe0d66730536837f1b01935b31f",
      "git_object": "6b651c7cdfa3ebb7d7e9bfbd1420f6d220d47bc8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.1"
        }
      ],
      "treatment": "supporting_data_described"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/02_bonus_bytepair-encoder/README.md",
      "sha256": "45f0034b9db00e09af787c5397be26fed385deb53a3bbf8b05e879dd41d80329",
      "git_object": "30a194610c4794f9feb12f4eca2930ddcd5f84b3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "sha256": "68b3b0621aa3af5379cc1c619c755a70778593b87610fb157076fc4fee09aa9e",
      "git_object": "db1197835f853364011b4ec6f1897b4322f3ef81",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "sha256": "735fe1859212e019a29b2c598594556f229f3fedfda65aea0a52e3252171753c",
      "git_object": "bd42bb1f02562ae950db077078578c4fb841ecfa",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/gpt2_model/encoder.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/02_bonus_bytepair-encoder/gpt2_model/encoder.json",
      "sha256": "196139668be63f3b5d6574427317ae82f612a97c5d1cdaf36ed2256dbf636783",
      "git_object": "1f1d9aaca301414e7f6c9396df506798ff4eb9a6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "supporting_data_described"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/gpt2_model/vocab.bpe",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/02_bonus_bytepair-encoder/gpt2_model/vocab.bpe",
      "sha256": "1ce1664773c50f3e0cc8842619a93edc4624525b728b188a9e0be33b7726adc5",
      "git_object": "226b0752cac7789c48f0cb3ec53eda48b7be36cc",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "supporting_data_described"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/02_bonus_bytepair-encoder/requirements-extra.txt",
      "sha256": "9d91dab2067746e1f1409c5031419a9c3d16fe7cd2783cdba628cf15d1784712",
      "git_object": "cd1a94c09c6dd80d0f043467e88f82217b24e7a5",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "dependency_metadata_described"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/03_bonus_embedding-vs-matmul/README.md",
      "sha256": "faac481cd14de119c823c63b4286a85b2bfd79bee31e6bb8878439be019be166",
      "git_object": "a1f67efab4f7d2436a083057858390d3be3a4568",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "sha256": "07e126016c69de52f09d4efe48c503b80a4f1d8490b2a199eca37b4df4d3c54d",
      "git_object": "21d536b7892eee270e33fbc6c42af673fb1ec151",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/04_bonus_dataloader-intuition/README.md",
      "sha256": "debd973e166c8881e24f6caa5f20a6176980203023fe0b8e884275ff8a477e2e",
      "git_object": "54ea897674215037f25cf2cd5783e05e9fc51254",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "sha256": "1193189fa933ce7f2da6cc7ced3429ae5d98a0caf54bf0bc1e2225d581f61ee3",
      "git_object": "75c84d44bf0d5edeb89ce24881c5907bbcf67f7a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/05_bpe-from-scratch/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/05_bpe-from-scratch/README.md",
      "sha256": "ecaf563a57bce450cb404f39e969e52ff555f4f51b8396ba7ed6c41ed32f4052",
      "git_object": "cddf59886769dd708462127b96779d993cf9a5e8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "sha256": "d2527d3954a427ae9e480165e526be86d97ce837330c9391a5a12ff9e50409fa",
      "git_object": "eede14334f8a55165a291c6b5f1e6c829f23acd8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "sha256": "91989dbd2b4d4fb10b86ac4d7b3a61a341d9986ece6087824da5603330b9cceb",
      "git_object": "55855dcefd8f925099c96305f6c09fc2959315cb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/05_bpe-from-scratch/tests.py",
      "sha256": "ea0e0a9893992a909de5a39f9e8f6149d6f290233eb0d1ee29571acf6f537ab5",
      "git_object": "cea966a5df1d160af8ac9b4ee7a9a42624188dff",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/06_bonus_simple-tokenizer-v3/README.md",
      "sha256": "627174b5cb23fd6b5c759c4b49a96d08c835aa518d945fe2eda56069fe670bd1",
      "git_object": "08564c130dacb2fefd8fbd9b8245cfa93c2c6082",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "sha256": "8c146510298eeebe7378e7745bb2c1c27edaa39f0722919672163f0285e4923a",
      "git_object": "d918b3e44f2514ca007b0c58a702527b11802e17",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch02/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch02/README.md",
      "sha256": "e1b8fa5302101ccede0eb19b596e46945391e59fde66297d1cfb920fd28a977b",
      "git_object": "8b64e2547b4adc57665f52c39c70b71bbcdf4f89",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch03/01_main-chapter-code/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/01_main-chapter-code/README.md",
      "sha256": "341ae0ba17f0ce01f4bc66f62e8a40f339f465a18cfc4c98c0b3fe3e08b29e26",
      "git_object": "5ead310d537a4575a32690998f4cc1dfd585f4a2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/01_main-chapter-code/ch03.ipynb",
      "sha256": "b44554e5565a9add60427c4445e532f34d48eb9415cf4fa8da9eea9dae89d876",
      "git_object": "983bbe62c1061ae5200bc2a9fc0f7db827d1dc35",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "sha256": "dd38dfa01069040be7468dba6d01a8dfdfc7da007dbb4b50ad64118496062288",
      "git_object": "6aa7b7ca0840f5acfe67078c974b130008c2e3cc",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/01_main-chapter-code/multihead-attention.ipynb",
      "sha256": "7e2d8c854bebeceb2dde4dc9be920dbe26a9fa3166c6e071a5170059a961e9b8",
      "git_object": "b58ee71132ecf04a85512c2093322f7d0eabf0d4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch03/01_main-chapter-code/small-text-sample.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/01_main-chapter-code/small-text-sample.txt",
      "sha256": "53097adce031851aed63c9eb44b1e74a5e8581ccaba118a97ce5ce6cc84b811b",
      "git_object": "8f313354084f1d095cf471174d97a67415df7c94",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "supporting_data_described"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/02_bonus_efficient-multihead-attention/README.md",
      "sha256": "24fdbe3e796dec4132978d6dac5fd04980b82aa77e4e28072e3f04682bc2b33c",
      "git_object": "a318caa36c4d1eb6d4c872e7a5e084d970079c0c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "sha256": "271d9f881636c4c8444737879b20120dd32bbe75aab2146534ddc7bf2395f5ce",
      "git_object": "9a5d54b957daac47927591761cee9bec91b1d2b1",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/tests/test_mha_implementations.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/02_bonus_efficient-multihead-attention/tests/test_mha_implementations.py",
      "sha256": "0efa45b152daae57d40fdcdd675410f249be092a9aa7088a146e361f71ad2e8b",
      "git_object": "083da8819822ee872161d96f3b20b4284e4434f8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch03/03_understanding-buffers/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/03_understanding-buffers/README.md",
      "sha256": "5d92cf9d401d30a6e39754ee2bf74eb5944ee23d9305c4ee8bc9262f0ae0b0a3",
      "git_object": "9a276c3fe3d7f0808e3dbc084d563ab47072105a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "sha256": "0875c541d114326bd8d8d2f8b3ccc3d63f63dce754fdb9736c0cf4cd30894cd0",
      "git_object": "de06dc69194af8b0854a09f43918b089a2f48712",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch03/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch03/README.md",
      "sha256": "fd62abd53b762edbf116a83be531ebd984728261bc65ee8205be50754418c8ff",
      "git_object": "281c69dd41510722067a3d21a3036d65493319bd",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ],
      "treatment": "Attention chapter navigation"
    },
    {
      "source": "ch04/01_main-chapter-code/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/01_main-chapter-code/README.md",
      "sha256": "655cce313c05e0c23a5822c7e6e45e8e8d7ccf21efbab01d24d9c04fdefa92fd",
      "git_object": "62252b95831226af8d1a6cf71784c444573dd57c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.8"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/01_main-chapter-code/ch04.ipynb",
      "sha256": "2d4df51ffc366bdc18efc6a1eca1c154f21016b30739d5eae5600a9b84e0a16a",
      "git_object": "28ac9ac393d7f30ed1cd4e6155f0d964db962a38",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.10"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "sha256": "d604ceba9811036ddb2d72070ad56c5a599e191c3067ee976a1dda0ff932e51b",
      "git_object": "fad48ba1ba7ec67a80dd6de1dda66604ea9265b5",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/01_main-chapter-code/gpt.py",
      "sha256": "223e66b4af158a7692a028cfb1cd0052598932abd7754fbf4bc60d9268814e11",
      "git_object": "85e37361e911bc98624f0c02f360617bde68b91b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.8"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/01_main-chapter-code/previous_chapters.py",
      "sha256": "d8cd738356e7ec74b53bc72bba5bdfae2761fb92ea2fcfa49c93e1acb931eecb",
      "git_object": "716e7f85d7d51921650ff5ad50471d7ed6208643",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/01_main-chapter-code/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/01_main-chapter-code/tests.py",
      "sha256": "b92cb3b795f1c46286169a12a0b0e358fae5215cb1efa52f7f41fe69c24a5c28",
      "git_object": "6448ef2f519db2586a6b66ca79f71c5f4188810a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/02_performance-analysis/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/02_performance-analysis/README.md",
      "sha256": "3cf2d9fa5d0512e8b5000292ad2fece4c4efcf128503e91b1526d31c9b5887ae",
      "git_object": "a741ac89bd3a255759dac381cb0a53ef398aef3c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.2"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.3"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.6"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/02_performance-analysis/flops-analysis.ipynb",
      "sha256": "56e7ab5bcc5b0dd30866212290bf5d583a32c10eccc530db9e3101430aeea957",
      "git_object": "71e3a54652994fdbf4b5988392f6dd71a04c58f0",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.6"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/02_performance-analysis/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/02_performance-analysis/requirements-extra.txt",
      "sha256": "558b21669dcf934735eb3c0efb948f7161014a8e8aa81f7a5c5ed3745247ddac",
      "git_object": "dc842168edfae0cee7748a889d0a3486580ef475",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.2"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.3"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.6"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "dependency_metadata_described"
    },
    {
      "source": "ch04/03_kv-cache/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/03_kv-cache/README.md",
      "sha256": "49bf6b84fc0dfb7a573d5e8133b25ac18c720bf623027532f13247e222767de8",
      "git_object": "1ee9044b16dd5c00258ad9366f14db3746c0531f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/03_kv-cache/gpt_ch04.py",
      "sha256": "810aa21d66f68626d45f3a3ca9219d1db07a3e6e73c966705cbf268bc0b24ca4",
      "git_object": "9a7dd6bd425fb21804429ba57fff6dc2c245d3f9",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/03_kv-cache/gpt_with_kv_cache.py",
      "sha256": "8d5d21622cedb5f27fa7a2f575e5d5d71b559c8bbbdd43e1948dad4471a96b54",
      "git_object": "685feda80b41ddb2d77a0e5459506330b0e38fc1",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "sha256": "2bab99c24c80c385223afa7a7051036cffeb85a046b658746f89cd11cd3966d4",
      "git_object": "c39db5eb83ade75f70ae5259665f9a287c9ee937",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/03_kv-cache/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/03_kv-cache/tests.py",
      "sha256": "e74747dc7f7048f2664f93207c883b0f048a16a9171fb519a8ebf7126b6f6ded",
      "git_object": "d2452b5036e641c06fa2594dfa29790c4551c6a5",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch04/04_gqa/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/04_gqa/README.md",
      "sha256": "87425195f5b6d8dc8f76214168a153a12e07526e739183b544ad1c7b81377f02",
      "git_object": "98a005cff0deb281d33d8d261542fef67adb00f9",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/04_gqa/gpt_with_kv_gqa.py",
      "sha256": "d3e2bbce0d5c3bda77e965ecff4e827554a79f5d6afe9fb7817085fc1a2b53e7",
      "git_object": "df6b8edfd7aba6ba7916a55f6b569012e434b758",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/04_gqa/gpt_with_kv_mha.py",
      "sha256": "a01b6fa4f7721af33d957bd05185c20c6976740777c2dbe7b440ac46658a6f6a",
      "git_object": "57796c8f7be7f8c8804b348bd9dcf7060fee2118",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/04_gqa/memory_estimator_gqa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/04_gqa/memory_estimator_gqa.py",
      "sha256": "955289d2ed4f2810e6ca6078090945159d3fae5e06685031a4cd1e9eb7594ab5",
      "git_object": "c3cc5923e1628c73733c1ecedb34ce50dbb155ec",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/04_gqa/plot_memory_estimates_gqa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/04_gqa/plot_memory_estimates_gqa.py",
      "sha256": "77706acf889eeb4b28fc1f5549037310ad3d73e01be579c96a1ba622cdcc298d",
      "git_object": "53b8a944159037d7f4e70f1fad468551a51c09bb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/05_mla/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/05_mla/README.md",
      "sha256": "ac43479cfe7b59bfdb76d212ce81c958bf7ab9b4c846b78e83eaf04a2128836e",
      "git_object": "22e961f1d9154a47917b1ea318605cc77ac39612",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/05_mla/gpt_with_kv_mha.py",
      "sha256": "02b9affefde6d76b97a2b66cc3611c0b0686d1a03060c7ee48bfc05104117a4e",
      "git_object": "ee62ee07cf8f413156e62ca2fb686ce797a4dfb3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/05_mla/gpt_with_kv_mla.py",
      "sha256": "7aa1ebbeeceb45c80f7666b82433839a431816cd8ab0d3cfae2d9bb31d38e246",
      "git_object": "04045c2bad921197ec64aa046fd8ba26b161efe2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/05_mla/memory_estimator_mla.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/05_mla/memory_estimator_mla.py",
      "sha256": "4817cfaf2714202a8cd59347d431de0948bf5da0f6d167cf2c117a26bacd321b",
      "git_object": "61ba99bf82a99ae4836f87672dddf6b30fbb00ea",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/05_mla/plot_memory_estimates_mla.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/05_mla/plot_memory_estimates_mla.py",
      "sha256": "b034acbeeece8641490b320f390dcba300c7611c6d3bb83731bb400b46948a0d",
      "git_object": "11205190c5db84f4c953bbf341e7fee454cfdcfb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/06_swa/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/06_swa/README.md",
      "sha256": "46f455ffb1a62c051846337b633ad37b8f667168d94ffe76eb8514c9d14b6903",
      "git_object": "b63551c8dac288a7a1f474b70b301c7d5b3d3299",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/06_swa/gpt_with_kv_mha.py",
      "sha256": "a01b6fa4f7721af33d957bd05185c20c6976740777c2dbe7b440ac46658a6f6a",
      "git_object": "57796c8f7be7f8c8804b348bd9dcf7060fee2118",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/06_swa/gpt_with_kv_swa.py",
      "sha256": "7af71c2d558e5ccec29e12fb5b56a7d2f5956ba81365e598a3b0795b2310e43d",
      "git_object": "4f00a8a52bbf0086fed44c6b4af0e24e35f9fe5a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/06_swa/memory_estimator_swa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/06_swa/memory_estimator_swa.py",
      "sha256": "da47347545252a0a4064902f19fd408c4056773c884198a21c7556bf4774a3b6",
      "git_object": "20b91341116d7f062b8e8a27b94bbce0f0e92e2f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/06_swa/plot_memory_estimates_swa.py",
      "sha256": "6ff408de2a2bf2bb0258444b47c8cfbd6ebf45f6c054e12f4c0edaab8e1466c0",
      "git_object": "ed66c366b963b599831597c65e1de01811c4d388",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/06_swa/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/06_swa/tests.py",
      "sha256": "c0c64ff38cbd7900e3012a79dffe85a1650b59196ad19b38e50df269e5fa0854",
      "git_object": "0ce30da1f6b68c7f32a2a8978f1c90a3422edd5d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/07_moe/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/07_moe/README.md",
      "sha256": "a29a9558e29e46dab774e36c4c4ea2994ea738f0e2ff249e4b2d5625adf84b2e",
      "git_object": "8f9db812e4bc68447d6c556f7fac5fb295ad2735",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/07_moe/gpt_with_kv_ffn.py",
      "sha256": "2e425081ff4fe19b2e190aaab3e4396a6dadbace5f225fc8d18225df551f2da7",
      "git_object": "2913d5aa1e0c44dee8e65ef4f4cd6f3f2bfd2cc8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/07_moe/gpt_with_kv_moe.py",
      "sha256": "c9d92f61827813bf2a70baa3cc17ca157db98c5690c5d80d2b7d31daaea41f58",
      "git_object": "de2ab26b7b5d6ec589396b8dfc0ee97f4c335d71",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/07_moe/memory_estimator_moe.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/07_moe/memory_estimator_moe.py",
      "sha256": "1a23bd82274d04084c5bc000fa0b64eaf455986092985fa777d7e6edab7ad6d8",
      "git_object": "a5522a56051423b06a8e031d3e86d09a23af6c27",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/07_moe/plot_memory_estimates_moe.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/07_moe/plot_memory_estimates_moe.py",
      "sha256": "64a5667997dab57090540b01b671e882b53807a90ccf41f6dca009ae80949349",
      "git_object": "4c8383d150b512be7f04430df214b4f9116e25b2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/08_deltanet/README.md",
      "sha256": "1d66ce6c8068044012a8fcb7198657cacfe39105ccb2a37a7f42dfc0da3172d3",
      "git_object": "edb5c8b72c9613215c69923f8df52aa0084fdc12",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.2"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.4"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/08_deltanet/plot_memory_estimates_gated_deltanet.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/08_deltanet/plot_memory_estimates_gated_deltanet.py",
      "sha256": "02ce7efb62e60754a30fd65927da8bc74620af1415bcbeda471d81d2c07f1007",
      "git_object": "8e340de33d86cb833204753a66032556ca113bd4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/09_dsa/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/09_dsa/README.md",
      "sha256": "19fb3886f277be349c6a856a6c75a4d0b0ee0c0f464ea84158a4689f8b75c948",
      "git_object": "8cc9c7a85ca8cd8e03d5506c498dda4014ad501a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/09_dsa/gpt_with_kv_dsa.py",
      "sha256": "fa80b624587472630a53aa80a1aa98143a2ba2d09ffd478fa06f218be32b09ba",
      "git_object": "7b001332e1693766ec8fa8665cad42181f41b619",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/09_dsa/test_dsa.py",
      "sha256": "5382204f3421a42f7977d3f9388beb22ea60bbeb678b0ff15334d05243dcca8d",
      "git_object": "cd59469eec3921a26a79faba760b168d4c067760",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/10_kv-sharing/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/README.md",
      "sha256": "e6750a4810d5b5112dcee8ebb6fc1dad36b76e12233fd2fa0dd20dbdfb22fe05",
      "git_object": "5ebc5b4cec3104d986c8835fc0def3a9f9945935",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/10_kv-sharing/gemma4-kv-sharing.webp",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/gemma4-kv-sharing.webp",
      "sha256": "7cc67f7c06c3ac5a57d350e6a68784706506adba3473997d587ecde7b5c5def7",
      "git_object": "4828bdbadb1abea714c39931bb800bc34fab5510",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ],
      "treatment": "excluded_original_image_replaced_by_original_figure"
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "sha256": "a0dd1ce8603569fd3db62c420398e09898daf236dd8345a0ea163bbf3a629d1a",
      "git_object": "5c242c4c74a02abe2d0de7f651751dfcd5d1e495",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "sha256": "509386dce83566b539a5d5b4b7e5f2016b8958e7be5ff92ec8ae5389cfa6b891",
      "git_object": "ffe388bd24192a7cc8d7fd5a6ff805e5311fe239",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/10_kv-sharing/kv_memory_mha_gqa_kvsharing_gemma4_e2b.webp",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/kv_memory_mha_gqa_kvsharing_gemma4_e2b.webp",
      "sha256": "c990bfd21efb4c026cb514193bec85592873ebd3f03ce1b753e1c528eb8a53cf",
      "git_object": "383698506deeef767aacb2d8faa73a727f526e28",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ],
      "treatment": "excluded_original_image_replaced_by_original_figure"
    },
    {
      "source": "ch04/10_kv-sharing/kv_memory_mha_gqa_kvsharing_gemma4_e4b.webp",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/kv_memory_mha_gqa_kvsharing_gemma4_e4b.webp",
      "sha256": "a0f4e933152e6892443a9cd3304957296355bf136fdbee2ebd33b5c0efe7a503",
      "git_object": "eaaafc616b8ae0b060eb411eb0f630ada7dcd028",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ],
      "treatment": "excluded_original_image_replaced_by_original_figure"
    },
    {
      "source": "ch04/10_kv-sharing/memory_estimator_kv_sharing.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/memory_estimator_kv_sharing.py",
      "sha256": "619005d058a9afc04abc6550ccef37fc920468354bfe3071d08f414362fbbb7d",
      "git_object": "a2f92f51279b1e768e808756e2300e2863e8e377",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "sha256": "095aea7d3a3664b38894f7a175dddf43b8385683903e061b727ae6ca7b55c9aa",
      "git_object": "e58d9284af6bd078d504132dc5fa0ebda0eefea2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/10_kv-sharing/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/10_kv-sharing/tests.py",
      "sha256": "bb9dfb34b7b7f34a77155740e6cf62f4489dd9fb266ca9e3df2aa50571bffbf5",
      "git_object": "cf04ae53198eba1502c023f7e265b04935fc7f75",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch04/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch04/README.md",
      "sha256": "b591708a6c84b76c5947a350471b0cca478487c96455bcd2eb44a3037129bb97",
      "git_object": "d8457e43f9384af9dc12795e59a8b4791778f022",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        }
      ],
      "treatment": "GPT chapter navigation"
    },
    {
      "source": "ch05/01_main-chapter-code/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/README.md",
      "sha256": "6c80d7570c325f610105db09971bf91d267d57feded14f8bc999bbab00280e5a",
      "git_object": "b069d74280aca6fe4c08e33e8ac49ef8235c257c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.3"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/ch05.ipynb",
      "sha256": "1928d1af118fff917d4d0ca9e686985d5787ebf56bcc245a279b7860665af093",
      "git_object": "901acbfbd5b78297aa1b1492b6b32dbb2ce9986f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.3"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.9"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "sha256": "35fb201e722b5a8b41a8a9abaa3d1c7871d0e14b360fcd59b9a36b1e6013314e",
      "git_object": "c831dde0096de7cedb81395958ffd1155d520fa7",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_download.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/gpt_download.py",
      "sha256": "3e2e95f7c3bf188e16e33e23fc9f0b1d285da55931f15fe12174d32cf10ec076",
      "git_object": "51d9c4bc458c8831a87c2da54b54226d130e6af7",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/gpt_generate.py",
      "sha256": "c3bbfe9463f81cc65962c561d9b2bc9b9af11f623d13df1a9c0ef608a507ed7b",
      "git_object": "5ad024f498cb966af9cf0f28eb50604ff25e9bfb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/gpt_train.py",
      "sha256": "54623631dd9e9d50f7be63df4fd83220431815e3001f6b7b8750b2b03984ec59",
      "git_object": "3cc1085cb5b05eebfdb7044ce464324aff68e0d2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/previous_chapters.py",
      "sha256": "d611a73cb4e6eaeb8f46e18e9bcdb56d3b9d24f5db037300c73ac23973ec7e6f",
      "git_object": "c599d16f477268d1e728267da47c93b7fbb91e73",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/01_main-chapter-code/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/01_main-chapter-code/tests.py",
      "sha256": "cb44604fc4e61cddbb1aaf4f20454d30c1b168b18358318cb66a4de5942c7e79",
      "git_object": "7fe7607ecd71b701822ff0709dc8c68ae10bc4d8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/02_alternative_weight_loading/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/02_alternative_weight_loading/README.md",
      "sha256": "f4c226ff169e33c71e80d87baebbaa79002e6ea43a58607408a45c3480ad041c",
      "git_object": "1d251d3485dda2278d6ebbc0dc64727fe7fb18a3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "sha256": "f1098c45d8f1ce2c5973d1a4c75ba5d2b0f6721dda6c42977033b80afe4026b1",
      "git_object": "05087892bcd9e78677eebe1112c116cb4696af03",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "sha256": "c044f3f306c3851e9cbdffb0984b9020eae75aa699b3101606b4dc2f97bbeaf3",
      "git_object": "c03f62ef8326d225c2d13a1f67f280b6435dd1ae",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "sha256": "a61140e9ccad0ce626bb71ab853aed7575e28b25abb6af82824f75607875c93f",
      "git_object": "fe80c1f7891e100f7e61d294410b7db4220ae48f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/03_bonus_pretraining_on_gutenberg/README.md",
      "sha256": "df0629abf5580bdc1b29563b9232bbaf93d94ec6a968e66db7319f6b696132df",
      "git_object": "cb11d9245ed8ee73687fba8d1acd47669615eadf",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.1"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.2"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.3"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.4"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.5"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.6"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.7"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.8"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/prepare_dataset.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/03_bonus_pretraining_on_gutenberg/prepare_dataset.py",
      "sha256": "15153dc30fca2a0bbf534ffa70353cea9eb1ed4c9304cfbc2496c7f86b3a7675",
      "git_object": "59203606e337c1a855c83108a56e48780e7af023",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.1"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.2"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.3"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/pretraining_simple.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/03_bonus_pretraining_on_gutenberg/pretraining_simple.py",
      "sha256": "0b9d1bbb5c9eb31c65fc3e533b49410af31deb4767312f37fe1185b181c511bb",
      "git_object": "287090b54923174b8d439afdcd29841e8a9da7d8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.5"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.6"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.7"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/03_bonus_pretraining_on_gutenberg/tests.py",
      "sha256": "e4e8098be444f5ec07bd0e53f4a976210c3a2dfd958bf32d8d03fbaaf58e4dc8",
      "git_object": "2a9f80adbd206f795edcb80c1992e2a28fa46173",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/04_learning_rate_schedulers/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/04_learning_rate_schedulers/README.md",
      "sha256": "9c8dabd2eb0fd805ba2f1e0bfb958b10b0456dd12d335025da3235d99dcbfda6",
      "git_object": "af310da59600e737b4f96d4b34dcdf1a00390ab4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/05_bonus_hparam_tuning/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/05_bonus_hparam_tuning/README.md",
      "sha256": "7e6d7596ceb3804100047a546c23ad7c9e36cc577c93460bdba7683034b6f110",
      "git_object": "ed35a1ff9d027b8ab69c1ec27b91c59b25519e19",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/05_bonus_hparam_tuning/hparam_search.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/05_bonus_hparam_tuning/hparam_search.py",
      "sha256": "feea8602c81394cf474fbdcfedf867e0d5287de7d72381f70315d2b2829ad766",
      "git_object": "7e1a7992c0cbf896666c175bb4fb76d332d31a6a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/05_bonus_hparam_tuning/the-verdict.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/05_bonus_hparam_tuning/the-verdict.txt",
      "sha256": "b41e41a68f0398a3154ae69e2e4c0e2694e17fe0d66730536837f1b01935b31f",
      "git_object": "6b651c7cdfa3ebb7d7e9bfbd1420f6d220d47bc8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.1"
        }
      ],
      "treatment": "supporting_data_described"
    },
    {
      "source": "ch05/06_user_interface/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/06_user_interface/README.md",
      "sha256": "821a1479d2343498b9b141e418e0af13f7169d77244ce81fae3e0264c81319eb",
      "git_object": "73e8052d9b54514b2ee1f26d1afb0da5ff7d7c4f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch05/06_user_interface/app_orig.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/06_user_interface/app_orig.py",
      "sha256": "f62acb363c9fa4fa5bf448584e0927ed82bf306cda503493f477c17b39089a5d",
      "git_object": "c36ab2bf4fcd7c77acf9bf0dd3599d25d2925283",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch05/06_user_interface/app_own.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/06_user_interface/app_own.py",
      "sha256": "66bcaf339228e9b2a03576811513a9f82b30077ea8c4e24c12593ab0653b7934",
      "git_object": "a341b53c87237d2c4223506869dbe53df19ebb30",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch05/06_user_interface/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/06_user_interface/requirements-extra.txt",
      "sha256": "7f521b4f81c3cb676130f6db2a77b412e020586ea22b6e49190d77b1b1c448a2",
      "git_object": "4e6a2e7e055c051325d9db51b30594b9ca12ed1c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch05/07_gpt_to_llama/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/README.md",
      "sha256": "51e2ebfc51180eec2d6d65bedf7b540f2c81a9281c751db94f588303436c60d8",
      "git_object": "2421c5d4d985aac377b325f26255ecee840d747b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/config.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/config.json",
      "sha256": "87933181423c4bc08a8fda35fc5d592344d9adb5801680d3e26101239fc0022d",
      "git_object": "3aca4f82c4492e1f85a59b7af12f278e1dcd93db",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "sha256": "b03c639a8277d310d3dfccc2dccfcbfcb66669c8d7b8184b7f0d291e6e81ada6",
      "git_object": "d5dd3e9c9ea0698a9b7b5c70f75d53084c6cce77",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "sha256": "d2dfecf9c7c67f29bc7d326d47155c8beb69eecf8457b354ca75c82a86a04d36",
      "git_object": "c627ad893c170837f831f6aad065caee1eee293f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/previous_chapters.py",
      "sha256": "1fd4087ea6a9e820088edaf666ff157ed708f17ae35d841c4ef598f91999f7cf",
      "git_object": "787540b2d042bfb6d2a74319e150dab703e22524",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/requirements-extra.txt",
      "sha256": "9ae66c801af247365d66271405e871abb9d0a89f7bbc5212cc5f9297832b0df9",
      "git_object": "977a63467e7c215b0d061da8bf6babbe9bdae89b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "sha256": "3610359a446b979bb679daa0238512d231e62972f7ebe0f51000bac7b6d373c1",
      "git_object": "d10a5406a23841406e1f3aa8a183918be1811eb9",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/test-requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/tests/test-requirements-extra.txt",
      "sha256": "e064341b9e4fdaa5b6923e54d39ab315afc02c5edff92a1b046e917908f06cfc",
      "git_object": "4f42329052e84a0b55eb58ce11bbcba4286814b2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/test_llama32_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/tests/test_llama32_nb.py",
      "sha256": "8103d99d6c6df82a1ba72e80f700d3ef389724a444d1a713a2753336df221ff1",
      "git_object": "c82891ec258c6073cf31a02e9c4a170e733665fe",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "sha256": "0c866467b877268e2a9fd700ad0e7944cff3142807be9f11976a17f48237ae23",
      "git_object": "0611792925932f4329d91be51afd853e63432a5c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/08_memory_efficient_weight_loading/README.md",
      "sha256": "f7528ad7a9f15d2c05032f8550ecd4dc8e0169f928bfafa59e78ca08b224c119",
      "git_object": "2b8fef08fa8bc7c9a4ef0aa5b2b166764d3e9c9b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "sha256": "ea7fb887227106dfb5db17b326df8945edf3107ad15ffcdb2949a1c63f244a3e",
      "git_object": "a9a9c0fc8db412f11ec1699fdf9434e80bc2939d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "sha256": "d40f8de9dfb936b9ad99bae810a818dc98c1f6dfd17cbf8a82fb565d3ee32c1e",
      "git_object": "1657e9692589f47c83477c51a2ba4ce7c1bc8078",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/09_extending-tokenizers/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/09_extending-tokenizers/README.md",
      "sha256": "c69477cabf9c31f8db907c8e609705df1be2c2e63bbe369dfa75647bcdf97af0",
      "git_object": "886a880b924265be4141e3bafe7e23d23bde2c3e",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "sha256": "7b56c9b4f2c7e788fb59a594cbd05bd323cec1c5e9efc77c4412f80968082308",
      "git_object": "9739908852d70f080a204efdeefb12339ce37521",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/10_llm-training-speed/00_orig.py",
      "sha256": "2eecb3656604acfe201cf019b5de6ae6673381f00616ab773e259d539c7189f3",
      "git_object": "b0f4e8d88271e9822fb724dc7c2c36d8e2b6e22d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "sha256": "7ec0e2c87471b0ccd6699e317bda2b0c6ab09ce97ac50691a17b0dfb704f2f02",
      "git_object": "fbf687a6c487eda956ed88ddd46a2ab6b55b9f67",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "sha256": "1102b89e1133d9b8fc72c7c230b705954c05755a7a312ac1254bc264dcdf3097",
      "git_object": "0bcde3a2b417bd8246e96dafa143d6a8fbd24018",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/10_llm-training-speed/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/10_llm-training-speed/README.md",
      "sha256": "f521d49294fec1cee71932fca5bc66824b16e59efeb85018c6bb5b38fcdd4748",
      "git_object": "5f1fb6a7dc014dbafb4d7a000849e7786f166d01",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/11_qwen3/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/README.md",
      "sha256": "8c0ca617e3038dce1c0ab062797d5c76e00fd83bf56ebd5b42b157ed7ea68fa3",
      "git_object": "8ae71447ececfde0a94fad37ee93bae762bb4e83",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/qwen3-chat-interface/README.md",
      "sha256": "27ccad0925bafbdaa47b76d9bfdf9e80452b2c796c933eb45d601e41747ff83e",
      "git_object": "43ba9909d9efab8a644a2f59657812763253e694",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/public/logo_dark.webp",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/qwen3-chat-interface/public/logo_dark.webp",
      "sha256": "c8334c9fd44c2afb55d2d656b36c38a088292fa2264b2202c175d29a1668f02a",
      "git_object": "fbfc655c85782ec70edfab18d71f74ca786d6bd2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "excluded_original_image_replaced_by_original_figure"
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/public/logo_light.webp",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/qwen3-chat-interface/public/logo_light.webp",
      "sha256": "46b6726fb96a98305bdbbba0a43353ab29f3744d6931a2b2b83d5c0e558d0029",
      "git_object": "c7eb29a75b3799d5ad057a5b175ff6419ba4e785",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "excluded_original_image_replaced_by_original_figure"
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "sha256": "b13be60591d90159ed3ba507d6a0dc0e9bd82938b08bc6c0e598294fe07c41c2",
      "git_object": "b9b067ac3bee7c15db6f887d17ddcc36d354cc8d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "sha256": "083081d39a20e8e67fe0bc658268c5841149d959aaf7d9bfcd39c839db6436ce",
      "git_object": "926a81785411503469faca77884d7d0c6109e741",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/qwen3-chat-interface/requirements-extra.txt",
      "sha256": "0e2525a0d07fc92bfa620d5cf77c9a91e45640eec31d595aacf6373eefb8499e",
      "git_object": "e30c39b0cf58a69b92ba981756a9b99603691513",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "sha256": "164e3226aa4d3b8cb093641bed68910f85956bec957bb3ff1b0cc73c2c876306",
      "git_object": "71c988faf5aa242008fbacc7adbacadeaa93ee50",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "sha256": "49ab46a5fed0a70afd14916ce51cb41e42fd3bf5a7599a00bd98b18146179804",
      "git_object": "3c0e01bdc3b03de8f8158ff83d93238fd0f64efa",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "sha256": "ce20a5e647782bbecc8b2a5e22662e1832708760e7d20d1dee3346c54e9919cc",
      "git_object": "08e7cccae6ed292014b41144284a455b02a1f057",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/standalone-qwen3.ipynb",
      "sha256": "a10f441e69dad9eda50029d29483ddb4cf1343917feaa96e9de57356bfcded71",
      "git_object": "fdc40fbfea4c4589daab1550e1a30f7fc5dc1856",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "sha256": "30b5495c0fcd654b0e448d1e3abb359eb88b52fb95092a5f3b8c03f4a96ce651",
      "git_object": "f45a5d42ad0f3a43eb513cc5147fa625200e9634",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/11_qwen3/tests/test_qwen3_nb.py",
      "sha256": "ee0cb36fab6c71072636e0afb5752fc72da729d5c42aa771710e0065fb9a8b41",
      "git_object": "47c5ea33224246b44f109c297c35c5a5ffd8c0de",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/README.md",
      "sha256": "4067ae1ba28644e9a9ced45eca3c265a67013d37797df2f3888c39a51cdbdf57",
      "git_object": "4205a78b953de2fda856ad2e32dbdcb7af603414",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "sha256": "37b94edc09b37efac72f3557d29b8f7615d59584edbe00d39ccfd44d7934fb26",
      "git_object": "0893c1ee1e3f920f488617439506abc1f68c94a6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/standalone-gemma3.ipynb",
      "sha256": "f20bba6d8e9225f2b2d1bfa7989b88957fe1dde7770e6c0611df704e2beb4f20",
      "git_object": "920a2095d32d266175dcf99b40e5b0b246b70fe4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "sha256": "517de71cafcb2f61ba0c46f79e348ab0590905a40141f99e06985d57b155639e",
      "git_object": "f2d8e4dd3a6d8f27d02113bcedf76af00bc2dc6f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "sha256": "33805dcb88fcfd4962d22424f891c2da2d5228e3552009765d19df3666a07163",
      "git_object": "a8f09731cfee25cf093d78b3548e8e86cbbc7e4c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "sha256": "aec1ad3c832ab61468ee3e822902dce250562a6e877b38599fe300e0e77d4dac",
      "git_object": "0186eac0fd802e4f49661e926c08332df5063297",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_kv_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/tests/test_gemma3_kv_nb.py",
      "sha256": "8da877befb68d2f774a7d61bacca34a470c2ca99ce02a9dc360bbc0e49181435",
      "git_object": "0e30104f652db522d37a603672171d76477217fe",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/12_gemma3/tests/test_gemma3_nb.py",
      "sha256": "011c32ba81ef49f3ce712037f7a19c97b3d9aa4f61de56329b45b1f6877c4383",
      "git_object": "b5a13e28977028b8e57b5b52a7c75ce331a784de",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/13_olmo3/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/13_olmo3/README.md",
      "sha256": "d7e2762a926498e0a315eb0e345aad271cabfb511ac4f287d48197782afcca73",
      "git_object": "78ffe8a7506ead6c714e657b1327cde3d21b374f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "sha256": "48b673df3de173ff4d6fc0d76b4b9dfe89308ba1102779bfe4043782bf264c7e",
      "git_object": "1baf7b1ab02ef482868e634cdaaba95e574ca88a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/13_olmo3/standalone-olmo3.ipynb",
      "sha256": "d31aca0e70dd6da8b1eb9ad2c721b473c71a2e208495393ff1ec2c26fcf0359e",
      "git_object": "9fc36705d7273d43d69eb5633ec34075538c5b17",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "sha256": "6f7f8b3d4f8fa164e04c7a688fd077f5cf764ed6ce8c65b63b2294071a9ef4b8",
      "git_object": "920ec5b3358fff6e809d74842cec8b0c398d2fe5",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_kvcache_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/13_olmo3/tests/test_olmo3_kvcache_nb.py",
      "sha256": "a35b6ef9e8fd8d364d87748ec23a795407c1ced47a5775e7af2bc32f76160329",
      "git_object": "c7efe78eb759b8707cd8c832bc33a0bb1a71e456",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/13_olmo3/tests/test_olmo3_nb.py",
      "sha256": "76e8f124b52d3f48a7632c9780742625d95c2be93987f7baf2243341c19d9f56",
      "git_object": "1ad59004f0f600b9b1851d224361efd1361fd61b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/14_ch05_with_other_llms/README.md",
      "sha256": "48b9ba5065cd1896ea5ea67d6a8abe34bb3fe401312ff88446a9a47f5016c860",
      "git_object": "71e3cb217e50420cd25a33f3ef4695481bc63aec",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "sha256": "58f28c0c224d91f041d204b7872895ed73c4988d7259fc65ad8673d5ca90affc",
      "git_object": "fbf7d6887f504268863decb7207e159c7d90c38f",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "sha256": "634ad492d936afa1f61e18ba0b5d21926c547c0be7a8646299367b9caca05084",
      "git_object": "964bb808ea6fa9e26cbffbbdc49c8121e17c842d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/15_tiny-aya/README.md",
      "sha256": "41ac90f6a50649b32e272e321170f7fb42d9926c4e8c89d738b555eecedac7e0",
      "git_object": "d6142514319f2debbae910577a81a2bd700f809d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "sha256": "2133c2debd272c2d0395f111ecad6ed262f22f74a9041eee574e2c4893e9ec9f",
      "git_object": "393b267afc735969f5b0bea8ffc9e10bdb131bae",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "sha256": "038c89d172748e3a0ebd5adc7e32cafeb90de5ef75dc4745592e203f28d4720b",
      "git_object": "b7bd10e2aa577f1fba0a742e6ae45f020a49cab2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_kvcache_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/15_tiny-aya/tests/test_tiny_aya_kvcache_nb.py",
      "sha256": "b29eeefc7f13dff1e90f18a24b04fa0cf733e55391b0aa60e53c6cf2bb706dad",
      "git_object": "e4ccdf8ad16db9f3722761e795ea7809f438b4ff",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/15_tiny-aya/tests/test_tiny_aya_nb.py",
      "sha256": "6b2383d2f066cb99e5a44e92bd6548e15a02550a5d6b9a65ffe610f51107a626",
      "git_object": "0e6b374288ef76c1da86bce5a22bfcc90d1d3360",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "sha256": "2a9988aef540f7dced8780fc83e892a26e4f14a08dab31cd08dd31ee5401d99e",
      "git_object": "7e44c0487f2316d5e268cc91cd2883622b7bcc1b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/16_qwen3.5/README.md",
      "sha256": "79b3e2e62abe67c204818c04c258fedb40156c84a6f012bfd2dfc231ade4a136",
      "git_object": "4b3b5afd05b9435d176317b01096323b6574f781",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "sha256": "a4bf3cbaa99b869cd087ad1bb40db90b34d4f08ffbbb4f29962757c6bd3828d8",
      "git_object": "0c3fc40ec7e0096dca78095ec34b1a4911a40d73",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/16_qwen3.5/qwen3.5.ipynb",
      "sha256": "6e2a84f99634e0b0cc529e5df36895fee13bdd796ff70ab32dd8faeebd17199d",
      "git_object": "83777c3ddc6de5f97eca5cb15f8b5472d9491510",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/16_qwen3.5/qwen3_5_transformers.py",
      "sha256": "0d2f5818ae711542daa6032bad7b04d97fe32c5adb0445971d5b6e0f95883aa8",
      "git_object": "2a4bed2bae089475bfd7891131ed4699bddab1a3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "sha256": "bcc3442b6d2ba5962978e4ef5008819ed5265f445d40bb42640359d3fd033091",
      "git_object": "733a424af1d05f0b36e5df6a41260f5d769aafdd",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "sha256": "2493be8e3abc5e845714a9b603af890cbb3d47dd2bc11f9f596fbd3ae37c1999",
      "git_object": "91a0892e6890aa226f1e5f320f300a8608267e23",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/README.md",
      "sha256": "f2f6ce7dc738bfc82a342a428892f3e6a248ba60d71445bfd47eb61413655b59",
      "git_object": "695c99c5341aadb2b0fd279bbcdca7f93079668c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "sha256": "64305d1b4d3786c1c42d4624dfce6b1f7b1a5b5f4be9163f932a0bb7a1cf1cb4",
      "git_object": "74f52bebdc6bdaaf58ac066cfa0e28bcb1e987db",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/standalone-gemma4.ipynb",
      "sha256": "8614c41d71eb1e19fa0a556ba1a9e63a3620094e3c6230598d874ab1a720e351",
      "git_object": "ba6fc1524a233b3843538dc24f49316718e72432",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "sha256": "689aa82a869b09c2b0a733d932a5de9d21e590e019737dcd9a6cb92f38fed507",
      "git_object": "1b369cfa17510966d4f01ca84d80169a2b930ce5",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "sha256": "cb88e1438809201d5d754aa374012b3832c487edd68b11da33f122175aa850d4",
      "git_object": "b7a1e3d4e5c6c871a0450619752f40b85212338b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "sha256": "7f349c3659cc316d35e564e7207fa9c062a4120e924d7a6ed6b6b750267fc8f0",
      "git_object": "bb1f27879a49141553963d766f318e5ea114cbfb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "sha256": "9167545aad11b38b6138ca566f76f2cd0657b05796bc89a2a175d4f89981a48c",
      "git_object": "106d0cb8021be4a02d19541a63ce8b0f051ded50",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/17_gemma4/tests/test_gemma4_nb.py",
      "sha256": "cc42a568996874e71b3360b943372917c88d2f0b1871870285ee7b6f5591dd20",
      "git_object": "b475eb7c399280b1e7d6ca8885a2e84b5446b525",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "explained_or_explicit_execution_boundary"
    },
    {
      "source": "ch05/18_muon/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/18_muon/README.md",
      "sha256": "ef614202ee135899eea346304061010e932c5a0ddaa95070813802a5e7282388",
      "git_object": "58cb44190fda59c1d292c84724d410a306ded928",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/18_muon/gpt_train.py",
      "sha256": "54623631dd9e9d50f7be63df4fd83220431815e3001f6b7b8750b2b03984ec59",
      "git_object": "3cc1085cb5b05eebfdb7044ce464324aff68e0d2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/18_muon/gpt_train_muon.py",
      "sha256": "0e36b80b7cbbcb424d2691526ca1277f9612ad581149a45fcf141fc38b3a6a33",
      "git_object": "6e8f403e6b33802365988b43bae125481d63c4c2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/18_muon/previous_chapters.py",
      "sha256": "d611a73cb4e6eaeb8f46e18e9bcdb56d3b9d24f5db037300c73ac23973ec7e6f",
      "git_object": "c599d16f477268d1e728267da47c93b7fbb91e73",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "sha256": "ada0435531ac3d5580889be8e54fa5d1c92ab6ae4adb9578bcf8c2dd91e3daa8",
      "git_object": "15e225ec80dad42c348b85eb5982644d115fc001",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_static_source"
    },
    {
      "source": "ch05/19_cpu_mps_differences/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/19_cpu_mps_differences/README.md",
      "sha256": "a1a2df0b5620110ccf83c9662fdb77ee1dc87c3ca074e398ba978f6568d41843",
      "git_object": "6a91277fdd4170ed3148c9ac3dc33a0292a2b314",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "public_navigation_and_scope_described"
    },
    {
      "source": "ch05/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch05/README.md",
      "sha256": "6e842524fa4ee79564a57b8b8b98692bedd9f0f26296ebdf6b16a9e354747f79",
      "git_object": "2a2c639d06c00d2a070b41cf29871de79fe65e39",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "Training and extension navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/README.md",
      "sha256": "80e4642a22b3750d40c72d2651495777ceb6421eda5c4bc7f22dd2ce0ee33154",
      "git_object": "a6a20ff7d8b1360525cf4f522c2d799d6244eee7",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/ch06.ipynb",
      "sha256": "35ec8ee49d5f33984ad18c7c1343826e91dad074127d7ece2955aa64385c59e9",
      "git_object": "957d224f2406a5a2a1bde8451050d8eda4267ecf",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "sha256": "add2a32303cd1f1ec0d507655043b5fd6bd6847dac97fe06125863fd5107118d",
      "git_object": "10de5b66e2edfa2d85ace9c8b5f88befe59f5cf3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/gpt_class_finetune.py",
      "sha256": "4fc65248d21da0ecf330c9ba2618b2d60441ae4669288d2908e661f7b25d7538",
      "git_object": "05ba0255a7202e00a7029e308037eef96171c821",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_download.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/gpt_download.py",
      "sha256": "3d6af9dc9c763a2bed0354f52e418cbe6fd34cfa0746e3ba47d813a6302b3e37",
      "git_object": "a4ad38835acf29800b71d138045ed989bc7798b6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "sha256": "995b5a00dad4a0242cf4671de443e17db88cb3fbcf0b1cd91af5968efccbce1a",
      "git_object": "f6d210d2c873ae753fa9cc880a47444b660bcd4b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/previous_chapters.py",
      "sha256": "64ab09817ff6ae059f898ff04ab03c6f4ba2be2464d03f45e1baacb9d7400a15",
      "git_object": "ab6e746f9576e6401e9ded2b9be978bfd561f4d6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/01_main-chapter-code/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/01_main-chapter-code/tests.py",
      "sha256": "d277ef42efe8b50ff36d02bb9f4af1d765c787bb9fa1606256f89489be1818a1",
      "git_object": "40ee892ed72f75c0e26f3f8ab22ff2604e14675e",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/02_bonus_additional-experiments/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/02_bonus_additional-experiments/README.md",
      "sha256": "4c6f575690f6cd462dd3bc053544266272aa9c28768fbc7bddd2ada5ed99718e",
      "git_object": "07c3b0fe8a75967d05b13d1dd9245997a01b277a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/02_bonus_additional-experiments/additional_experiments.py",
      "sha256": "f9b6a3252805215ed05102c8f66c32c9c42b110554ad130d2b6f462ef18d0405",
      "git_object": "006bf13678ac6267300d37e304c267bcfcec4529",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/02_bonus_additional-experiments/gpt_download.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/02_bonus_additional-experiments/gpt_download.py",
      "sha256": "3d6af9dc9c763a2bed0354f52e418cbe6fd34cfa0746e3ba47d813a6302b3e37",
      "git_object": "a4ad38835acf29800b71d138045ed989bc7798b6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/02_bonus_additional-experiments/previous_chapters.py",
      "sha256": "89999ad2af64fdfbb02c16cda5dd6dd86003c85264cda0b0883ae557f303bc15",
      "git_object": "8848afdb28bca97dbe06f03da0c272069ed59820",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/README.md",
      "sha256": "6091eb4d404e13de9f30aadd8968e717b7860d9923e93cfcca195c9b3f333f8d",
      "git_object": "2111fde68cadebb1de9c402d7eafa66c071b8bf4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/download_prepare_dataset.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/download_prepare_dataset.py",
      "sha256": "8f89db41557c27f87cf3ac042aebfc01839ee1220c3e851fe32a20b97896c1ad",
      "git_object": "ce82aaa1933d93cc79d06d4ffef866b3918fe198",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/gpt_download.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/gpt_download.py",
      "sha256": "3d6af9dc9c763a2bed0354f52e418cbe6fd34cfa0746e3ba47d813a6302b3e37",
      "git_object": "a4ad38835acf29800b71d138045ed989bc7798b6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/previous_chapters.py",
      "sha256": "037e4cee42bfce48dacbdb99e9f1d9a17e82446f3852f7206a20c1383eacc904",
      "git_object": "bb01cc508a9377fe2f24504e0db0ca685103823c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/requirements-extra.txt",
      "sha256": "513aaae1aa277e062eb7876fe9bb83fbcb9cd172c7c9f242d352a6f2fb8b80ca",
      "git_object": "7ab8694b6913b8b186fa652d18ad119789a624ca",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "sha256": "e6109f8a42ef8e1031beb26c4998a7eedc2d717abcd910d98bae3c68d178e86b",
      "git_object": "bcffc83dc5443c06976042c2148f3c50fd335d24",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "sha256": "fa01bb90bbc141ae88443a67e1517ad4b60cf34aeaa7ff4ea2d90759c91270a1",
      "git_object": "e83d17402990d89ed07fb48b4452fbb0ceb0b99b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "sha256": "1663b05d374dba1cc400c4f39447a03a1bb229d74f2ba029e6cfdc806863d7b2",
      "git_object": "ed7ab0e6f41e8a6c31dc57514de6c101dd896896",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/train_gpt.py",
      "sha256": "3557913fd103ae8d57daba6b43e25025510aea6aca190716fad36f975f2ab5ea",
      "git_object": "298fee37e05ffa0fa029830fa69dfd6d80d488ba",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "sha256": "de94073c25d1d3c527afc9824de42a047ce9da6f8f8bf84e4aa5bdee9be8a510",
      "git_object": "f93bab8bc41dfeade84708f7c96c0cffa79b5434",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_sklearn_logreg.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/03_bonus_imdb-classification/train_sklearn_logreg.py",
      "sha256": "470526385dae2e3a74a48067919f017c1f3d442008143b61c8682107b25adc11",
      "git_object": "4f03b56677d97d6e2e2480443f37325ddcb3581d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/04_user_interface/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/04_user_interface/README.md",
      "sha256": "7ecdf290e86c66eeb165268130dd2e962f08449696b3e79be4b294635d4fcf8f",
      "git_object": "22eb17e3b3e30497f3a4fa8ebf2da2c2a13eca41",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch06/04_user_interface/app.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/04_user_interface/app.py",
      "sha256": "29ca8593218740cc3e9bea84121cea83c1dc5600ca9cc4b9ce988fb359162ec7",
      "git_object": "86b5f52eb751780add36e5c62c24057d44217927",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch06/04_user_interface/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/04_user_interface/requirements-extra.txt",
      "sha256": "7f521b4f81c3cb676130f6db2a77b412e020586ea22b6e49190d77b1b1c448a2",
      "git_object": "4e6a2e7e055c051325d9db51b30594b9ca12ed1c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch06/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch06/README.md",
      "sha256": "a9c090e8b5af5b3dbd68855f7c7ca453c3ae75f4336790e7dc151c110c129fa4",
      "git_object": "26452f38077224dc5091e69e05480f2903001648",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch07/01_main-chapter-code/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/README.md",
      "sha256": "89a5879d84819840bb71f3d319955b4a1f33f15cba0cb0250457245a7d0a34e7",
      "git_object": "ec69fdc2016440fbc43ff132b413ce21ad54698b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/ch07.ipynb",
      "sha256": "35e66d97e7681e64377276c86a3df41391a2ec246614e368ec6cdf740020400e",
      "git_object": "dd26979ae69e3d4de7aea34f2280ff16a11fa4c7",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "sha256": "65e8a6385e6daf7c982cc33f49287a8a564ed315efe40298ecc14811229459e4",
      "git_object": "faa7dd6d73020a4795c4109593ec55a8c80774cd",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/exercise_experiments.py",
      "sha256": "286c2e6b7246f0541aa14b798940ad35d0faaee4a944c60647cdcec4c426077e",
      "git_object": "fd9e519051116fadcfe3db59b5f569a1d1b72975",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_download.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/gpt_download.py",
      "sha256": "3e9150f2bb78b155c3c5f5efefd77d87dba82cce9f0db8fbd090c6e2830f266a",
      "git_object": "b5ce8874ab70a6a8f7e6c6b62255951423c57bec",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "sha256": "ddc8ab8a423bcced5d207bae1eefb6f1a09f0c1d617a95546ce779d71c2c6fba",
      "git_object": "79cb1f368bc0475993e9253d23f5ca55fb7f3b35",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/instruction-data-with-response.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/instruction-data-with-response.json",
      "sha256": "aced320504c77c98d957316eb9f3460945256226c36b5e9752bf7d49585eb943",
      "git_object": "1d19190e0254eb100188df280958d3c8fe5b5a4e",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/01_main-chapter-code/instruction-data.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/instruction-data.json",
      "sha256": "7e09a9af353722ca15c18bc580f093f9c39d3178335a75177319cb1e1d163944",
      "git_object": "ffda7284cf1e6d833d704d111f2e78732c727eae",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "sha256": "5f9a3635e761ddaed16118818431ab4b938f6198777547b661d0118a6eddce17",
      "git_object": "8420841f665d9010ddcb1f9a1f74c783c226de22",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/ollama_evaluate.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/ollama_evaluate.py",
      "sha256": "1daea8912a8acd85e71f4876ede65a2aaf948482faa66852bfed0a4e330d7963",
      "git_object": "84c4a76f53225d3292eb3df8fd229d76c94b3cae",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/previous_chapters.py",
      "sha256": "d3bad5928d4f68191974b20df4410c40c9904b36896ab0a965e9b1656cf6e3be",
      "git_object": "2979679e27988a62e8f452f6c2c2bd3474478cfb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/01_main-chapter-code/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/01_main-chapter-code/tests.py",
      "sha256": "ca0f305809a81bb5f412299c1c6493869534f53aafd430fee9ebd41dcb1f306c",
      "git_object": "1cfe1f3da3f43a15daff7a8e88870d3353667265",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/02_dataset-utilities/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/02_dataset-utilities/README.md",
      "sha256": "bcf779bdebb9d92365ea8ebdd08365989fab62c092c42bbe7d7b5a7bc14b35ba",
      "git_object": "2a6b8aaf74367b4eaedde9f2dab28d15d30f67cb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch07/02_dataset-utilities/config.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/02_dataset-utilities/config.json",
      "sha256": "c1a6cd9d2fe5c19f083736a427b20c375cab65811f837aec74bee6efca951a6d",
      "git_object": "a01cb478468e101451f42e05a7c4532ea00be47a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "sha256": "623635d70c98cf158841de43cc64615bd96fff84b8fcbeb85a2445db727bdb9c",
      "git_object": "818c8052fb90de682659050015c896e6d94adc53",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/02_dataset-utilities/find-near-duplicates.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/02_dataset-utilities/find-near-duplicates.py",
      "sha256": "67c51353d7152315284f9438bd4d03d4cfa414165225fe905c1777795e27b9c1",
      "git_object": "fdf3bcebb1670a2593e1c42908fcd77b2b6d5ae4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/02_dataset-utilities/instruction-examples-modified.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/02_dataset-utilities/instruction-examples-modified.json",
      "sha256": "8750fb520ecc3a327483be3f5be49466d838aa5facd81d9d12253ff7293a6d82",
      "git_object": "333b83b4519e6d3cf97a9e189a2b4bb563f9d6a2",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/02_dataset-utilities/instruction-examples.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/02_dataset-utilities/instruction-examples.json",
      "sha256": "18cb955dec50c5e543f8752b77449429f16dd8ff630d4b66f88cfef5d544410a",
      "git_object": "d2a157083dfbda8c1c18b71d8bbc76abdfa9d07a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/02_dataset-utilities/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/02_dataset-utilities/requirements-extra.txt",
      "sha256": "ecaa598179b944fad162e84f076e7f1b2c0339cd662213180915c4c8e659dae4",
      "git_object": "f4f797017ed14b2f3b7ff5b2b8cbbf887273e58d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/03_model-evaluation/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/README.md",
      "sha256": "18cfdc243ed4ea4705cbd1001577001a496513b16824cea9025496f18823f852",
      "git_object": "ea1a2ce6e3d1cddb522d171f5511fed55dcffe88",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch07/03_model-evaluation/config.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/config.json",
      "sha256": "c1a6cd9d2fe5c19f083736a427b20c375cab65811f837aec74bee6efca951a6d",
      "git_object": "a01cb478468e101451f42e05a7c4532ea00be47a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/03_model-evaluation/eval-example-data.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/eval-example-data.json",
      "sha256": "90e9ceb4f1184f6b307fd76d0dd1e8b15bd3da200b1fc69ee897107394a775e0",
      "git_object": "cc7fe10e0efd234d23ae1c95e6d01e7fb3bdb152",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "sha256": "5f555d0e6ef110fb5b9a6c5687cf414562b1f2be23758634daa060ad788203eb",
      "git_object": "43db6e7bc7fa9684ebd4f94e75c3aa10d62a191e",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "sha256": "d3f3bef0bee9459714e10069ad59b2ee3b813837b4e28179855c68a0617b4047",
      "git_object": "5afe24575da8d04136be3b7970d911ee1a3c8321",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/03_model-evaluation/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/requirements-extra.txt",
      "sha256": "d1ee61bc4f560145896ac26a290b369cc4f4cb8149c2178602bb165826257711",
      "git_object": "6446d2ca7388e4e6612aff06017321fa61dcafec",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "sha256": "5b08e7e9c8940bcb9037244411b820831e8f47b0b198aae1acdc447c37086778",
      "git_object": "edd0fa16a3b5a487a417b530024cc11567665c4d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/03_model-evaluation/scores/gpt4-model-1-response.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/scores/gpt4-model-1-response.json",
      "sha256": "705f24bf17878d5e29c5cb2daeae00a64a1688756192478f91f41bf1eff85689",
      "git_object": "4afd2ca909802d9e0709239307a0d6bb9802bb47",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/03_model-evaluation/scores/gpt4-model-2-response.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/scores/gpt4-model-2-response.json",
      "sha256": "2b10d2abdf1f71f4f8057c012be2bf6c777823adbadb597f4d1699e06129db5a",
      "git_object": "6daf9cc4997e166ccf458fad0e525e2abf8ded6c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/03_model-evaluation/scores/llama3-8b-model-1-response.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/scores/llama3-8b-model-1-response.json",
      "sha256": "a6005211110bf3d9e30dbdb17638a1918004bc490c85b0b3520798a31d7fa5a4",
      "git_object": "d991d71c7c9d369e2162fff443b9be9bd4a24035",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/03_model-evaluation/scores/llama3-8b-model-2-response.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/03_model-evaluation/scores/llama3-8b-model-2-response.json",
      "sha256": "18e501530c56085aca3e6c2d7da39edc03fd85fe205f17a65ab1a400c6d61125",
      "git_object": "b834c71006350c5fe300574046f71eb99071cd52",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/04_preference-tuning-with-dpo/README.md",
      "sha256": "0c55d437b3cd516606546e305eaa27b6a3425e9f4efebdaedcdccb261144b016",
      "git_object": "3b71a6475229458b93a6e08f1302d27e08756081",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "sha256": "7bb2893a0174eccbaeba342578b52eed4321a76092601be4f23073853cbb5c58",
      "git_object": "438ea99c0fd733f3d02e390af608edcd058de31a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "sha256": "614c8c692964a06da2756e7c0e72efaeaf6545240818f90a00b639810bd601e6",
      "git_object": "2b00835bb7f8dcf2877011f81c09380e9a78dbc7",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/instruction-data-with-preference.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/04_preference-tuning-with-dpo/instruction-data-with-preference.json",
      "sha256": "305315abf14f65fa42c01a0877572f832606571c2a7d49f152ac1d758b16756e",
      "git_object": "b9e60be36c484234b34d5c9c9369dccbcd3eb321",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "sha256": "5a3561c3d7bc98c8c33bc7869e934ad197411459294a12c746ddb79f2e2b515d",
      "git_object": "c3783ce0ac360e83c69929d02c7ca1ee65f91fa8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/05_dataset-generation/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/05_dataset-generation/README.md",
      "sha256": "99ccf3b9c90bdfb7b4a6181811c23f272b526cd30fd1a5657a22f37c533d2257",
      "git_object": "a3b0a0be017cd74e930659c8af1a296fbe4093d7",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch07/05_dataset-generation/config.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/05_dataset-generation/config.json",
      "sha256": "94b386b2cd87150f9f1fc11632a8cdcd26389caebd809e494cbadfb557804cac",
      "git_object": "b8469974c5f38fce03d76abd815bbdc527ce14f1",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/05_dataset-generation/instruction-data-llama3-7b.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/05_dataset-generation/instruction-data-llama3-7b.json",
      "sha256": "bb5d40c7f2df1238e3c20c05ce8e0676250cef491c3ccf2aff444b84ba5e6df4",
      "git_object": "e88cc20ea29095c80be7946b9bfd55a34e937b79",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/05_dataset-generation/llama3-ollama.ipynb",
      "sha256": "32cf405d5fabb85a3b552dba5da6d3464620a90ecd859e59c2051af709aa1bfb",
      "git_object": "f85da20b5618049ab3ef20c0230f67c5207fde82",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "sha256": "6b53edba6cad62e43bae7920557afca26ab51699a3a20545fd1eb7a7a1509b52",
      "git_object": "db9e376c7415b970c1faa5653e20144c5ea2d971",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/05_dataset-generation/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/05_dataset-generation/requirements-extra.txt",
      "sha256": "d1ee61bc4f560145896ac26a290b369cc4f4cb8149c2178602bb165826257711",
      "git_object": "6446d2ca7388e4e6612aff06017321fa61dcafec",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/06_user_interface/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/06_user_interface/README.md",
      "sha256": "25c941dc46e70986b313a489bc8c32fde97fe60e01c8ea2179d7c122f80a5b49",
      "git_object": "f78a06d8d1c88aa5bdb37db0d91229b958b73925",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "ch07/06_user_interface/app.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/06_user_interface/app.py",
      "sha256": "73efb8c06bd314c5b9d660d612d4caf056852230eca8d4f06ec5fa805a898ac6",
      "git_object": "4c035fe639a7a0ccb675b1117b806241b08964e6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "ch07/06_user_interface/requirements-extra.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/06_user_interface/requirements-extra.txt",
      "sha256": "7f521b4f81c3cb676130f6db2a77b412e020586ea22b6e49190d77b1b1c448a2",
      "git_object": "4e6a2e7e055c051325d9db51b30594b9ca12ed1c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "ch07/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/ch07/README.md",
      "sha256": "f0418d3a965f7e3c97d2c8e16cecb6606471a2b426460c2cf40caeebda5aca01",
      "git_object": "af328a8c68f0d73189216a69021205080e16b5c7",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.3"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.4"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "conftest.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/conftest.py",
      "sha256": "7b9e6df69a31b5911ba0f44c03a1370c9a8fee0936722dfa59b067f62bd4e685",
      "git_object": "999a4a22a0eeee26dcc638b13c1845dc836ba9e9",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pixi.toml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pixi.toml",
      "sha256": "63400a86b41bb38dc398ce471e186243f97dccf2d3015b16800ee45048580350",
      "git_object": "356d4f30933a09a37df515b4ec166bf97631c423",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "pkg/llms_from_scratch/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/README.md",
      "sha256": "ef2613f53457b8124e4a03ba86f187bf927a1195a4eaad12a2111a745ff9f11a",
      "git_object": "b66ce9cb4e7868a9cd02ea72f4663dc025b2721c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "pkg/llms_from_scratch/__init__.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/__init__.py",
      "sha256": "f6ef501489946eecb6d1443c0abc10126b2bd6857e74178d7f1d453980735593",
      "git_object": "03c0237d28640478afb4218542883a352fd7aabd",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/appendix_a.py",
      "sha256": "2985853798bc8f16c34ddb639b105d349121c8eb7dd66b4ddc70ce7c6ccc3c0c",
      "git_object": "76b3b65dbe74a8be9e242f8255ed119214569f67",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/appendix_d.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/appendix_d.py",
      "sha256": "85d8ae82a5e6e728ff0a3c43754c455ccbd503019e8e15cfda8d3318da3552fe",
      "git_object": "e6b99238f778aee8ff25ac158bbca2961f9d8594",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/appendix_e.py",
      "sha256": "a3cf500986cf5cf32e00eddb2568373b499a6e1a0e3e3806f0c28512a670579e",
      "git_object": "25901ad8efb4a09b78addc235b9b3895183ffc51",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/ch02.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/ch02.py",
      "sha256": "c9c07a53713c1f40e388e2ac25f14ce57a7d83471ba735e4280546ea211af4ff",
      "git_object": "53ab35dea50e2a675294d2086f9249b191643fb8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/ch03.py",
      "sha256": "54d6710139851f5e1b25a074cfdd5b38e2bd70ec923bdf0984f9fc68ad7c7374",
      "git_object": "f458d006fd1d422537fbdf6469cd749de30e4de0",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/ch04.py",
      "sha256": "6722b3ab5939c3218803be0de9153170c62ba5f02ab23fd6dcdce5ea6bf712f7",
      "git_object": "5e2e43ce892c4e6d77e58b767ee2d9df2fc4a10b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/ch05.py",
      "sha256": "60fccc9eacb42f7b3f9d6da629dcb2352b357ef997c9673e22301fa523b2e026",
      "git_object": "b91baa72e9b80734ba80a920c1fa2e3cabc37b31",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/ch06.py",
      "sha256": "7696c36120c388e8d5f5b537786b00f135fcde7aeea0c6b6f31975f369a76f3f",
      "git_object": "8537f9f62c4c8cd0bcd73dfd78d67b59ad3a3675",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/ch07.py",
      "sha256": "1feec1f989c04fadf8f907f7cd2641ff2036eba1ad629d12806e2b2976314c58",
      "git_object": "b155b4d241229603f2ecd0d78140711acc67d4df",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/generate.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/generate.py",
      "sha256": "68fab6c9e99f0f7fab0ce3c59fd9fd302c64fe3a034a2504879dc72f2a2c3e34",
      "git_object": "3598379909eaf6b2a32c4591e6bd660f62cc7652",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/__init__.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache/__init__.py",
      "sha256": "7571e371efb6dcb6f4fab751b246c76a1eb9aceb0e118a964a3c999ddeb2787f",
      "git_object": "d11b143325a9c17da9aed236522d8dfd180cb073",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/generate.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache/generate.py",
      "sha256": "047b9bad37930f5ec836f194444d36f9cfebd9a5efad00f43eb9b954afe66620",
      "git_object": "b2e1d12f488ef870e0f4e0e6809c13e6fa96663e",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache/gpt2.py",
      "sha256": "c07a0d28f99b9bcecef848dc0ec2b1363824159186c68ca9921c1897472efceb",
      "git_object": "17c72288ca33deb91e2ae5d6d150cb7707592ccf",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache/llama3.py",
      "sha256": "ab438a2cf81391200924141418eb7f23fe82b79976f739cf913bcea35715391f",
      "git_object": "b39add6e82e285fa64c094489987f4c8b7d1a599",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache/qwen3.py",
      "sha256": "febb48042656d7d4f46e90ecd621ab5336b1ece18e2e5fb43b8f0ee45b30f254",
      "git_object": "8c7582916806e8409be4e9a832b3b49697c75f79",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/utils.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache/utils.py",
      "sha256": "7abee4298de08b4ae8e4dc6a2379e4a586ee162b2f5135cea6df79017418c960",
      "git_object": "85b3a1519a06d2444ae59797dc6f5c578bb762bb",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/__init__.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache_batched/__init__.py",
      "sha256": "7571e371efb6dcb6f4fab751b246c76a1eb9aceb0e118a964a3c999ddeb2787f",
      "git_object": "d11b143325a9c17da9aed236522d8dfd180cb073",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/generate.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache_batched/generate.py",
      "sha256": "1d166c226353a02675d238ee805737f4a6838e32024a9ab2bfe9716bac4015bc",
      "git_object": "e5203b11e8fab6093cd291031108d4818c9fd940",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "sha256": "684d8400cc4691ebfae7cefb038b43c030dd1aa73422ba6a94ce38dae4f84236",
      "git_object": "f2c47a1907a3fb08a53c25aff7cdfd80a444e614",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "sha256": "17da17b3182fd5f07825730a734e463548b542505e8f174c83b26adecd1d745f",
      "git_object": "8c6c6412f65199bfa1980ff4e3612b3af48c27e5",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/llama3.py",
      "sha256": "ed93a70d644985c146190e56ef565ce9e766e540b69d4eefde5d3cbe1ee9cfc7",
      "git_object": "cd92a4432b1bb8722f35403034104b25ebdc92c0",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/qwen3.py",
      "sha256": "b0f65a6b11245c42cf35b4f56c9032766ecd9305ce20cd8e24ba96d2f59b00e0",
      "git_object": "e68649d54eafec80b2f8854ae4eec78bef9db32c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_appendix_a.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_appendix_a.py",
      "sha256": "e671437eac892d2c7e7256980756ce7b5b1cb3f0b168cfd697066c01d866daf4",
      "git_object": "9840a6985896b3fd4f70cd56cf5be5664cc313ee",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_appendix_d.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_appendix_d.py",
      "sha256": "76b8842479752d4047fb5b274d25f8f3bb92e29f4befe65f58aae2dc094c3b29",
      "git_object": "949b69af917022b34a87338c674a4e58921b5ede",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_appendix_e.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_appendix_e.py",
      "sha256": "98460ceec1eda59d7a98bf2bb641c060c0a0ee3ad261964c7195b461579e89fd",
      "git_object": "761bc1903e009df1ef304fa525a27152fe4a0d03",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch02.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_ch02.py",
      "sha256": "26c22bf672c7d80f7240abced2cbafc7faeabe161eec9a0c97ae74fdad1bcf68",
      "git_object": "2b4e22932f153940472b505a2ec5f19fdbd4e31c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch03.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_ch03.py",
      "sha256": "3742e6a098a33ec421cc605bd39beb0920eb315f853ee0480b834f1293a5e91f",
      "git_object": "dee3b2fcb8d13367c907d9ca31f6633f74f1f70b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch04.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_ch04.py",
      "sha256": "6df880a2f4e57374f71c869d3eefe1646e40474d9eb4bd2107197ef4b742bc4e",
      "git_object": "9d00f9ca5289e728b4fb14e4c1d4a9a974cee277",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch05.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_ch05.py",
      "sha256": "fc14ac5c00e4b76a0498b0c17999168c0926d5812677805e75e80bcbf95e3fd7",
      "git_object": "366f3471298ff7c36ffed4f09b80fe8b2eec88b3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch06.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_ch06.py",
      "sha256": "4a564a7eb2da2659a8cd1f14c36b291a73793e5750a1e2e7c373099e5e007fc5",
      "git_object": "29bbdd3624ebc710f34834a2e721a045c133d02c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch07.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_ch07.py",
      "sha256": "9f377798777750bb472be1e2b156a617246d7048e6ac1156f1bce8fb649c7b48",
      "git_object": "5ec9618a1c4eb9a2a645116e814ba353d08c914e",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_generate.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_generate.py",
      "sha256": "5431ff50b0e6cf800400a4936ad304e502d685b3690ce5cf8635ce02db109781",
      "git_object": "11d8a521c954ec7d42172f04b43322bee28cecf6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "sha256": "2fa67bf889d67c89ee654c4d4ce32f94d126fc1a5e350e00ffb2206b9fc40697",
      "git_object": "5c80397aee13993823ab9d2af1eaf0583640dde3",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "sha256": "aa985baea3804ca85a05dc0cb3ad3a226fb6c2758597348f5ed6ab752c5888bc",
      "git_object": "ef5b7afa6878a92f4113121a2b5e9944c609168c",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_llama3.py",
      "sha256": "2305a0fa88f236d4ce6a430079ffae28b4565185da3b5cdf479d45c7e4bad43c",
      "git_object": "799bc746ce0932827e5f1064eccf481eea81ba1a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/tests/test_qwen3.py",
      "sha256": "e86c96f4f22efd90bcadf4b67aff4edb640d348cbc2137e4371af8a99dd0bfd5",
      "git_object": "01351ded95c03e5d9ca7a7e5cbd208aac692f6e8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pkg/llms_from_scratch/utils.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pkg/llms_from_scratch/utils.py",
      "sha256": "872a930229793b29d7044094a1758eafd4fe3479d4f547f7835756e128768cbb",
      "git_object": "1c3657188501c06beb6326a6a42fd43d9b8ab7ca",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "pyproject.toml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/pyproject.toml",
      "sha256": "721ea6766c719ebfa3a54d12edadb2420e805608cdf39ed34b6c213e68b19a18",
      "git_object": "17569c47ec17dc5856eb6c52a25261ea4f10a58e",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "reasoning-from-scratch",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/reasoning-from-scratch",
      "sha256": null,
      "git_object": "24b97576614fae02e04d3403bd0732e884950451",
      "mode": "160000",
      "locations": [
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.3"
        }
      ],
      "treatment": "separate repository: linked-topic overview only, no tree inclusion or implementation coverage claim"
    },
    {
      "source": "requirements.txt",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/requirements.txt",
      "sha256": "89f836860f7891092c37df7b3d1d81b8ace8769d861cda26a68cc5dd35434518",
      "git_object": "1619beaafad887c2e5ec819de2e7fe446dee4037",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "setup/.vscode/extensions.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/.vscode/extensions.json",
      "sha256": "b17765736c8ad4ddf17f5941dddff8b65c7087d5b014a1ffe3d7e18ba65a3cc7",
      "git_object": "a69b592fc2d17890ae07fe4cdab35d687e85412b",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "setup/01_optional-python-setup-preferences/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/01_optional-python-setup-preferences/README.md",
      "sha256": "26e6d2c30df1d89f7449aa3eab2762555fa087e45944ef13fc16ea701b0c8dcc",
      "git_object": "26e72d7237e284c0fa9de9c0980e46f6f48248f4",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/01_optional-python-setup-preferences/native-pixi.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/01_optional-python-setup-preferences/native-pixi.md",
      "sha256": "d1e845697af02de4032d019e0dbd4246e6dd8bb99b2401dc46316697f797166c",
      "git_object": "70e9f824c21abb1a36841369100302317506029d",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/01_optional-python-setup-preferences/native-uv.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/01_optional-python-setup-preferences/native-uv.md",
      "sha256": "ca3027d43ea3c9c7dd557f0337c4e38fccfb12551eac97b8be5d45a7365e7948",
      "git_object": "02bc4d7542dde6e361fa16e2437e00a684f7e6ff",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/02_installing-python-libraries/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/02_installing-python-libraries/README.md",
      "sha256": "6c8aeb79f4cb364b4d24bbf262d441c630c5cd44741c03794c0f2eeca9947282",
      "git_object": "604b48d9b12d3e0d88143f77bdae35343024d586",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.ipynb",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/02_installing-python-libraries/python_environment_check.ipynb",
      "sha256": "fbbc9c3a02e95fd34741a066edf1243b18c148459195c8e9e40b4f267aa96dd5",
      "git_object": "cffd5a7d6819d6193854aac0b9df6d7b32e1470a",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/02_installing-python-libraries/python_environment_check.py",
      "sha256": "a60e248a5e04cfb591d9a0088a7a9b7799e1cd25bed0ce57c548ef247de825f6",
      "git_object": "7cceb441fc27dd85e8bcf886e66f4c21c06d59ce",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "setup/02_installing-python-libraries/tests.py",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/02_installing-python-libraries/tests.py",
      "sha256": "3b4179c2e9b02eb991b0f677922d5d84d9e034c4d36be2dff7f08b457688fc79",
      "git_object": "de5fdfb3f4f9594cace06ed36032625ff032a174",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "Source explanation or explicit unrun boundary"
    },
    {
      "source": "setup/03_optional-docker-environment/.devcontainer/Dockerfile",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/03_optional-docker-environment/.devcontainer/Dockerfile",
      "sha256": "d8dde24453b58de0f4af8eef9453d5278ad1bda535a26c43547a99e9bdf94bf4",
      "git_object": "3e386d736ab45d5892332203e3df5e5d6c1cf456",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/03_optional-docker-environment/.devcontainer/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/03_optional-docker-environment/.devcontainer/README.md",
      "sha256": "a69dcaa4aaa7059b0392482e352078b8efc3d90208a9f71d1bf0541351b13e0b",
      "git_object": "fbddf5dcb5ea7b40beb4404e4aa922a1c5c34088",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/03_optional-docker-environment/.devcontainer/devcontainer.json",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/03_optional-docker-environment/.devcontainer/devcontainer.json",
      "sha256": "904eebcf92afbc2312f9c598eee76e5837e5a191c65990fd1ba31c6fc0ed260c",
      "git_object": "dd4a15005fe6d11fec4ff49e8120517fd24010af",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "setup/03_optional-docker-environment/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/03_optional-docker-environment/README.md",
      "sha256": "4282d8814599766efa71c61c86168189aae6615948ed0eb78fd3251207938a17",
      "git_object": "d09b154b8b7fabdffa151e4b1577147edb79fca6",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/04_optional-aws-sagemaker-notebook/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/04_optional-aws-sagemaker-notebook/README.md",
      "sha256": "657ae68d7e6b821bed20613a2d5eb6761528680819da934538c5395c1082e0e7",
      "git_object": "4006bfe0b465e59e8065f5c82100a61a5a8f0fa0",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "setup/04_optional-aws-sagemaker-notebook/cloudformation-template.yml",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/04_optional-aws-sagemaker-notebook/cloudformation-template.yml",
      "sha256": "a732e180decffbb17df3af215a30ac27ba5c93e40b11e733d8b6cf341bdd5c03",
      "git_object": "73fce6bfbbc7bdc5d7dd0b59d07c72a746bb7dbe",
      "mode": "100755",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "support data/configuration; not printable code appendix"
    },
    {
      "source": "setup/README.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/setup/README.md",
      "sha256": "6c6f22b5727cbcfaf4e549dcd4c5e69f98dee631ef868a2662b39fc2ac336146",
      "git_object": "69cc145aadeaa2673eb944fe1c0205b77dbf43f8",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    },
    {
      "source": "troubleshooting.md",
      "source_url": "https://github.com/rasbt/LLMs-from-scratch/blob/cdbd33e6d57a71e20ea31434841095fac50cecd8/troubleshooting.md",
      "sha256": "5976a8517499d9418231b9f6ec2d6ea0e65df077cdc0b338308ec7d6ca3a3abb",
      "git_object": "f8ceaffdeb5a3b5eab173b7b7d4cac416e25c076",
      "mode": "100644",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "source documentation navigation; upstream images not reused"
    }
  ],
  "notebook_cells": [
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ee34eee29e9535aceb05dd1bc92e1159fa758296b6897b0cb9f0baf1e47559c1",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "63ea1290b18ed8f62c40a937ada1104569e63a823f6fb3be9176c48ce0c62dd7",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "45b760851fd5dfff466ceddb4ebac7c063a79643e8491a773447a5d0b127a892",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "ef32264c2b041eb0b989f68804fa31c12be44e79e0ccab6bf55d425811e1fb9f",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "058420c14390231ecad32b65221df99f2fec8be91b58d88640b8caf492fe6b32",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "375421f385e3bd59c1c3a5bb8cd617728fcf84ff2906a82c780337ffc9e6b1ea",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "b20372721e9eb339954ed4151acff5a33d5d3579b7beef75111befbf552d98b6",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "c1012ae76ed5c5a67d996693abb90518e80e3881ebe3ff196001e65827f16387",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "14cfeae4274960c626acefdb9400e80b0b37232c4c8527fb0b6e104e5fa88cb8",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "662620f04b8a6ae850384263b083ad6ecd64ced9e0a511556264d57893744119",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "a5505bcabe431843b5ba17d57dde07f41ccbcf567e09e3059f08c5155d31d42c",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "e4a786ced8f36ef7a28d6ea75fd88b43f29a12940a512f337caa2774a79f8c66",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "b57a3d7816de1ca964c00fc1ef913870bd1cf1dd8ed5f81a9504f66f18edba19",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "48b6b10ad9b364b0b6914b73107df6833de37a8bfc728129469cea202f1dd8f0",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "b50e15ad8bf9eaa7955a63fe043548db4e45607a73cdd296246fdcd3cc23a46d",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "1ec89fe807291cceda0b53bb142f20d2c99d22fa566dacc0d83270836ec28bfe",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "daedecca53472270fa04662f0fc80d3b4765c76afd80f1eb09a600267c01abb0",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "179651f8895ca9064265e9ee4a1764181620fa7c56ab4296fc4cfbc03a4540df",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "3fd014e757ae2ad571f5429ced5ea551a5ebaf3baae331682eed8a995442b6e9",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "47a9be2f37bb8aa7ebaad28643dfb18facb9fc0b98d4617143efb1482c398cc2",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "52e7f160c6a7031cb8965b4cd568c6bdbe061f7135867d4aa90da88477027386",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "2a53b65fd20a6800a6a4e04e4c258dc741b1981980e744192a9a735c5c99e0cc",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "ac2791ffc92f970f77dda2c282c43e5d0c2522dfa1ba9388c168c49000b276d5",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "225f3f9a8915738e70d66ec22298d0367af5cee21e1bc7e93642d6f06b01dac4",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "e8db806d384deeda0dcd45bcd6ce91f440e790dcc44caaa938d299a77a0cb1da",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "394dc40241f07f44cfa762b00731e7e2bdf0ac4717cd3c53bdd8be085eaa9f41",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "7b7bb1321eee662ff0609d66258c7831672930435ea4e1fc8ca3023fd57fb953",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "48fd69335441f96632fc40009793afb55074093e40f93ed35629ec8983becafc",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "ac2732f704552822be6519301f77937007bd469c5992ffd18bd385a102b64f43",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "0bc3f070eeb90ea298e1c518c148e6f2c3f88be1c173d7cc327ea0a7e93ccf47",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "9b4f4bdd0922f8a2237c00bf3416a4fba92b4f5ff2e86e9ffcbdda638e1b6e2c",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "bacb0ebf5832a748b70aea60157def55c9312329f521df0f2ea326983feaf3e2",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "cad9b2056a223e8cecc0f6a4d01132c242a5a5be2e9b5d921479f905ee64d329",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "4c0780db6c98ddd1ddc55c605b59ee9c38fcbbc8acab86dc9a7dd2fded0f42fb",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "31f58bb20bfb6c2f2eb657f2ec68425b6130554591e22e3e3c3cde47a02cac1d",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "f318434a30635da4c8c84e4aad534faafc46e45008ebae545d927b277c3e755e",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "a4258cd4c73a7aa320c942abef33020907f45769e2e1bcce3c4bd8162b3b1f37",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "b62151b198607e6dab59f04dce079b83749191d1379e50c38e1f5c576b5303b2",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "56b976ec63f681119e0f6263372d409ccda51d14c71a57c313babf46e2b2ff28",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "84564450ba481a9390db7a22d9157675c63c2070eab0e7716c2705b428f13407",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "d713b1088453b479a940563351fa41849ba61605c0dede9b22acea84324b5609",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 42,
      "type": "code",
      "sha256": "bd22d4d1a7b07f6d8e2b6415ba746278b6f59c2ce5930f6c904ab6e37a860a35",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "51cfe423f49f4e90bc34f6c85954bc92b542ac3a3cc37d07b4c2b9c0ab3dd44a",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "cf90fa40dbf6f17db21f19f308348a7c16ee1c6ff556387d888a575321257034",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "a5292f0a63ff91228fc5f4bda55066c756e2249a816f481c372148d8c6763c8a",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 46,
      "type": "code",
      "sha256": "b000aa6851bf8b41a3924cfda9f70ab7f0cdd6a301d64c0b2873489702f6827d",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "f25c708bc7a495d83524795846d2c00f9be015f4e4122abee1c076f360e36ca3",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 48,
      "type": "code",
      "sha256": "6623c4dad35151f32214a676e55f3eb24d47c2c35a3089d4eb0564842f078fea",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "0f13338fe86acee5ac7993118cd1e08fcac2f40a3d7d03f4234439f3781fc9d3",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 50,
      "type": "code",
      "sha256": "beea6cf832e9a1b458e81eec24fcee3ddfafbd44498a972dc3ff6edb3ab9d388",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "f13d207799cfa3b91c913a1324d6a5e03737a8b196645e1c6b4b49da8642f28d",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 52,
      "type": "code",
      "sha256": "c5161da67734de59d21743f54c9ab68d8e36d9d74a00c2f25b696dc7138b0f6d",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "e2b5e94274bf371fe351cf41d1190db1d00c1337c461f561e4b0378dd73d3fc7",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 54,
      "type": "code",
      "sha256": "c5161da67734de59d21743f54c9ab68d8e36d9d74a00c2f25b696dc7138b0f6d",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 55,
      "type": "markdown",
      "sha256": "41cc26c35ec271070d29bcccd3ce51cb56ee20eefe7123c0da4a7f5ec414f0ec",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "9963f9e1247ee2bf24867f747c0f920668d2fcf7cf762679d864deec1fcc7ff7",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 57,
      "type": "code",
      "sha256": "70584fb7023d17fad70015cc6519b8127fb7a4670616676593ca99858f0ec240",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 58,
      "type": "code",
      "sha256": "d5f70f32a3eade150384f10133586b2d3e2f58d5dea65a50c61e2e8f4a5bc874",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 59,
      "type": "code",
      "sha256": "5f8086a24ea431cdf877fe7cb3c4c6dadd5634626e2c404b3e961aaeee15bfe8",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 60,
      "type": "code",
      "sha256": "6f6626a26bcb87fec4542969f038e3419c60a1b7ebd5fd27b83af58d342d5f21",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 61,
      "type": "code",
      "sha256": "cabaf3b2034e52d477558d05462c83f5377fbbeebe5565aaa25f6cbdab8a1bde",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 62,
      "type": "code",
      "sha256": "71361171722fb64389ec9b41bcb699b528a74f31cc3848376b04f0db96f5fbda",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 63,
      "type": "code",
      "sha256": "1101531f64afa51d8f5677467eea87bbd42983070291f567255aecb184251dad",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 64,
      "type": "code",
      "sha256": "5c17a33aa33a5f61a18de385404416279ac7fdbe8bf2ab932b6827a46bf1b6e2",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 65,
      "type": "code",
      "sha256": "7ddb24d0907ed8c94d38a09d64861fa0700895d90cfdd75aec6b5dec6638d9ba",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 66,
      "type": "markdown",
      "sha256": "0d14ccb12a815327284819b53134d8b4a5c8b1c618fffe3cc1560f50c072ab0e",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 67,
      "type": "code",
      "sha256": "aae9aa057436dc798671e057e3b196fd2214fc25d658f4a3071f0f1b56a215e2",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 68,
      "type": "code",
      "sha256": "77ae826a069f932fca9af6b3220c6e1617f3ed8d3a45c5d727ccdd6491f0cb4d",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "a737214c38282efeabd46921ad530595858eb12faed93f18386a8cbdc5000aea",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 70,
      "type": "markdown",
      "sha256": "3615087fbf2749fb16fe87ac07f5b225726520b735f1c79601662d08ef2f92c7",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 71,
      "type": "markdown",
      "sha256": "1fc761b94e6559d4327c2d4cd21422561f3a621a4b217a51f7d60a9219ac0824",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 72,
      "type": "markdown",
      "sha256": "2368d83f67699f85d9a6b9706016198c2d27f0b85a5ab13a70272599f6c5f057",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 73,
      "type": "markdown",
      "sha256": "1fc761b94e6559d4327c2d4cd21422561f3a621a4b217a51f7d60a9219ac0824",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 74,
      "type": "markdown",
      "sha256": "8c1e1e32fd7f4d59f474fdfa56701876d92373e89c673930b07aeef6ab75b58e",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 75,
      "type": "markdown",
      "sha256": "1775b68477f7c0807a2b04bad7d10484b2de7c88ce62c3712e881db7ff38d2df",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "0e7bc771237d1f9edd5cd7dd517b765a0a897b46c13fecd40a6a7c17637912ab",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "a737214c38282efeabd46921ad530595858eb12faed93f18386a8cbdc5000aea",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "3615087fbf2749fb16fe87ac07f5b225726520b735f1c79601662d08ef2f92c7",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "45b760851fd5dfff466ceddb4ebac7c063a79643e8491a773447a5d0b127a892",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "ef32264c2b041eb0b989f68804fa31c12be44e79e0ccab6bf55d425811e1fb9f",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "cabe72d379e34e85bcb1b03f366ad206f2639dca2d7325d2dcdc37eaa84c587b",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "88f3960949bbc4e868e87a47ea3cf0efe69df5e6ba17798f2e300b7e82b3d2a4",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "51d2dff4e64844f78a1cabfe21de93328cff4555c5892c37fa0ae784a250a40f",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "2368d83f67699f85d9a6b9706016198c2d27f0b85a5ab13a70272599f6c5f057",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "fc803402ac0195da00658123f2e993016d209c037d16c635c3e834f23300d8d9",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "6062709680f5897781409c3cea0d9f79732484e0cc427c41ce75c05958e7e45c",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "9f6931f91a9de584f00b27a478f6a0e0526ba8f04d0188ef3e0a9449f873d8da",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "fda3e5eb706cf56128144a726413027890cda61e11d67851792fdc0d3e2d6d91",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "8d293de7bb49b2f006a10a4e08e70333135840d436d12d17e708f23a1b9d888c",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "06e2ee923f3dd90b7913160d8abb92a09ad6d5b2b58fb029f917dbf9d2e5f090",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "4beaf2b4294c15b8c19a5c101fdb37d3f651e9428d7f79fd3f93c93167fe4e67",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "6b54b2cceae4a21136a2af8b5538a4ce95f4797834dac3d48f7b2d7b36964412",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "8c1e1e32fd7f4d59f474fdfa56701876d92373e89c673930b07aeef6ab75b58e",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "1775b68477f7c0807a2b04bad7d10484b2de7c88ce62c3712e881db7ff38d2df",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "7d8904d61f8be884f0f1782425528a49c2d417016e7a2d6f37f65ef8b9197951",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "bcbfd9c2d573f304a809be582958fa982572950e264499542bc1ffce41f0afc0",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "39f03c86038b7cb931ad27158007e322411e57aa678d643cdb051b4aaed8f88e",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "0776fdcf64c5f522ddccfccb9d40d1541b8c3321d779c44712246621554194ec",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "d2823e799ce5cc378df8b17ab25c419d1013454582f71276d51eb870ca5046fd",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "b11c3aa561372a8e8a32b1eb43cf8877f17416e31e7ee7163af49828f1da2f5e",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "2b6f5ed74efe35cea4a535518ad6ba7aa85c205835018bc901846b64ae02b4ac",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "da730aefe05c281c2f1104b9c4bcb154711edacdd38c070e54706957db53c38e",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "03ee1235689c3f8da0e9494f7a6464612f533fb0ffb6d4ba578b368b7832c715",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "a0f3d9c3e7f75f192ee90078602981db81a2098fb5cc1d87b70ea5d8913937af",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "e730520d24c48cd96c981aa23361f754552057112da0b92b0b9c872e070384a4",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "1721728e395bcc19b6d1649e372becbe369dbcd771a2dd3cca10e52c3994be74",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "e730520d24c48cd96c981aa23361f754552057112da0b92b0b9c872e070384a4",
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "79036e64e021ddce644ac7d7acf3d68cc070dffda4aab869db96fe70568b8fbd",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "07554c14d4d177a869a776e2d2554d95278ed3cb411735b206db2dc41cd26278",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "743a990f4733a108265634d2a2e9ff70a78264a3e25d3b934f2e5d29577c0829",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "9d0f6450a2ad61dcb4602fad6099a39a615e93da68d5e61d8e2985167a9380cd",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "6cab434a746fb4e7b5521aa42bd7b40ac33f489dc2b1ffea5a500a0507245060",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "7be03052f021dcddf4c11fe42596cad43f24b8d0fc89deb59a7a128a76044644",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "b371b69bd710f5ce7587301bd535e4d300d4df9ac26da988c3a1c4718ae40887",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "406431f3690d88afb9d0603b04801c75f9d3d80e8076453e4e5779400b0e4d00",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "91567ecbb4f501090c6f1f352e4e6d81cce1e3209b8007540d22b0808821429e",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "8ef32eedabef1f89b5e7ae83eaedea5a32814d08b93959d93ccab5ce7388c35e",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "f8dbc7ff5016a937d7f43f5bde112a0bbc980e6294c212f8f543c6bf3186bacc",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "656efff05ea28e0d4b08f4b47c5df15888c585d0ba5efa69df2261b99e479baf",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "4053e3ab992cc3d16df85dbc13e62493fb379e90be94e30071ef5eb77620ddea",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "a67f48c391ba831a3f1ebd675cbfd8517054b94f83489a7fe222dfbe719e02df",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "f697a109560d7033c71a36997c73fc25ca7e3e7248ff3f1a7f51a22d527b086e",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "3687b5a685873b9ca12ed0f31f70c808f9d6166b7d1a8cd7eae0339cda8c1ba2",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "5525709a3a83e538c7f078e2493ae21671765c8d79638010cfb850e23ea7fc4e",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "9f6cc68e20b0e92ede264af6dd3e21022e5b428d5dbb936b26a96568f4ac84aa",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "f847c31bf279d812ed8348fcc7710766e0fedc6f7368fdc139c0111f81e42e3a",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "6c1f13aeea8cd1176f2d5d90076640b993a16ee1c74e2ebabdf9bc8529abf8bf",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "be87262aeaccdf60100e60bb5b3d35b5a5971a29d6d337d92cbdbb4cc8ad74e2",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "4f64f071736e965f1823a0f1d4a7d426fe9b724a8b8cd24b1bb30fcf0f1dc8a7",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "83946cdabb7bddcabc0422305360b060dac8c59ba1ec143a10b63c455c83fe8e",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "58b0121963e02993acd1b3d3f92e259cd34e25a7b74b0b974e80c115f9d0d590",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "dba69f8de64545417e9cdc1457d5bd54a099aa883947fe203db828133a1d486c",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "e1b8dfa0ad297473b348f3e3bd35ab5133cc14580533b071b1e4f554ec93c0f6",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "8fbced64c9e06fba4038701acff3faf65e5a20ec8e1bcdaef6b168027a57d16c",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "e6343391f1e5ffdc6afa50c4338676fc2957cd7d084dc96e5fea7b20a5208ab1",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "6137fd4db9d79bc6fccc15ffd807d33032a8bc85dc5a88d49459fb66e262d5a0",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "4aeb11f80ceff9637b0c1f9275b5d0c77eab8f98b2cbf0d7bdccec40e175947e",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "55a2bb1bb9fb6c217cccfddf71ecb6829bd13f573036641729993f038bf0b9b9",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "e4731d7e44b382a4081e2a8d8d59ee032411cee944b899004fcc33251d7946f2",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "1dc817beaeaf2c175cf55a5bba711b5d7267b6d4e774272d5617e07b4e611a72",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "e93a7018a6ac49021093e57a33e04a967cf6e4fd69209ac35a792ca00e1ec8c8",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "046166d57d9a821b9d23a3c4d1ac1c6b738b7d8faa3bdc0b4439bd6f27f422a4",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "c54ae2ede826b2d80fe6dbf986a5be3d6ed6da297b1000b6a1a61b46ab81d66d",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "1e8b4c4a010b1190f85c1ec91cc0507958664ff06528b4c929e9371d7adf9cde",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "7bc7664a73fd47e979e2bb9a99a4986b8e0ab0de34c9e770d3951baf147f0716",
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "e32d0d86dfbfa3bb93e321e443d343463502088c07a44659dff0a4a199ef7cb7",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "2f0fd94e4b39a3437686a8bbb3990c26bec1a3648b528a6b1dd0a846b8313823",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "3e068cf7d0f551a1962aa136dfed96557f4bd28e5761a8708a80cee89454b6df",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "45de617d61daeeb71c17b2f32ca41cee389d3f3e85d0e7d472ad71f90c660a7d",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "bfac09f49a2e94f2e460ddf0a21aecc5bd919c7964f4e4738793e062a68990ed",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "e478bdd7d0fe227a1d1de576efcca31b75c43dc0e7db2fb35eed61083c56e42b",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "09e40c293c19f7a806bbadce19bcded9bb9e78c6a1c0756bb4891e8a2b110a03",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "6dbd19867f7c504f5a2922d719f8c30f0ecbb52e398429a5be8429242b169882",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "a1762bb9546062cec68ec565c9daa124f19cd62e41c89d9d908491d2279df175",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "4ebb05f911fc43e8bf458e205d40d7512a5086060961c5480c9b365368b0de4d",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "7127813cfa099a98f8d19fc0768c2f23f7e1a1ffcd1bcfb8dd267c08546b7a78",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "a9848b7b9142bbdba0dd5bde0e53c0426c78cd624efef8c532253a7b919653ff",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "3d1ae5bcebc177de0b36d8a9869ff344fc033346e7f9572c042e276e7496629e",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "11caf1fabe486474f2245313980504ec9fbfa1ba1d48175418981d3806794a2d",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "c4f8c9793cb33a7c2fa6d63f9ee0f657644356748a2a9a3d261e835a91de6a72",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "40e8d8df6bb46b5eaf74bc6d418e1b57efb349708d511b171332ada7458fdc55",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "24c92886c37e6932f0d8e48d36a9744d2211ff204998ec236dffcee375c289df",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "9ae0a62d0155d04c37f4e6f56208d2e870ab1a5b93d6ca89502f0fca22ad99b4",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "8c0234d54aa6af8b0c4edf65cf8485a849e49a2b51d639af4ac20aafd1e8bec8",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "d633834032f0953b0f9bc7669a36c4717e4d62828a218c568ef7224ab1348996",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "44fe5b18213374bceff83ef44cbef7a0840786bf0909e701be67df6ea01845f5",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "bf5036f194bff8018696c32c2a17cfa61ffefac5c8a39d7ad72db98b45bd11eb",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "93ec7705e80b7a467489aba83d5ee7d2492ffc1c42dfa481ed95b96a0102d77a",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "7fb87974ef3e8b81904f9ff8fe9854c5a40b6d60f0908a573f69f88dfe692841",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "90f8dec9c99e343f35c77bc837bea435495232e1960c3d87195dd7eb26343d24",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "3fe9374faabf060a1651fec9052c37a5070ed98d403b698308781d3cdc31ab04",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "b1650b150ab62c73bc939659869bdc9211bceb605d696597260e0c466d72d2cf",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "46584c303774e1d5ff367b421ab1daa3203b104c3a63f2e8c0f11b01b979da97",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "76b08c0a1344dbc5d595dd26240e53e7948fc66bfd881e19d2c980465068d599",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "3e3292b8c747a8104cd7da777e5f53c0333e421ca1176cc4473f57b94cd189b6",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "102e0163c2a5f5cf1cd1d0e1a787f1246848ef0de625e2618807225088e57bbc",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "14ac7b8d0e9c63429201a765b4593664da7ebc0fcb117c6fe094fc13a59e19a2",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "745f20d034fb6b517a9f37bdc226ebccb80fc0d38dda7756f165cf7e118c2775",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "16ca9bd2d39e76c8c9e3f7b8802f5059f332f11ac7d92e23c9a170a1b04d18b6",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "47738842778297bb4023918e367f2e7cc1eb0952e72db2a6d903882d36c70c77",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "ff287e86b681d4df48d42beda3b881c34153a3c3cc46071757c949edd956a953",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "db231080b0f8c41795f2d7eab3deeaf1292c83b8a697f178ab5812d4a052a11d",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "7a197ec8bfc940aba74c72b70060a094349e3dd0dbfd0e44b001ac1a34575b58",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "aec4e63589bde91ea42711af6159c9a54d47447b05a9357b9ffed480b245f20c",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "6647b9883fd42a43b41cdafc7fe8ce5636d0ab7d0e7048d3fa966d7e53067ac1",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "7faf0c893ff73913f81506e6fc8c4bfb1f7b8b2ef169792224f3bdd520a98526",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 42,
      "type": "code",
      "sha256": "2fd47d9ab50dfe8f80d13ea714bcd9256cc31b5d1d9ea6e5b397dab5fe3e2ace",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "ca940bfb1395417a95810a507793e376df80c77ecb10309249d63fb7af5109d4",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 44,
      "type": "code",
      "sha256": "a64761e07e83e93af51fc48e96304a2886eeda914c7567950fbbc17888fdacfa",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "c5ea563764d946257209cb6f50159f1d182f1d76751985fd584d0c5deddb8797",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "ade045f484f96c886ec46d332303219a2e370d2c3a035b307e8c58106e553891",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "5ccbcb575cc4de375362aaa6001c61c5c441bd7f863da55582dd7842e4eed22c",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "770913d2e40c2d2f4ec72d5be06b3225b46f976d32cd52ac6dff44842b93c374",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "b61ad446f911118d1295f80e626a708c37c3b7a922363790c638a844ffc1b7de",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "7f3d0f41abfeae0b854f84ac396dc1731259f24fea1a2bc9fff3b6e0c84e1095",
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "99bdbb4843e9210eaa813427fa7314b3095057a171eff945b0e747a6d1d05d8c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "182ac936870727dc0445de2e34d96298f407c48865155ba6c6757b4782210dd8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "bbdcf59edd54c0aca4a234781b068fec6b4210770e07b8bb978f90f03731018a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "823590b67042d690ae16f91b6951ee268fe7bfbc12f18c2945affe1ee7d5efe1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "7510a1b76ff34ec9e8aff91b44f82674f9416f721030fa3b21a42ad1ecef95ad",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "3f2718549059af37afa892d597720c985a253aafa99e07efeab372a9218141e0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "dcca7017374838175e9f50566b77ae922139ce8fcebf5ab4f27e158cc90d2c01",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "3e5208a2a41c360831151b2f316baaa30af9e880379268ca68ec4aaa27d7be5a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "a86ac2290782d6dcee2106475b8575f6496cafca6f5178d2ce8577851a9d480f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "28a38cd4c00662fa1943c388e7f5802dd7024edc7c1ac60684b2d3ec5090de40",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "f1b9d7b9b509f5ca6ca0418c23bf48c8e454c599b8a53a437ef59fffc0fcf52e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "955cf294e909766e48e10a89d46fd98e58fb223ffbb84bcfe4faad9a25ecf9f3",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "07b49de4793b6bf64d8592c6e03f2e9dbd0eb9aa7e1dc11c4409014fd261ed43",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "0025fe505d7fc2fe40dda50c8899623bb5c0b538c220df9abbf14f02fe42ef84",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "9922ea7c0fc753850c37500df53415228e3ce970cfa699e2c1c030bcbe7d764d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "8c900d9fc83eaef862f55b19b5148a8ff1b376923e4e90d547380f1b47351c2e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "d1ae8b16cd67a0384c4dc201d10d2c0917ebf1009dae7d57ac8158ecfa4364aa",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "c79a8c17c073287b2c3b18acc764e0a5483971222d84209234456ca6da090575",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "f667acd54fffbfdbfbffb7fa83e018ad3fe25bbf119df62db8e40d7c60890f8b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "29ab12a9c44238f3b3333c68be290ee45eee7f627ea1ffa8aec05529c6d21049",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "0511ac995dab054e4a434765e8a89d8843a7ab7a607ef551f6a58231b17284e7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "8e6313296b41c7a2f4d956e56c777693141f23362be2d5230ab56fa801479d29",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "e9938b0a6c0732857002ed2f38f155cfd11aa3a2ef2ecf41ef4f0bdc3cb863c1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "7ab315290963220a0c25df572bdd3544de0e901ce8da526c2ef08da0ec3a2f4f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "8f5d76c2d1ec6f3504edb9ffdd75aa8758e796aa2d2221294f8c3ea5125b0325",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "da59eb7a841787c9b6e91a436cc528a358be5c38fd4997c90f3ecc6ad41dbfd2",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "f721b1217fd76fcce4d1527568398ca1c8dd8a401e0393b5d94e10e34657bcd5",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "faccc8d57a90a69e1ae479530d8a4d2345d3e3b93748ecfd7226e7eb199ac865",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "a49d1075a9ead59bbf6eae963c0848a2f3a74c8e597fdb3cfc87a626590b1d8c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "2e03667fdbbf8492e64e478ea0099dcd4da2fb555771ebcdf3e32d1a3b490ddb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "a985e78243fd0d0ee6aaab7e96e4249eb4de734321158c9263c4e2821129ff82",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "e2d86514f9dcba685df7f3b0f94430621f382c41de5be061698a1d77b17979cd",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "0508e65950050f9ac7c83c2a46564161787dba4211a976f1fbe7b7383acc76da",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "a99ddf8286b2ff959f677a26d51442d80f2c5981a39fca549b248ba45da56832",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "5a9cc52992b7f6be6115fa627b4b803e7b96ca725aacd72ba720eb1f5d089a73",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "46f6db9b08a4efb19d0af01154ad660733dcb21f0c046cc3b940aa25fda3f31c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "5bacfbf30f129ac0e4aafe785928a92546ea0413e4ac529fe2bea05d5b1146fb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "b8e9d1347a08fd322eaf58340f8901090d3f0cfbec4702b1797c1214951bba30",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "3613e79468c636fcfb9a6920070fc12a718947e02ccab222ecd664ba2311d458",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "fb65dc813a08bd14c36705888295d08896a20472e23122ac755a956a7386dc6b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "e47b61525fe37362389fc71c52dc7aeccaaf3c6904ece38ab12e5c53ec88f410",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "de80930e88d997459fe3f13d7a7456a81dc61d92b3c2407f58b20a62e3a3fc6a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "24fdbc683da6d809ec5e92093cf8f15e19a32c70ed582a579ed6f60c53cb9e9c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "28d7b80d2797cedd2a879c4cf2e3b141ec0d42df9bb0108ed564308f591f89e8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "1d7c611983e0ff84aff631de6ec4afa2372c4534f57cce052d6ceb8bbf85917e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "78312485517a13b5e4cbc3a8645cd72e1af821b6ef954ce06f4cf6a09e0a6f57",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "ff962527f0db5a1cfbb810c3a92c5f6f7d6034d4951036b78eeec3842543cbb8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "083b665986097db878c3eedb4afa51dbd975009d829b866e0d15f8d583c0d721",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "e0c515c4b45609050736d4238aa31ff4e56d29baef6b1034c318e55e4f7f3cf8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 50,
      "type": "code",
      "sha256": "bd4683b93d863e431beb5d0237773d97f8db9d7938f157b494fc44b2c64ccb24",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "7a3ec145bd98db2716542848f5bc214425c6e34630eb2528cfa919e690acc1f4",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "e76b280813ba5b4c49368dcac5e1a6ba5ffe5cc643ad0dc8efb7dc736d093531",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 53,
      "type": "markdown",
      "sha256": "31f100444481f8588d91299b35efa3d247719283d705aa0488f88d01b16a9696",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "32bc6cae685f5d0348aafc59715c8ae1677381a4cc99a84e1daf4e090cda01b6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 55,
      "type": "markdown",
      "sha256": "cfb119087f703c42a8729400c8256999acd1e51c1d1c6abfbd9ecb543aad5cb0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "e99d057e491d37a152533a5a650d1aa405081a6adaad2046126d547f8187549d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 57,
      "type": "markdown",
      "sha256": "8eb39a84c96e652bd420a58c982440ebb176326b898d197a1d332cd8a54a5fff",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 58,
      "type": "code",
      "sha256": "fbdea2d45f5feac53d2f0c3884adf7dbc500771587fb5372e72c29852e197a59",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 59,
      "type": "markdown",
      "sha256": "5a96a532753832e4da215e11bbffb7972f63aad8b6843fe5cf2d4c6282907f1d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 60,
      "type": "code",
      "sha256": "a7b535b5f56e8584bb88a07c2f380931017cc88ec072d61662c3b63e125e3870",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 61,
      "type": "code",
      "sha256": "1b6ac9cf51f584406258f88241809c76d0a0d3e6595e6ce37091143bcc4f2087",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 62,
      "type": "code",
      "sha256": "e354a2d3177225825b9b112f7269711678478d241cbf317796b23167ec0087d2",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "506e52069a4ff5ac3a023d78ac678c73746762dd1c12a946e18db294de580f89",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 64,
      "type": "code",
      "sha256": "4567821a02b6b8e996616978ca37cf0cc317e4b3c364ee8c8892ae36cffd4dad",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 65,
      "type": "markdown",
      "sha256": "f05a18711f611f0b8acb449c490c4e3377e790167daf74201374c64f9b72bf7d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 66,
      "type": "code",
      "sha256": "d9732ab8b90981d45c9e4896fc68ecd09ee3a1977ca35542269032da59ec29aa",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 67,
      "type": "code",
      "sha256": "167827deb0440373f6398fb07f1ce160a768788ee65995aa5bd923603bc3c547",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 68,
      "type": "code",
      "sha256": "bd4683b93d863e431beb5d0237773d97f8db9d7938f157b494fc44b2c64ccb24",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "55768da1b37c79286949cf7c4ad9a24365d549a2a5b5f60ee6fa554585b103eb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 70,
      "type": "markdown",
      "sha256": "ca69a771d076533f242500b365e1f0d1b1925d6be1f848faa52160f4385a0a8a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 71,
      "type": "code",
      "sha256": "7add2dae575895afbb2885c76f2eb32d98daf6f7eba5bbd4ec6068548c8f2f64",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 72,
      "type": "code",
      "sha256": "ca78ff181bdfeeebee2c9d4c670fd055cfbea20e0524a5bf3cb418b113f4cac9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 73,
      "type": "code",
      "sha256": "ba9688618e94c0dcbf178f171b0f1207459786cc19494a7455e4576d66aa05e5",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 74,
      "type": "code",
      "sha256": "b8c5ded97fced5d4e224e32ce57e0546735f95b7e64cb1788b472d39f669e43c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 75,
      "type": "code",
      "sha256": "91c84559afdb199bd0a5c8643e2128d2ffb89f8ed2be4bfc98127fe82591182b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 76,
      "type": "markdown",
      "sha256": "035cae2520fc1064cd324562c4dc095af1396ae6a4162f619343a32e76912c04",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 77,
      "type": "markdown",
      "sha256": "ebc8ac2a4d93751ca941ffe33a749715e251d33489c05a82d48607c7a198b6e8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 78,
      "type": "markdown",
      "sha256": "bef73cfed57573a634e1b506e8359dff2fa68b715df69c660f53f7129ac3ac14",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 79,
      "type": "markdown",
      "sha256": "89d02c0da672162339c5a58032172e407306a092cf25b8351b14a19f071c7660",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 80,
      "type": "markdown",
      "sha256": "77440fa1f43e331fc7db068f8224c6b50ddb475f1dcedbf9cbb35ac574a17522",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 81,
      "type": "code",
      "sha256": "85490eeed945903b326d1e0ff2ae3e9bb2a98f80c82e39c0793bd2ee15731863",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 82,
      "type": "markdown",
      "sha256": "7eb32e35ece9f41d760a0f62876944c8ebc21a0fe0b27bbb94544d945d8fbefa",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 83,
      "type": "code",
      "sha256": "930a1b4ed644e7dd6732d2df22329aad93e1c7d5dd57915bfaa4e00e5e702157",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 84,
      "type": "code",
      "sha256": "55383c27f850f77c385898d5f8b5372b500b224712291c89f5199e7f680e244d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 85,
      "type": "markdown",
      "sha256": "652573d30509d647fb0ed1fb4535205e7b55c466839a76933499f87f17893e23",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 86,
      "type": "code",
      "sha256": "7b3cded559cfe1857b109f3c8ee131b02d73113635c730a0dee52b6b6b3fdb7d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 87,
      "type": "code",
      "sha256": "31ab8aedff664251d1e8833e4d93436e14fe3c9a1095aa3be9b46c5209a08de9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 88,
      "type": "markdown",
      "sha256": "4989a979353137351ac18422f977f1a1569312b0bdc7b6ffc6610ac611dbeaf8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 89,
      "type": "markdown",
      "sha256": "5b0e8e20b21146086190483953100af7fe8436dbfec241621a8cd2c530f2e8ad",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 90,
      "type": "code",
      "sha256": "5918dd326e25d8d72d34d2657a7e75d9ffc6be2f59a904c697715b0fe9045156",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 91,
      "type": "markdown",
      "sha256": "5e465ec4d24ed5a1c4ceb755ec81a346bf133635d8efe14a5ed67a1fc80d025b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 92,
      "type": "markdown",
      "sha256": "e5f77193801ab90201e7405afd85a3850684dc393c718f0eb2eb8bcfadf31d0c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 93,
      "type": "code",
      "sha256": "9db1f54faadc30c47a615d3a26ca07b21a9665587593e3c29452e8c6a82e385e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 94,
      "type": "code",
      "sha256": "6dd542b6c91ec8c8143ff888aa3d42827109ca10e7ba635a394e380757fc4d9e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 95,
      "type": "markdown",
      "sha256": "d1bf97b6bf274f655ccc2e22201af5c54439d3d8f2929d1b3c47f06d90147bfe",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 96,
      "type": "code",
      "sha256": "85a666a99c3f1a9d23bed069b5a3824a595d79cfe90c72157a6d643b61856572",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 97,
      "type": "code",
      "sha256": "59c99db45aefb3e5bd27ac60485cfd655d135489ac21aa764257295b69b54f61",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 98,
      "type": "code",
      "sha256": "94839db722feb1e68fb592a140963403779600cb82d68c88a6e1342226453f05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 99,
      "type": "markdown",
      "sha256": "0d34840adcb15053c6c4ddf4c317c592021dd2417c595be8f78b82cc3ad92b53",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 100,
      "type": "markdown",
      "sha256": "92e463a5a12a2ab1c10d9bf33131e72bd5c24f7287e9be0466ec298a8a0b7932",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 101,
      "type": "markdown",
      "sha256": "9efc2529f0d17024a549bafea7a92ec35e9f7ec036ee118be88ce5a06f613fa3",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 102,
      "type": "code",
      "sha256": "c3cc282bdd933d211828d31ab67802d7676fb0aac2fb3f38f9c849e6483f417f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 103,
      "type": "markdown",
      "sha256": "fea9f732bb31a18211c06fab130cb1cc1da7a52275d250017d6e22d2925e2f83",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 104,
      "type": "markdown",
      "sha256": "1274511d99664efc77e8fbab56cb1dc3670f003d1b006607121f3febd229c020",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 105,
      "type": "markdown",
      "sha256": "2adda175fc91e9b3617626ad7246d8ba0ebb0e893da011578f694e51b9fabfbe",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 106,
      "type": "markdown",
      "sha256": "ff09019e4c31d4f58f36a53696952f5b53dc0305bf5b588b12fa635efedad3c1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 107,
      "type": "code",
      "sha256": "36fa64a0b7e89897130f22384ca81a2beb7fa51c68826432a469a449725f9754",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 108,
      "type": "markdown",
      "sha256": "129237ef7899b5509c6e4c013acf7a184268c37bb519e4e392b1e2a27334bff6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 109,
      "type": "code",
      "sha256": "3fb2c139e9cc7a99d17854b06f0ae98908d09747ba4d049862d6ac7775e7069c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 110,
      "type": "markdown",
      "sha256": "f40b0b5fac832d3b96fe241897147daf0d2c94a424881321ceb9256e6e8bf80b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 111,
      "type": "code",
      "sha256": "8b232a8fe4794acca6d5e6ba3a135f6d8a76e708a39eb085f94fa88c70ad5464",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 112,
      "type": "markdown",
      "sha256": "bf04d3f0cc4cb13132d202c9fb44b33fdc09ad3bc2c49adbc9a32178cec60627",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 113,
      "type": "markdown",
      "sha256": "42d48f8c8a304a5a66d66fdb4b2be85275a5c0436361ae56a077f1cea76a9f4e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 114,
      "type": "code",
      "sha256": "f6edd0456a9be607dc75c242dc58a5826cd050c137d3945c11b6e5ad4deacc51",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 115,
      "type": "markdown",
      "sha256": "715edd4e9189723ed83198a6ed48bf5d912f9b2d10f3b163be8fb43202c31b45",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 116,
      "type": "code",
      "sha256": "2399a110ebf74ca24eaafb5e7e71ebe983b63c21ce214e32808e28aa14124de7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 117,
      "type": "markdown",
      "sha256": "5582338d7ed99420444b0503706ccc4f45fa89d8c1c3b7161068d4673dbb78a6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 118,
      "type": "markdown",
      "sha256": "ba88a4e25b09ad2179a3a6b845f3786f429888650ced3b9d44d78bbade55b80c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 119,
      "type": "markdown",
      "sha256": "7b02cc00014fd7a4266acf7b830b945dd5039cf7b9f09fea102ca8467a255005",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 120,
      "type": "markdown",
      "sha256": "98e8d0cdf5bf7ead6052201c6ffd0f9cfb4b72e9278303370fdceb2ae543f085",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 121,
      "type": "markdown",
      "sha256": "bf3f5de8c8caeb030ac0b60aca75fe344214157e06f080af505277c4ab18500a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 122,
      "type": "markdown",
      "sha256": "9f588186f0f2d3c73137a4b8873f2a22a551ad1adceea477161aa74868975e0d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 123,
      "type": "markdown",
      "sha256": "79a035cae4971a0bc38270211278b842c928ef06542fdcf69b2ce331b99c9842",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 124,
      "type": "markdown",
      "sha256": "efd066cd55d89cec481fa4d12c642b79812c31034b815078b9c54ef9b46e2d54",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 125,
      "type": "markdown",
      "sha256": "2c28f8b2e5b4f0382e1561ed835c98d89bd5814bcc6aeb9b2129b2b1d42433c0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 126,
      "type": "code",
      "sha256": "64d2be66be779f05190f94e53e3324bbd22c0632c7e9dc2d8036f0468a221368",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 127,
      "type": "markdown",
      "sha256": "5d514ea7763c19e188dfcc064114809222711016ae8cf255dc6717d6bde2bc3d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 128,
      "type": "code",
      "sha256": "5ae88022b72709c8f89e0b0300588c18a98aec228ddf96040b8faf519b0c24e1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 129,
      "type": "code",
      "sha256": "8ad06fbdc9a147f046517744b6272803843830c7c39d5312553e99a7d3c0e02f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 130,
      "type": "code",
      "sha256": "0c49f21a833b4dcd7bd8b1a994f2dff6dce869c555de6503cc5ca0fec5a577e4",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 131,
      "type": "markdown",
      "sha256": "dd243d02ae87ec4a29e674b027dd8d8ac26ea885199bd8faab6d75ee9da0ae9b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 132,
      "type": "code",
      "sha256": "349b2dd1832134b12a069cece0410c36bd392b0cc975c071bb85dc67639c57ea",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 133,
      "type": "code",
      "sha256": "35450dfc0ab9bc7471552ff465a5946a5f70e6ba838a7b79ba157246279d8d0d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 134,
      "type": "markdown",
      "sha256": "80e57ba5c622483214579bf9d616f97fef68b0d2d4595b98be0ef42305e807e2",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 135,
      "type": "code",
      "sha256": "faad5a70779ea322341aff28dac1c6f042082911eb9bb8250ed4e3329aeae912",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 136,
      "type": "markdown",
      "sha256": "50de53fbf133452d212dd5aa4b4563c3579fc43508b4557bb2637f58194f52f1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 137,
      "type": "markdown",
      "sha256": "c6eddb3ea2123189d183fd3c545f014bf9232bec3e1d6f5f0f5742d3e5045e7e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 138,
      "type": "markdown",
      "sha256": "174435af2a4829d3a40c5bd88c77960529af30ef64bc11a8a4db42aa308ab6d8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 139,
      "type": "markdown",
      "sha256": "c761e0ad6b4669b2e1ae31d16d504823178c799e2273a4c2ebff2254aef4c221",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "efea0a97a5aaf776e1b65449c2e563d095c4c1aed6eb437dc26b5c3490c66c60",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "f885afadae97ff9083af788c559536d4c46ec3c3d10bc3b2084daad50b5b1a07",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "182ac936870727dc0445de2e34d96298f407c48865155ba6c6757b4782210dd8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "20988439a7de7f17fa9eb874a4153d6c28c2c8556d255af7b3a278d60722636d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "6c14c7f7fa60b3f863e6f38ab03df98b70ce79dcb0cc89152b480dc76b056163",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "530f4f78be0507af0ff28bd1eec6dc134035c49e3507e09e509b67ca6b36b1e9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "6087f8eb3e2968f13e05c583378b23da03f5ca6ff825de6461d264eb91518817",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "c4236a4d7e1e86a6ea9db82126a5d74ef129caa956c0c3ba865919b7f5c477c3",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "182ac936870727dc0445de2e34d96298f407c48865155ba6c6757b4782210dd8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "bbdcf59edd54c0aca4a234781b068fec6b4210770e07b8bb978f90f03731018a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "e80c272241f26de444e9055cf9358df64cc0c345d49b067acb091a3ff284c6bf",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "931e980449c5844be3a545976b9fe15fe60adddb36c49d0790bc50371fe7996b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "b02153761f4e2e6ef42986b4ca8a6fd445aa70e4f078f6255611b37e8ba67eb1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "612620854d9f8583b33083a9ca84ad4bb7667c168e769703e78297965a2e31e7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "371a16b60c747943481b765224663a9ceb33307f65a9e63a0faed944149e40d6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "7f30542fb23e75e4d82262346920cf0bbfd90b51df417b096d701a06f8d3ae98",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "1300de66ff8d818d1cf08178b198e87213fbdc98050cbcba5cf7dc04cc66596b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "7f30542fb23e75e4d82262346920cf0bbfd90b51df417b096d701a06f8d3ae98",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "6edde16eb0d28f64437a0277e860705588559ad412e42f0f48bdc6635291f4b0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "c48dddd104585d5cf868cb9e3b865bb8bd50895c78a98428b85fcfdc241aba9c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "1a7f38559719926235b9777f7ad4f207975ec6915d287c2505562668470b749b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "76aeebb42bf07e13c7b51f49f80f8059566dc59271af4ff94fe657ac6fba937f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "1d19013aa989477f7f33696e0f2238a31daddbc254e4fbbe8f7312e497aedfa8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "0fc607cc6e2d2603aca8f0c3a9ad7e59809e89f5b1f102f1bc543267d7b9a6d6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "67b9f4421ac621c9e73449c15beeaf4dd82e5eb10bf79171ad77cc4a408a130c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "e4575e68a79cd52eca5989aef2dcf4df4a3c325d5076d177eb88331373f7a899",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "46a969a9c982f00509d6f20afacdcef747b7fd9b9a80b08b810a3c0ec4e13dcb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "e68a2632e7ecf1ce458dc83ced88e75c0c4c68dce55cfcd5e00c1ee507e6f2b8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "f256fbf3be19f796211e1dcd18508fa040161e3ef2a45a0cbec29aa7f6dcfb69",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "32c5f156c6b62f52102cf8c82c5a5540e483e8162378ad2882e93e4962b21808",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "0eb4298bcb12c6a1fbda4f8f1b2afbbfdc55df88cadacab3627051816fd19649",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "4a2da1e8e65405cedb1abf192531b346b47e84aeb13e86db8fcbf5e4ca5eefc4",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "6a13ae62c24aab55be49a17c9fd2ed8ee7281691d5c22a9a9544fa5e5b33b804",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "7518928d71ce0cf5b206407351624c3a3e6a37bad3b159a04d942063dd31081e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "f1b4b74535e55d592c73724435de0ca5e756a3e3e2e8b9b9c931b56f827af89e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "88e375ff55e594f87dff134379dbb5fb9bc28f7ca62543d3a991ecaa0a07502c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "dd9c1d79d87e12a37e11bc768480704350fd138c25166004558f65caf35237d2",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "8d8bf42cef0ddf6eafb0d202504552f56f500b4257730d998158bb9e2aada09b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "caed88497f72bf6dd6b6701ce6ed16baa4afda003d1d054640256f8151d3ff77",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "b1e422c5f58355f27900288e3f9df0c9d379d85abc9d6bf066bff945bcf5c3af",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "23b85c63140257ca684b86a0105e8873ee9fc7fff180f86361d6bce0bb36f58d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "da8088a60a0fe016b572c8db839bd1ab62c11fc934c6818b46f95a2695aec1e6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "5367fd2ae7300e8f015d55d8a1016aa73cddc79d11c29fd1bf7465244be3df8e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "a7f0223166e4d810d166fb0425a39c2e7e1b987bf11f377e5cdd8f739cb8f3bc",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "4b4d46ec1f4033016c351facafbc5113cb6774fb9a3f806993197898dddc4d99",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "7be202e919350877a3311a323f7b8ce420589dc368ed1a89a78d79f5eadcb9cb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "d7bbf7d9195f0786cdbb032102a920f85f95a240ef0a053627a6ff6d4564929c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "79e96f3aaaa785b56ee9c9d787ee6cddc6dd33ae79a0a3c8caa94a31816f5309",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "5ec7b5b9e35333420db546b3db8b8b02cbf198865bbeaf4c7d63cdd07c3d9b18",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "faa8550e5b35dac88fc35ef3c59db0b0a7577b0cdde54a70f6bac15b6cc40203",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "84cd84f35290ad6cc33bd1bcb185e924583b122a8e6bba43f2d3b09428b6e753",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "e6669c005666758e3c0c995ef8c0f3f183b2374eff4b36dab9119a9f6fea9add",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "d78e9f31edd45b75d31b16e541747b9d7d952ef5b144693201e76dc78ae503bc",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "7cf3c17a69942523524d89b96d85f010a2b55368f29db1f45b5cff0f0d0f2f2b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "b20e35c521c39f94beaa1f418b51695fddcb77dd2c6e0fd776e6d7efee0739b9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "4606944b6c1adf91bc134b31173282f9b4024962f98ed70f5ff8b409b95cf17b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "3f7df892905a5a89317e362779e24cb67637a54d798528ebcb99d25d8c52b39e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "a78accd7183bb1d5c0f7cfc73a9f98ebcdf540d9fcb2bc9e2346738e88bfd3f3",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "7f2cbebca12a8757919e587e98df3b60d0dac190439dd67b7a95bc3cfd7b1f9f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "ea9b5c6aa2f56e562afbea87e4b043e2eb295c377db50509a9ff8174578dbf46",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "a7b557622730e453d6b24d78e9873d37d078ae1221a88b3f8de0e3d0ad18fdbc",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "ae999f4ea35eee0eb5539e2d5466dcb85bcaeda4400fa937fc590b266f1f068e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "edfca281a330f89253a461f1a91ea91942a576c8f6d371b3a3b0c1d63a70372d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "6e99b4c2b65ca0ee6a5940910e543e1da0ae044d14a2a7228519520afd85038b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "3e3e47e80392d95849a51446390a81798299984d815f778bb2bb0aad2ea67915",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "2df44fc934d2bf0152b199ee00ef79d89e30a64f992a6b15c0d78d17531c8b89",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "d228f5d5e8d3dbb01ed002ed38e718a05804f1582572646ce7566b375995c965",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "01bdbbe919808d8d124bf5d6abfe908e066c7525d5726ced403241dc1d2fef7a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "bc991d3a68da24c84b9283626e4796fda3a8558ff20bad897084598db840a7e0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "02dc4c3c6de3ca0d689473081267c1fa88012a10c2580c21a11c0990e15f3333",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "3e0266c6cbe2533cc3b5797df464d6dc2a696a2f96ee72dbd4b3cbb8b589fbab",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "9217af32c495a3fa8219df6c129fae7c825e0fd0a65706d30bbfe5863a7e67d2",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "777b94084837b15c358d4d495c654bfde169289355d34c8eb6cd8c4ccea03d6c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "8dc5ee2b23c546e10ea3833ee342bfe6b6d1cd51b7a30d56e6949bcefcfce222",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "516ffddf694722908f2eddb5282d9256efd978fb9af91c0fda576daf8da25ba1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "8322c08e55f0c83b40d967d0842e4415db052606db3e6b8f241dd504f0798e49",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "dd53a985ff02ac08e57ae265a025dcced94521a4bd638cfc3df56613a18f7d0a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "25c0f3177647ff066a87cf917ad30745c0e1b672a67f23f87acfed3490732f08",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "84f7c1fbfd11be4600ca87efe05ab04ecc325fadbdd40a540779d3e3bd717715",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "1fc8db3f7a2fd734b0eec0a2a4cb7ae61032bac42157eb3fdd0694ef398add41",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "49b87b4a6aa5e661b313ee8e3f9a954c00fa32c8f04e65e9ac4f0314a92a6573",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "5630eb629c51d7178be8c47ab6c07dd4ea86f1fc04b6f24dcb229842cf7d2176",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "5890b0bc4abc61fe483d394afca0a8f4d2e3314146cb61e399cae23175d9fae2",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "71ae5946e55efeabf6b23cda7ecfe2eface9edfd0a4645eefe594ca4b5bfe6b6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "7b4f5bf718db43c867f32eb69b2989918b8f7a396575c3ba1c801524a9d15665",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "ba4c8ffbf3607c4c054ff214221473bf7c54c7c3c135b988c7f7518a0b9f8a4b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "9dcb8d6ee93ab36abfb625dd76a3aa5c82c2d0c69e175718429c39e55086ab09",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "048a60065c0d3cd17a19d92c63de7a4bcab91a100a50b0c21306cf2c740f7973",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "7d1ed344b712e3da1b40867b8e54f570ae86cde9277679af5110d6ac701adb93",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "e70901354414ff75364a330cf6cb86d52a2cb9f36bad093cc3aa3a1085b713d3",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "94cdacd4f341d160621fe380bb1580c05ac11cff5489ba228c1bc210f63c3b3c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "1970d78d752d6465bd4f44d42224580edc68d9f020709816ca3b2b20b21edfb7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "d1884cd640757855a1a5c39e4e58963e3deae58f3903c0245c3060d41ac24ea6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "33cbf0929e04cedc652d541b4c5d243bd8c62f12b6f59ee6aa77fb0c967ab936",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "917eb9c4c922429ed0947d651b00318d0bfa8b5889a57473ff5d8d7f93b3d005",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "1d060ee08ea2675f23679cd5e82635fc5ee07cd8e8b41dd90103a59c23cdb09f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "07fe0d73bb534ffa9bc6962c109d3812cb17134d10d1ec29856a2d085508ae3f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "66167adba3743a429be9f8fdd1f831f7e2de8eb93d84fab7e78c953fa5c35337",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/03_bonus_embedding-vs-matmul/embeddings-and-linear-layers.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "3cd5f1423650b1115710a4171ae6402cbcd063b5301eb2d9ce4cb9ca5e062708",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "dc4da75f90d14ef87e002ca5ac0b63e1743532dabbc24440498879e3d653aef7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "acb43854dbe4d6358f619a344ecf4b81dbf08db950e4cc0bfa24396e41722a46",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "d20a9ea90ea559360afd1b121dafc0c6851a6be21e5571a9ffb86c67bcb52b74",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "90e5b2ebfe975e0e0da8adfdb0daffbf2497c3f21001e50a0ecc9e8dd6bfdbff",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "551fb1e074b08140312acfddbc3a24b9551930de9af43c019bb870d8dc0db42e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "95cf8f7262f4745ec0c6e19bbe134c8c823cbc838589f10aeb124a4a8af4af61",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "4901e2cd49698acb136805965484861fd5936a90bfc105a1727fb4116e6f6882",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "9ce3dbed35ae16fb551e03ec1b1f08969601938c3111769ede7c0f7f89f84641",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "8bcacf5951f994839a126b6243ca9180da9742cec7770f28deb841f092f3c821",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "7b586fd7ae32fb5672b72043c331e805b7a1a5f888bba4be1567398c9ceabb0c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "94839db722feb1e68fb592a140963403779600cb82d68c88a6e1342226453f05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "dba8ca7bf64fe36e59b5b769cf9a810db8685b6eeab8cbc72cfffe41980219a7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "aa3030cdd07a54f933b8ee965be6735c1cb7e810d8a3ac6009519e4d9ee90abf",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "f8904dab57c509f8f58416b96aebaee08572b6483ba3cdec685d2c62fb0e4739",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "46b7490527fe6065e904491430e798df5f9b0b1e795a489cf606ed5e1bc82572",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "60b126c1427cf1987a2522382fc66977ba226077db4f9a9dacafe749a4db179f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "ca7ed1d5c6821bd4ae19c1850b6498c640b0b58bb092c635f83eae6d27a87f6e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "d5b4be07e70328ef9a3dd622c346b7eb7241b03479156dfd3cb99f4893a2f1ed",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "9d94f96be0dda9bba0ea78b896c80bb890ae083ef78a173ad9ccfd25adc076a0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "283f4b5641fc9f120f24c083269a48947f3b73d5276e4c3423138b725191cb0f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "e9f00f280264c1e7c2b4c848b3ae1aa16295f97167dd125049d44ebc5f99f40e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "424b889415f9532cf45be2e756f613c590879a135c735bbcbb3999c0702a8310",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "16ecdca3df57524903e116858a931b22e5fac11d511d9bd56f20b16d600cba3b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "4e773529e6fe0f270f84d59c2b7cd042c0c493cb2d78424ea1723560e8a8df70",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "11d3de11e8898631c1c60e573bb30b13582878caf266c92bcaa3219551af218a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "ac8f0751a95ec984fd84fa15220a0d0262c03e693eb0d75c574f73d88985547c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "ae273e8dcb957be33780f97c63e0fa374d95db386654bf1c73bf1fdb0d81b905",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "424f29dc69c8699e42e932def99cad7a6b7ad02e90c5a5c2a3896fb9868e5764",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "9901ca865886115606f5dd4848bb53456b4aae83c928f9aabc18fc22c5cdec0f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "bbd5e167940d80a5e9fa1100afaae63860e176ac5e16f248287a2daa99d59326",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "1ddfca867cff3178ac6567ffde81f6be775976be973ed40f9087d9aa0fb03aeb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "0f6132e358875bae2c39fb35ccff5d540733a09f37eee56f809e974dc6d28db4",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "5e24749a39df8575332bbfca5f118f02393b8155a9f90e3aae3df09ef5c511c6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "15b035cd0c1cb08fd3de31c5271355ee9cd2bdaa65dcc25efd2a05813a2c9363",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "cc170297cee9f253f3a87ba86ac4b4f6240f3905ef6be6d88c554af7128f600a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "6594c17f27e6cb05303e3b40ab82253e6a4eec70719f3d6f684ccfb112e8497c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "46aef61e749ff01689c9a1dc9363395826ad0fbf6dd2015db5a184a6b53067ee",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "0a5cb329a5821e2c158f8d16397ca0723674506df67563b791493b647bd0836e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "53eb3c50721127c1ca78b2bed85c5fcd8bb2748ea47488950778951158ea3321",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "972b17974bbef5183d7fa659274a66b833140fde61123002b7be9c820be5fd73",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "f3128e4955024281c812885f02164cb07ab05919a4b243740756231c352584ca",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "818c33429d8be5b0308c09585265e867857730d50f41be92cb32fad941d32a26",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "3f31ec135ac91d723d377a4c96b7dabdb75f59f3a50439df7157a0cb47e67947",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "bb374fedf7de6ff770970f1798e9c39cf2dd731c81df956409dc0a3d3d1c6345",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "c1586976905f13b8598868c03253185fffb364be999195f87f8bf7774fe45f12",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "21cfad1a8ded4118f5f0344c844ce449ecc091ea3f2fbc4ceefdc74988156470",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "2e50434dd0768db505e8740c7c0d130179f2504059ecdd98ec3f39867da1222e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "e4f2f34078f0bc3b9a9218408ea4c3f760c9bcbc19b30d1046550037932d7c5c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "a43ee38f0dd2e10c5c724b689eedcaa54fde25f1f5e461f3bef3a5ae58b4fc14",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "8c9cacebc940e97330a3d3cf59e8d6a33f3287a7c8de845ef4c6990bb0fd4d3a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "a69b548a483bc83228f2cd69c012fc0399dc5542542c1f96b50139a9569ebf82",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "71fc706bb9c7ca108d4f15dbab8691400b6785ebc9aab0d8ee81268f7b241c44",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "3afbe630d852f2a51f28a2368e66183bcf827ef322fee6d73befcb8fd4e5e15b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "77082d70559e723de66252a4e52212caff7791a6455c512aa8749b612f715e0d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "3f66f3e290406a6ff15c7e885a0eb3d62e76772f1b6847e0bb684efdcd9d3a05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "6cd0a731692006b7d5aacb77a4e87776b152c432938361f6ca6d1fa4e3073419",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "8ae9063e9fe1ccb0d9e62cd421d49d4b9efacc53110b68546311069f25857306",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "e4aad4536f23bf5e1af7dae4a2c96b67ffc30907fa2ce91a13a903679336eace",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "f2ff4b01a31ebe4f5e5645525a2998232e7cb51c5f2a26ae739e0b377666afb0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "c57aed392b4cdac7ba241797855ed27d565f5e983bc702fbedf5891e7f150205",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 44,
      "type": "code",
      "sha256": "d91d5861f20898f4b794aa872cbbc68f28d3f2e7b3c1fc15120b3c6a463c672f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "80f5c048953e575b8449d7373c74f3eb0955254f7744aa352a6bbe5ca19df5f7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "5196d68e903a89c6ce29215a00c9c00e1c4f58cf6689c0b7e4ab30909555c1ea",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "3e5bf793a6d103bad016bf179de74c9a2a5dcfb46eec09d45308ec3929345cad",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "e003e3a5940dfb04c0bdf98b1db5e087e052b8299dba46bc6d297fa70bb77748",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "9f81d25bd5edbd8fafff3243a9c520f21352cf4b21b45dcb4d9b3f226a24bff9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 50,
      "type": "code",
      "sha256": "2210051034c35bbfc818bdc730956b9c315fbf1933db34affb1791719ae94a44",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "aa91c29a9f7f5cf36834fc912aaa753295d56161ff5735669373d823cba958d6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "36f09a66a97e115f68f2d735b4dd9729fb06df7e89bc7ae16a64c79fd00a29fa",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ff4199c455b409a5fe640364a1f0a2c056c3931c55004d483bcdc047f01b10bc",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "7d54fa31079be89cfc92ec7c10b89794262bdfe9afa97209b03f45a108a43be7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "e9f00f280264c1e7c2b4c848b3ae1aa16295f97167dd125049d44ebc5f99f40e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "424b889415f9532cf45be2e756f613c590879a135c735bbcbb3999c0702a8310",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "16ecdca3df57524903e116858a931b22e5fac11d511d9bd56f20b16d600cba3b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "4e773529e6fe0f270f84d59c2b7cd042c0c493cb2d78424ea1723560e8a8df70",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "11d3de11e8898631c1c60e573bb30b13582878caf266c92bcaa3219551af218a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "ac8f0751a95ec984fd84fa15220a0d0262c03e693eb0d75c574f73d88985547c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "ae273e8dcb957be33780f97c63e0fa374d95db386654bf1c73bf1fdb0d81b905",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "424f29dc69c8699e42e932def99cad7a6b7ad02e90c5a5c2a3896fb9868e5764",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "9901ca865886115606f5dd4848bb53456b4aae83c928f9aabc18fc22c5cdec0f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "bbd5e167940d80a5e9fa1100afaae63860e176ac5e16f248287a2daa99d59326",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "1ddfca867cff3178ac6567ffde81f6be775976be973ed40f9087d9aa0fb03aeb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "0f6132e358875bae2c39fb35ccff5d540733a09f37eee56f809e974dc6d28db4",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "5e24749a39df8575332bbfca5f118f02393b8155a9f90e3aae3df09ef5c511c6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "15b035cd0c1cb08fd3de31c5271355ee9cd2bdaa65dcc25efd2a05813a2c9363",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "fa9c9416111a31cac57f238829776d8e38ea68ca9ea2e3860ded2374c27fdba7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "6594c17f27e6cb05303e3b40ab82253e6a4eec70719f3d6f684ccfb112e8497c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "ee5e04aef90491f00b4d7700fd1363672e80191b59a21116046d0d7ad00e0c28",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "0a5cb329a5821e2c158f8d16397ca0723674506df67563b791493b647bd0836e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "53eb3c50721127c1ca78b2bed85c5fcd8bb2748ea47488950778951158ea3321",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "0958e06c98da2e1887e0a95f1f785b91f722a5e690b54c6b51e2026effb7cc04",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "3f31ec135ac91d723d377a4c96b7dabdb75f59f3a50439df7157a0cb47e67947",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "bb374fedf7de6ff770970f1798e9c39cf2dd731c81df956409dc0a3d3d1c6345",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "c1586976905f13b8598868c03253185fffb364be999195f87f8bf7774fe45f12",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "21cfad1a8ded4118f5f0344c844ce449ecc091ea3f2fbc4ceefdc74988156470",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "2e50434dd0768db505e8740c7c0d130179f2504059ecdd98ec3f39867da1222e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "f3ff7f24f7aa38fade5691a9d86d240aa373988e31653d62d6d74da9cf135d6c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "702aa8a3e6568dae4dea1e279ae993f44e589a7f97df29bf4664e681ef53b739",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "8c9cacebc940e97330a3d3cf59e8d6a33f3287a7c8de845ef4c6990bb0fd4d3a",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "a69b548a483bc83228f2cd69c012fc0399dc5542542c1f96b50139a9569ebf82",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "71fc706bb9c7ca108d4f15dbab8691400b6785ebc9aab0d8ee81268f7b241c44",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "27cca1cefd5834537a2ad3edffddcdf528b8714b0529ecdda38b03c020448d73",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "77082d70559e723de66252a4e52212caff7791a6455c512aa8749b612f715e0d",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "3f66f3e290406a6ff15c7e885a0eb3d62e76772f1b6847e0bb684efdcd9d3a05",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "6cd0a731692006b7d5aacb77a4e87776b152c432938361f6ca6d1fa4e3073419",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "8ae9063e9fe1ccb0d9e62cd421d49d4b9efacc53110b68546311069f25857306",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "5d3bfb40faf0b32643a94f42788f981e09898a9c2956dae5b5a2df9ab7c51bab",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "e4aad4536f23bf5e1af7dae4a2c96b67ffc30907fa2ce91a13a903679336eace",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "f2ff4b01a31ebe4f5e5645525a2998232e7cb51c5f2a26ae739e0b377666afb0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "c57aed392b4cdac7ba241797855ed27d565f5e983bc702fbedf5891e7f150205",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 42,
      "type": "code",
      "sha256": "d91d5861f20898f4b794aa872cbbc68f28d3f2e7b3c1fc15120b3c6a463c672f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "80f5c048953e575b8449d7373c74f3eb0955254f7744aa352a6bbe5ca19df5f7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "5196d68e903a89c6ce29215a00c9c00e1c4f58cf6689c0b7e4ab30909555c1ea",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "3e5bf793a6d103bad016bf179de74c9a2a5dcfb46eec09d45308ec3929345cad",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "e003e3a5940dfb04c0bdf98b1db5e087e052b8299dba46bc6d297fa70bb77748",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 47,
      "type": "markdown",
      "sha256": "9f81d25bd5edbd8fafff3243a9c520f21352cf4b21b45dcb4d9b3f226a24bff9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 48,
      "type": "code",
      "sha256": "c3aa4a99779b9c7c663c296ea6562b822307efaad147f7ad0a94036616a09940",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "65c5fd809b85f6f1bc7ffb6be83d8daa2fbcfd49e21b195e52e05ed17cc4244b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "4be741422436c5df1ce8aa1b5ee1fdf49258b4c512a92babd89fb05f2d36846f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "32d081d2526de46a0c2b0d129bb930146eeb2ea71c3c8adf708c17d6568a759f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 52,
      "type": "code",
      "sha256": "bf3b66f52883b840277dc4abfca72e158aca46e346efee862cfb35cc58ceaac0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "9bc510b204b66d75b098ca80dac615219faaed07c64a22f1024cbb544e949cf8",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "8ac1786853cb4c842092d379c8f15647d0b3952c835ab549643dda59067dd0f7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 55,
      "type": "code",
      "sha256": "210f61a3632c1bcd70f9df7a3b8225ba995fd1db257e8525a15a50aeb2035b93",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 56,
      "type": "code",
      "sha256": "c7eedeb92495196943693dc7b86b96290473d0c8954ee2fcebdd28071c04f5c7",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 57,
      "type": "markdown",
      "sha256": "90303cd9d20577e80eecb12eddabd930849b252607d8905fa98705476d7c5a0f",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "fc93ce1dd1bd43208e3a61cd8b0ae4c5081d10a5bb634d4a27c30831ee33f6b0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 59,
      "type": "code",
      "sha256": "b70b13d397e4c8e09f9520ce1fc48ad14ed1ee26a56adb871e4af5467e41a5b1",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 60,
      "type": "markdown",
      "sha256": "42647194e98cb47a94c30267b7f872856572bfc7496586db5d296621b84d08b0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 61,
      "type": "code",
      "sha256": "86fb8faa6ca84d91709c390a81f6fb1fc0a7ac3167784d5d4fd9ba5dabf907fd",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 62,
      "type": "markdown",
      "sha256": "be799ddc6305e9a3a32ed6280353ef2c20065986482219fcddef0e54d04f06d9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 63,
      "type": "code",
      "sha256": "065b07bd2fd6f5a869d0f10dcf39cf97ce502eb55868a0fc8ac5ba6237698b47",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 64,
      "type": "markdown",
      "sha256": "27d2ca5d40d81526aec09eb4513b67a11d75c466cd4caa378affff19519813e3",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 65,
      "type": "code",
      "sha256": "a7e4ab97af0e9033e0adcf782c9a8acafa7dc1effe7417ea3548032dbbbd8731",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 66,
      "type": "code",
      "sha256": "3bb5cd1210703b5b04ccc4630bce2543e401d3c06074c2f1c63c7c2672ff250b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 67,
      "type": "markdown",
      "sha256": "0291ba0c6aef491d762ab1b3190293932ff600aad9e93e79ff557582e432fddb",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 68,
      "type": "markdown",
      "sha256": "aa91c29a9f7f5cf36834fc912aaa753295d56161ff5735669373d823cba958d6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "7321c8672e1de97e5a37fb920f5ae628f6eab92c9a852a714306ca1e738dca23",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 70,
      "type": "code",
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ],
      "treatment": "empty_cell_not_applicable"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "dce936e336f9870b04a7c43d2a9eb05ddfd0bf188fc9991676f115fb56cd518b",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "83dfea37d1529479ba299e73b3ce975677eb254417933b2eb733dfce69a2a2c0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "2b61f9b5797046d1c6f6aefcb88818f07e54e5f8b09e1d769783815f70a4b674",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "ca14853524ed50b4c2730abfc7fa0b8631485847acfa72db34c16e380e31c04e",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "b5d819b34b1843477e8f7e768e1adf7f0359800773f72eab704aa53a007440c0",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "af0f277490227da1a334380b5ef843a34f0ef3a48e60b3a2b7271315cad5e19c",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "e242a5e3d247ae523f4aea4c76ae16a4fabba938066d825024cac7a35c6172a6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "d4d8a5b7049ccd877824223c0879463fd7b007f479b4c8faef24efea37f1edd6",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "91cdafffe561d1823e72ec0e6b7e647a88431c5300866896b26529282eb15358",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "182ac936870727dc0445de2e34d96298f407c48865155ba6c6757b4782210dd8",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "7ca210ff5792e1b8559c0b8961161fbf04d5f34243a719cb86a63b675437344a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "fddb1834c095b93a49ebcf85500d6b5ad66ab8c30ebf8a6b891ffe7f1bc08648",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "a8424d2c6ef0e39696eb1f53074583770b80c3ab358c1b2518c1bec08d7d712a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "48e5a39224bd2f0f5d915117a527fb596b48725f759ec30561615d6a38476857",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "c2d28a881e7abc3061e940d8a63637063e72f67bd6a52aa960a7ebb5c57b8729",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "e25499fa2d705c057134771815e3f8314a88fc3c372f2bb4e392c5059cdd9cbd",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "4dcdc5bf078b90870415dc80e4bd73684b34f4d8dbc8c0b7ed3d5c018c4efe5a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "ae344b5f3b744a6e94846b3d532cccef8951cda4281fae2f567710e5cc2b3b3d",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "848bcd0b718d2750b559467f88ab952dd172d49f72630abbffd4db5abe198d21",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "92206f61a180518564aa89c7eb831778e95667c92bc76e653302be862b0b9299",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "1a77bfba0733f0995b78214486b00c18f55379293b7b6788c54f8e4b106c372c",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "7f17ffae1605b5268bedda3a3df6f4077aef3a51104adbb1c0ec6809d611a491",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "f03fd97093f966ace320f30a1feddb40bf35d62d349c0d4987a2475c43b60cf1",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "fb1f791fbd3cfb5fa899a8f27141de70e9bd6e3914237e102b9ca264923ff7c1",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "e44750b55decca7072d40552d60766ecf3cc7dc616876d7fe725d300acdf3d44",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "c5727d44008dd9968ff402b03cb0e77af3a0bade65513558c07ee24bd40a5bff",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "457a8a3d8bb2b1f9cb316bf21cd650ffe1a13d670f61fe0d4bea682043f40768",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "ba43c54306ae8180583c43a95d1d2b31a8f2baa89b371cfa2032429701ccd78e",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "3fd415967ac8a87feb33653dde20b4d3eea284206d661683395220c4e90dc5e1",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "094af425d3ac111f97b1063db484d937bdc560a7e1bfaa46408e9aa7243bd96f",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "f8b92babf200d3e081df23e1043a706dc161d974a1fcca6aca566479c59665ff",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "4e2825bac427083697e3ee1a7062a7f739dd462e926c06a6916868d96ba9c6a0",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "ba1c28c14cbf1ccfce7f9f45c4cb450b8bb85198b1866347f2553799c355edf2",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "fe4c62b01eb073cf86a34b6bcf60a1e5be8148dd00d923e8423646d1d214e147",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "03b7b7c5bf71aad3f4c4db19ab6ee184b40b7343683b048087e117e4ec8fc5ea",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "326633ffa8ca44662207506b27692d5f2b691b9ffc542d2db317e94e7e148316",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "757a0241db9648f1d32f0f272d0354b4b1f503927027d883c7c651898325a737",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "e596b87fd617595bb4042d5a78745f902e181837208cb94949aed5cfff0d34b1",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "43abe719773f6e23554af970559e00ff9ff68fee91840f673218279a93e3ed05",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "e88865b437999c0614b23d1ae218e31fc4ed2b49885b95bda538d67ce89d9b66",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "1679f9060a863a18be9970e834fd0d8dded8b84b35a68db7df0d4126a58cb908",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "8e63b711ba645b9356bed7999503b2fbbda23fd5b1821584fbbe5b6824d2a494",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "082e63b48ca944ee934e749d294c44311d6ae7888a0c7b4082907108bd54ca10",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "e303f4881fb989c90fbd6a0e002f8a4405980d45c230a4d2f605b0a64d01f23a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "0af0729af802c346366308157e91e82869f533a67f416066d7c744c7d1afac9a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "a20ef4ca4fd353bcaf1c6d0c952b43c4c8cbeb183288501db29a63543804d065",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "1cef4a4ac802a4d39517c938ec63b20e875a0142fa785ca73d3944c033722f4f",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "d411a6db0d027f739e1fe3a7afb47c59dc87bb50e8b8e37be79a7bdb2f80914f",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "5dc9c604cc9edad827974af350c9c32d26e148b75b5fb9c7c70a89f385a08c58",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "c866efba833fca39431bbe703b2741f4935eb4793aa2c4e9f9c8aa02c4be8166",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "3c1840be9850d314faf546d5884f1949b0e2e7f0ffc7e09704abba1ac9b9d57d",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "5e7129095ec8c651123f0e14c3b85b1042ae41c82b339bab185b00db014f5349",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "7f559f2edb40ebe5aaedbdc8c24729e5274c0cc1a25f57cf5280ea160631d503",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "986716ce3c39813109e5c3b4ad866ee97b6679241350fc23d4b622041b56f234",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "13fc1ebaa09d3ed6b41c2c3b3d2c2c25504772bf786bbc1157ef18493eefb957",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "c5b08f64db3604b04fee4787ba332760c3d4974048a9e2c961ead0b12f3a7219",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "7f235fdde22b9f9696a8366eb20152cfb450af8792ae147e97e40403d125f5fc",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "590210374c0ed3d6702b7e3198e339a21ef4862c8973365d8b1c67b399dac13b",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "cde04c99cc107a312af1652031ed921954d8d265888c701353347d3a6ecb697a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "91bc2cf6ec9dac393f3ca99a442f9134fabf9e028d8bc1910c10e6d9299e508c",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "23fad0e3dba6de91b737ce488acd7e6663fe1a41710e5c2070674c9f258e83b2",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "d352720e3c2f7f9b88fd06be82ae846293bfd0992556e843c75cb6dafb6a0f7e",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 55,
      "type": "code",
      "sha256": "97840d044f6c9ac139ec42165b6bd465a240e325da4c415b0dd7018cd47ea129",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "55dd4e78394ddf96bb9995a5d4c2cdbc565759749699f8b46134a95cd85b51a1",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 57,
      "type": "code",
      "sha256": "37af0c84b4be8c24667056a893aee955f65cf43514e3f6e73442f86d92f04fef",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "d56e30a9f0b1cc9cd02cd1c4e0d8e613710fe408bc596afc4ab46329c72aeea3",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 59,
      "type": "markdown",
      "sha256": "000e7f655a4d83e44cb5071679bb5fda638671b4aabb1d4d640bf7bfedca170e",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 60,
      "type": "markdown",
      "sha256": "26a6a0e4869d4e25018a7cc5d9da5c7430026d4939001ac3915062e9e2f56f56",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 61,
      "type": "markdown",
      "sha256": "6519f8c935a268a388e11359925c59ee41ff4586935b265fbbb3a7394cab00b4",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 62,
      "type": "markdown",
      "sha256": "d279186f41af70b0e596bc5c9a8e31976752f2820f7d04eca58ee65f898ef647",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "da490d487a915998bae6c39da08a5217938ea8f2a6d2fd23b008c2062ec7efd3",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 64,
      "type": "markdown",
      "sha256": "5fc314c836b61f853a3ff6e0a4449bf0a9058f052ac726a8ebffce8245a6d574",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 65,
      "type": "markdown",
      "sha256": "6276af7083ba1b80a8b83b70ec429f7c85d12b00eb4e6c3d74549e56d7f19392",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 66,
      "type": "code",
      "sha256": "b681a7907dd948b17af0b75303a4e1c1fa92c8b2eaf7d864d21ef9c29099a1dc",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 67,
      "type": "markdown",
      "sha256": "4a6908b9d7d03531bb866593ce5db71879527bd3a5ff49410e1325cc2fa441ee",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 68,
      "type": "code",
      "sha256": "0d9c2f6620c4b2aafd90f640e154a2c468bbd83bc5e09362f596ab35c57ca07a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "e9bf49ddb8935870e511dfe9e9275521d018c163082eec55154b301727dfdac3",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 70,
      "type": "code",
      "sha256": "5df8ccf016725dae117965dbe782978ea55d717cc9965ad2a0e1e55c1323a4b3",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 71,
      "type": "markdown",
      "sha256": "4cbb55357319141e2ed2c97ae47a9b385de73aabb16a44bad00525414e1eb8e5",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 72,
      "type": "code",
      "sha256": "39ecc5703a43018f9a8e3dafffe18a7a012d7c2d1b8c3c32a8382a983b708313",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 73,
      "type": "markdown",
      "sha256": "c50ebe7bfd7cd3c7c8213a6b2564fe225231e4acf8c4ead7e74ce8cc155ef90a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 74,
      "type": "markdown",
      "sha256": "8822363939b5844eabd484fd299b94f164aff10c20b5fe7c896cad97e1fad267",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 75,
      "type": "code",
      "sha256": "161a1c621a5d9d5f1e9a6b017e56bc49be2a653259a84ab61a6cf745e38811c2",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 76,
      "type": "markdown",
      "sha256": "749ef1a575a628542bb2bffec168b244cc78b3bbaed2b6a7dbc592a23174e76c",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 77,
      "type": "code",
      "sha256": "e3d4dabc7d9b399985fa6fd6416ddeb1e51505fa4c769744d78caa59579847f1",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 78,
      "type": "markdown",
      "sha256": "02552554d831cea0536931c04078dc357d0241713c9502f833b0948796a1b7bd",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 79,
      "type": "markdown",
      "sha256": "aebec0b620b21601ff999211821fa9321df64b660948e65da72696082a13ad45",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 80,
      "type": "code",
      "sha256": "96e24e60680da42ed0c67657493fd6c9fc4e1890e707356c03ee168b9df2dd57",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 81,
      "type": "markdown",
      "sha256": "6b36160fd2df86388480b5ead7f1914e17e2340df7ff2b6fb8d7c6e55c8ea1f2",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 82,
      "type": "markdown",
      "sha256": "b15d61f0e17505336c348c4b8cd2764d7c9a4a596f45fb1764e5d998c8c44f9f",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 83,
      "type": "code",
      "sha256": "eb3b606d41677369ac835572abcb106bc6ec46e9d20249e3ad31b1207edbb10c",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 84,
      "type": "markdown",
      "sha256": "76e0d187959286a74f3f9b43bf74e9faa0bcad0d92b40518aff232ed9cd29141",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 85,
      "type": "markdown",
      "sha256": "d42869b6ad8004b4d4873c6cb665e51231d2d45593377817b2a59f5eff186ce5",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 86,
      "type": "code",
      "sha256": "dd181e40caff340ea9b787c88e5574864c33edbd683a13a4b70196b386c03dec",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 87,
      "type": "markdown",
      "sha256": "a22916712d94e326d02142caa29bb1c0fd7c55412038f60b60bfcf0f8b55be03",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 88,
      "type": "markdown",
      "sha256": "dd55b325c5a357c9b84c920a57466879a1ff043821ffdc50e6958e19a7bf0dae",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 89,
      "type": "code",
      "sha256": "8814a4508a65a2b88566286ac7e4041213ac318143ceecffe633ec88d0dd1134",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 90,
      "type": "markdown",
      "sha256": "4572979593d480d381c59e2d2b1def18d478e313327fcc634967e70b8bc89788",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 91,
      "type": "markdown",
      "sha256": "67c0320425f0e33e19237b505f4eadf9e64f22f510ed4b581fd8bcd78f6f0429",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 92,
      "type": "markdown",
      "sha256": "f0163a1d03a8c05e855fe324c515ecad344939e3b540180bd291f71716a008cd",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 93,
      "type": "markdown",
      "sha256": "97f617f27ea8022ea34f507a3d28b2d01da9a43226e148ef6f6aff20e6815cf5",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 94,
      "type": "markdown",
      "sha256": "5339631eff7191f77a78895bdef1362b99357593d96d790447012eb4005716a5",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 95,
      "type": "markdown",
      "sha256": "a26304c471b513c6b81414b744007df758fb33f5b7b3dfd7509fe7bc343d0a8d",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 96,
      "type": "markdown",
      "sha256": "2b40e6e5bc9e108d332a3f31f47084f250e93ca1b1045f6c6c67c666679ce324",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 97,
      "type": "markdown",
      "sha256": "65466d0fdf768a790d0cb65d642b729826ed661b5778636e30b0963360d85445",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 98,
      "type": "code",
      "sha256": "5a17b2ec981e9465f372bcea0be8af57e45231ab3d9c876e973e0b6b895311b7",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 99,
      "type": "markdown",
      "sha256": "1866e3d64339655c11012f39b7ab12ef987e7b56b543de3a0535d33bd4c00cf6",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 100,
      "type": "code",
      "sha256": "e2cee81f9460bbd09c5f77438aaa0d3e05a69a6695ef03068db01db8b12a8e3a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 101,
      "type": "markdown",
      "sha256": "5cc3d85c2b457ee045a037d02d882a4291d638f71bf3ce42e6c7907e7e1a7cf5",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 102,
      "type": "code",
      "sha256": "fdbfedf5cd25d532cd459780712875db8cae6958ee65cfbcf25d4050dfae4461",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 103,
      "type": "markdown",
      "sha256": "b20bc17a4931818323d2a38ddc29307e98ee827f8b013674d3562618d4d12c3f",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 104,
      "type": "markdown",
      "sha256": "670fd3f4db2c30e1f1c4830f186b349edc7afd3047800837f6f5b90c9f77ace6",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 105,
      "type": "code",
      "sha256": "f508a45ad0085430364fc1269a5761a1a77b13e716716c0eb94f95bd718113b3",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 106,
      "type": "markdown",
      "sha256": "0c2e42e07036be26ebc2fce23d00337bfe0752e2d9934fd325d33a94d6575c85",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 107,
      "type": "markdown",
      "sha256": "2b2092c04a8d2068d8b67b2c1f167fd4c2b95eff890b77333b02e72f12674e4a",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 108,
      "type": "code",
      "sha256": "0e534a6428a1cc6d796a51586c171949aa720165dbca0c13eede7ff22a7d836c",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 109,
      "type": "markdown",
      "sha256": "41c35d1b019ec1f4bcea66437542d549933a61b286c3bd0f86c100e4fce1c7ed",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 110,
      "type": "code",
      "sha256": "1beb91f939605ca7942e4239e6f347d47b3be909ec27faa799f1930c2aa25c63",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 111,
      "type": "markdown",
      "sha256": "833e963b40155f05a799c2832d03ef17acc61347dcbd48f46b9e08d6b0f9a4cd",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 112,
      "type": "markdown",
      "sha256": "e51dae6dcf74b5d769bab7a629a5ccf4069ca1b74592cfb334d6b24ad5fd1471",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 113,
      "type": "markdown",
      "sha256": "4f296f19c83d5846e8787c0458f74927adaae6ac061d0e860db40ea06eb511d9",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 114,
      "type": "markdown",
      "sha256": "1422abd4d9b9efd788b08d591fd955e242f993ffe9e66c59c3380471e6f78e81",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 115,
      "type": "code",
      "sha256": "c867aa210e26196096ec3d64324b93c2b7a9924cb7dbf7d36098b637808a0f92",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 116,
      "type": "code",
      "sha256": "38119f8ba4f899d37f8d02ee78351b2080c62d972bbdbe40b5a7ff950701ecf0",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 117,
      "type": "markdown",
      "sha256": "e7184e7a1ff4013a651912aabb592555bb5a5a6cef930d609b6dc2932a02030b",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 118,
      "type": "markdown",
      "sha256": "d76e08764fc77e4a7a5cb601a3ec785cb78c11cb54b9da1f009f119969da8fb6",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 119,
      "type": "markdown",
      "sha256": "ab187c0ffedcf1131e5a82f81278e17b97b25a764054859eb60220135c442391",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 120,
      "type": "code",
      "sha256": "01049995ff289d831778848c8c22f3b1279d557308091e3d99e389ccae299c6e",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 121,
      "type": "code",
      "sha256": "4c7a370c374cb2fdc791039995b3b0dba3451ab84ba2dc189acbe9ec1ce624ca",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 122,
      "type": "markdown",
      "sha256": "ad7b9254d57a0095d1e1942083a569eb9931a95052230920c854356dc638d847",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 123,
      "type": "markdown",
      "sha256": "a2c7bd084bca2d26624f2905aba2ab3f2a50f1bac64bcdb1ab92f2e798940a82",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 124,
      "type": "markdown",
      "sha256": "07d80671e3fc9fc157e7c7ced4e421bab12654975600dfc2351c91e9c8e2e104",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 125,
      "type": "markdown",
      "sha256": "d8ced24141d7ba1534fe5cb15502d3870e1845572e424c0361d350c363f6ccf5",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 126,
      "type": "markdown",
      "sha256": "465763644d33997b1bea428588695195755e67b0d423469666e1fa37b67eb201",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 127,
      "type": "code",
      "sha256": "f6a956f8e24b9815a41ec8208954acd78221f73f8a0cd21bd4b14dc0be85d759",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 128,
      "type": "markdown",
      "sha256": "57635806b3421747a6fe780cf695cfac2d33576d692c54719c89789eb0efa3fe",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 129,
      "type": "markdown",
      "sha256": "60a5a305a8a283d5316dd44194a84b46b98c50d9a51c8480be2eeb5f7e95eec5",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 130,
      "type": "markdown",
      "sha256": "91dcb192b461cba5ef011fa0bad7baffb953587ebc4fa1ec1f63beaaa3fddee9",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 131,
      "type": "code",
      "sha256": "49088560e20615f92547f3abda325ef0e9811be9a6d04fb6e685af0b483e3f8c",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 132,
      "type": "markdown",
      "sha256": "63232c2b2efef692f6a5f6a6e1e5db92aeb721f469477da2cab43008cde2b123",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 133,
      "type": "markdown",
      "sha256": "bc997a6f1a654230afa23035c47f231b8c651784bb4bfae8e951a8bd988623c7",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 134,
      "type": "markdown",
      "sha256": "71cc035c4f6198a0016e91636fe608ac9ac85ef6ab9c4b433b4cfa5ddec6581f",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 135,
      "type": "markdown",
      "sha256": "f44980abebe306cf36310f85b540d2fc809adfcded7368d9b4348f799ef65038",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 136,
      "type": "markdown",
      "sha256": "0e802a5421d1a42db132e23d1891a037cb4c5d1c6900750fda974b6def1782be",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 137,
      "type": "markdown",
      "sha256": "f6f7b63be2370c0c9d3ca971791bfed009e618de9c84c4821e0337301bcf8f81",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 138,
      "type": "code",
      "sha256": "1aa2f622bad6ecb45ef37ecf1c38792e2083ec9ebdf4a69ded15b9375c47856d",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 139,
      "type": "markdown",
      "sha256": "53a6cc2c4f24d74e00334a0eb916f0992daaf78b256aa659fc3307d1842aadcb",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 140,
      "type": "code",
      "sha256": "4581c8557934c2fcf56ed799d0feb7cd6b7efba403843f582b236bd6ac2097a7",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 141,
      "type": "markdown",
      "sha256": "174435af2a4829d3a40c5bd88c77960529af30ef64bc11a8a4db42aa308ab6d8",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 142,
      "type": "markdown",
      "sha256": "dc662f939872603ae69856e174ab63b18ef39e705947f76975337a5fe855087f",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "90078bc45632a37d9f1d88d414541c13c46cf163108260d542441784281d1e72",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "fdbee08ff0477c62565e40426e380a4b1872327b9fb28984df1e6598d3a50998",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "a55b4e0ec4692f242b6b9c1a05d32c0d9d0f3c0d1d66587fc349be602aa3f573",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "a3dba5b68c71cb0ee8ceea0cb855dd0aa8d7df9f6d355eb16ba4a205fccd3301",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "f546de3af6f5c38b9e5201d9749e7dfe15b10562ac8d828415c6a8380421875d",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "fd92c4a765024336288a34556a3bd38b4df6023deb9649ac82f782c447505f47",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "d307c34153d3da815d0034c65fb2304bd68256ce633687818ddfedca8c3e8b61",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "af7da0385809924d5450774b2f1ead8a360f9f42dfa70ee03c91efc7186ca697",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "cbd07bbf408a8320274aa459de4f05b4cf39eca8b845d3862afa999d80fb71c0",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "6bc3f7a5aa36aace403a6654581325757707ed2063463840325d3179028585e8",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "91ea372889d7fe96a5caa8e95692dd2c42f1d29fb41c85e2be9d831e76b455e2",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "9b996b88775cf6aea28c8c083c24d9154b3b8fa450d101d9ca1e4f4bbfe2d711",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "e6971bcf9f9544c1b9283884b859aeda9142e1ff86df6d0ab04f07a975fca857",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "6bf53ca5bdc9aac38f61e3ac26bedb56e430ab1849ec7b7227d89a391bd62fd2",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "e54617981df79019ee8e9fb51d64100a2ba5f0a2e39eb76d94af1488515999be",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "93673ab81bd536ad4ea86401d72589525250070ba2ed1e63bae9b0c2d501b247",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "067e087ebc9f3a80453c12c9598eb42d62a0048951d4938617709f1695c3e643",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "9debfcb032de72385cefa2648eafb0c37dddf832ce9ec678c0fd00301a6c2aca",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "1e9d317f2a146dcbdfa9e44a691f224c3316c731bdcd3ba02ba4aa74921b071b",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "61b10dd8ea12203503ab01ca106c660aaab698bbd40bcaaa639390567beceb05",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "b250e393ea646e40c037fb7aeb04e981a6da7eb84d15033badfbd33c6ee22eca",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "96b52c5e9f01b1e732b5b04d012bb2ada86243682917fdcab235ae98e485bd71",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "6080913cd2f1684cc5be7d45b8f552fb659df6903e87984f7283c97eea3d3052",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "63a171f7f5f0579a94dba88c467c85621306473f1d6a35c0ba0c96bdc6fd4b53",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "7fdfacef7219c7ff520495f413bd28b1ea11c886f8152a4e69707f3e27339678",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "530f4f78be0507af0ff28bd1eec6dc134035c49e3507e09e509b67ca6b36b1e9",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "6087f8eb3e2968f13e05c583378b23da03f5ca6ff825de6461d264eb91518817",
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "d367b0781910e83ad12f0ad9d92218e5198c19bbf8c00971f1f8a0cc3e4f7683",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "e3d973b7f790fb3aa07f9c2f43608e747d7cbc53188022b3f48ee7ceb51ba361",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "f589c8cfe6d933b950eb57d6bb2c103e00c8597ef8f9eef8c0f360d760f28295",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "4fb91d5fb6d853ee46cf7aee254323688088e72d379f31684a4d91bab90a4aca",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "971a9e26c8ebd170629b56157a123acdb510ed4f5b984d23a48969ea719d65a7",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "ae38c15ea63ef9939f1cd950e0c83d758c7095e58988c2115de656b442f6284e",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "16bb9bab084992ca05198dbb6fa2264e584f407badbfe6a85da562b87d911810",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "f15a0730e0e094245f148c02f7dce3996da805d06c16d5c63b7f6577de233115",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "6a3e26b966dd5e96b32fe4338c1d78c73a2ebfa2efcd58c978d46daaeeadef40",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "114cfd88bf37ad901e02baa00579e3c8d922c57105d7af214be85484dfde17d7",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "39773fa4e3dc0e9d6739391a3fbfc2e9a9ab087da334aa7913165cd3ef307a4a",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "940839b680a83b2d3d9738bceebc5731083684f714e396e9b10a5ec215fff8ab",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "fee71b609afc491ad40f680c894ee377e850e2aba9dbfa4833507e70b39bccaa",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "c7c6082e9aa28878bd3ceb924db6b11eea1bb42f9f30171e0d7ba91106738ca8",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "238fe0fca9cf72483b251453009f452a02ec36fabd811825dcd08f2d1708cbd3",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "38ebac73ff1199bd101b900c43b04952ee7258455185b4b706b38d01edd5eafe",
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "fdd67f1ec573e05bf6a657ed1917e1ec099d60156381254db3c84c7edeb93031",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "8b1aca8e1681a3cba3c95ad56938d341301a4b575579a39269c3eff8962ae418",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "e2ca8897f5306959987d07970aff4c4ab3beaec18544cc8fa5516966e99b6eca",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "8ac5a4a8a2bab4ddf83d42cf96f22518713f8f44e3b57dbd37db65ef4f21d9c8",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "a5e8a96c44474df06ba74eaa9224477df20d78ea8ddd60bdd35b5de711c1f733",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "ad092a7fb8ada02e4c81ef7774323040cdeced8b7f57b3a127b5a286aa587d41",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "bbb897c8b54e0f569b07fa2dd22a5cff489536bb885fb0f63758916d035fd5c7",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "f6bc7f09809f1d4b72d75faaeed0b46301cd9298272479ac7ee39d97e3aa76a1",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "512404d4ea9d34f9dff67b519061801bfa14cdd680c1af761fcd57f75e5bb941",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "1f7cab4a7110672031b90e4081409157b6cd9c2b2f69ed5d7e92b567f803e707",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "010e7a7b840e42a843d1f4bc267e3b6d4293c1dc104ebd66ab710805743708d3",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "e68e4c717f72ea59483ed6033a8eaf73f90aeb12671bff81cf3e3fee685d48de",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "e1c7fcc3a8f7cbe646736d173a391b11b7485073e5deffb167b8f7390ccd4e54",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "a34162c105286b9e76be40c21577c863abd0e5e7d63bf7d19b15528d82911b2d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "089a79da6905adf33213642e475e31824c2e954dd7c74389de84f64371fe35fe",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "be671e017380badc7900edebc9ceed33042002fc8a86f3224284fda5fcf022c8",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "9d7463dd7d12b3fad217b5c6c3dadafcd22baac2f0ad9d4d071c68588bf32d1b",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "fd96342d5e1dd6109068bfea1241c6ece24a8dd778ce1a3b294e5470d70ea6c0",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "0081690fa0ef5dfd528073ac850e72682af9ab235c048306dd9feebe0668149b",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "9a395dc87aa98805a9e933375b682c2306acdb4a09dbd8248d91f937b21374bf",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "26e01860a223bebc263f0052b4c16b6e1f18397ccecadd424f98d9ef1a69e74d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "9906186deadcb74abe359888778bdd8574fca4189fc8f950d7d0740a18b34eac",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "b4d734fc6accde6ebfdf5324ac6ddac7740b7f30abb84aa16d9f122d24df12dd",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "a532743bcd688b8606d9a6931ea54e5637d41f07647b2a2395e154f9db2cde00",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "21fd430e35b655c3c36dc5c2ddc2a45f7d33d4892b9e42316155741c381b33f6",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "3d5ae05839174825e791248c3cb702c05375d273da77369ef78549689ca4644c",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "780dd8f3a43fa215dba54815721dba400523d63fe2ae3927a97ee60fd86b877e",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "68f281e93ee7a372de4a925c151cd868dd3cbe11599503473b4815175b95f09d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "d287119eda9b7d3693fec087a9088808ac8162419dcd575457ebfdd040f1c7fa",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "daa190e3ebc4eaf203f7ae7e141e0a2df4f62d49c90c247f289c708b9c463282",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "4d64203608ead4dcbbf8f32431b1d07dc844967c1cc8c52cff7e4df9445adb24",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "84c0ec640e4eb2c2c9467b44cfd793553b435be4f46a438e9c052a7cc44626e7",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 42,
      "type": "code",
      "sha256": "4cc5e06c5715311fca7011297891d6c72aa360667a53c9c8943f76e5b1738851",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "f355642243d4678ea2ac700196560b2c3fdd195fe57c9f73bf20f824dad4e4a3",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "8addd5fc586e68810f904a58d61eac47d1df2f40b03e4574f00e97cd45ea6b2a",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "8acee5eab6272087d756296eee10bca5f1e8367c5cac6aee7b15f8a2ded96244",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 46,
      "type": "code",
      "sha256": "21fd430e35b655c3c36dc5c2ddc2a45f7d33d4892b9e42316155741c381b33f6",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "3d5ae05839174825e791248c3cb702c05375d273da77369ef78549689ca4644c",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 48,
      "type": "code",
      "sha256": "780dd8f3a43fa215dba54815721dba400523d63fe2ae3927a97ee60fd86b877e",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "68f281e93ee7a372de4a925c151cd868dd3cbe11599503473b4815175b95f09d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 50,
      "type": "code",
      "sha256": "d287119eda9b7d3693fec087a9088808ac8162419dcd575457ebfdd040f1c7fa",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "daa190e3ebc4eaf203f7ae7e141e0a2df4f62d49c90c247f289c708b9c463282",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 52,
      "type": "code",
      "sha256": "4d64203608ead4dcbbf8f32431b1d07dc844967c1cc8c52cff7e4df9445adb24",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "84c0ec640e4eb2c2c9467b44cfd793553b435be4f46a438e9c052a7cc44626e7",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 54,
      "type": "code",
      "sha256": "4cc5e06c5715311fca7011297891d6c72aa360667a53c9c8943f76e5b1738851",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 55,
      "type": "code",
      "sha256": "eff158f4d5239208365a0bb3669f3aeb4b621387f52377d576e2dbc09733f928",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "7978890e9d8b7cb12093687e1a4706b8bafa7b577e5845b2acfaaf18900343b0",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 57,
      "type": "markdown",
      "sha256": "0efd7575f5ae5c3c547047d3536b5c3faba955a7260a25416f9126b7aea6c731",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 58,
      "type": "code",
      "sha256": "21fd430e35b655c3c36dc5c2ddc2a45f7d33d4892b9e42316155741c381b33f6",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 59,
      "type": "code",
      "sha256": "718ec04167b93bff8a564654b57f9fc6b25023f8ad1c4fa3994ec29060defafe",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 60,
      "type": "code",
      "sha256": "0e0dd52604c6cd449ba90ff630979f4477744941c93c36877b2e137c321f3eff",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 61,
      "type": "markdown",
      "sha256": "436d2e4e7f8beaf37b47d90363be7d6af71bddc6e0a5375f5c61d592edc3f646",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 62,
      "type": "code",
      "sha256": "3a949e71e5d8a0eade45420830d159371203d792464e65f22c39cd1c2be98a1d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 63,
      "type": "code",
      "sha256": "1576e5942f12ced4d0cc63f06ed62ae25e8549363972156d7d69d12da076bcc0",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 64,
      "type": "markdown",
      "sha256": "6f97fd795ae091e2e46b590c4b13aa99cb209327d7aec699c60b6e999a43c37c",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 65,
      "type": "code",
      "sha256": "dd407311a8d46b16fc198a7b75e64b163f90e14fb4357934bc83fc94f74f7113",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 66,
      "type": "code",
      "sha256": "7c831bac916460f11349168401f263e6f322144fd818414552ef092c61b46fab",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 67,
      "type": "markdown",
      "sha256": "cbede030c365b9d5a29488c741d872b3269312ec9f2930adaa6b49c174823741",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 68,
      "type": "code",
      "sha256": "8418b5998b7b2d7b5098557406ffd6e495df77966d48d267a0e01018131c5ac5",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 69,
      "type": "code",
      "sha256": "3c12603017d2ffc4e3d2f47b9d3abb0cf3e1c0ae39422140e43c1150a7b05d49",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ecbfc19fcac2185c957ec8140a4112e91a453f50ae1d3e61470142b6c4a164b7",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "1b85f8ee99410e2c3cea9ed4183412463c3a08eb9cc9de236979fb5b08125ab7",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "635b4326f77dbe0027af822a2b3fdfe34ecee9949c77c3f21cbe7518914e7fab",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "41b014ec52aad002585499e0361b03a152051b5b6cea3b65641383559d9ef40d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "d1dec2eb2c18e6ed89642853c50c5b56e16aad50190d97ecd6115b40aae5b96e",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "40fb0f29a6998ee790ad2955a7bc7103454a3d826090ac21b1cc0dcfe31e1345",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "1dae0ba4deec94bc61b9d3db792ea09c5394ce27af1e9547a894cb3441d71ef0",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f8fdebb2e2af998a2fdaf1bd844b8649b9be211d7db8812dc088f9d1db5d393f",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "6be444fc70798adb182cbedf9e0f05592253775f838e2dd7d6a4b3a4e8dc45a6",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "9a8cd86e2134385ee4634fa9dc53778b67faface56bdd97d9052556660f0038a",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "9c3ad9b300b5c0c35e31ab604ac3c26eb52cdd151b6e4dafaf68bd64e413714a",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "a37fbeea14ee3742085cdc0842910e5c2eb1747d774cb068992cd37209c6d012",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "f9e3d28500553da198ab6da9164e86b50df5cdf1b7a53b0b672d661b9cf78b49",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "730e387bdd5453a6c3c1dbfb8f07a5a3d805f0087bda484e208b4c1edd658696",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "a13468b8452796944615e03774159411e9cbd48794c583edfa8fd1cb23197d0d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "d3cf4ea88dc82750689f6615072cb38d64c13c94b80737126c45b8d1ae09e9dc",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "db31416c495a1ba2b87a91645a0288857ac394e4b4ee1f10092c2ff6826a3b6a",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "9c3ad9b300b5c0c35e31ab604ac3c26eb52cdd151b6e4dafaf68bd64e413714a",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "59b0f2c7e5069656ebd1123c648933ae3d4a8475a4b62931bd990bc5fe3fb4db",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "13a0d86bc85afa0c2aed979b07eb4fa7baa0e3da68cc73eedfcdb210dbd3624f",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "628461980dd9ca91e0464ebaea83d631f0e836d8344b9719ede19c70230a1476",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "f2646bc58cb92eecb432755dfc91657087496c78fd68203845cfad5f81726a92",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "6f818e49665b0c3dbec2934ec752d43c533350f6d97b089a091ccbafd16dff61",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "b3dd83c13c47a719c6363118b905fa4b54d77e1d2184ce0f3dd776ceda19743e",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "f97cd7500b725e894ca4b1b014cc5009c6cf54bdf24a14853b3c72b0ca5bb36b",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "2752624f708417aca05a54cecb12623c26ccd78e1448ecab0910107e100fad33",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "233442b5693ba9af4b0ac3bff757c17b61ae50f3d55d108a7352414a9d3cbc3d",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "d8977afd983b6128c3f9ad0770305d1dcf393bf7af51669ffa174fc8db145384",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "f837188489b2ab93ae4e7bd27da17008eae0d13865fdb3b398d64a1143bec7a0",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "b3680d3ca40bbebdd6eeaef239a9325ba1e96fa8625a4912fdf0d62a0ed8f932",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "802d3ab0189d31e34ec766e2aaba4542a6557f6548526b23edde0d70e4e0d5e5",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "ad8110d346334cc116a882872804b5ced5313b27db539c96236cb04e4488cbcb",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "8e6b9a43544ea3349b17175898e3b706b1694e3050b8b37eed6ddd24ce4c655c",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "662e8de16883f03e2beed2dc90f47b38b35303ce2785235768fac4d2f5977a98",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "bafb379c8fc314f7a0e7283df806ac053fb5c55bd100841b2d97cb2aa817897f",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "7721495db85e111bd240a3452645382716bf7139356caa90a52cb291bb69c87c",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "82715e4f9d633f16a8b80e6d01aee46c4db90310d4e9d1ed17af39c0bf0dcc29",
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "fe342b06e46003bfd1812fce62e67309ce346164ed3e37383d630e8571a574a1",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "9fd68a89341f7d4d7f20d1bb71ebe2e437e24f13d802221f03bebd0a782ebe97",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "48c5e3bffef97c72e62b6dd47d9eb80d5db92c7dc5303aeef3d41d70d292cc3f",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "e4fc3722ddf0fa48d896a35dce7f59825d7dece15dffb71edb775af296c5bace",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "f3661c8a7c7cd2a5908f7fc9a2ec17bfa2879034ad0795c9a18a9ccd37b836f6",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "44bd827e3190f28a90dfde84578d3bd6e05e529c093aec401b1ed0a649756df8",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "631fe82849d12c162b7e44edec5247588ca4878a99034102a3249abe5d358814",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "414c2b5019999d5be1478b98582170edbb6bcfed47b9bbbc2bf9b57996484951",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "c2abf99dc7daf38defc952c5e1fd911348028f37cfdc76d1d706dd6d5b5ffeda",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "33abf97d9585e6d4487acfc3e3388756fca6814c63320cd4b86c3e96b8fc74bc",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "7f4addd870a54fd552262c9422925b720064a0f0f6af246f3448c847f4f9abdd",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "1abe0cf8137c6d70e7d21c16f94bb6caebeefbef8538946c52337da32cc7b778",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "621375b27208364fa7268e79f6e6ce1f6a6879f0754a088dd0ffee03602f034f",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "fa87a55ef8e6df3d006b1ab492e051b16a0a7ead21d5b93362cf8e481a885b8b",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "493c06c78e717064f4cdd1adb5c59af43807799d4f84b116e8ab2509e389e8f8",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "85987387fa55533f1080c1c6c9f05dc57cff9d80921cb16593db6acbe858eb27",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "6de309e12b49abf1c901e37e7dabf23522bfa11b14b3cb713cc453aa1a86af37",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "8904e8dc8c37e0c89b2896f5fc9a891648cff2a5328bc115c59961535657d8df",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "202e243f203e2b81635a620a2ef902f66f1fbaab2f0fff08757fe25039e510a6",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "fb700a6ecb4d65600c6562ac4b3011ea23638c6301568bec65e0bb126a06da5e",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "81e6daf75b575a4cfbfe7a96ee8d5222f30bffdeeb43462f9423074c6d5ef377",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "028ad476784ccc121e0dadf4be64545061e361081ead3b2066b92c6623c4b7f7",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "bed006c7e2b1b511f7890f7a300cd19d72b07ffcded97bc680660adeee0e9342",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "ba9bd99c66012ae876dabd7ee0912ec63403b35ebf220d549cdcdee0e091d320",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "dd4f549156ffd76a487cab5a94cd966610b4e876be9b3784dd0686cdcec64c2d",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "195c538c86ccacbc0811cab84637db763465df1df427fc89fd450e962baf3db7",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "f24da1399ee11b9022583508fe04b41d41c645b2ba75cf9e570cb61be2b41759",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "57d382d0231001625cb8b8e3cb0be7e26fe0cbbc96c74a5b6782fdf604f7fc09",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "12c36ee88b6a44ecb9c931c5b36993b26c9e5f4c4eacef377b8e5ae44bb476cc",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "196655184f9c189dd9f488eef4ada070a3a8964adb1b8fe66b1c06bab4a471ff",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "cf12e0ca633b6d556480b0ea29f367aaae56a014afed2b345aee831f489ff031",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "ba5eb0000e016ba9296cccc52f4036b214b266e92c4726f7ab1527fe288627d0",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "a8fef34c3512e830325901a0ccd7b661fb8d7ddafb24b807874c9fa6bbc36d84",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "16c14432a74c3f2dcfa8bdf92f76216be72386a6337b34dc01b56209b2fd4d8c",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "26c3aea4a6dd6d49bc19180d133c4cd4054cfddece001f62e91e1f55738733cf",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "28e3ec526147112f77852728e2f48618c4933cb1ae7f925d02622f0ea2bb6f4e",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "01c774e09e428ea9358da6411c125051af33f18cbd8afbf3a2eec7457ea2a5cf",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "6565ff8fe8e1aefacdd570cfc3784c1b220e683a70801838cc7f0bc2e4df02f7",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "1931074349b57aff003a1c2e076fc7eb2ffae183168e68136ca522d3efd03a00",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "e35edf11e99ad7d3d03391d0cafde05cdde4734174d9df6162d83447edc51ef9",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "e2d4d7736b1d49319be504de362ad6292f50410e5b48c45bea97b880da583232",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 42,
      "type": "code",
      "sha256": "76c1d7d1926cd1f3ccb57d59767d1f19582f867929c54b37b1468a86af346c1b",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "a5504cc27126f041196bd9a14ebe74f18530c4b3fd7f6f0f0521d3d8d656cb9d",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 44,
      "type": "code",
      "sha256": "c67c76787b5b2322a55356dd7716b5bb4c97ef065484921bfd3f459d7cf8656f",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "826fdc3b220d120df28709a6a4dfa5b9d565db39b509808d619e854800163ac8",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "e464918d60aa1c6b1a03e2d3a645dd5195cd58a73086f7898c30885f6f7200b3",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "7344ff6c342a826cc3b9d54f7262bb6a0a1c64f2947e29191dbdfeb1f849fd11",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "4fccbb8e5312d91585fd0b5413b9cb906613d43637ccf2255916a6c33b16e84c",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "0b606f9134f2ffa792da3f2a8ad8aa3075c67b2fb70a52821222924eeeb804b6",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "afd48de010e18cac0a564014ef709c37673724ac8e56627262f0ceb0d88b2fcf",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "763120e2dbce18a788b4bc10167b0c2121a45eb3f7a5fbba973543fcf5c0ef33",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "fa6992ed8e39738f2e5dc506d14e494db1432ec1d6e643ff53004de90ce2ac42",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "6b1fb96fecd44060ca9b3661fa1668af012e883f83b0cbc2cd79f2c0b4fcc24c",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "82e4d3c20f80c4a6cf158b809ce85b7c78c0b8943c657a67e8341384f8a15d26",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 55,
      "type": "code",
      "sha256": "2ba6407696845381a77cefc22cbc5b0f32243950c201911f95acbba1231a82ba",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "d1c920b22b54502874149123bb4c9476c8f0d071936898c999bd0b06f623912e",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 57,
      "type": "code",
      "sha256": "a30e6fbbe279d53c24dd359033bdf3d5783b4a4e97a219f78ba84549c9e68aa6",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "5fcd22901338d28589f1d910744edee1f1b5aae61550daf3862ae80d1e08412b",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 59,
      "type": "markdown",
      "sha256": "6d90db7db54facb7045c2d7585bc1fda234fa807f863df3b0d62a57540932d28",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 60,
      "type": "markdown",
      "sha256": "e8dc1a3b4aa6b7db2b2652256824b51de45b0b281d5acf88aa64b17a877aa78b",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 61,
      "type": "code",
      "sha256": "4af9c268cdfbc7db116cb104d64ce8ae45250ebb9147c19f73ec9f18b305c519",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 62,
      "type": "markdown",
      "sha256": "d64ec134027995db8e9422fac9b92c340cde165661003a1a0cb4c75848e349c7",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "40f9bb761992b9be9a7b8a3b25bc43b937486593772944fe08a01ab72f3684f9",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 64,
      "type": "code",
      "sha256": "3fe533aedc65aab80fd372d6214c9ad947bb32535f9645f154a95710db63b3c6",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 65,
      "type": "markdown",
      "sha256": "3f86e87fafb0bbe2aee36f13a97811e91c6ddc02491c0b84346f9089b8a41c15",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 66,
      "type": "markdown",
      "sha256": "0747106b9d0bf88b8381f50f29595c359b83db61c1effd38f1036ad2306cac40",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 67,
      "type": "markdown",
      "sha256": "6b50b35abcf2c13c22fb7f256b72ab36ad9432ac3c2caf7251c11a4dd20f9652",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 68,
      "type": "markdown",
      "sha256": "18d0867711fbc804d7170dba9f20a4056afd3240db1faaed727007650de845e0",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "d0a410fc3c4d85297b3dc31d45e999b5c7663ac584be95e27bc915cc9f4b89e0",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 70,
      "type": "code",
      "sha256": "7132d7a2d5470ca413edf0f83c784c90615366753114e375d1338f0e5e1b4a40",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 71,
      "type": "markdown",
      "sha256": "feb8e801565374963b937154ebad57e07bb74f6ab457078e480e16803b6ea0f8",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 72,
      "type": "code",
      "sha256": "70ca4a8fdc1ae52091d4d2721383fe039518fefc838f6131b4b7b6c4f11978b5",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 73,
      "type": "markdown",
      "sha256": "725a9244b11d230dbaf0e9d9e5a8dde9deec78b17533e931f591902407efeefb",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 74,
      "type": "code",
      "sha256": "845195fd807d1e41e11c7043436fc20d7fbec3815218aa102d0187f74ea92ee2",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 75,
      "type": "markdown",
      "sha256": "cd37841acc35bb5f5c705af084d5059c2d4bd38b7b8a993425edccef695d12a8",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 76,
      "type": "code",
      "sha256": "9bcfdef40659d2ee3ee1e5229af35fc97dd993661ad53f337a7a959e84961992",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 77,
      "type": "markdown",
      "sha256": "e1ba51d3b0cfb68572130edcee056d962b0d89fce64924f46d7b155cff805a53",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 78,
      "type": "code",
      "sha256": "c9c55916dd184015baf8b853c9bd4b09939363f94b3cad42f58dc06466fbffbe",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 79,
      "type": "markdown",
      "sha256": "e321539295291b091f6d716a787ea999100e9ac895e7fceaf03b080b4a125d74",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 80,
      "type": "code",
      "sha256": "9100bc47989daa21d4c17b3c8f5d52af646601c7192c4db192d75ccd5241dced",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 81,
      "type": "markdown",
      "sha256": "490fcfd1927bca4d78b4862b559bc2c48045cbd7e8ae7385901fb44428d15bff",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 82,
      "type": "markdown",
      "sha256": "a53318a6e1b125bda9f51a250d6814e6d87b31c88186ae9a1bf74761d3a8d12a",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 83,
      "type": "markdown",
      "sha256": "c910daddaad083c1c74562171239ba358beb2e81a9e6e58bbfe7dca3b2873775",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 84,
      "type": "markdown",
      "sha256": "d3f45d480bdd0e107d100bb7baa17e8ddf16ce77a0c5730557a4806a6dee6be5",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 85,
      "type": "markdown",
      "sha256": "3ab0404d9582f554fda89b6f3772f7ab2242222d00dd780a1f5f004780176778",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 86,
      "type": "markdown",
      "sha256": "3d98edb5fa6cecb3084e458b5b009e94330503117a51ce2df16b75e311ae95a1",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 87,
      "type": "code",
      "sha256": "3d326ee0cc6d257307e1bd134a078006def94d6c82e7d04c3422b22929239a78",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 88,
      "type": "markdown",
      "sha256": "33552b78f4c809be12e457ffc24053c99c5ebbea0fc242c3757bb001fce9666a",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 89,
      "type": "markdown",
      "sha256": "b44185081acb20cea22acdd4666d66b260352da14ece2969322e489e20638893",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 90,
      "type": "code",
      "sha256": "0ba8972d87cf893300252139bf5b0880507f823119a8b5e442d3157bf3f3fd35",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 91,
      "type": "code",
      "sha256": "8a9a9d801a2a863b2272f98cb8c9bfe6db17a3b45ba615b41862a09667b658f5",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 92,
      "type": "markdown",
      "sha256": "9ee5b27bbb225b490f8f2ed3f7b6a027f5d8efbd9d21fb36b1beb72ca7aa746c",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 93,
      "type": "code",
      "sha256": "851adcb7d93e51fa4ca92434f74348a62bc10042d0d953f14354547e12911e4a",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 94,
      "type": "markdown",
      "sha256": "b8b5405bff07864ef20317604161b12a2a311ed0b1b1572f9908b86d50ef723a",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 95,
      "type": "markdown",
      "sha256": "a761fa148694bbfe205bb59d6293e22436a14f7d27421e9e738b2141caf6444f",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 96,
      "type": "code",
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.10"
        }
      ],
      "treatment": "empty_cell_not_applicable"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "cf4ee4a65b8ff1962d7e2bd73958f06d69c1bc063e8f426348450ff059ce0ef6",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "7ca210ff5792e1b8559c0b8961161fbf04d5f34243a719cb86a63b675437344a",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "275558dd2ea7bd4a13de69932440b0ef81545492ee4c16569283b0ade5b5187e",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "301ec6dbe265b7be92803fcd9056518b229ecf1fd6fe459e769d55cd2566e969",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "03507c39a1815cea3303245a8a9a202ecaf1f120cc605375c434f591b7b0e065",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "13110dd7dbe7bf74d2f51f840f1be61756182c01ec9f4bb5bd69b0a6c7210308",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "172f01e2c5b0d1d3eb83ca7ca6232dd15997895c5e8006fa0ffd8ba66f3451af",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "a79ef855ee962c5906b83dedd7534412cd0246de082af561253d5628d39b3a96",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "7363d254086eddb52a7f81ccb658abcb34e9a32121b600b0a6bfb662c7959ceb",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "b3d744a2141f29e44e8fe37336523df3ee70ae5182e9ba8e4efb849c4d17e90c",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "3ac9b03901ad30f778d183ca5d15f91390f76b47638324838fdd6515deddf672",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "4165fc3d71d966b64cd356071c5256aa385423877ce36f2148ef4699753573d5",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "5c2e18a2ad67208a4d9d88f3a4ece09ce435e05c0495fc1bcef2b481b719b01b",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "3741dffd1436077b3e877feb8c7cf9b0f4fa3f97264fb729a435277424fb97e5",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "0b58d30234662667232f1c44c7b21dca92f3d4a78b83ce25acd2a8a78ea79843",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "c6b4f259235905a5440dc4bda54ed5503417f952c54fcb8438162ec286ec3e81",
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "2eb391b49b81eb0dacf7485bebf16266dacaacd2da46da3f5828eeee8891e382",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "60b3d84607a2b5b0535adcabb89b9d0247cf2f8acd74802cbf2f0dbd56ef65b3",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "46a969a9c982f00509d6f20afacdcef747b7fd9b9a80b08b810a3c0ec4e13dcb",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "29f13d101b670cfcda5a4225e22a199ff8f7cd8362b4518f7cbf76edc6060859",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "07a045895dc5346bf03ed763dd5b46deaa7a50a4f6afba6a614a7d25bccaa03a",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "6c1121a813d962f73aab71549d5138300bf0c16edabe9531c4193f470691d17b",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "48114f8ec83d4a7fc7849310c989cc9fda2244603f361bf52cba3e7b2742fab9",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.1"
        },
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "a5aeced6ccb80e8f98b39c399b1506c5fa36e773445b76cceaa795c333386bf0",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "6c1121a813d962f73aab71549d5138300bf0c16edabe9531c4193f470691d17b",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "e4235e73c16a9d6984f39b2584f29cb2fd0c316df4d18d33afd366fe87ec7b33",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "cf9e0a9e28ab97719982c88daa86c0af957fe8ebaacc74570012b53e011ebb8a",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "bb3b657f829af0a91d90ad3debd0b1602ae268ba094408fc7032c5b38c5c7661",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "83118d1c6bc153158fb51a3d8561e982ee8763710b799c001519c8bfb0093a6d",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "99df33eac1db588a22e6283dcd6461c4b4f5148e2f31ed6c767c9176b809445f",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "bc3588060243f9aca985f2747d9ab5365a880b9db0895c76c7d14635e3f15b20",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "b4169bec32679ec221df689746a2f0a1c0fd993f96f450d7608d007e972a7d9a",
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "737f22f8675b1323cd29472164e93773a5fa2ca716cb5b424718eafd2cd191b2",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "70c0931de368d024df519fdd0dd628df9265a43c1dee811a0fb2b9e3f1de43ad",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "761a03062a586fa68ca176a9c1ecc0252e1dcaace0acd459c2d99d68c348caca",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "097a762749c6fad928e1b1fa940f62929bbc4d3fc62786cd007d3d6f23515eb6",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "c07bf607de66c4536e725e53a20e551631478203f7fce26583a8f098cf1c84d1",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "07f20989b56c0628d8eeaf105adcca6d158105e0ab411e0e8518426bba89a3d7",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "1427e379f02f1ef6ce1b983691c3715748896403ca5983122e8538cd93cd781e",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "5b4d7cce105d774722cd6bd071c8e740fac26c18d1bc4ea9f414c02d2074d8bd",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "6c71da514a5ad0c72435239fec79397e626048850026d307a1bce14cc2cd5e20",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "2eff8cfe13af341b78c5b6406ed4f98adcf03ccc0266b52251cce7cb4520e5af",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "ca5f62479675d6b80297c325317d6165b33b5c19bdcd52293d81016e8b9b18df",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "b8a6a03a7f3949965ae0c0bc8fb2c520f8baf6271ae1a20a7b10293af5d822c4",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "da773530e90c61feb0fa32370d14cde4d522f2c2b4217bbd6f373bcbb7409e6e",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "d15fc7f62cf299bb791827b9323bb5ec33744a556ec96f638c1bf45cf3b5fb7c",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "1fcc8468a770f228007df25d08309bdc9d84ca62cb628d1b4852855087ac35dc",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "2c073e3f25678f40c7cf1b6ae62fa5cd0b3554453999402139d4545fd9c9a16b",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "d2c29638c7c2c65a4b331caf90a760585f288d9ad943fa3f206d9f4d70fcb461",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "47765a078960ccf36489f0cc2e7d01fa0f60def1ffcfbd1ca6d8cbcce6349c96",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "f523273f40771ea21a9ce83734e58d8355a77354528830950feda9e090ac2bb3",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "f5c6a70dc4455c80635fe93908a640ac3133c1418ec8c233c804e9e4f913515f",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "6f7e433aa0c23196d41ce914061797f913e689df13a2a96994cc7122f8c42b6c",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "275956727e9c74cdc0bc2bdec88a72de79e1cb0f4583c270d3f0127c172fd907",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "de8a7fd646f401044c25400ba422ae6dd0ec31e2fcee3de7e2ff1fe47a099789",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "1d472f1365e9c4ee2003e69007f5f2253456035e40b24a58891cd04c3d683112",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "5b9fa9638bf14e9330e47a7d2ce94762feea396aef77ef94399b9a4756f6db75",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "9694d20ea0a6fd383d4f04dce7bf64c3c75eddecfc5ffe37391914e185085f89",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "ed26a155311fcb4b637ad70b7832dc77c703f442c102dd80adbb8325e4ab6ca0",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "358004d45010c50f3e52e4e5064ebc5040b9df2121da4e6af6ad43c4c1e56a0d",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "f64f97449064e81e3371f1eeff9c7f7427778e680a82d90364c75af1552ab575",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "07eee42d3de99795fc6d21afd09a998912d72660418a44182ec70d2737427648",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "46a84e2c3dfbe73e291e2ab13a67e95704c8b3110e46d1dcccfe4c85ac1e2622",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "d696d70ab1f9c5cf3cc82c4cd0c359041f5ea607c97e6de5b0eeb62ff6cc9800",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "e5060757b8c2b83c81bba04841a758991ab7a4f2222ceb3cc843971c6fc4262a",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "de41544b1797b660c882eecf9d95f4e7b7a4b0bd7c6f64a1cf3504dfc3111920",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "ba129e2743d7170455e9489e7f0bfff8db2cc56c9735d07a0ddc3509ac33cd97",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "cd0cafcc1305a794fa641739165ddd10739b8f1648aca90a9a9b623e91cf1f63",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "7951d0c250484b49e630105118d21ae8f5c2f6d87c8767993744fb6dcda5983c",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "1e62230e2c4be487448c50d27dc3055b4e45674153f157c7e9c81b3143f02825",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "2734dd0c2d6d24111924d97259a721c4650aaa1f68a8362497d88b23a283446f",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "0e8d8f1ba140b0638babc271f4466e0ed27a988b55b1a4ce86434f335099e491",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "db6b102e6ab8c45668e60a459fd23cfd480491f1235bd1cc3132563ae6d6b066",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "3e6a05f7fc383760e7dcc0f017f7af80d60d7438322388fdb4b83d796e24fc81",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "667121892e16722e68257bc1479b22f51dcb66dbfe461791ce4b76707ae68691",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "68fefa44ed0b36f8d5a86ddd9cdc48ff345c2d2f0aff941d7c97b001089b41ed",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "0601bcb4b21184e57e2f0b90d91d097966cf234b0119d03ccb663bed4cfc6156",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "e25c3188bfe858a2b61251f3b783f123ddeff4e1b719f25cd121443b13e42c60",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "8f3035b78404dc1dcd0902a15ca684c9f4c9b1cf2a4d003ab5afcd1bdf4da21f",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "952532eb3255d90531fd476374b7028b74643538eb1c4402bbd7c395f2f78007",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "751e08a483aab9d265d6f9813430d45406b0954d4a51e82ff1812a9e63d2225d",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "a9778b4895f2418cfef0f96f575c3555b3b98bfe0a0667928541c61935aa05fe",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "74596e0216357f802ac50c493fda6963e402367050064839385fa0e829734135",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "e0e619f5f183cfdc509c98cb72135f5570e26c8b3d3ea2575cd80ec319498021",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "08c3168f3a659b1514983a2ee3f1a8e58f8d595c45a82e44d0cd54761890b5e7",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "9c10552fb3d38878ea32b98ea9b4f9d78015c64bf78ca7c60026feee502b3c7e",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 55,
      "type": "code",
      "sha256": "a59aaf7139aafbcb46176bef939b89a6b4ca924c623837f8578bcf9fc473c8e1",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 56,
      "type": "code",
      "sha256": "cf9a579e1e4cb677a1674b87070ad233b6e417f00f9022397f116601f9a8fef6",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 57,
      "type": "code",
      "sha256": "58f573961473c9cd169ca00a2b8ce26299a7847dc75dc9b528dd31b57eb0e0a2",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "0dac31c2d6bbe6625cc3c2377d5dbc4ef1bd5d91f9df93b587a8227af12e2281",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 59,
      "type": "markdown",
      "sha256": "1ed2c33739ac13518a1c607dcabb00e07c1e2658563a4bd727e21e9420bf80c6",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 60,
      "type": "markdown",
      "sha256": "0dd3ec4044a0fbce15c3069759b414caf8d948a2de62b728b2437d5ae61135cd",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 61,
      "type": "code",
      "sha256": "dd313ff646f5ee8af3ea8c24db7ef8e3176b7798a351fa81b7b7e179c38d44ca",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 62,
      "type": "code",
      "sha256": "85790050552e69d3349b2d96810ef138b1f551e467c08020a35c85e2006b04a7",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "2a94ec62297967cc8e3b625d582decf92af40120aad6080395e613bee142f15f",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 64,
      "type": "markdown",
      "sha256": "627e2a014a24548ab5c0cf6c22e8dc6192158d28fa1fc056521c07301ea90d96",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 65,
      "type": "code",
      "sha256": "186d1a44f40aa88e6f365607ff566e0576a05208bc4ffe4b36edd8885a1da382",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 66,
      "type": "markdown",
      "sha256": "d34f7100a16b9798514f0d1a2b58a69d40c48e142d772c6573bf5bc564a53658",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 67,
      "type": "code",
      "sha256": "556dd47bef25460a64686200ad5b12edc758a008ae3eb8787bd97de0c1df18f8",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 68,
      "type": "markdown",
      "sha256": "76b5610c917acaad1b7cb2865b5a64407721733a4efdd25acdb42ba45892bce2",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 69,
      "type": "code",
      "sha256": "fcedb0f497dc7936b5948459de406d5de7fd10286d96caa5f20f5a9d19830ce5",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 70,
      "type": "markdown",
      "sha256": "e187809d9c03cd88ed78725ea4a324f3b80f88ea13d4e29f2fc66ca98c1bca0e",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 71,
      "type": "code",
      "sha256": "0579bad227bd292be99397bab862d196713f6e652a1c349f4cf17deebd014706",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 72,
      "type": "markdown",
      "sha256": "def61c90fe4275d28eb1809b09ff7f6592e038a28469bf0c212161ee998415f1",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 73,
      "type": "markdown",
      "sha256": "ca02c79f76ecfa22a5d08d4532d0aefb0c4f437e3c6acde7765ef238e70b7fc2",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 74,
      "type": "markdown",
      "sha256": "ce8bdc37d2e45dd31a69fa5c39cf3045a529d805a07bbd33b0116c583aef5775",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 75,
      "type": "code",
      "sha256": "8ec43c3778cfa225cdd8760e9c1a2fbb8f7d4ac74f8ff339fb8c06fbfba54151",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 76,
      "type": "markdown",
      "sha256": "e0cba59d616ada011e1e83873b7bdcde2a901746e56db230de7850a8b2cc7ca7",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 77,
      "type": "code",
      "sha256": "661a59c9b29fa8e5f8a173fc98f280ba1e493a82a8fbd2f42d1c4ade1bd1ed82",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 78,
      "type": "markdown",
      "sha256": "4b384195de1415a5af077cd0914202abd6cc920947d21b51552ddd0eb34d731a",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 79,
      "type": "code",
      "sha256": "38779a8d9faeeb29d183d47dc82e69a1700194f7b9d8fa254f1389d19ba31e3a",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 80,
      "type": "markdown",
      "sha256": "5002530b6567178b2ba922cf7f5543088e92f12dd9c9d0b4ef0abc6d0ff79ccb",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 81,
      "type": "markdown",
      "sha256": "8168a9a71a0407787322cdd1302a637afde5ad3ff45d5b6df655b520912d60bb",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 82,
      "type": "markdown",
      "sha256": "eaf5d4b6fe0e049fa267f3451bdf0de341afdf6a81f6a3316ea3b41160b65221",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 83,
      "type": "markdown",
      "sha256": "ca2ec47a83ada0b94b3d7f452d3e04fcaa4f7832be3a69174a5d92ff9eed5398",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 84,
      "type": "markdown",
      "sha256": "19c0c17977e8525003919fa8ab790771710b77823fcaee2694f59eb4ab2ad9ac",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 85,
      "type": "markdown",
      "sha256": "144f9e9fb1314bfef3b06b082cdb4babe14d66ed47622a59b858216e9a325bf1",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 86,
      "type": "code",
      "sha256": "e12da5fbe07abbcc8072b427c8ad1a91a4896eddf7fecefe3312abd29b1b7f98",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 87,
      "type": "markdown",
      "sha256": "81f6f6cad66f9af28c369c2d85b4ff3d21454d255633797785b734e00b628bbb",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 88,
      "type": "markdown",
      "sha256": "d7545a4d17d7cac36d4bc84c7fe979a57d396e6a10a32efd329dc5da7baa9def",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 89,
      "type": "markdown",
      "sha256": "cd3824cc24422319c4dcb00a57c9c8af6ff03c88934ece9fc1eb68b15b02b081",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 90,
      "type": "markdown",
      "sha256": "1e7ebc7a2849de9cacc1b6bda1442883bc9ba6477ad1d14e4c007d194b6e7128",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 91,
      "type": "code",
      "sha256": "c4c35740006b25291de04edbb34efddd514344fed2018a89c089a2d12042effb",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 92,
      "type": "code",
      "sha256": "bee5801487d3a8aaa0868c6d840c15de643a3063ccb6d3262cd9c301cf840fbf",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 93,
      "type": "markdown",
      "sha256": "3f3aae9ca7b99d5828766db9ff74be503d3f1b870589db6a583d15471662ca38",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 94,
      "type": "code",
      "sha256": "08025282b9e7357d564deade3dc3ae8aff56b7a00954c40a0f8d49231192e81e",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 95,
      "type": "markdown",
      "sha256": "ba0122337bef13f9215622b388fad798fdb0e5133e44a46af55b1a340c178fc6",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 96,
      "type": "markdown",
      "sha256": "e7184e7a1ff4013a651912aabb592555bb5a5a6cef930d609b6dc2932a02030b",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 97,
      "type": "code",
      "sha256": "a2491a08453511aec44408f96a6e8d6ca5203091e2c5e3b49798ed3d85188254",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 98,
      "type": "code",
      "sha256": "72436d62273862b4719ec0aa52aae6422b5b82aed38445bd0e8be751a600e13e",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 99,
      "type": "markdown",
      "sha256": "f55fdf2e313730cb0203561f6956c2b71f1ba94745c8b9add5b94a04f39e7e8f",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 100,
      "type": "code",
      "sha256": "6bbe1e4333054e06d6ff47869846dcb5e271c83cf152e1ead36a689a9f294684",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 101,
      "type": "markdown",
      "sha256": "7ef22bca47b2f867382e3337bdfe40c77f0220c6d9b0b396884190cead165aa8",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 102,
      "type": "code",
      "sha256": "dbfda2a69d5ce8a73d95e6538bbd3fb49c74d1bb7271a7f7aeb916fdc0cb3cb2",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 103,
      "type": "markdown",
      "sha256": "d805c9bd9f3a914f41c93f825b7f5ada9db901b185ec323601ac9fe73e55d686",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 104,
      "type": "markdown",
      "sha256": "e6e3f3655ab3f1943ea5fa74979ae850651a159d461ac8767d25b487ae486006",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 105,
      "type": "markdown",
      "sha256": "80341f35b21d58e1350f1cc6bebfba7976263ca27af8561b2443091b3e714a7b",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 106,
      "type": "markdown",
      "sha256": "be1f49972ba8a6d052a8dacec6df5ca52eed45e4f633b5b8f3a8e7a90b95a658",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 107,
      "type": "markdown",
      "sha256": "ee0b7212980047db538c553b749951b7529b5e1f0275a785226dbe092ec0b03d",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 108,
      "type": "code",
      "sha256": "95416c6b301298ff3dbe774dc9b1fa3884c11fa34b0b0ee61f41932066480bd4",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 109,
      "type": "code",
      "sha256": "2970a032de3d8dc4c376e41711cc0329115c292b0a50c61481753b2108454abd",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 110,
      "type": "markdown",
      "sha256": "56b299cbb93e9ef4506f2366223af4c4090b91ee9c11a25916ad39abe604b082",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 111,
      "type": "code",
      "sha256": "68bda7895afeb44acb57f259ff25d801ee7434263d76e8987a46d90b72914afe",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 112,
      "type": "markdown",
      "sha256": "e54af0b926167c3c2353cd18c3f88747866eb30899d3add489468c822e1ed77e",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 113,
      "type": "markdown",
      "sha256": "9c6ce3befd15b74ef61cc1e55ad741fe578d2d9424d9bbc0a8fd62938a24d3ef",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 114,
      "type": "code",
      "sha256": "629bfbc4f8127a058194123ba9dd8757e66398b8a9a8116f7af843281be0407b",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 115,
      "type": "code",
      "sha256": "d92743ae22ed0575cd2c6b403a41f6c1e8fb7a2d61dafe5142100dede765bf3f",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 116,
      "type": "markdown",
      "sha256": "088e9c7ddc36cf947a7aca86da7eb30e85c04dbb0638a503ba4d2f35204ccaaa",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 117,
      "type": "markdown",
      "sha256": "1de4b5a232b7fe0fcd3aa645384445db503a100e480184162bd7857a9ca9b4c5",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 118,
      "type": "markdown",
      "sha256": "d1620ade04a39d4e72018aac2fe8961f0684ba0342337221107d61f19ce7e526",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 119,
      "type": "code",
      "sha256": "aae9aa057436dc798671e057e3b196fd2214fc25d658f4a3071f0f1b56a215e2",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 120,
      "type": "markdown",
      "sha256": "bb999632e6ae6c2db389920ef3f532bf2ab039079d5e7b1fc93f523038b0a8e3",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 121,
      "type": "code",
      "sha256": "741715e173c2dc57aaf10006d874f47fe5613e35723a6e157b33da844c1a5422",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 122,
      "type": "markdown",
      "sha256": "72a4c1d6dc25c96d4fc65d6a134270dd9c921f8082f6a67d1797455636c711d8",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 123,
      "type": "code",
      "sha256": "9bb02bace6f088abffb38d62820c0fd1f95c3774367405ab15e4409ec50aceb0",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 124,
      "type": "code",
      "sha256": "9e699da608e7c425c4059aaaf0acd922dfdc0fdce5c43e4ddff7b5b425e7b62f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 125,
      "type": "markdown",
      "sha256": "614ea65951481cec2ae3a0d9c5c5003de01a18369f99e53fe98a1521436475ac",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 126,
      "type": "markdown",
      "sha256": "3b4a7d2eff0a1ea5b40331c88d06cce802a04a3f854debb6c12da9ec0c57afca",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 127,
      "type": "markdown",
      "sha256": "a2b2e626605e2bfd12cd3a18f777b8f92879ff6e1b9ac23c77ffb46552043f41",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 128,
      "type": "markdown",
      "sha256": "93daefc3c24895bfe88f20a5533772157f473e448179df01f959d9bcdbd4d03f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 129,
      "type": "code",
      "sha256": "a924f1f3be247fbb15aa6a3f188ff3cbeb8df5ebf4a11f09c5f52d518d34b1ef",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 130,
      "type": "code",
      "sha256": "858acdf98c8a5b9e46f0de3c9051d6d75e82a40b9c81e5d2a6aa595ad4abf45f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 131,
      "type": "code",
      "sha256": "2c9d640d5253bc2b9607dc0528538528992a460b5ff0e9d4c00499c3aa8fc393",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 132,
      "type": "markdown",
      "sha256": "a3d912dd7b1da9d8571b9f414810e16258a4e7c3ae8f1cd584946ae4b78e417d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 133,
      "type": "code",
      "sha256": "0cbf57ccdda6d4a3dcbed6a4ebe03e4c2eddd32ad5466b5ed1ad4a807b2ff126",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 134,
      "type": "code",
      "sha256": "ef34127646dc1754274b9150140d08d077995d0db0dabedf11d422198eec6fef",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 135,
      "type": "code",
      "sha256": "139dad127570b58e27e91a2e79c5e8f1b0a9d66061d235c3438834ea7d8518bd",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 136,
      "type": "code",
      "sha256": "0042f52e0660105e94ff11a27e62f5b7e9058e2dc8501d6884ae94ed4e45ada9",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 137,
      "type": "markdown",
      "sha256": "ae0d0036e00d091a1a8fa228f45c4b4e188abd5be34ac6ab412ad243e77465f4",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 138,
      "type": "markdown",
      "sha256": "642f7f8c48a5b4ecc57fdaa8c7b63c78ebfd7491ced259cdb91dbaa29e614388",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 139,
      "type": "markdown",
      "sha256": "94c0bea959cbc042b8bb44ebcc65f6a6a60f7bd29ce2c1fd48c25659284bdfe1",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 140,
      "type": "code",
      "sha256": "6368f5fcf6dbedc07a97546dfd9cea75e731ddf848e9c3c651e090b8a106a53f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 141,
      "type": "markdown",
      "sha256": "70fbcee5001fea32eb4cfef775cb6b84d8c9d4cb777c9aabf38be95ff571d152",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 142,
      "type": "code",
      "sha256": "63a94435f0e968f97029079f5f280746439711438b28c4a2799eb4e0ae375e56",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 143,
      "type": "code",
      "sha256": "40260ad0f12f7afb52f2dacbeb6282c70019e4141da2e3bad688c1e59b777f8a",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 144,
      "type": "markdown",
      "sha256": "20e6c72b9a2b6df1b2e82f1d4583cbc5c9521126b36c430686dd8a4187ab8142",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 145,
      "type": "code",
      "sha256": "7a6707996702e836359430f7852a341153c11019fb6e72046aa122479760c6ca",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 146,
      "type": "markdown",
      "sha256": "edee047a6a907b1fdd8c2fdf03a3d9ec89a55c3250d6bd2937665fc29504dbc3",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 147,
      "type": "markdown",
      "sha256": "cc1fd51754727634967df9541042b11f6c790f998d71a99e2467a31afb25a9fa",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 148,
      "type": "markdown",
      "sha256": "174435af2a4829d3a40c5bd88c77960529af30ef64bc11a8a4db42aa308ab6d8",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.9"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 149,
      "type": "markdown",
      "sha256": "28144a2f272401a92bbd4089014598937b25454946044b6a30629b1b08753dd8",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.9"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "a206a3d06460f0bb81684aed680a5727272ab11280d4b153c137fe383cc3dc1a",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "f75ff28c1d16e9712d4ca09e5c25384ce50af41dbfa4977cdfb43ee5c20f02e3",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "04b28c89557e4bc0a0b38684b72786e984cbb2f5157081a64de58af0d060284e",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "404c74b8c2f75a117e5d9d3bbde2be91641906f3cd9ce1d99692a59c51c6a9a8",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "cafbf7cf0b5871134fbc2833fe92e2a8667e8aa42a5b487d19c17262d5b0ed7a",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "b913cf41b726d581660bfae780495bed2cc700cf716cddc053c1c68fd139a80b",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "c44f564fef62d669145a43fa454c8e3f6d53ec63293ec4e1650b4e46a0c691a6",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "252abc69411da828bc17a32a071af989dd2f096dcb301c027834461e8fc22197",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "7c28a30aac1d7ad47491ba530badaa091ff523d7e884e3b2de427d729b3e9809",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "0f0402505c9b20d90df0c8265fb667c92a5ad1ce397fdd17951ecdce61f7354d",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "115335623d61868f85bfa2216ff961799f0a5ad9b707f32d4607836e23a350e0",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "f57a5951b5b805324d7e82110a5658884253b4a7a4c1af11477a32121d259817",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "3272b712f223bef28f1316a824d8398cf71ee1e4bcb79de6e943c5cc5bc414da",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "be86a5ecfb7fd7d411a51821516a7adf22433703490652254cee59dc013b2b58",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "5982aee435d74e4a8dea7ecf9a3b44c15deaacd64b40ff6f90b4a16d40a1f24c",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "2b45dec56f52120d5cf060a0881881f124adf71281bef09653fb7ddde44cfa55",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "d7d6b87a1151b37beb432ad71577e64bc5a49165092e233e7d0cb9e2bf260121",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "3da415ea8c1b65a19fac332028286304e23f55d73d2f6ed43b17836025de2521",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "c493cb62fb512de053855bf69ded25951a013f170add377a1232124a3b793706",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "10a97be189d2face47720d47d471c5e34da9d23d0cfdfb09293dc67fc50fa82a",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "4d0aeb4ac12c02857b02335a900c092904eea0a6df4df2fff07cc61f9c7dd8cc",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "10a97be189d2face47720d47d471c5e34da9d23d0cfdfb09293dc67fc50fa82a",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "c15353ab90b16ad9ce23e83b4fa0bd8d0dc7375c6399f466835f5f26928d978f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "3ab607bf422cf01f1ede5b9ca80478d70c8702c94adca72e9dffa2eaf95ca86d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "1f53e0ff09d4939d7079516b2b13db197b75e519b39a7c6e3fae848caff2f7ec",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "aee108ab8c1082a97749ec37dde413ff70a04cc7d4eef0401280f6723fba0404",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "3bfdca52e2b1427d69f3f2599a2a119a5092b3a24ccd6aa5c4b13db036827d42",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "9c52b820f7c2d99ce62ed0cb91538c44fe6b48324b2067c7f849dafdc2fb50bb",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "43fadd6d73b40b5070055e94a82ea453ab826be9baea6c5291edee70d83f038a",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "1932d297fd304ddec6628664661c0bd3dd9fed37d1c5f8bc387f5a9e6cd020db",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "f9604f5bcb75456384877aa88c1a87957a837e43074e71719b47557c43e5ff6a",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "0a74354f42e403c7c1fa4412fc246be427e64972f9803c44fb2958e0952bf304",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "e546aa169c62785ccf84be18a05eada165984a809c373e7e3b72469cda695a93",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "5396684aa23789596e122c35449ee50a7adab0a8d5afb777c63896dbd72793c9",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "6368f5fcf6dbedc07a97546dfd9cea75e731ddf848e9c3c651e090b8a106a53f",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "31b9fde24dd6f861e71cdf37b8c83f3ba0cdc39973462169d394aab2cc5de543",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "1fc2e8e357e1c932ebd0a5e848bd3a3565063583c99e7fa972522f4dc3799d4e",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "12595f066a4344dc6ad5369d84431f5027ecde83c0b88268c668246ec50da7e5",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "451c5a910bd16da8b3e3152d38da2ceced29896896dc2d005e0d6e4d174a3acf",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "7e95fac8e6e4958473a445f6504f82cc435ecc076bb1ed9ea93046f1b4a2195c",
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "8260c99285d12811b34f3b8a51376e3f54ef1c690d8f2539809fe35d3e29454d",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "d7a2e4e87901865fad0a11d8ade26e6f9dd036ed76c7f3ae29a1d352bab145e2",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "fe4f4abe0a965f2d70c09124b4246b98b75f4f84891fefc0a21c5718ef21728a",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 44,
      "type": "code",
      "sha256": "1dd06d87f2d3cc884cb5a4e91476bbac32d961377f301e2220897e382a991fb0",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "874b1000f02fb3c223d8223d7edf46410d700f0bc8d33072da3e8490c8845a03",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 46,
      "type": "code",
      "sha256": "42664efda9f5de03792855aafab600a1e0cc3b0f53e4b0520c73905d4accaf7f",
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "8e1ac160eca4e1abdd7a916a46a1d9017fffae89a49d28c8c591e9dbbb1c2bbb",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "b7e2df0cf0b80b27877a250db2ec65bec6b5dde6139162cd1a43a0084f851097",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "b8f021eb102cfb33bd80e9cddbc9abb72cd18ba14b159faaabe72f163c829e24",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "de6730616d4e111b27b58ea773537949a85a754ec2a69049eb5e149d4140db74",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "3f4f3d66e8c2c34c3426fcb6a0cb4b81734fc0afc58c0e777f89e00cefa360be",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "386be9a30ac9f873e2d9a6d5ce7a5fec491949199b38987b575f1741ad34b632",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "c23e8aaf3681014355aeefd78af7f2c6cdd47bcd437496b21495adb90550089f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "79eb8bed5fa691a1640a8edb2e53914fa32cd56697ab68fe4ac49066322a19f3",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "f9061691b00cb981caccad058c2d6c399cbd69afb3079b7981a3f0c00dc16e6b",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "e59744367a749c5d58cd8a592b67f2f8ea4210de46575097b4aacb378e67971b",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "a291e95f94e9c9ee4f47313cdf0f75cf7d9fcb3485be27fac09cf0a7dc0ec121",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "9689c24aa171bab37b3a0623aff81a7be5ae4cf1aaf4687e420b74a85a3a0644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "8e1ac160eca4e1abdd7a916a46a1d9017fffae89a49d28c8c591e9dbbb1c2bbb",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "268f5f3f702a0c233bfcb1d5344f9378a9ab326ead0499d7084d1aadc3607459",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "938b6456414feef3231d74fa625a01aa63867741feec0f958fc22b8a1ff43b20",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "941e003fb7a4fccde83bccedee52237f43cb577e87434de23924d6b8df1008c0",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "51b31d8eb5b344fc2304338542cc326ed0b26b6d11153c6a5ca8cf0adccad50e",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "7982359c22d2f72e4c0af23ccccc2b29c653d1d6c9f10813175a371dc739f627",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "4c38d51b2fae0ca14a768948319c751f29eb4c41c19dc722e5b8b17f25b60c5d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "c68401a0fde8cd90a7d9b71556aa02727bc8ddf4a7c7669c2b963f62df9a8cbd",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "ddd65acc9079c57a2a61aeb930e6c174109d82f05f4ad3fa76db757d2d56ced6",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "7918434749a8d583f2a5e0cf713f2c401b276b19c54807aff3084d64a24d78f1",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "9689c24aa171bab37b3a0623aff81a7be5ae4cf1aaf4687e420b74a85a3a0644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "8e1ac160eca4e1abdd7a916a46a1d9017fffae89a49d28c8c591e9dbbb1c2bbb",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "ae7c336354ed74c89497ce2de725ec1a48b6d42292576c0bb64b3f9bdfcbcaeb",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "a33e425671a9353765ed4bbd2f1aa524ed8eb31d6455f6b378b112f719ef6c75",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "0c9c604cb77ad8d8fad0d8d122d47bb5c50a0cfd30d3f3c2d3c5f2dd1b37e479",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "d1aae5d77178e88b1bbb63ab9001177c9a2ba40beac13572713524f5b03c17bd",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "c23e8aaf3681014355aeefd78af7f2c6cdd47bcd437496b21495adb90550089f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "e70ac6eb35d2bd6c6b2b3af58a42c95e1676e4b1eab287d967b18cc758a11353",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "7b726494b6c5cb2ab8fddaacf5514a17cd1f98ef1ec0893a69d1566b4280fd08",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "1576e6c21b1be5e941472f56669dbafcdfe4f8bfaaf7d0a6d10a234af7666cf8",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "aed640b239b3f49ffb4848ec51a537fd873dd313313ced0dc26de8a4eda5a38d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "717561c84bc08553dcd7114577ff651f1a26178332752fdcedd47d7f41d2e802",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "5f0fa9edb6ec46dedf5af7ac3134580668394e991548d5a7e7473c934a918c78",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "9689c24aa171bab37b3a0623aff81a7be5ae4cf1aaf4687e420b74a85a3a0644",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "b48cd8e865d0a1ef5610e19ca15bbccec516019209f0e41bb6d180ac38bfe2ad",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "1c28aa56d85c89ec4539443b48f228bcba4069bc9c245327a3237d8d6432347a",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "22753b9ea848233ec535316974642350f0b46c416b425cdfc91c21540938ed5c",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "1576e6c21b1be5e941472f56669dbafcdfe4f8bfaaf7d0a6d10a234af7666cf8",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "e20b471f430598eb3f2475bffd4c26d0d6ff6c4a900d3af50c67a94d4ff42322",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-pytorch.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "121fe02f7fe2dfc633b2d5b008578d7fcace08a728a80e4df44885b0eec62916",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "f1d67423557a366161c8c8fbece0bf1329751db75c50dc39cc5782a0e512fe23",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "c5abec4858e50d5b0dd3e394117a3e2683eecdd922936449af16c9e6f97e391b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "0c7c2514ee45b218cc724cca52dbb8b22844fe57d84f3e36d08f74ea24746389",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "4ee7a26ba3bae8b72315a9404cee6530c2573eb079bd73035dc5fbef87b5c26b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "0a6d90811e3c897c12970ee00d0d38f806e2f2a7effea3c499425ebccab07fbb",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "2ced887d51fb4bebaef1aa892b64631c7e861326a46009556ba2dc717b4bd2af",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "6773a634868e0587da6fb1f01a21c3e64df2cab14e4666fcdd981560803a9274",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f043efbf5105589b80bb4e29aedf0d110f992b547b03954118e0e451ee620ee5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "fbf13c0d1c55efdc8fafd10116df1fe04b9bc32a4bd7c9ea764200840da37716",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "02d8ab22fb42000afa372dab84d999a45a8257eb3b306967edaeaf3539319ce8",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "12262728aa1bca1eaeccd4b3509d5cce4b608322cfd6d9bad28abefd93789b77",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "7b0a963aacaa87470c0a19b61021d493951308bee1ae3508f1f897e444ec2f32",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "4c0b6b4b18ea42f5fe6c028793a966c444ef83751b8a599e29a3967e90cbdf5f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "8d6eac1bda4560a6de12abf2bae8f4d2f4bfa491d66e580eb9f6c80c331bdd4f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "c2c9df48b32f78652f27ace49231303d60c7d570969ce7bbac29f54566ea7459",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "5f73f4fcd8f32ae504e5652f5b096fa71fa407b5f5bbcf74508183ee0a80ae8c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "3863afde438fcd5d21a2153565735180b25d4a630080483f421dbf79ff9fdf3d",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "33a1514b0dab39a890cae03b38f4924a17ea322f35f841a1004d73c120eec7dc",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "7bd2f7c3b5d1b14aee9b61db85b796f7fb9c51f58bb28bb7937d98817b558684",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "b9dbe3666804c3787969a92f18d81a06fc810bb30e7ea405168266ce71d7d292",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "f3389b45c6e779ced2d81aea8ed732e608531a44458ee7fffa6caae267e897a3",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "bc1818087529575115b31292c35c8eb2eac94b9af001863432d58b6b1fd059cd",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "caad666f4bb1f9c7f716d758f5394b5ad14d977e6c06bd86b79185f72a2774b7",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "3295196f5b84ae0191876e9b88637d7f82b7e290cc5c78c9ab977440a6a0ca81",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "9741e68d33483c55a8378da84699f7087d61942f647267a7c829f83897435183",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "2b20877b98f1eafbfe76ecf10e74a46c99e3340c5dd5528620db20efcd4c8e9e",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "abe62ed54dacb62c44025c1308a37d2301414b940e7d3bb7dd82176bdd34ec73",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "c4beb4d09ec0c27596a5a4246ec1633e0cfca48c00c050ab5a2b80304a83a5e1",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "108fb087a4e1f0f7e7e3f84dce1208b3eb684b0dfcf5770227a9b907a810f103",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "3a169b2a5e49362b1168d2f331cba02468d27fbd3594140e075b1e4ac75e6469",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "dca330a80a12d7d59da0992251197eb9bcb42150ef3ee51836fbcb3277f8baba",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "3e64392563687e8a95bb65b8572bf08b376e8174e14f1d688159768eddb0988a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "034ed68920f5b0c32f381eec6b1a167a867c2d15100ef562d886e96693644fea",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "4f005fb5f09d37ae99b68b84e67e261073382df6d913194b0120014bef1ac901",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "e91a9be79601f5823b37865718703eb2d918445b3079b07237c6d949f7eb8e47",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "ebe079a18b293be495ec5f6a4effe7a06808d383fd5294982dff70cc2e9a9b91",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "ac126d9dc00f3f50c2689f4b0a9386f71dc355aa025239c15e0ac5851eb4dfa4",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "0911c0e07b0f245ca2291945e8a7ca4a129238fb779eb9545f60ef1c98db8548",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "3f732a9cee0499e223fd91b996e498514b5c04aa01e92574612c5e7267a32f1a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "a926a605ac5ec95bd95d17833dd575d3cfc939b6ad5e8f5ee850b4ac667c9cf5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "c93f05cba7fe1c6c219bd370b6e691cda829557791f35804c4e8b1f4a63190e4",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 42,
      "type": "code",
      "sha256": "53e73f8640edb23249f9d596530b86c783bffcdf2fdb616eb0f1dd8084fb1258",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "9a4402aaa1c63aa9e10eedbefcdd374e06b2a19a26210ba9cac6793448d15a74",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 44,
      "type": "code",
      "sha256": "358d8e25b28170cb6a954342afd1c6b78e170ffa5587aaa3120cbb7c128fdb2d",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "ef268d072463e739f3e8d9b8418c30ae4a3e532d9471cdb224d179d1b65942ad",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 46,
      "type": "code",
      "sha256": "9de45a17b27d70152f46a27f727308bb57432b6e3865c6814d5ae70cb74f72f6",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "845195fd807d1e41e11c7043436fc20d7fbec3815218aa102d0187f74ea92ee2",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "f6a87296c2218f626361a8cccb203337d2507a3b3489492f78a2e504596f5f29",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "e96d9f4a5540d9e8f66b33d512ee6f7ee08a0391f9c30180272f08bf8cf455f0",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "d5be86f25726a6991c46adb6b56d26e1bcac917dd7434a0eb2c301e735ae5e9b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 53,
      "type": "markdown",
      "sha256": "094a584ed209cf4e983ac332eac50ad60c1be3ad1de33622685610b20af287a6",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 54,
      "type": "code",
      "sha256": "49df68c35d20631cae9cca804377aaeff7059b96e4765a75d7578cc25a66b28d",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 55,
      "type": "markdown",
      "sha256": "805be0a5ac0d2609c383fe0667f03e913a37bd503180d23517f6ef01a6c122ed",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 56,
      "type": "code",
      "sha256": "0f275a7777aa9a45ec5b598754385143f3bdd0fe8c65a63fbac4be389aac3467",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 57,
      "type": "markdown",
      "sha256": "6c625786fcadc92698add491935a6dad7aa9b103acab3e1f889c124a8085715a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 58,
      "type": "code",
      "sha256": "ca2b0ff90efddae47c498670d7e45157f14e38436277385e985de0fd49c892a2",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 59,
      "type": "markdown",
      "sha256": "1fc4b27632eb55fde2638a44d921f18a53cbceb64f5171d4fdcc9ae650d3a7fc",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 60,
      "type": "code",
      "sha256": "087ebe70a3bb7b4b4040a96c13cd357f3f527afd326f020ffc3c2c7e2fd88013",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 61,
      "type": "markdown",
      "sha256": "b407c152baa8a66048fd473bd167c3abc22ecb9d264961fb01eaab4b859e3763",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 62,
      "type": "code",
      "sha256": "a8b529e0d6ddaaa433ed3994a376519a0f539a98ca734727232db2ac1777ace4",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "cb3995cf9c69b26c6ef4b0b53b1f2e0e5d813e1c2a94f46f22984cdc80d3ad7a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 64,
      "type": "markdown",
      "sha256": "2c882406775c3509b16607409eff857ff0401cee7517a70667e4f37861ef2fa5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 65,
      "type": "markdown",
      "sha256": "455a7a0ef3dbbdf2df1257595d071e8d3dee398bbecdb228598e3cfc3dad8d94",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 66,
      "type": "code",
      "sha256": "a62ce0b3b3a5b1f266ab60bb018261d34ffe47b30d79c4a7ce836601604c54f0",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 67,
      "type": "code",
      "sha256": "13a9254e6c0d67b591f7b44813f75c0371f93bd0a42fda654f30eb0c33040d30",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 68,
      "type": "markdown",
      "sha256": "1a316c23c09c9236df9d249683c9743da13eb1e047d6d9f397ca2ceb33e0798f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 69,
      "type": "code",
      "sha256": "1a73b213a560d6cd00da3bae24e252f874da42629358f193a1ceba2bd7bac7b6",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 70,
      "type": "markdown",
      "sha256": "352011ac16b7122cc4bd6acb2a960a17efbf6f4c30c8014ef8111f7caa4fcdf9",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 71,
      "type": "code",
      "sha256": "85e8becf81c240efe2f2b9972d8b3017fd59a7b49e55ee4f4d9ef630a3a5c8d5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 72,
      "type": "markdown",
      "sha256": "a64e4095178d8fbfacdcb4a57bd0fdd830f6986b87b6e4437bffb9cd64b8a893",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 73,
      "type": "code",
      "sha256": "6c953c81b0b76ed27ef03cfcd6b4e0f6a1e452feff8e0d7ed34adbec94e4afb4",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 74,
      "type": "markdown",
      "sha256": "de8d9c68cc7b2c2e8bac7479757ac2bfb72fe5b3d0bf86aa787c4564cf5d5657",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 75,
      "type": "markdown",
      "sha256": "12a3fa177788fb8f9d36ced107bd7ac916c3916b413f9de8eff3e076f2f3da31",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 76,
      "type": "code",
      "sha256": "b8f4d3147228e0e31cab50c42e23920cf17f5876faa068f72e6b85ec79e53fa3",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 77,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 78,
      "type": "markdown",
      "sha256": "d644edc88f2b9d1dfa4f855d0f9ee13385c461fbde923e2403abc1ccd3a3219f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "345b59d5c6de65ab0869f9fc1c63bc181a105f0aca79d5cbbe08f438abda5348",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "45f5968b4964cd8b3483be4a6838d778515815ab884c0b929f7c244a96b7ba8d",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "0c7c2514ee45b218cc724cca52dbb8b22844fe57d84f3e36d08f74ea24746389",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "46a969a9c982f00509d6f20afacdcef747b7fd9b9a80b08b810a3c0ec4e13dcb",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "4ee7a26ba3bae8b72315a9404cee6530c2573eb079bd73035dc5fbef87b5c26b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "5aed49ec950055450adbf488d4d50ec93156d960076eb142ff95ac7e1de10ede",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "b7b3c616582beec6786eade10a3ae167790f366727a76282f2ae51157981423c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "fb85e87b3331b9779332d62c5092975849031220dcac26cdb623972c0bb05256",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "913e2a92db43647f465180fd31dfb5f42aacd2bbab2d41cdf9234c70d4ab382c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "0978e86ed70a9839935698035ad3062c6b869c055999bf3b2bf865be4d5c29eb",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "44660c556b9cbfa59cf49a65106c84d243f04f73c74d5457a03d53c2d5f78320",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "2b983ed343c52bbd419fe342cab558beea1d2650d267c957c0d2d0b47de630cc",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "26446a6fa95b34eb85d307082260e4f1c253c755db052e0c2386df8b6cc77507",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "4d14371fb2ae459bdcbfda618fca4fe5b5a8213f624ad8b4582f95456e5d7156",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "f2a0e0b0aa8ece8d7e1f275f07f43f6656ffe712503c50c28b998fa704f31727",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "e381f7bbb26b72afc7a3bee4495171db630911994ca68fdcafed325554e60a49",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "5b068ad62fe41023920f3850a4e9aeab500a6af07353974cad84ebccea836fc1",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "5ada664f8f49ea4cad19cd4726a0fdc0f386f1d231898e9296b4bb62753dd9a5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "0362c17ad3389931eee2915557b25dd297470ba117d7ebdc54e064182750b800",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "ac6e13959572fcd842d69ed3b425e1e650814ca6c149b39519779aa532c7f09e",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "cc1f56276221368007706772a7070e045729bb674738876ff70fc2a88b9757af",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "399c5fcdbfd0e9fdc92b167be85e3c257435ac0266c3bc8232798e8e7d716e7f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "cff406c7fdb426c5208ee5303268752cee9587570d283ea4139e224fa1f3f367",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "fc06e38d4cd87097edad9335cb79da85fec5339dfb64cb826f8c233227522367",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "31964e7408e44756f3824d133ae6330700e01750e62b5e05f8b79eea1c1b3831",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "22cb0e6e24ad5f30ebf53d9f52d6079d7853db7aded275a3d609c6de45060bcc",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "9a0d492381e325f9153c3b06051383f1168b561194270462dbe23562712337b2",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "22058dbaf97ad52699c261b209261cb57111527b96fe0012e930e6414a86943a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "e8a388524db4d39aeaf2e5bb483a4673afe5d12f8de283e618ec2d6661c791d4",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "f6987d47aabfd879a2f5caac694dbba23ac81f9ce8cdb29187498c8b1bd006f7",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "3c4e81d9c3ce75bc5749ebe4d3aa0f2db9006f25a6583eef0578e9b7ea9f28f6",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "36cf44fcad73935a29dcad67d69a3c1afce55bfeaced763d7109cd5aa1bd5612",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "c323c847be416abb0e97b9586c46185ad3e0fcd0e3deb9422ec2c2609289d547",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "f5841325b2d86aef8bd01e2809383fd28199c16b9920a6b51f8bd66d938e8134",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "efde4ce9707e092f72c2d5da0b90b2aa8527d3346e9197b43ceed1e69b877625",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "4715c7c227a432b60656b8a8a0ce8cbcd4e5a7b76af91644754638fb9cb47877",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "33fb11e8115ae8b5dbec216a2535e4aa84eeb1175dbf670df3d80861a4b7ca24",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "c29f8f5fe284ff4bb6ad3411ab3c07e1351a76aa4f7c13b1c04421d780f795d6",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "21cb98a32369662f7d2bae3de56773f37bad144dd236aa3cdaf0ae1cdd803329",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "0911c0e07b0f245ca2291945e8a7ca4a129238fb779eb9545f60ef1c98db8548",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "d5f2d249a85e1119a9e9c2cdc044d1fe8d77146148f2dfbafd6e9c5e8b652309",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 42,
      "type": "code",
      "sha256": "993b4e79ab4a58d863293af6958f79b18a3d4c6d50625aade03430a1975e847b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "1f990d8a7db09be1fcb40a0bd288858109e9071dacc41af33af8601c43a0517b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "500d89bf7992e5481423eaa72722b4d780873893542144ffd5e9561554c9e506",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "b5d9463e4df1cfb0f1b7128c7c189644e2eed163cb9ca302b70ec9a9ba1b0100",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "7509bdec17cd2e149038dd07963da9fa311457165cdabd1f5dd2b1204bc1219f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "845195fd807d1e41e11c7043436fc20d7fbec3815218aa102d0187f74ea92ee2",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "51f3c697a795d819d3ec5bb7b53695c40c56e937b2ebdf0047cc637a6721aa06",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "e96d9f4a5540d9e8f66b33d512ee6f7ee08a0391f9c30180272f08bf8cf455f0",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "d5be86f25726a6991c46adb6b56d26e1bcac917dd7434a0eb2c301e735ae5e9b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 53,
      "type": "markdown",
      "sha256": "2c25825aa7b2871b25f446ebc60bb1b92d58a1c68be66ce989b23ba3f1c2c315",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 54,
      "type": "code",
      "sha256": "3b568144ed48b86b45cb6046907f3a9d36545dd73c0991a5bf0a21860b3f3638",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 55,
      "type": "markdown",
      "sha256": "6fb4cda18a4ac6fa2fabcdcef20ca276c25eddfe4efa2a902294336b4b9e7dcb",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "1f6c01e13e99c9b92f9b8f42aa9abe68f234b3e030ac7bb9e5ac93d67614a70a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 57,
      "type": "code",
      "sha256": "0f275a7777aa9a45ec5b598754385143f3bdd0fe8c65a63fbac4be389aac3467",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "34f5829a343fa7bd8360733a7fd7b0b06a0539e491cf35c10ab6193d3ba9b0e3",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 59,
      "type": "code",
      "sha256": "5731b534d2c37ad077cb519ef63ddc8722b98a1c9acd0042386ddd5df9f06ed0",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 60,
      "type": "markdown",
      "sha256": "bc1c38f2119c61bc015c0af2054c83313ad290beddd3e01da7028d493f700ed5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 61,
      "type": "code",
      "sha256": "ef800440b7c5f1d8707f22dc968a43fc88309ce648dc6bc1bed0939ed68b7698",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 62,
      "type": "code",
      "sha256": "7e818d1010cdffe1fba69c8d964d9993a198b1b100d16de91e8a86719fc44bcf",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "e7c272f451a0e64dfdb1ee9d5e4e86354daa0044889aa2649eec703de999f557",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 64,
      "type": "code",
      "sha256": "007e4689412ff618247c1550c657c71f68ea20739f78b8321dd0fb25a49a8557",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 65,
      "type": "markdown",
      "sha256": "e044ea43901744aa72437ac675108cebee1e4d472f4f5c47e8d75341404a8a9c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 66,
      "type": "markdown",
      "sha256": "2c882406775c3509b16607409eff857ff0401cee7517a70667e4f37861ef2fa5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 67,
      "type": "markdown",
      "sha256": "9f9b121ebbef6fab18ccdad28468982bdc5454dfd3b95e4d2b0022b87d73c625",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 68,
      "type": "code",
      "sha256": "3879ea60927155d1c39569a7bb7ec737e36362f26e7032e7c41833be5eee5f30",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "1a316c23c09c9236df9d249683c9743da13eb1e047d6d9f397ca2ceb33e0798f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 70,
      "type": "code",
      "sha256": "89ea08f20cb5c6d5be8c86576346bd1206e53433e4dc476e5ebb3f0e3364d52b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 71,
      "type": "markdown",
      "sha256": "e5a76fd47cfa70b31ee6949d90aca92fab7ae59b9628b5abe13616b6fa47b092",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 72,
      "type": "code",
      "sha256": "fb3411660e8589d8963660947e97c84bbc68c0a242fbd93d1fc3073d341ef536",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 73,
      "type": "markdown",
      "sha256": "a64e4095178d8fbfacdcb4a57bd0fdd830f6986b87b6e4437bffb9cd64b8a893",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 74,
      "type": "code",
      "sha256": "bd45d3afdf09465d4b89d53b856ddf47da8991791065a85623713b7c2c7da73a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 75,
      "type": "markdown",
      "sha256": "de8d9c68cc7b2c2e8bac7479757ac2bfb72fe5b3d0bf86aa787c4564cf5d5657",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 76,
      "type": "markdown",
      "sha256": "158e7bc4ce1e8419faa7dfb0819841375c43638eea8d66e9ee54375fe13cc634",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 77,
      "type": "code",
      "sha256": "8fa9ceda3c1e585eac0159e84b8d47773201febc741feccb9a173e3eb4d86256",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 78,
      "type": "code",
      "sha256": "1a8683ed361cb6e1fd49a098da604088f57532a19c988be625408bf29cc04dc4",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 79,
      "type": "markdown",
      "sha256": "60acc75816b99657b1d611ce44e15300fbb4c02cfe74f2eafa22ff5ffa4b2664",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 80,
      "type": "code",
      "sha256": "c6a4debd3e4044498c1aef05dbe7753cd7c50e39c6244c4f48b9c527dca44343",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 81,
      "type": "markdown",
      "sha256": "f187f39728c2b2595a2b5345cf6f9d291bc1e1bf2908894430c34b08b52137b8",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 82,
      "type": "code",
      "sha256": "597df592e7df9367dc45c09045efee950371f06017c335bed13c27b4d6cc9bf5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 83,
      "type": "code",
      "sha256": "13ac9a5df1a0a09b6ef402fdea5e4572998f00920b902ee72f53bba3fdeebf83",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 84,
      "type": "markdown",
      "sha256": "aa7751473edc1d731781881aa4fd5ea99279e282262d9705adbb59260f559be1",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 85,
      "type": "code",
      "sha256": "aee2c83537108e6ac579ec1ab0d73d8e79966128096a481d0067910181bb02e9",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 86,
      "type": "markdown",
      "sha256": "6611e6d655a2d43693957a92a2a189502e36cf06b8af28f80e31d5959c785ac9",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 87,
      "type": "markdown",
      "sha256": "71044b1eccb934ccbb88ad033d4b7e2db0916cb2f36dfc18e5a762120995b164",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 88,
      "type": "code",
      "sha256": "4dd807f9d39c3d912bea41644226fc224fa0f40d0ee18cf7bf949fe90133a1c0",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 89,
      "type": "markdown",
      "sha256": "f3ec8ddbdaf17f515c82228894e7551363a2a6becf130cd7d20448578352b02c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 90,
      "type": "code",
      "sha256": "2e806977b5771aec6c2a498879863089f133918e8129c55cef95031b32006221",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 91,
      "type": "markdown",
      "sha256": "3f8d9150e147f4c499bb0884c73fcc97d0cf84c8335fb2e1132b1cbd0f8391dd",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 92,
      "type": "code",
      "sha256": "3f90d927006e91651d402f0c07baa86f43756d9f2f488337e01274ecc2c3d683",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 93,
      "type": "code",
      "sha256": "95ba38dd5d8a566c1244d9583b971af795499a7537776fb4237b93215155732f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 94,
      "type": "code",
      "sha256": "13482be4654f654b29e7bc7e652d2827417e7e3c2a9e39f59cafc03adc77b5c8",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 95,
      "type": "code",
      "sha256": "87c54c999b0b11eab4bfb8b52c0160570a98c8cfd23ae97b735435b63434df2c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 96,
      "type": "markdown",
      "sha256": "b7bf0e42e064a3959da711ded56cf7b4481bebdebe17333949bde47c0d697791",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 97,
      "type": "markdown",
      "sha256": "252105f74c822bbb1a37396719ebc554affd17a5c83166fba22359f6d3b300dc",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 98,
      "type": "markdown",
      "sha256": "3b8508482cf89cfe63168073f14d3fc315ff852da71e3968e15bc6e1451ae3d8",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 99,
      "type": "markdown",
      "sha256": "397edf45c04b8983457fa592696bcab34d85ae711a4f7ad105800615de1a58e9",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 100,
      "type": "code",
      "sha256": "927a18c9cdd0818cdb0e59a12091dcc94469fbf9c99d9a66c9a16cf8001c95cf",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 101,
      "type": "markdown",
      "sha256": "e5a99e831ca91041daf2ef381b0fc734fcc797c994742a9acf319b04f2a9b872",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 102,
      "type": "code",
      "sha256": "701bfe3a1a27c1a1e444509e127ad6e2327fc62ef743362ab14707fdf5634e46",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 103,
      "type": "code",
      "sha256": "987cee4e0526461dddd6275a0f1d8347904d2e2371e6f479c9e2b7669372d190",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 104,
      "type": "code",
      "sha256": "1e3581fa7a273a74a95b3919530dccd3315269da7867d95a8d63762f55a6cbfa",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 105,
      "type": "markdown",
      "sha256": "5600e3f6764b80d5ec2148f8c761c21136231efe44ce5510bd10d16b0a25f3f1",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 106,
      "type": "code",
      "sha256": "2538a8ef7d5cb7fe24ed59b4653b5d6a39fcf4080aa466ea5c3df34d027e4b6e",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 107,
      "type": "code",
      "sha256": "6fb80a41b0671d2e3f83d3c32e76bab70fd5b5ce3e913494ca999652435894f7",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 108,
      "type": "code",
      "sha256": "12a8382b9728a27ea213da8eef3fbfb546d8cd10b8b651054e3456e313d32cee",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 109,
      "type": "code",
      "sha256": "0f327f78dfe1e7a555d7df67fe5be9b54f8ce2469c545a259fd64c4cfa2e5a7a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 110,
      "type": "code",
      "sha256": "7f26710ceeca642199951866a6875a5c28b3c906fae15e7fb21cfa182d6d6ced",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 111,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 112,
      "type": "markdown",
      "sha256": "62bc1cc82f6329af82559014cb5f4a3a4e3996d89394c2c19a924026081f50a5",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "83f4b57ca5f7414f520e799a61b297b00ffb04e6f637e74e7f05accf30a74f33",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "0b671dea0f842fa00acfb9f06db0a005313d9990ec75552be9e9c6b0b99f7308",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "d2f2adbaa17148d076e873e1ea6dfced3c56e38e9657e53b039e003a32926f20",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "45be4154d184393cd458060b6a3ff59f0737aa6f039845a4d9fd932f6085a4ba",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "d64f52f4d13e90df75b721a5b96316b2977adfb02da1cf3a5ae508a68a5a68ec",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "0e6b92b094b01538472b57e81e8f80ebae0a54307593a73af6700445bcf0769e",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "82c3e0c42e4cd938848e15495df7ac7d57b6bc47a9131619abf35234373d25ed",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "f6988bd547f680fed8eb0ef5549d2b59186b68a9c7d22a84d35ae21e7d81fb16",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "9f3fc22b082af460f7e081b61d341e10af039bd1917986218b914b5769181745",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "00403e0c214a0fcbd2ad2bfa4e4c1d4e2529e72613e6e6ad52e2125cc72c541f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "089d6b9ce3e7bf5e4be34155a212f95d45f8b19b6636695f76144dd3990215ae",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "81ad0519c6e78fad9b698dff86d2d4663c21ca047ac98cedcf7086bdf76411fd",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "06c5ed1028f9ad6b9d804b20b1b665ad66e77d3ba9e9368b7c98cddcc8f15744",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "39d3028b5b05ece94acdded51490267f70ce0f4157338dac6e92cf8926d58871",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "1db0b17e2c102756b02072d2cbeb13f3aa1be593202ebc4b4a6c6e5d56eac19f",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "28cf9dc6d922d9be790897ba09e1d642742640aae1df8bab9ea7661abdeb5fca",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "869f44a37e6a3d3af9f4c7591774f62232909eb550a5ae9558d53f4f04da484c",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "d2e0b53bb8f10e5dab44b1fbf5761e65c67856d1b555fb0e0fc96374657287f3",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "5d60f529e308b0da4f53cc083bcceaae8975045d05e2a9d1020f548a92bcf5b0",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "e25b2b1384682c459472905abc91505270cb5c659c007b10574b25cb3329d615",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "12a8382b9728a27ea213da8eef3fbfb546d8cd10b8b651054e3456e313d32cee",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "0f327f78dfe1e7a555d7df67fe5be9b54f8ce2469c545a259fd64c4cfa2e5a7a",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "854f2fac5fa5cb9eebc4191006ac32d3fbdf306420e5b476e206cb25ef42e270",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "be58ebdf546ac1993ec2c140f905605833406ca8cab81ddfb8b772577b89b159",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "244937507d55b77befccb2e42706f29c792d4f2cc264f8429f011ba2a3b8b9af",
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "86bbc3297efa110c7ec5bf050cfe9e16c5bd09d813cabadfcce90b49aefe9d0b",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "2212076556983c4cd426c9a629f30367cd1ba8c9f2dcfb995e55d831f77a905f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "30ba9b5a53d85a3a94b6cb8e71a2c99879c53b2b76a6a28d1e08e78787345d3b",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "image_asset_not_reproduced"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "6beb9f0391495fdcde91521633b5248cd554b7c27116aa59d5f19edf049c1722",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "1161769df1832e847b02e69e4325af68ea025002ae19cef3de8ba8596a59fe63",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "b27306846202075ca3bca07a9883c4be0cf2c26f3ec90ced1f752f7da581f0d7",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "bafb47fe8cceb56e4e6bf639db968f232f9a4fdf4d8d9f35beb237f54b05ff06",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "723cc0b0676ef76d116f7911e991ab6278e2d56abd00d57d014bbb69063cc46d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "499568418cf87384ef185f4e4995aca3e0f5e1325449c0330fc7b6a4892a96bc",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "54e854ea7046921e226d64afff6319871802715a9a7d09017c190ad989054dee",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "9096aad0bdac2a8cfdca15ca8c74d5e64122a24bcac3e6cbeb9f0825a4a6fa79",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "c482126a53e610ad89d9a1d86a693a12a4edf794b000bfe70f66854ae9da01fe",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "869497732bcbeafb162a6eb87ba5701baa1a315ddcc2ed4d10c6c4c3df2d2ad4",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "d6b7b15b210dd914dac8006d1c69f6f0aecd5b925b99242c5b73c2e9d0850731",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "054025a87c43e321290c6a2695919ac02fc2db409f1d7cdbee97a551210b72b4",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "07db2c490ddc9bba51454cd599a4ea438da6fa44b89d48753df4d3c88a85679f",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "014acf5a762629dcc40efd476b7c9a85fef247c3ad157d538f12f459f6d0fe5c",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "2c0c663e7c4f47320b8eab1e7c2e355ab1cbd26340025b4684afb28af28da966",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "29170d444b65aac4411059f6c2b4020d16d8aaa793394e17928aef2535ace2e9",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "276ad34d8fbad103ac472349f8a013aaa2a82294a7f734cf2a705815f2dd7a69",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "a191053c9082ffb3dbc3875c674a85f7ef3035183a081ae210c402c8f5b7ed49",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "553a9c28c532df133ed912b343c3c4ca752127a5afdfb9f64f22c3b7b1ed17fd",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "036e79453eab513d20ff06726470da3c1ddbfa634c4bc0010c3af47e8acc3f90",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "59bc76d45e562425b07b4883140cf0766fc94b879489bcae12c6ca89542e0f54",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "5e72e05396018cae6a3dc3de68eaa5bcd1e4c50e1658ac1303bbd9f299993d8d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "036e79453eab513d20ff06726470da3c1ddbfa634c4bc0010c3af47e8acc3f90",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "b60741719cab33e7a901522f2925923240913fcf865114d7b6106d5f942c6164",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "17992f1b791d56dcb36eade5e790e5b8f5223fec54b7a84352a0d31c60f9138d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "6fc0a97245a4270fecc3fddcb6babf41d1fac8abdf6d7966d2fc45ef845f53ac",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "0f75030441d2832f3c5d0ae0eb79c314904d68a919bd76214dfe79b8a2dea974",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "f0c910fb077856a64024301e23ba1292a41834733c7484b730cc0e54bbb5099d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "623b21f5933a14897eb1dfb48968327d904a68f52e0d6bcb105642db2f017cac",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "6176791bd04cfcce6b69e9629bb6d6527ff73e06b6831ccb4f0d8a0f4fb179dc",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "b3da11f9bd5ea9fde47dabb515e49b2714847b86c32c4bbc43384a1b0ecd4555",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "d80ee5ad3d0d3fe75b03d08df1bf744a6388bdfe6b81ef86f48e057db0414e2e",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "9d9338fada84f7402f9d704290205bdf47314c75d123be839910df4905da8589",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "7e3c92ab022148923691d4391bf7613ff0c61dc3ca6e9e44316338cfd7d894c2",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "54e5d51d481ed219e724ac3db5299f830496aa1a5c9c16b9fc220f1288d14a61",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "bcb1518dc70fc85c51a71279bb59f21b69eb0703514b92913342aa244d0d5d6d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "6893ac44cdb0c2c4ab99704f9b7e2dc48876565b833f9ae1128786178ae2e6d1",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "4b14db61909fbfd016331b10128c79f8ef1d36966b41dd6309b0d69ef73ef8af",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "8a97426fd2a7d1aad82d1760cd0c00cdc902451abecc8a7a142627c95cfdcb63",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "f0d641ebf92912de4a4a2a6f5507a85039a3c01c057df30ee23b1873b46ba3f0",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "197c1f5b65cdea92b4911b482248aeff7a3036adb56fabe4bec5bc36c4e73b88",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "0c149a9d95744a53047986540d14fcb82be8d1cdf0894afae01b4e1515cac66d",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "6fc741efb66562399009375246ce6cf096b25a27492e07840bf7a0cbce10c8be",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 47,
      "type": "markdown",
      "sha256": "69af0fbc48176550957d7126a77c00dfaa0e0dafdf177ec4825be0d931813183",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "56243973638ca16485199f0f9850249188bf7842a771171f41a9f33b2c6d9c44",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "e5fee9f8f0b1bdd0a65d89c3e3672376021882753af59bda208a03f51892668a",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 50,
      "type": "code",
      "sha256": "e685a506c77fc5291e065ab3aaf2b2fb1db3ffb85cd817ee94bdc2d94e52834b",
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "dc6f9d2272384c0f86fdb3d96f38009b316bafac0bde16568e0f6a0be9117508",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "c85c550c2fa8b4eb22e22a030c88a2d967495fa7526cb617769e69ffecd49954",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "a025656d90d1af8f613920b11a1161d39f981f19adb458a741ba67a7537d4116",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "5196d68e903a89c6ce29215a00c9c00e1c4f58cf6689c0b7e4ab30909555c1ea",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "067630b6a1cd12741150b8262f922640f2f3b3813196ea9bec2058c7ce289362",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "d43aacee12f33b41ad3dfe4df0de4d404ab12dc1b70ce1c9388572a031d66dbc",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "4c812d50ce03b56271285d32dd81269d83c5463b8b051cba41d9a8720c27dcdd",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "ac7a84ce0929e7f06a8ad39bbfcc89c0c626f6e0809bb15667d2b4d02a7567c7",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "faeb0de54ef3d354e3a61683955317f8562a90ae2fd5deb2c5a6f933101d6769",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "560123f3ad53a8249741f1629ec88ec34a44c44cf3113b8d1921d61f487a248d",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "b3eeb7f449d1518b5457c4b36e3965f6a1737d90f0e63f203801cf1351c86684",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "31be7e14cb988e0f1b0cde6e70edcf7d804c808be7cc5ba64c0e1f28fab1f1f3",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "60d4cfde1d9d13075a4078678553e4f1091f1caf27924ced456825c59e14f88f",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "fa0b819fcae6482fd579b755b7c8f67b14cab3761d3c9edc8c080ae3d4b9eb15",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "548a9986445aa7c196f951130410c7aeea523769be01cfcaea4e07de9319a8fd",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "ed07cf55995a781e5523be629f3c71084486eeef5db4bb18d79328f979d47e65",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "75e579fb3abbd3c271217f23eae419ec56b5de20366f366eb22de5dce777ba26",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "0ed4afb468c8b31269b7710bf5e37393eef209b7b3f52eac9d012544f97ebd98",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "a6eeb85157bc9273fb0d110c0c1efa4d6e2328f85af4333b4b83b936f9755994",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "17fc48267ba96be8ccc99a2e1c78a9e060e103227dbef40d94307876be27720c",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "61ba3dca5cd7c2176211ba5a25175e7af40ad2c8e09d6cfe518b69d91bf654da",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "9f727c779427550e9ae556e2eef4e63341781578e3a721b34f8d2553a3fb2116",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "72c38961d576fe076fc0ea38aada17575b4061fc4b53d4fedede7884ca41c1c4",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "582a6d320c6228a939ceee1c047bcf552c53d8b56997d1eff8579991a637ed39",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "6c79c86b0b5840ef902e81a422ccd4b624afe1a68a783a8e7cf14d979332a4c4",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "9a74de7818048472d393aa910d4db6bada2aec139548ce33672150e05d3d0bee",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "751fd18332a411a2b9ce3c7962e07e2b3f4e7cec26490bcf44ca60e74d5563b1",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "203d712d31b0fc5268dfe64ed22f79f30d10ac2d47ed912e4aa9bdc651de12a6",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "e636e8f3b9a7565450f388be7b41cbad74b57ca2e87deea2131d1c429ba74e8e",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "f978e8055de0540dd54f5280ae8e6a0cac3b5b43268cab6ea5d1b0188bc8d514",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "cb9a945eeb1d35372ef931be10d99c9625e82103e42d630be3a842c2b2eb1c92",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "f0a63cf3cf18b4a43022ed4214095a2b3bf6d49f5e740d672c5022561fd6a561",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "8924fd66264244995629cdd18943de047c3d8f3c2c246d7dda586aab01043a48",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "236b94ca4da53eb1640a29d753b776fde30345529cf64afaac0c4d50130e16a8",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "137d8a298d0e068a7a144dccc8c08d8afc37305a20174cd6ee0e6a6ded2d856e",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "42aa596115e9d02fd46d9c53846d6bd7a7c223d8a8fc6f1c305591147b726ed3",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "fdeb790fc2c84a627d87db606d0b1f0f2f5216a8cef2b924d9057cbba374b7e1",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "a04cf3cd637ddbe2930afbea1b062dd2c4d7cb6f207afe5f6207b379fb2380f6",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "6da9d8024c06c054b856d119c142974f14f8ea373f16e81a4409ad83d8433b3c",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.3"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "d5af24c00cd6e148d956ad8b86aae7f3bdb07b3640eadf6cf1280844ab4a46ff",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "6487ac2677125240e4097a93e649eb73a761232fbc06ce293bca32b04326725e",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.3"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "cf32fd5c2c4dd92a89341c4b448fe141f79ddc31e6cd2ce91e9f9182780b72f0",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "e9e2c2ac0374b973cd47177a3d37a8bdab0ad37ca1e1a6f226348455a431e5ce",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.3"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "6e74e5a5638e0cd259d4aa7b117ac3d8738fab9869204ce42cf053be4ae71fd0",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "7972401a24758dac7c4db41235ff993f39a51a146bde97009ed0ba93166810c8",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "47d7983d3a22192e2a34ad2ce2f9fbe974b98283b0a029c7ad5e4b4a8b1e3b81",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "a0a08e72917326ba9dbd8eb6da72ec201285e83b5c615e54c97ec7c94fa1f70e",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "a8d5334740645cd9c46c4761651c6e93c2d11d6b78102fe871f28301f77032bb",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "49d2cb2f0df387d0a319d2b25cc03dc3ca5f32b65561d7f9e0cf477f90c80c61",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 50,
      "type": "code",
      "sha256": "0d94a3274295a227a066e46d24f15325f347abf63ea4158f15f2ae147191d928",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.2"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.4"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/09_extending-tokenizers/extend-tiktoken.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "fa91965cb2cc7a0a999a0872555db511e40d54bdd1c55ce60e66efd52a2644d4",
      "locations": [
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.1"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.6"
        },
        {
          "chapter": "chapters/23_extend_tokenizer.md",
          "section": "23.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "769321c60c245a0099a46a6bf282147dd2897c649cbc671d49a4c1e75e8ade1c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "57204aea1f217ebd332d735390702060d71a7006212698fc6ba818588f2c7eec",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "2501d354c75d8ab9d701bd4bb6a6897e7a1fe0c841f83ecc34a36e6489e1a317",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "1b7d0277308f6ee4e0624101f41b1f392d3a9343fdf30ee242f8fb7a3c796c7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "bfb5f30e1bc7825d6f763f6fc5a49069da92699f918a15f109662fa8f5845c92",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "c147c0b5871675452fedd194bb6e8c31b8c04b369e05009954f8b55250a8d4fe",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "70d78ae94f8fa9ddb248a4bcec8ec1e4042a904ae5e82d1b3a1f02277c09e4df",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "7a77ad2958c744bfeffc89bf1256a4e35f9a300aa366575917538b5d5ea302f2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "1ad04c50a7627655815ec663120fcffc234b5c0c48395e0425132a710c9a9188",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "a4bd9d4e6ab1f51e335815dcfc84f65e3f51782810f51c5af5202751f12f6821",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "812b1a55aa4504cb866fe5ca4d12748c549bbe7279378b456501e3b97dfe7db1",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "f37d4763138bb2c4084bb3c3197f15c22e012d0bb26bf733b14207dd4921df3f",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "d623cf05ed22ebb0f9e2fb58ece626c86fb018a17880a53eae506799f58ee740",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "0f02a1539633dab553685e1118e9d92930cff51992638609f311025303e202f5",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "92ebf112a702581aff119a5ceaf8891e7f675fe03abc39e4068be55038ec134b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "b4a75d62bf9f6b4f49057010f908ea36e30c84207a5cde04e34d52518bcff050",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "64ef6e5eb781030c9d7ed86a856d7b2f1072edc40e69adf1adbccec2a225593a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "5e190c3a6fd66fd1a9fb73a4f5965ee87e290f2f6afe7f3907d0a8c920dac9f3",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "f01adee0b2140ec429bc5968f08b968510b504b1488a038a0a27fd277b836588",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "0fcd38edb14bdcb0caf02be9d9487b87c885084c61c96d466ec7b460ef8ccb44",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "1cf20f2bfd5f59aabf1cc314dbe816d8d2e0ee4a89c0b477537a03815d5aa4cb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "1314a5c2c7faf0eb62173331dc01f1b9aea0acd0cc4e39c05392dd914a1a991e",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "cce8f67555fa481b6fe519be5149d9e113d175f1d4755abc7f373be9e1d714ab",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "769321c60c245a0099a46a6bf282147dd2897c649cbc671d49a4c1e75e8ade1c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "1106aace12aee8d7dba9918236cd8a65229d813d1c4eac7265b547e562d71761",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "2501d354c75d8ab9d701bd4bb6a6897e7a1fe0c841f83ecc34a36e6489e1a317",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "1b7d0277308f6ee4e0624101f41b1f392d3a9343fdf30ee242f8fb7a3c796c7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "758c6eb23c644dc6945e33c966d9482b88d420ff9b0c78cc163b942faa61c435",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "82c9abac6c1d45b80023c0353c4df094d6a9873ef945501dd483115735358d90",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "253607a4a54b44a4dcb699d81ce058638b03137ebb393fd2a8860cbc97b074d0",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "ca46151f8f13ecf48787057cc353561c9f6066056b6fcce74774c4878d613a3a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "4a2ee812c0eb24b322f0b38d3b0bd822492bf14d0b22e7e80e3c4c9b2bdeb25c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "812b1a55aa4504cb866fe5ca4d12748c549bbe7279378b456501e3b97dfe7db1",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "f37d4763138bb2c4084bb3c3197f15c22e012d0bb26bf733b14207dd4921df3f",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "d623cf05ed22ebb0f9e2fb58ece626c86fb018a17880a53eae506799f58ee740",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "0f02a1539633dab553685e1118e9d92930cff51992638609f311025303e202f5",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "92ebf112a702581aff119a5ceaf8891e7f675fe03abc39e4068be55038ec134b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "869f44a37e6a3d3af9f4c7591774f62232909eb550a5ae9558d53f4f04da484c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "b4a75d62bf9f6b4f49057010f908ea36e30c84207a5cde04e34d52518bcff050",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "64ef6e5eb781030c9d7ed86a856d7b2f1072edc40e69adf1adbccec2a225593a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "089d6b9ce3e7bf5e4be34155a212f95d45f8b19b6636695f76144dd3990215ae",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "5e190c3a6fd66fd1a9fb73a4f5965ee87e290f2f6afe7f3907d0a8c920dac9f3",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "f01adee0b2140ec429bc5968f08b968510b504b1488a038a0a27fd277b836588",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "0fcd38edb14bdcb0caf02be9d9487b87c885084c61c96d466ec7b460ef8ccb44",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "9613a37cc34fde6fef1c3902462be1e29361d8d002042619254cdd7b343073f4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "5dba10c3a0b49280b3c7a442d32c6bf5024b643aeabc1a42e079250f34483232",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "549a655ad05f0af3fc7c7cf0ec4a332d77b724ebd65667d667668c4152154b35",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "cce8f67555fa481b6fe519be5149d9e113d175f1d4755abc7f373be9e1d714ab",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "aa5e487fe5967e1be5d8a0ac07ab584920e3a5b75ef0ea9dbbaddd266f6f4724",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "03a5a91ce700cea6711246e85205384104b6d6ad8a6c422c0acfe02664d12837",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "65dd70bfc34c2fa18e7cb44b7367a12fb6d0aba4964d7638597423e70d646213",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "4478f89f3a11f0408a9e611595ed72d27f2d3b4e3f4ac612c41631e3680f1ff7",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "1b7d0277308f6ee4e0624101f41b1f392d3a9343fdf30ee242f8fb7a3c796c7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "bfb5f30e1bc7825d6f763f6fc5a49069da92699f918a15f109662fa8f5845c92",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "c147c0b5871675452fedd194bb6e8c31b8c04b369e05009954f8b55250a8d4fe",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "04d56dfbc3dc966de21ef86bd898c42ddb788691fdeb99c02788f781f475280b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "eb763c53b42686695ae934fe571c114bfbdf85f1078f90254d8e091ab13ef190",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "1ad04c50a7627655815ec663120fcffc234b5c0c48395e0425132a710c9a9188",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "4ae5102cd18ab0b0f821376cefa972c70423a6d17c124b3a82d1ce8f6610a93d",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "23b41cc42a58b22ffbd22ee8bb32853f2bcfb47598771ec14de6ae8483e3bdd4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "869f44a37e6a3d3af9f4c7591774f62232909eb550a5ae9558d53f4f04da484c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "537d49b1c6b017f788a755975921359b65031f396c60230d11b24af998e186d2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "e1e9052925fa5e5a396903374893d94165971ac0015f8ad211a85b067e87d3d0",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "089d6b9ce3e7bf5e4be34155a212f95d45f8b19b6636695f76144dd3990215ae",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "5e190c3a6fd66fd1a9fb73a4f5965ee87e290f2f6afe7f3907d0a8c920dac9f3",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "7138d2b7d4399cc0f2fb49d50ba72ab536dcd1fe9519afcb6051b539cea1d0fa",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "ed90eb8c386a9ef148dce920ddb325c0b78e043a7472c446aae154ed82eeb129",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "9613a37cc34fde6fef1c3902462be1e29361d8d002042619254cdd7b343073f4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "1cf20f2bfd5f59aabf1cc314dbe816d8d2e0ee4a89c0b477537a03815d5aa4cb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "029c5125d43fcc071c8eca94f833132bf4175d20660ce22ffa24a674a7c42b03",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "cce8f67555fa481b6fe519be5149d9e113d175f1d4755abc7f373be9e1d714ab",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "aa5e487fe5967e1be5d8a0ac07ab584920e3a5b75ef0ea9dbbaddd266f6f4724",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "c3ab31ad2bb214899f20debc2486a8c2367d6ee4a377e169c4ddc9d7d8c4b92a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "65dd70bfc34c2fa18e7cb44b7367a12fb6d0aba4964d7638597423e70d646213",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "4478f89f3a11f0408a9e611595ed72d27f2d3b4e3f4ac612c41631e3680f1ff7",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "1b7d0277308f6ee4e0624101f41b1f392d3a9343fdf30ee242f8fb7a3c796c7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "758c6eb23c644dc6945e33c966d9482b88d420ff9b0c78cc163b942faa61c435",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "82c9abac6c1d45b80023c0353c4df094d6a9873ef945501dd483115735358d90",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "cb941fd846dcd05fc18ef9481a7cb0617baba36fc0ca0f1927962210c135b8ea",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "ca46151f8f13ecf48787057cc353561c9f6066056b6fcce74774c4878d613a3a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "4ae5102cd18ab0b0f821376cefa972c70423a6d17c124b3a82d1ce8f6610a93d",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "23b41cc42a58b22ffbd22ee8bb32853f2bcfb47598771ec14de6ae8483e3bdd4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "537d49b1c6b017f788a755975921359b65031f396c60230d11b24af998e186d2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "e1e9052925fa5e5a396903374893d94165971ac0015f8ad211a85b067e87d3d0",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "5e190c3a6fd66fd1a9fb73a4f5965ee87e290f2f6afe7f3907d0a8c920dac9f3",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "7138d2b7d4399cc0f2fb49d50ba72ab536dcd1fe9519afcb6051b539cea1d0fa",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "ed90eb8c386a9ef148dce920ddb325c0b78e043a7472c446aae154ed82eeb129",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "9613a37cc34fde6fef1c3902462be1e29361d8d002042619254cdd7b343073f4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "5dba10c3a0b49280b3c7a442d32c6bf5024b643aeabc1a42e079250f34483232",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "2c9ddfb169fd8449319b54bc6706c38fce16f9795455427e4e6a4b3fe6c6b215",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "cce8f67555fa481b6fe519be5149d9e113d175f1d4755abc7f373be9e1d714ab",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ac5b74996f6d465608ffa4075c1963f336d32d3fa1c2d5bb5f89dfbe865ea1a7",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "6b46a888a232f3b7d4a3ae719f31896e223c70bf683663c2546dd11d0287a5a4",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "cd510376267d7c96bfbe797fc2b4e40346a2aa812b132276ffa5a86d70ac584a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "098cb2d28729a98bcab47ac18270636a89781bba0df62b926ecfe73f3a59320e",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "3a8fb6f5615ee70afefa5b260de81d42f6e81743693fadbd8b51c074530bc2da",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "ab9ab2e205b210100342b1206b190c844a1f575180a8bc6cec1abc04886cebc8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "d3ed97f26d3430f01341b246c38ebc00f9a03f5034555bcb80678fd53998fb76",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "565df5ae927ac65d76008a28bd099f7229f35849a0fc42a16efa1ad85576db22",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "bed449536333584bf92a4e414c84ef62b59f824480cbbd290fc7a96e1f708249",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "2138ac87c2d1ea559a82d69fe2e206a428810d40c6c751e17ebeaed91b22367b",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "60e5d4b05aec2e8b628ab4f6d5c8b4bb1f03daef6a1aa99c5d8f4336d1e0dd29",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "fbe00fb220d47467be3dbdbf9fac86481d283bab5e9f38c2cc6d86db7ffc8922",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "869f44a37e6a3d3af9f4c7591774f62232909eb550a5ae9558d53f4f04da484c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "68c099d1f812f9e42ff548de119363916744451786723781ea1d491360546482",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "1ad04c50a7627655815ec663120fcffc234b5c0c48395e0425132a710c9a9188",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "1798ff8b49b1f0243834092e1251c244c4ff693dd3c3610f31e017e391ad7221",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "ca7eca6a6ef5299a5b9036323cb570f90f5c7ee533d91f532e6a290107ed2594",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "2200bb5e21f6e7712747a7ed124b08b539c48451f680847b6eb94cc8c5ec5966",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "089d6b9ce3e7bf5e4be34155a212f95d45f8b19b6636695f76144dd3990215ae",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "18ec01d6b0308dbc225e88eb40c18ebcc7c2acf2dc774785217f3c43d917e434",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "085d4fdc8d1ef998d941a8d53b3902196db92327a75fd310ea55be790c71a3a0",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "d39b23a5fb699a2764a39602c7ff076d02fd5e2e06f928f99c1da36a5f2b1e16",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "475341a2bb7be0474950d49a150afa5afd032f7750552de96d58a66863fbb9f9",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "1cf20f2bfd5f59aabf1cc314dbe816d8d2e0ee4a89c0b477537a03815d5aa4cb",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "2e44c153eb0c9835dc1cb922fb599ea43a67c0f37d0b56eb88958df2f81b6bc7",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "f34a6da61e6725376a11602b4e681bf50ea34b2c59312f454d73aebd9d4a0fc1",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ac5b74996f6d465608ffa4075c1963f336d32d3fa1c2d5bb5f89dfbe865ea1a7",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "f341743e7f59f30cb8bd93b8b7ba9877188713ae8f2b0ced00c51efec07bd547",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "cd510376267d7c96bfbe797fc2b4e40346a2aa812b132276ffa5a86d70ac584a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "098cb2d28729a98bcab47ac18270636a89781bba0df62b926ecfe73f3a59320e",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "3a8fb6f5615ee70afefa5b260de81d42f6e81743693fadbd8b51c074530bc2da",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "ab9ab2e205b210100342b1206b190c844a1f575180a8bc6cec1abc04886cebc8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "758c6eb23c644dc6945e33c966d9482b88d420ff9b0c78cc163b942faa61c435",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "a15785416a107e342d559d8deb1e6de5c3ed0d978e2f9ee4fbd36de4d5b0438f",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "d0f92a269b18bb9517fc4ef804507fe82dcce38fead9bb3770689f505b3f5c72",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "4c9f52791b8a8407d2a5d87d5c04f934686febf29b7fc1988332e276f3f66b77",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "60e5d4b05aec2e8b628ab4f6d5c8b4bb1f03daef6a1aa99c5d8f4336d1e0dd29",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "fbe00fb220d47467be3dbdbf9fac86481d283bab5e9f38c2cc6d86db7ffc8922",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "869f44a37e6a3d3af9f4c7591774f62232909eb550a5ae9558d53f4f04da484c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "68c099d1f812f9e42ff548de119363916744451786723781ea1d491360546482",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "1798ff8b49b1f0243834092e1251c244c4ff693dd3c3610f31e017e391ad7221",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "ca7eca6a6ef5299a5b9036323cb570f90f5c7ee533d91f532e6a290107ed2594",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "2200bb5e21f6e7712747a7ed124b08b539c48451f680847b6eb94cc8c5ec5966",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "089d6b9ce3e7bf5e4be34155a212f95d45f8b19b6636695f76144dd3990215ae",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "18ec01d6b0308dbc225e88eb40c18ebcc7c2acf2dc774785217f3c43d917e434",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "085d4fdc8d1ef998d941a8d53b3902196db92327a75fd310ea55be790c71a3a0",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "d39b23a5fb699a2764a39602c7ff076d02fd5e2e06f928f99c1da36a5f2b1e16",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "475341a2bb7be0474950d49a150afa5afd032f7750552de96d58a66863fbb9f9",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "5dba10c3a0b49280b3c7a442d32c6bf5024b643aeabc1a42e079250f34483232",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "2e44c153eb0c9835dc1cb922fb599ea43a67c0f37d0b56eb88958df2f81b6bc7",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "f34a6da61e6725376a11602b4e681bf50ea34b2c59312f454d73aebd9d4a0fc1",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "7fb9fb31dd7705b731cdc795ad6774c9e004e479f97569abf965e36bd68fcee6",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "563c8ab788ace028aecb8c322522ef8e20c6eb8b9ea24f1e6fe87cc06c191890",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "af775c1bd684355a2e4a5ee290480337027d27b78d89b3dd6755a60d7977ba19",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "39d3028b5b05ece94acdded51490267f70ce0f4157338dac6e92cf8926d58871",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "a8959c86a80ccd8affdf6d8561bf6c5f48aa287dfc187691db5a4cf0e4a13bcb",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3-transformers-ref.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "6b32a5bbe27241a66468c70ae346cd665bf13203c9c2fed87de9b1ae2aa39ee1",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "b8ff2c22c3402c0adc328b57a0992404e632747ab150121098395935ce91f6fc",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "9ae04d081c7f633e65236e7b02d24d696991e4a554e902f96f9d8f44f6d6105f",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "cedb7a9805882da1145b14cbd79a58a78dc9f79dff997c60ef8c50ea33c9b006",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "95a1bb995ada2c8c6ee5de9a428eab57e018bd6e131bd8a7cbd824444c3ad81c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "c30a97f287a4a8a198a93e65c899970c91257bf13eb9cef195cb09be2541ea1a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "bc70065c2894de3f9b0062693825d96da638a3da88ab7f6412e002b53e4062e9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "6aeb7c6587b539baea86c4296501ec2f0e3f51746846eeadff6f8f3ddb2bf300",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "bd0a89d7f1e79cf5016ee88d0caad521d62fc1d582b0d371f310269fae410e12",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "09dda4b05c726658ab7e31343d91af2fca8ff1156dad98b5ff60acb2de4a8a90",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "e01f747ab587465df78a601244fe2dbccd4ed1f210b531734225ceeec7f72df6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "1ad04c50a7627655815ec663120fcffc234b5c0c48395e0425132a710c9a9188",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "41b36114e64064a1ff4c4591081b14f807d964e9ad515366010109b4ce9fe7b1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "b7f7e0c0aac7e795b82481cbc0a3ab530c09301733934c3ba772bcae8cd4df05",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "a7b6f493bc307b4d7b8a12cf13062c0707664e1fe27d457f48b3cd4424008965",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "8ca375c3fe4f6ddd68a604139adda16e8a81c74f503483c8a9b1ae97b17e5a7b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "edcdc9324f10182e418771dd1a691bac29a5aaf3abada31ed1ee0952b76b2a52",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "4420e0a5c3f900e30227cad274e12c6cb88fc4ae910d774a9aa9f1ce41db576a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "f58587c674f483c1325c8a0895b85dd683164f364306ca5a9d0c9fa6f07f00d5",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "9909ef36840da1d3905566134c1bcbf5f8e685247f15cc8fd44fbc578d0ae330",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "f34a6da61e6725376a11602b4e681bf50ea34b2c59312f454d73aebd9d4a0fc1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "b8ff2c22c3402c0adc328b57a0992404e632747ab150121098395935ce91f6fc",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "9ae04d081c7f633e65236e7b02d24d696991e4a554e902f96f9d8f44f6d6105f",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "cedb7a9805882da1145b14cbd79a58a78dc9f79dff997c60ef8c50ea33c9b006",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "95a1bb995ada2c8c6ee5de9a428eab57e018bd6e131bd8a7cbd824444c3ad81c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "c30a97f287a4a8a198a93e65c899970c91257bf13eb9cef195cb09be2541ea1a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "bc70065c2894de3f9b0062693825d96da638a3da88ab7f6412e002b53e4062e9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "3b155019aaafd0975eb8ca8efc708e7a3a687bd3d246c2d558ab05e7260d00f3",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "7a158adab44c9700b3634d92776591df332ce9b85f5ed3b1100fe2a80e4bffd1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "0085c03a866d90dccfa6678c3869f6eda3539b2595138cdaedd4606adc25dc5b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "54016cb72ce822aa03c868508b8ef420acff19f8d0abf6cba5e4465cab3325e8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "41b36114e64064a1ff4c4591081b14f807d964e9ad515366010109b4ce9fe7b1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "b7f7e0c0aac7e795b82481cbc0a3ab530c09301733934c3ba772bcae8cd4df05",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "a7b6f493bc307b4d7b8a12cf13062c0707664e1fe27d457f48b3cd4424008965",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "8ca375c3fe4f6ddd68a604139adda16e8a81c74f503483c8a9b1ae97b17e5a7b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "edcdc9324f10182e418771dd1a691bac29a5aaf3abada31ed1ee0952b76b2a52",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "4420e0a5c3f900e30227cad274e12c6cb88fc4ae910d774a9aa9f1ce41db576a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "5dba10c3a0b49280b3c7a442d32c6bf5024b643aeabc1a42e079250f34483232",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "9909ef36840da1d3905566134c1bcbf5f8e685247f15cc8fd44fbc578d0ae330",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "f34a6da61e6725376a11602b4e681bf50ea34b2c59312f454d73aebd9d4a0fc1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "7902bebae35afa67d065362b93fb689f72275b5924fe6fb287af0c37f5199f9b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "18667c1e66eacef294a39462bc04f02a19b85112ab36886b233f4e05b2622cf6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "842dc4f0e5e9b2c6d921d09a9a4ff47dd8a222f11f10b33229c4067fef85ac4c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "540c85c0990b7907bbf0a8e17f435a9f59118d8b27c9b8e703c92c358f54cbf6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "1427e379f02f1ef6ce1b983691c3715748896403ca5983122e8538cd93cd781e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "50a8794abe0f0df6d67f33c8e3aa924a3f29b0b9435e0205069629111873c6fa",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "f7b38e37a6406b48f39bf2bd191888f31c46fbe7cd764ff099f140464876f41a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "0e9f8d284528ac454bd83dd0e243b2bababffa40a8816d4c81a50ad6c093a7b5",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "e6f1ccd3d17409d036ffffd5a55ae71fce0b6f3dc3b07ce3ba52839013564b08",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "e948d5922cb12dd8c4251e132293176c12a2b470345ed6a566b71e189e42822b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "06c5ed1028f9ad6b9d804b20b1b665ad66e77d3ba9e9368b7c98cddcc8f15744",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "ca7eca6a6ef5299a5b9036323cb570f90f5c7ee533d91f532e6a290107ed2594",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "892d53e3e411c17ccc85d5aefd6c159e4dd63e29555d916661fb8a486ef0aad8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "7e818d1010cdffe1fba69c8d964d9993a198b1b100d16de91e8a86719fc44bcf",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "1c2a398a77f9ca2f89dd40927431b898e38c7cf0869477e67491d6f1b7e0efad",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "d2c29638c7c2c65a4b331caf90a760585f288d9ad943fa3f206d9f4d70fcb461",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "74596e0216357f802ac50c493fda6963e402367050064839385fa0e829734135",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "682b83b51ff785fd134fbbbd0e3c8fca8cd538dbfe9c1282f1785aabdbb79852",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "9c10552fb3d38878ea32b98ea9b4f9d78015c64bf78ca7c60026feee502b3c7e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "a59aaf7139aafbcb46176bef939b89a6b4ca924c623837f8578bcf9fc473c8e1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "cf9a579e1e4cb677a1674b87070ad233b6e417f00f9022397f116601f9a8fef6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "58f573961473c9cd169ca00a2b8ce26299a7847dc75dc9b528dd31b57eb0e0a2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "7f5d29d091601770bf7e2a7b31acdfada6d19e4bb8f063959556c0790f647fca",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "627e2a014a24548ab5c0cf6c22e8dc6192158d28fa1fc056521c07301ea90d96",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "186d1a44f40aa88e6f365607ff566e0576a05208bc4ffe4b36edd8885a1da382",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "d34f7100a16b9798514f0d1a2b58a69d40c48e142d772c6573bf5bc564a53658",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "556dd47bef25460a64686200ad5b12edc758a008ae3eb8787bd97de0c1df18f8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "76b5610c917acaad1b7cb2865b5a64407721733a4efdd25acdb42ba45892bce2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "fcedb0f497dc7936b5948459de406d5de7fd10286d96caa5f20f5a9d19830ce5",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "e187809d9c03cd88ed78725ea4a324f3b80f88ea13d4e29f2fc66ca98c1bca0e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "0579bad227bd292be99397bab862d196713f6e652a1c349f4cf17deebd014706",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "ca02c79f76ecfa22a5d08d4532d0aefb0c4f437e3c6acde7765ef238e70b7fc2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "23e65d6a7e4cc3119ec84ac1fbf21b432b8cf3f1bc4c5e3440b8437f0c398b51",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "1b4112730f9a5bdf765bba731f12458a814cb8a0c1e6e157b34e8b7e77417585",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "38779a8d9faeeb29d183d47dc82e69a1700194f7b9d8fa254f1389d19ba31e3a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "19c0c17977e8525003919fa8ab790771710b77823fcaee2694f59eb4ab2ad9ac",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "b7958ff8e84f188b5e62106282c6166ad473d2b5c00b05391c5fcc1b6ff84a73",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "ffed2572f2c5df5083b3378047c17db9e7495c8566431f36340ebe11f1f146a9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "d7545a4d17d7cac36d4bc84c7fe979a57d396e6a10a32efd329dc5da7baa9def",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "e6e3f3655ab3f1943ea5fa74979ae850651a159d461ac8767d25b487ae486006",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "e54af0b926167c3c2353cd18c3f88747866eb30899d3add489468c822e1ed77e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "088e9c7ddc36cf947a7aca86da7eb30e85c04dbb0638a503ba4d2f35204ccaaa",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 47,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "6524124b2a5c496f4ce707abbeaab58466c00206d90bd23fbf07a963908fbffe",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "d369160a526c6c1b15cf2f20939b651d3aed86719e9e3f7a867198370c0cd182",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "174435af2a4829d3a40c5bd88c77960529af30ef64bc11a8a4db42aa308ab6d8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "e58013d4384cc1ee0af0be60ab3370e7e0a676567dce1c7896e8685beb5c1fb7",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "6a538d3cb0af4030d404729e7a6d4dec623e9c56bc1e1a3d1de8c1ed2737c71e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "863d61e6988f1c9cafad74959e55fef9c2e757568595df395919895796e2aaa3",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "187b503536fb026b546224d50ef8a3b5330f88d83af74b40496991162c95d105",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "842dc4f0e5e9b2c6d921d09a9a4ff47dd8a222f11f10b33229c4067fef85ac4c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "35d1d03dced5178be11c7cead5702382db035855675d828b0ac4caa2ab1ae0c9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "1427e379f02f1ef6ce1b983691c3715748896403ca5983122e8538cd93cd781e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "50a8794abe0f0df6d67f33c8e3aa924a3f29b0b9435e0205069629111873c6fa",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "48347bc2666c7cfdbfc7489668c4d1af853b735c0460bcf4746ff8bf05a9a280",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "903e7629bc73b486c61739b7be6e981d86435e855f3e338f3417f3a32f5648a5",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "5ba34529e556ee750ef00fe9dc53044e288389339ca035e92d860448da03b1c9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "a1c6917fb98318b1e4ee9636107e06c29cdf456b359d262af6bd6d036f1f463f",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "36ee6d59b03dedeebdfa9896b65cf0db80f0412ae57659fddfe931b27d98f288",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "27eee8120e4504c2b612c82a813561fdcf87b7e3e9a34dd33fe6507ce74e1c90",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "d2c29638c7c2c65a4b331caf90a760585f288d9ad943fa3f206d9f4d70fcb461",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "74596e0216357f802ac50c493fda6963e402367050064839385fa0e829734135",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "4058f679fb653f24f16bd33dcc2bc13aea4758e2fd1b1fb3757ebaadd632ea28",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "9c10552fb3d38878ea32b98ea9b4f9d78015c64bf78ca7c60026feee502b3c7e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "a59aaf7139aafbcb46176bef939b89a6b4ca924c623837f8578bcf9fc473c8e1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "cf9a579e1e4cb677a1674b87070ad233b6e417f00f9022397f116601f9a8fef6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "58f573961473c9cd169ca00a2b8ce26299a7847dc75dc9b528dd31b57eb0e0a2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "264032421a30cb45cb1e9f2f55c1518b900503b8faf45907a51fca4a5eecf338",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "627e2a014a24548ab5c0cf6c22e8dc6192158d28fa1fc056521c07301ea90d96",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "186d1a44f40aa88e6f365607ff566e0576a05208bc4ffe4b36edd8885a1da382",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "d34f7100a16b9798514f0d1a2b58a69d40c48e142d772c6573bf5bc564a53658",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "556dd47bef25460a64686200ad5b12edc758a008ae3eb8787bd97de0c1df18f8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "76b5610c917acaad1b7cb2865b5a64407721733a4efdd25acdb42ba45892bce2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "fcedb0f497dc7936b5948459de406d5de7fd10286d96caa5f20f5a9d19830ce5",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "e187809d9c03cd88ed78725ea4a324f3b80f88ea13d4e29f2fc66ca98c1bca0e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "0579bad227bd292be99397bab862d196713f6e652a1c349f4cf17deebd014706",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "ca02c79f76ecfa22a5d08d4532d0aefb0c4f437e3c6acde7765ef238e70b7fc2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "23e65d6a7e4cc3119ec84ac1fbf21b432b8cf3f1bc4c5e3440b8437f0c398b51",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "4dfbfbaca9e3964cecc54c145f4a2aee6cf710c9387b3749d0b21b3005bddc96",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "38779a8d9faeeb29d183d47dc82e69a1700194f7b9d8fa254f1389d19ba31e3a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "19c0c17977e8525003919fa8ab790771710b77823fcaee2694f59eb4ab2ad9ac",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "ea81e3e0a129ab460d473826f2945e60d36e945ff6e0ae82d9eab5e77b686f2e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "cf4b171f0d3fa095232b8e101acf6c4a64a9629644a37e01ef049d960e0d6653",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "d7545a4d17d7cac36d4bc84c7fe979a57d396e6a10a32efd329dc5da7baa9def",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "e6e3f3655ab3f1943ea5fa74979ae850651a159d461ac8767d25b487ae486006",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "e54af0b926167c3c2353cd18c3f88747866eb30899d3add489468c822e1ed77e",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "088e9c7ddc36cf947a7aca86da7eb30e85c04dbb0638a503ba4d2f35204ccaaa",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "0ca0c48625e025e418cb2df1b31751a8fb906ceb30291f11f5e2ca0fafe1dbfd",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "6524124b2a5c496f4ce707abbeaab58466c00206d90bd23fbf07a963908fbffe",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 47,
      "type": "markdown",
      "sha256": "d369160a526c6c1b15cf2f20939b651d3aed86719e9e3f7a867198370c0cd182",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "174435af2a4829d3a40c5bd88c77960529af30ef64bc11a8a4db42aa308ab6d8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "e58013d4384cc1ee0af0be60ab3370e7e0a676567dce1c7896e8685beb5c1fb7",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ec177dc6c1c4e12cb881c4abe3214d74a6834d5642fed6ef6973abd0443eb5e6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "e6c2beebcf05e6b31aba749cb15a010e8455f9ef225a88c4cbf558f80363ff31",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "58ffe4c0f0da61fa926d8ae64e361ef34bd976824cb16347a67604c91e54f5d7",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "88280a707b4f729e22b0094b6f384551f47d45dfc3413c7aa08ec4b6b2cc326b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "5ef9fd76debca47edff1c176ce6c1242e0bd59726c26683ee54adbd974d4926c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "19874f4f88770a5323672aba609d7e391e53bbd660bc0d8dcfbebf31da629acf",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "9f33380fe5be67e9f3fe2fdf878327606c08862beb41e86ccd13696bcd947ef9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "2803aca3271af342c0ab78bbf2da317003280bff51b119fd4964431e966774d7",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "12fa80a2a3218758d524ee7605c6ff9709064605e0e1f5b7b8722df3dff633b0",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "ab2488c67bf8c41e36e4ea23f8af4569db8dc03c9769aaad1c6d2c943ba71344",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "f226b9ab853718bab4ea82fa83e919e17685645683297255faf58f0950c3b53c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "f6988bd547f680fed8eb0ef5549d2b59186b68a9c7d22a84d35ae21e7d81fb16",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "e54b7318856c8467453d909d8bf02bca54c6e6869f3edea24667d93b0444f18c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "3e3030868370a6eab9a9dd2250b4824b9d52e99c3ee896b4a62d95caafc88665",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "089d6b9ce3e7bf5e4be34155a212f95d45f8b19b6636695f76144dd3990215ae",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "cb6eaf356dd432fd0caaebc525cc12475c2a8a220c2667ac4e12da936933460c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "0fcfc1f41e96f113571dacd777722acc7f2c6298f8a9295a15edb138958c3168",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "2e2336a17c8966d7f2cb54c9bcdd736a7eff7328c3a6207b17f663b6e0f5b98b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "662456728b005a04f352868fe3250c398f65bf49d174bef3f0975e186a6c7149",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "e1b4f4123f1bbc191bf882ce85328ab166a2512a61060334526920bd89a55fe8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "3cdc260c48675b95750a4a903e0f987e068b19da9ba16d6eb7e1406b041b0084",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "ba155ccc8b3f971765ac45b5fab1882e37b83b794653579b2a5d2db56563ca39",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "869f44a37e6a3d3af9f4c7591774f62232909eb550a5ae9558d53f4f04da484c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "2d14838a55fd0c75bbb14a839d1e7b3b4a3f16a1ddb41a097afbb4cd0806a6e0",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "b4dff78eb0374638ae5c637728f0ade0270d401d27bf4739cfbc82ea89b07360",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "e25b2b1384682c459472905abc91505270cb5c659c007b10574b25cb3329d615",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "dd09a2ca050dfad3ea05630285dd3a7df93f5c2cde12acfeba3998af03d7ff9b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "bb38d6587bc0ec81d36ff8c8a457866651560056fcb1a9434cebedb707afd7a9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "f34a6da61e6725376a11602b4e681bf50ea34b2c59312f454d73aebd9d4a0fc1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ec177dc6c1c4e12cb881c4abe3214d74a6834d5642fed6ef6973abd0443eb5e6",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "e6c2beebcf05e6b31aba749cb15a010e8455f9ef225a88c4cbf558f80363ff31",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "58ffe4c0f0da61fa926d8ae64e361ef34bd976824cb16347a67604c91e54f5d7",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "88280a707b4f729e22b0094b6f384551f47d45dfc3413c7aa08ec4b6b2cc326b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "5ef9fd76debca47edff1c176ce6c1242e0bd59726c26683ee54adbd974d4926c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "19874f4f88770a5323672aba609d7e391e53bbd660bc0d8dcfbebf31da629acf",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "9f33380fe5be67e9f3fe2fdf878327606c08862beb41e86ccd13696bcd947ef9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "c1f423723cd87dcb54f76b264dc984e107f9177eff0ed0104ed692a3b7d1b700",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "54b8e25fabd561dc92f880a9de6224b47dcb11f7025713d892470a84f20f0a0f",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "917accbe30429b2af1090c4b9029139d4f6d1dccc1165bfb2f5bd2db1731a94c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "ff681a157bd0472bc0f07437b4c6de3149b86e8d4b512548af4bca679fa1db9a",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "f6988bd547f680fed8eb0ef5549d2b59186b68a9c7d22a84d35ae21e7d81fb16",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "e54b7318856c8467453d909d8bf02bca54c6e6869f3edea24667d93b0444f18c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "3e3030868370a6eab9a9dd2250b4824b9d52e99c3ee896b4a62d95caafc88665",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "089d6b9ce3e7bf5e4be34155a212f95d45f8b19b6636695f76144dd3990215ae",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "cb6eaf356dd432fd0caaebc525cc12475c2a8a220c2667ac4e12da936933460c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "0fcfc1f41e96f113571dacd777722acc7f2c6298f8a9295a15edb138958c3168",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "2e2336a17c8966d7f2cb54c9bcdd736a7eff7328c3a6207b17f663b6e0f5b98b",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "662456728b005a04f352868fe3250c398f65bf49d174bef3f0975e186a6c7149",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "e1b4f4123f1bbc191bf882ce85328ab166a2512a61060334526920bd89a55fe8",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "3cdc260c48675b95750a4a903e0f987e068b19da9ba16d6eb7e1406b041b0084",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "ba155ccc8b3f971765ac45b5fab1882e37b83b794653579b2a5d2db56563ca39",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "869f44a37e6a3d3af9f4c7591774f62232909eb550a5ae9558d53f4f04da484c",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "2d14838a55fd0c75bbb14a839d1e7b3b4a3f16a1ddb41a097afbb4cd0806a6e0",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "b4dff78eb0374638ae5c637728f0ade0270d401d27bf4739cfbc82ea89b07360",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "e25b2b1384682c459472905abc91505270cb5c659c007b10574b25cb3329d615",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "f7d5a1bfd9d089c87eada68514a5b84728a9162ac71cc25fb2bb024b768987ca",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "bb38d6587bc0ec81d36ff8c8a457866651560056fcb1a9434cebedb707afd7a9",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "f34a6da61e6725376a11602b4e681bf50ea34b2c59312f454d73aebd9d4a0fc1",
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "c69f51ab523fad9c8a2e9436ccd91c1243947ac55de4bd85398b893b2dce75a5",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "efa2c566a6ad73ed931c8396f492d880c92f4e4fab2f5dd5d08f46fe91f2b0cb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "ead57b47adfea2579ee57a33c26eea68307990211b59b7fdf29b46fbbe585004",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "e903740a4f565f1aca398f69b6481554359f9271245418a6b2f72f4ba19f10a4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "62465d2fc42c3b3288e2609a59b857c1f4b3c9c3199f7614dbc18c95759ff4fd",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "08f71d08dd2d4e8d4129237e9857adcc322a9ac8e10237f8c72cf49ec90ea98a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "c25b5fb9dfb52a4a103da55f448293d2d1721c7ab61fac5c412f524385cd6a94",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "c2e248ff0c588dbe59a505ee1f50584fc96f10be0bd8d0ef7d41f2eca54b0c2e",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "83fecc22a7daf8eace076acb54e163491c09717662fe1ea5a484785fecde0f5e",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "68ae7f455cf9718edb5b98548666408f5b0ebdf77cfaf740bef145a3d5197ee5",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "582b6bdcd3b69518bb8824068572567f99c64f15b58cdd3be6996bb28bdeea56",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "4bc96250fe20c23d25f45e27eaf1e66a1bb5e29b8e2efa8b88c434ae23597b43",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "03d40b0d2a85822ecbd87c7aa0f76bb2e573d689437a6614a284b1656b57a90b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "e4280cbacfca451b9ca2e5fa7889979a5be5763e36f56554a36e054990fa44aa",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "dc92340889110a555ee7cdba6eaf4bf7022edf6b37374e018230c7fe65f9d616",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "6371ba7f666540be098eb8ef2219174e808bd5642f8d592b928578ac3c0784f3",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "81bc8e621a03091f037d57b169cc9b7ef84c256d3ae7ca0af468ce8221d67a9c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "ed90eb8c386a9ef148dce920ddb325c0b78e043a7472c446aae154ed82eeb129",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "9613a37cc34fde6fef1c3902462be1e29361d8d002042619254cdd7b343073f4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "30a7fad1bc43afcaf07255dc561a6d60f7b944004a8b064cf9d4a13c9f381efd",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "7d1fe9e19968c33481cf51e5ec5a910fcdbd573f77352eaa3c396a1b7fbe1a04",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "0e50048b397072d6765820d1e3891029d09663f17dac1714d71ae86b6436ef7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "29f145ce21b32bac457c35aa99fbacd50d96adc223eb504dd41993fc87788bbf",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "c69f51ab523fad9c8a2e9436ccd91c1243947ac55de4bd85398b893b2dce75a5",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "efa2c566a6ad73ed931c8396f492d880c92f4e4fab2f5dd5d08f46fe91f2b0cb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "ead57b47adfea2579ee57a33c26eea68307990211b59b7fdf29b46fbbe585004",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "e903740a4f565f1aca398f69b6481554359f9271245418a6b2f72f4ba19f10a4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "62465d2fc42c3b3288e2609a59b857c1f4b3c9c3199f7614dbc18c95759ff4fd",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "17a8e27b6298367727dc72909911f4ae64b23f710e920714ea7c42a0573d39c4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "08f71d08dd2d4e8d4129237e9857adcc322a9ac8e10237f8c72cf49ec90ea98a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "9425162dfccdf3ccd80f9bac0ee2df30efd4bad568fc25ffb6e1408de81a8e6a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "c25b5fb9dfb52a4a103da55f448293d2d1721c7ab61fac5c412f524385cd6a94",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "08cb2068629b16b4b11f88a80e9a4ae4b440369e5bca5dbb299f35ec37548e4f",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "3c1dc6822451229a9b3edb5357f3d9ffa53d4bf9d967d60f10d84790a6db0714",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "c6b74c6f012ccf868ec947b44f359b5fedfa8d4a38f178db8f44c444d5787930",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "bcb885c3b6303d02cc4970eed7aa02e2ecf0035f4d5fa189487a24c32dd18b9f",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "4bc96250fe20c23d25f45e27eaf1e66a1bb5e29b8e2efa8b88c434ae23597b43",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "03d40b0d2a85822ecbd87c7aa0f76bb2e573d689437a6614a284b1656b57a90b",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "9372c470eeadd5ecd9c3c74c2b3cb633f8e2f2fad799250a0f70d652b6b825e4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "5731f7f8bef319ffa916e381feb5103607c3e2c6a363b0b2e14987ad5ab3478e",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "3088c5cb0eefd57714645d8b909be88796165992b66d1e25a4efb7b465ca9490",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "f6f947c993a123bb86672edece396016737ac33df1e23ba699eb3b8c236934e8",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "2da1784bfd32da535adeb6bfed8a19f1ac582d06b035eabab6c4626f0caf7200",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "50ee56c0fa6f576d204a40359bc68e9570320a0b9bbb020562f86e7d87499bdb",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "e4280cbacfca451b9ca2e5fa7889979a5be5763e36f56554a36e054990fa44aa",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "dc92340889110a555ee7cdba6eaf4bf7022edf6b37374e018230c7fe65f9d616",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "1537d6034049381e763ddd85a94618d5fbd0248d97971813e1212e905a63c6b0",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "81bc8e621a03091f037d57b169cc9b7ef84c256d3ae7ca0af468ce8221d67a9c",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "ed90eb8c386a9ef148dce920ddb325c0b78e043a7472c446aae154ed82eeb129",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "9613a37cc34fde6fef1c3902462be1e29361d8d002042619254cdd7b343073f4",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "5dba10c3a0b49280b3c7a442d32c6bf5024b643aeabc1a42e079250f34483232",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 34,
      "type": "code",
      "sha256": "7d1fe9e19968c33481cf51e5ec5a910fcdbd573f77352eaa3c396a1b7fbe1a04",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "0e50048b397072d6765820d1e3891029d09663f17dac1714d71ae86b6436ef7a",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "ebada979474e121c20a2d541fe36ee00a1fb0cc162ac8298321f01fad4fcb653",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "29f145ce21b32bac457c35aa99fbacd50d96adc223eb504dd41993fc87788bbf",
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "76d8b03b58d2ef959493df226913fd3b9648c9a3dc2237772fcec77a1fa568e4",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "731ad649fbedff3a06772d7390801675039a59cbf2f602fbb6a1a33bf0c706f8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "c71d19b43f6505798205c410dcdba862f29fcee4dcfa47fcec55894241f7a854",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "17d07b24adb16df4ebe1bbde7826ac2a89b2ce79a6702f37ad70d7150a8321e3",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "5cc0ea2669525296d1bf4fc012dbc3713ff0fa1692ea04e80e2895f4627bc8ce",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "cea9e288d51b9c7cbd83b57a59636663a7b4dfbb52a2a32a9980950516aef226",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "5e210d8cbdcca8158a50b1d29ce940ea96e0a37a06f35f241bc6a0d069b7828c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.4"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "f45581834f8e467c73b0e14d4af98468e2429ffa7cbd06beea18c2200c879cd6",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "75a3f9b8bc7c44af0a87400deea5c2c0cc2ffac41e12f0017eeb62f99ec72fd8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "3ac47f7bf2392e566c546557e17f963b7961ce9d7119d857164956fd4073f090",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "f64cda9e0a249d7a70dc63a91e954dfff64c31df5e923961a2d1ffa63f82437f",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "9a36bf0c93a54d6fcf250d09a730b9519e2fb295d4d1fdd0d8b3972e561da989",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "d4f30024576a8c438030fd67488f3e7b861dd40299d452b7d0cecb3db7b325b7",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "e1e02b620be80e87d758053db7a004fb8b0ef87efd6c466c42e4e7f077638486",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "1ad04c50a7627655815ec663120fcffc234b5c0c48395e0425132a710c9a9188",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "8f5816f4ce840db0ed7c0846fcac22a682aa79270c421982e87063d8a998c5ac",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "39d3028b5b05ece94acdded51490267f70ce0f4157338dac6e92cf8926d58871",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "7997433f3d761e04a539eb4287b171436f5a920b403d93e36c20e687af2a6a2e",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "9f40aefdfdedfd3e97cd9e91cc3cff5079370d61c3cb0fcf8c0092041cef2ea1",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "a3e1618dadbb53b91f744224f5626094c3754c8c2b3693e485254a1bd462c675",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "db6a515515dabe52ce763ed0ad2dfd679243da3cddf8d9e3878473524af92bba",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "475341a2bb7be0474950d49a150afa5afd032f7750552de96d58a66863fbb9f9",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "536cec00bdf5c583e969963ea0ae17b852b88aa36878b02ae0b6449627157a84",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "5706569644d6df9f75ecd97db55412366ac656b8fe389e2ea907e792c9dd5cd1",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "c524667abb171d82ffab85adf2185f0cd1b0fc579fa1a0f7573b8c7f56ce7ba6",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "731ad649fbedff3a06772d7390801675039a59cbf2f602fbb6a1a33bf0c706f8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "c71d19b43f6505798205c410dcdba862f29fcee4dcfa47fcec55894241f7a854",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "4e4413e023c628f271363728ff0689ca4c04f15220dc907401512439afa92a7a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "17d07b24adb16df4ebe1bbde7826ac2a89b2ce79a6702f37ad70d7150a8321e3",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "5cc0ea2669525296d1bf4fc012dbc3713ff0fa1692ea04e80e2895f4627bc8ce",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "cea9e288d51b9c7cbd83b57a59636663a7b4dfbb52a2a32a9980950516aef226",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "f121319199ea594a02b5810111edaa7218913ebe29ce78acdc505a276aae86b2",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "afa13ab4f50dc21cb7cfd0f5bbc7c15ee0fc1cf6c17ec5804471db0b7f8b09ad",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.4"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "f45581834f8e467c73b0e14d4af98468e2429ffa7cbd06beea18c2200c879cd6",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "c5f4ddfad74f5f184fecaf006456c703d97a47e5b9bd18a791b3e0bc0b8404da",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "393b91565ecfca065fddfa7f467f5950fed0098e0503996cee19ef769f18630d",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "821faa36593e433b7d73f5bdfbbe2a4439a4d63ddb0818d8a7e8a9d4376eacbd",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "ee493ac56ceafcd3e707ccd03851b14dbc8ace32c202c8ce0660ac9c10e5411b",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "9a36bf0c93a54d6fcf250d09a730b9519e2fb295d4d1fdd0d8b3972e561da989",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "d4f30024576a8c438030fd67488f3e7b861dd40299d452b7d0cecb3db7b325b7",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "4e73738ce8bcd989434d99682ab87fd38e91f691ceaa4ce4fccaabfdd5227fd6",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "e1e02b620be80e87d758053db7a004fb8b0ef87efd6c466c42e4e7f077638486",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "8f5816f4ce840db0ed7c0846fcac22a682aa79270c421982e87063d8a998c5ac",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "39d3028b5b05ece94acdded51490267f70ce0f4157338dac6e92cf8926d58871",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "7997433f3d761e04a539eb4287b171436f5a920b403d93e36c20e687af2a6a2e",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "7fdb173548613774b3c5a0959ba826d3f942788a219f1ee178903ec9501e574d",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "9f40aefdfdedfd3e97cd9e91cc3cff5079370d61c3cb0fcf8c0092041cef2ea1",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "a3e1618dadbb53b91f744224f5626094c3754c8c2b3693e485254a1bd462c675",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "db6a515515dabe52ce763ed0ad2dfd679243da3cddf8d9e3878473524af92bba",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "f302b927265579cb44771a6dc1bf2f4fc996edc59a3aede9b44b78b805aa8eff",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "475341a2bb7be0474950d49a150afa5afd032f7750552de96d58a66863fbb9f9",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "cad45222310bffef56bd8414423c5d48198301fef6fa0cd7fc625ddafd33cf98",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ],
      "treatment": "functional_definitions"
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "5706569644d6df9f75ecd97db55412366ac656b8fe389e2ea907e792c9dd5cd1",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "41b7a4ae38f522725824876176c56484cb00ee7f0b22cee45036e414a9295c42",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "87f99f9ccfbb09f95534d67f75cee61a2c8164f9ca5717f709a7343059faa8b8",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "e7f3cbe926f711ccb866a9c71c80d9c503e0b723a27dd7797e4e1ca0abcafa9a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "39d3028b5b05ece94acdded51490267f70ce0f4157338dac6e92cf8926d58871",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "cde91e67dbb2a0fb3499d197c837cbe38a09d6104001671d97473d44d149cedd",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "f50747899fbd8ef93f021dd75051aa33c859578997c7575047f829cbef744f66",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "b9c6dc255a963a36b190b768a5704582ee2fe76ea728bbadb6f149fb44af0472",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4-e2b-transformers-ref.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "a0eee1777e1ed36ac22a1ff9c9462daa2ce76c4d85ae5ac3f2b374cae35fe9b3",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "context_or_original_image_not_reproduced"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ca8a4d63023e21884db29f9e19ae4304c4d8928fcf9d71b227bce9dece42e2b4",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "cf9722b05d548f7dc6be98454141c7fb169312debe4aaa3fa03ac5feeeef9c94",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "narrative_context"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "e7f3cbe926f711ccb866a9c71c80d9c503e0b723a27dd7797e4e1ca0abcafa9a",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "39d3028b5b05ece94acdded51490267f70ce0f4157338dac6e92cf8926d58871",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "static_external_path_boundary"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "569a538ccc4edbeb9ea7f83f6d306a0b646c58cef5cf5950cb12041749b2ef14",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "b9c6dc255a963a36b190b768a5704582ee2fe76ea728bbadb6f149fb44af0472",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4-e4b-transformers-ref.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "a0eee1777e1ed36ac22a1ff9c9462daa2ce76c4d85ae5ac3f2b374cae35fe9b3",
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ],
      "treatment": "configuration_invocation_or_inspection"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 0,
      "type": "code",
      "sha256": "7e690fbc9747916171390447487af2599107d277c49304167fbb88d492b31433",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "9aaf1a3161036efcb9fd0a7275191d532a169cc5c56d2784b6ad4c51b262fd7f",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "c1df8993d872826630b5e2840f621d6178d8d49e7b378df258bc22ecb4a41c9d",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "399741cedc6d9cfe5590b7f3209942992f8c10425068e3ea2a93490b856f5440",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "a43ca93c89dae417aea10206c627ac54d8b874feba522be47c1762608e18a8e0",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "1f5fb253f1f7ffcae66d82906c65fd26a266b1e41b63f6a52fa288d6f8a574b1",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "53de6e8f3f7c684df6e2e4e63187d2d6b8209194479a2a24645a066ef95d4385",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_code"
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "d737c69108587a59ed3d09378bf0ce8fea8a81fba0e8e538de4cf0ded66b3e19",
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ],
      "treatment": "explained_public_context"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "d4ea5199c75adf2fafe9d75da29de4408383c5e9cc98980b5a4a12a6ed6994b3",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "47046a5b3a338aea038b19d300ba8e60d78cc2e9ec685ec0db5407f35a6b09e0",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "fd0ca6703df3a81a3317d299aa399178075f9ab95651949856380f627d5d284b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "273f0a71b9a578530f82d442e75a1d6c3eb6ae92cfae60a86752dad9262f2ee9",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "dcca7017374838175e9f50566b77ae922139ce8fcebf5ab4f27e158cc90d2c01",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "43d0026fd8bac364b53c1cf16abcb36573bf84aff5d8bac942adf53e4709299f",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "2fd099e636945c4fbf98d7b67424c3256cd41c685497dd824834e14223e8bf2f",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "08e8a4426eb59b79bd4d74efe99caeb731e5c60ae1acaebc2d0a0c4a440c2ff0",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "e85c8178a9570bfe39f3c1198a5653794d280647f291e513e5cb7b3c9b35de44",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "941a3f272a3d26025261a4d819ff73f58fb998c34201711a484a8b5f2f334e94",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "f651cff5ee7d9a9dfd186b59f4db075c36a9e2611d6001a0f71307706644f2e1",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "171209da05124fc24b0bf73fb9ccf977fa1ec892fb8e1f1562f10205703fb522",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "e922d08f80389f4cf7cc2237d05ee58d595c4c4f84626ed37586ba13e970af9b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "6b9fa9d6d78ccce37da79896a488a5d19f15d1133d10977d019baae6e5197541",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "d0bc632b16d54176b06d111ba0a1f820bf19ea0f1913e0dc45efb86088e8f7ff",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "c938f3583628f78e1896a106aa4c5d8e14069ea18d983c832c844552ad72ff9f",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "43a7bcb7c9e3cc5e6e7562b456cbebc5cece37eca0ae55ad436bbc31beafac5c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "0fadf14e925908e46208fc45f440b80b3dd10d28cdf238da23e63fdbdd2cdc38",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "14ace5844c597dc89afcf1a1dadb7cf450274876933af6ef6a22ee819a8ead4e",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "dc348448f14801c1ff8fc352e05b182b0246dceeebb1a719f5e2d7aa7376cbb7",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "4e062612852634458a904b051477d7932405b615f1f4059b6897981d98f376ef",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "3b0312304e07a34664cfbbae10a301f04c002c0c1fab0fcba342689216e9b91c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "94c98a48cfde474d7f29bf6dabaed423c3e2e89108a8b9d162ce9262578674da",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "cbb91314b9bf7995f68d9833916e9d7b91a97de9e943c6b858fc8d5fc82c384a",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "e5a3cc6f536ad68318e27b494f2308ede7d99eb8ec05dafe28c0f20a23ab6ec2",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "11b4cad23106d53f7d0bbb820a9c4c46939353afd7925ff8945f01184c2f956e",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "7642712e10a7a0b6c4986eb75593781da6dc3dd2c803753ef33e1c63ed08d035",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "efe6eee4d7c91a1fd4d2687ee9ec24fa2d9d65b3e8c78dd18ea2625d17a3cdb7",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "12aaa82385574efa622cb9d3869f037de8e176bfed20c4613d1d57b5a761515b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "e64b3cd36d9ed023be3d05e1a68a0d733a68ec1952a5d5d9e9e5a82fd38f4c18",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "986edd1ae97eed6a947c61c286529fccc68007b4b6bc7b5cfbe916ccfc5d8356",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "adbd3a8a26eceb91b6aadae497b7999475e406f5fbd510ff6d709774f821e48e",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "e620a4679059181190c6632291e0ad1d8eb56503ab08c955320a84a018c689a4",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "0603dd1de090b75c3df018f7fb28b5d5c394bdbe0a8d71b742c457257adb8f55",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "3898cffa39635c93d511b530e7e7a525cbdbf9858af830e7181a8cfdd91e4cf8",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "a9848b7b9142bbdba0dd5bde0e53c0426c78cd624efef8c532253a7b919653ff",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "ef08e29bf7d054649493192bb68250f9d881b1070295c319ce54b8c883ee7a33",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "11caf1fabe486474f2245313980504ec9fbfa1ba1d48175418981d3806794a2d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "c4f8c9793cb33a7c2fa6d63f9ee0f657644356748a2a9a3d261e835a91de6a72",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "40e8d8df6bb46b5eaf74bc6d418e1b57efb349708d511b171332ada7458fdc55",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "315eb54f0f63c7082f0de013e9fbd55822f8d7c148e65d8924914f82ae526065",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "d984ee5460b8687a455c37bbbc0500b67d751d1862421f997ac1490d51974b63",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "b0c13d940ebbb63945c3c51bf1d4dc0a14cb20a0a2cc795b253bdfbafa8973df",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 44,
      "type": "code",
      "sha256": "d2e22eb0c69533058ff4a06f86a4b8e412bd303c7de982b82b310d1c1d497915",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "8073a1e2183dd4f111f402a071bfe445dfda01445e203bcc4e34af80837aa908",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 46,
      "type": "code",
      "sha256": "31249bc6132350681e08be6ce058b771740b38e05aab31d47e77a9394769b2a5",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 47,
      "type": "markdown",
      "sha256": "4104ad7563ed51043dd0f1f6e3e006fe2d721ab214bb92c4b7178475bbec4c50",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 48,
      "type": "code",
      "sha256": "6273011135d6df5613df45be73e6b53ee7e29f31c0df0ba9803ad8b6b60bf476",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "0622a4c8948c47c2a3d09a78ba1bb47817a957dfcf1295d6b3627ddc45f8133d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "5e3a1b84f9dea8cda1b6d15ba90c58b5f84efdf608b088a0533e70ba578d9f91",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "4fe9536f439144c888823cfff75d60a42b787fc588115fbab8b109f643baf6af",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "5bed77c59b85cc7f764911f0c09aae4cd82b97c5f7c324d1f3ee87c087c9fc1e",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "f318434a30635da4c8c84e4aad534faafc46e45008ebae545d927b277c3e755e",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "8832704bb6c33f1457285075520e4bc28bb90a93e7f5b111f646ddfff88e19f5",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 55,
      "type": "code",
      "sha256": "9af6dbf9da71f92f363da0ef15f6e68cb3dd4d067297174cb3fef9b0adfe0e71",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "aba3cc41ce47211c7730cddec390f96f81740e1a554c81777e7fd9976d2042bf",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 57,
      "type": "code",
      "sha256": "5af8b8c6ae3d4ebea5e932ed1970a1858dac97d1c2215ce6dcf96d6fc17d295b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "cb545d12c9b6322ab480d2b5c61237e6d50c812b6df19ff002ed992770898fdd",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 59,
      "type": "markdown",
      "sha256": "3521b16c5f61fb4dced787adc9fccd2cdaa58eb32a3f89325c2af3b6077a991e",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 60,
      "type": "code",
      "sha256": "6b1ba013656b6060ee62f571129a647e3059238d1e44898864d77888e01eaa9e",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 61,
      "type": "markdown",
      "sha256": "68fc3f4266b18f2cbb456d13912fdc4904574902fbf7b40fddc738db3aab8502",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 62,
      "type": "code",
      "sha256": "842260c799dd9d99556c34e451ce6ca99694212a7c2d98659b5db19f95180ecb",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "102b6cfbc87087cc064beacd23f48b72804269567871dfdb1774ebd7c18d58da",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 64,
      "type": "code",
      "sha256": "029bc88db458eace63165b7a8854c3c1442bcff134e152ec28d7da6128b3a321",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 65,
      "type": "markdown",
      "sha256": "fc6b8c38b2855154ec3c007095affcd82adb4290a27f497337dd4ab21e40dca2",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 66,
      "type": "markdown",
      "sha256": "ef1af845e333523b083e973c09fa6646c395fba3475b85c581627e8819b8a7ec",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 67,
      "type": "markdown",
      "sha256": "d182c2ac7604eca21005a4a0024a91cb3428cd630ac2061a517f2e26a54bda5d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 68,
      "type": "code",
      "sha256": "f389553ab844cc39106f15c25387b3996b38d08cdb7474c46a1c4bdf4daab7d2",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "3389e4b389f56efb9aa9fd3ef2a55b1c1795f791b5313461da85f1757e5258db",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 70,
      "type": "markdown",
      "sha256": "416e09873d451f902c2fc8ac0fb12e9460280037b690aafd59943971c411cacd",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 71,
      "type": "markdown",
      "sha256": "34bf0888dee820ed5bc3ae17e888155f1aa336c25577aef6ade070d21148e089",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 72,
      "type": "markdown",
      "sha256": "9f193dd98183947bda5e964e14bcc0bfce5fe9292f775f11e59b4e0dfcae1a4a",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 73,
      "type": "markdown",
      "sha256": "13a71f52ebe0ce3c3f00059eb38ca023e798af3ae6472ecc38c6eea042167489",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 74,
      "type": "code",
      "sha256": "f389553ab844cc39106f15c25387b3996b38d08cdb7474c46a1c4bdf4daab7d2",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 75,
      "type": "markdown",
      "sha256": "c2da29d3e4cb9d7fbe29b786355c08219961b2b77f5983ee9eee40da9a50749d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 76,
      "type": "code",
      "sha256": "fa122b33c5b30368fb02976566387abb22f3999b28877517f38d4cbe134fbc0b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 77,
      "type": "markdown",
      "sha256": "c966fb068a08868950b60a629b5b0984c8366490e975125855792b05d278dc1a",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 78,
      "type": "code",
      "sha256": "4a7a95731586fbecfce55c7e53007338387127902c60595e8251d090990fb9cf",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 79,
      "type": "markdown",
      "sha256": "52091ce3ed1ee34edc15809ebb1624b57c929322f9ea53b540d633a343803bee",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 80,
      "type": "code",
      "sha256": "103d0cde17ffbabad80db09cffa1ec987064733ea65ef50e47b2d2801d509d50",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 81,
      "type": "markdown",
      "sha256": "cf6ee88046c9fd55e7da288d3f2e2dd5bda66823ab5578283871f3e81e1a5b90",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 82,
      "type": "code",
      "sha256": "5cd6ea949dce2aec1fe23fbdc03a6fe24a6fa8461958ce8eaff8ed23266e83d7",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 83,
      "type": "markdown",
      "sha256": "d3572e2b18d99d8c2213d8ddca53ab8e3a3984f38730db3b2b4ba006a68a9bf7",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 84,
      "type": "markdown",
      "sha256": "04858514eb8f07148042cd8a273926e8ec5d9176bbc83b64ccfa82a037778e87",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 85,
      "type": "code",
      "sha256": "d7d3e7ad381022b57d253799aad1a1726d98193e09b6099ecbab2ddc234a04fd",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 86,
      "type": "markdown",
      "sha256": "3ef004698a1a15489041998ffbdbc0fdb264220eace1792ec0f056c7c7b10fbf",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 87,
      "type": "code",
      "sha256": "ac637ab2e6245c5fe45b9dcd09f14b09b36b6a977270acdc78b7fe5759b03ee0",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 88,
      "type": "markdown",
      "sha256": "ed3d60766ad900c37e4d611fcb6165e1a9ce1740c161edc2b6a42dc22f90d27c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 89,
      "type": "code",
      "sha256": "205a7b74efc6e35b8d6c14687ed085c0c279ca1c33f3eb38c86b250f247ea2a9",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 90,
      "type": "markdown",
      "sha256": "50aac7b69c2a81018edfe1713276fa267ced3ac134078bc5ce2c8439f97a0c09",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 91,
      "type": "markdown",
      "sha256": "f232019caef78e70ec6d15df8eefbed6da06bb6daf52ad1f90d154a40b93a25f",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 92,
      "type": "markdown",
      "sha256": "fdb72d519f1a2acf404bc33f7b831c4abb992e184c8147560a1db9fba04b1f6c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 93,
      "type": "markdown",
      "sha256": "c2f262b2745659732a370beaaa8b34db3c44423b648a2b6a5c55cd90873b9e2d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 94,
      "type": "code",
      "sha256": "340ea7a1e4f892503e8d7520fa085ed3ad1934c9f584cb6a5f131e65ade938b5",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 95,
      "type": "markdown",
      "sha256": "06efa94a0fb4ad8de959726699e8b22b2cd8baed27475b4a9bd46994fe33580b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 96,
      "type": "code",
      "sha256": "836910ab822a8e9d849c9849ba59045be632120781ac1a24996d9cdb4ee84724",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 97,
      "type": "markdown",
      "sha256": "49e6ae59385f462fcc61743d5ac943e65ecb467685b7f24c96b2d620be15e224",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 98,
      "type": "code",
      "sha256": "dacd4abb6d41c8ca8d1d9ec04221beb3c2f8abc7b3bc8e6a8b240b53f77ef378",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 99,
      "type": "markdown",
      "sha256": "8e23bc6469c9e2bfc350c027332157d363a0f3d80f514d1ee366cb254d7b6663",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 100,
      "type": "code",
      "sha256": "194df3ff76787698b7738d9156edf4c7bcb60a41eea6c2a5a39fab463fab8734",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 101,
      "type": "code",
      "sha256": "0d9483e3d9b09bbe638168485f4a4fadde5cdf2a04405b3c74e4e0370c91f0a8",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 102,
      "type": "markdown",
      "sha256": "3e1ef85707114c2706e857db4029c2fe416b58acb2b4680fe58bb3e4f62bab09",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 103,
      "type": "code",
      "sha256": "261a2dbff5abe42c46a570e2317acd42ab2e410d9411b955fc7ad22b91e61550",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 104,
      "type": "markdown",
      "sha256": "4d9175f81f3ebf802a1439b859f59ba70e19c647b485249328ee85d5b0a54808",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 105,
      "type": "code",
      "sha256": "b61ad446f911118d1295f80e626a708c37c3b7a922363790c638a844ffc1b7de",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 106,
      "type": "markdown",
      "sha256": "ddfe5008ea746f602a8ffdb7cb2c475b75d49fd5f7de62201770dfb649e11846",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 107,
      "type": "markdown",
      "sha256": "50fe08781434f741ba6be24af4ba2c326c1fafd634d6e945727ad97eca428caf",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 108,
      "type": "markdown",
      "sha256": "076c4fcb2e5c820602e4d757a9bd02d45fecb343e286714c01411c9ca65b0a99",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 109,
      "type": "markdown",
      "sha256": "e7c8191799c46abc47352f990205a2dd85ea2eca255272ff3f89a6e179604ea6",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 110,
      "type": "code",
      "sha256": "02c1b82b5bccce96ef302791c6e30f7b85095e75fa61563796c08a1d2e29aebe",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 111,
      "type": "markdown",
      "sha256": "9229354e224f9afb17ed50e82a8dc7446b6fe65c24e5fc5c2980d95b30df4893",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 112,
      "type": "code",
      "sha256": "7a6317e95583166b15b2fa6276afbabe04beff015f6a782939b2bb2378c2be58",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 113,
      "type": "code",
      "sha256": "ce9bc4aa6854a5a91207fa625c213a5d48e2a71fd60e4fdf97e531107b271e78",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 114,
      "type": "markdown",
      "sha256": "e2b3d553ebe9015302e81906d47c353c35eeb8c8fde081405ba4a0923bff3551",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 115,
      "type": "code",
      "sha256": "52b2480c71310c9d296b1123d3be83d6a2e368f8ec33676f7a5832545f1d35da",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 116,
      "type": "markdown",
      "sha256": "1387ca8a06ca84b87ea086b47f4a08fee4e4b1bda148cbd99d6b55e6a2726815",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 117,
      "type": "code",
      "sha256": "b42d947646b334284d094595a08e712ca3d8b43d6eb2c68a21db805fd3d15edf",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 118,
      "type": "markdown",
      "sha256": "174435af2a4829d3a40c5bd88c77960529af30ef64bc11a8a4db42aa308ab6d8",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 119,
      "type": "markdown",
      "sha256": "46a70f811c6981f94a65ca2df4b4c2236966dd0307597fa7ac6309391a6eab42",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "028a93af1df9689d69fe34ffce4575d9a8500ffe741882719d60103604aa5380",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "a3f012167f061bffab70152b7876baf334b82eee9bca88444c1ea3fe5f8606b7",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "d567925a130fb4365016c0ee758c4bea41b32a4b5596b6cdb5f864cb35ce3c4c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "3618659216df43c9d9b20d923d630b3a269b5dd3b87cb727cff4e64a9d53813d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "7e61d9234deaaa76fdd0c95a5eeb9709fea8b03573b0804610a131c17346029a",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "b212244aa83466b9d27485189a760824d5159a2d04963a8d0043999c93744427",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "93f41b41a12d843f9cc86ce5a423cdc6c0339cdca9284a64c16489834fec6e50",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "1d5549f3bbbdae78fc08432d371f1c0efa91eed96f86e1cc11f7522d20f6027b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "e16424b4ff98db5f03746ba8524bf8c20623da6db152b454734b8b222b6551fc",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "4cd29863bd761cce1b8ec87865a88a00530242c6b50d008011c8b7f97d3f111d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "95789d53e7fcf8fb88707ea1099c089ce902d2257cfae1ee3fc062de7ea9cdae",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "9cce4b232d2b00a9c2b0936146d1cd8dfafa3ad7f30bc2e3f9c5ec3385dd3cc6",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "d34c8e25dfa8efbe382179eb025dbbbbeb123a7690b90f95fa96ef2267ec2ddf",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "609840488cc6d97a74c193515401dfab8ecf3a4521725b79c4275c9d8c13a9c2",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "931e980449c5844be3a545976b9fe15fe60adddb36c49d0790bc50371fe7996b",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "1dc565f5727785a4ed50e94cb3e6b22b986682e77f6587c5440ecaf5367481a1",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "13c509444ca873a1ce2fc0105bfe65abdb53b08d2a9f79124bfea4a15fe3a4b8",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "797c868caabcefe7daa75f6e50af0a4151e5b3a8040c22674c5a6ef3fb3e1cc5",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "700b4a3452a5b973e68c4398af7d21a2a55fa5f08f5017b3fad78b99957c72eb",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "5547c68a626ff85ba4fb555f4f4825e7df9648b43b874d9c57c7004ac625cf40",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "337b0bc09577d8ddd580f0b93d28409e694966b0061528b1952baca9d9e9d345",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "40059ce16ab11edce4586081126a595c09ca7f90956db578ace1ee84c60ed84d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "1c1ad8ea7646e6b7e8d1319d65ed46035ca6560d943b31cfe5b54c0bab0a10b9",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "40a83eceaf351e191fd60b327a7ff7e38786a6b5ec1c6e019f69aac29d1da029",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "e5e94c80f8184e895988627e12ee28688c2734ac63d855d08430fac45977ff4d",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "1e77a16f26976d8e95e9e6a932fc003979c2b65539c9700be9742230b10dd288",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "893274590d0ae50e3be1e68cf6f7119b188316c8615cbafb009f790ceee8f8ad",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "e383b409cc2a30a1be4d24d5c319df21c6a86f8c8a97bcbf48c9112d2eb3a7c1",
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "916dd92b8585141b7d2d6444562dd91806aaa3dcf883d39bbe30c24f20812574",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "2cbba396aa800bc7d20067fb03c2b70de0f7fec660cdff33e0bada57f1f2d44b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 2,
      "type": "code",
      "sha256": "12686cd23e1ed55be25b5410ff28ecde04bba1a3a4a1b6a94f4e6758a5c2d4dd",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "954485d6a1d0fd04e311b9bc93eda35d93608eba3086ec5fc7639d51603364b9",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "5143c342c4e70875b7073b0b7fcb7355b75e982c064dd08f1876c71f0c542620",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "6f1df7c804176de92fadbe968ae42a1395204d83f60a2f71193faf454a5f0221",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "614f609665d647c3e101fa52596bb01ef17e88dc964324bb86d1571366e6e0f0",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "bf49404201845c43b3e33aa2d4c573ba4859953eb055682c97daf3c5735a828d",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "19ca22cb0879034b8583a577f2ca6a16db9eca96a7ef6604f0cbb570049996b7",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "f16150a8793c7030a0549db44d81ae1d51a25708e82f0d621a4a542baec643d8",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "890395306f3b2d6b97de12d574258d822d652eba55b0765f75f3128fda3f1f74",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "1fbb535f2f12ebcbf4e3ca2ec1c93f3f231acc8b3a97f87d8b06242c1cf6f42f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "db69436aadc0d85c035b609202488779fbb453330cad3d515152710b70457b18",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "2242fc3afb7e270a9266db56006deb449cdf1eeb29a00352e131c638b8dc6d32",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "723ad968aed70e56a4a45d6091f8d487f5517aaa67cd73dcc5133ff51c2c55df",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "c8f9d4d1e810a0bed65146d597dfdfb5f2c62f876f82d384eb5cd660750dfded",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "8f7afbaab4b4195b129b9d3c3160bc387f020c7625c82233f254eaab048f3c42",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "2461b5621ede4f06739e5b69249b14d4ecc05f41f3d8c78172d48e5eadcc6136",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "fbf0c7b1a355185d2cab8bee9281d439dfd5f8472459e0e08dbea51bdf0fec29",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "6a98cc86e1de38cf1ba4d5a7d7e8a0a13df29028b55c9b10848d406a10e56569",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "839a1e858ba303118af429af73b68fc562dfc5676fb0f7279aa8479feb6dc93f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "840866d5bf886c507a53fec4d6f4ccf8edc2754e49cd631e985d8c588ef3d2fc",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "d4dd9317d731b1a038acf02cd50d3913bd6e1dfffe60f34c61e3ae67c352b91e",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "bc36f793e533f6d211b8c874765924cb6dab1d419eb124253a6ca2b7015c0f6f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "280b22635d1ad2f7af0c3998f8c0a74f78911750f08f5ef390334b8635b02bbe",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "0a259b41a4410b47363dd7db9bc85affeb44b252dc3e976d905122b99012400d",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "443f1a672d4140261d86996e58fa147b636db4b861f0d5f5803a35462d85ac68",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "0a40a96454028b131989ae85e72d51aeda24172c61962442e71fc5a8ee77fb96",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 28,
      "type": "markdown",
      "sha256": "c1f14201293a6ed37fceb4c9471e26b091895e80eeb8ab91b3999231c85bf1b1",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "3b924acf6be358407f01f746dbde2eaf6f54194840f25a702cbb9022f8abf1a9",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "724d7a37b5c29e8d457ec5fbd9daee452008ff695a9074813c96a42e9f718081",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "8f1d2390b32ff489c1c6eeaa02adf4bdec4b7641b1630a6ead161e4b994c2348",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 32,
      "type": "code",
      "sha256": "720ef81332e3b13df63994b0e54a603f6c83201defcd2f986dddea2ecb7dd7aa",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "d83defcc199177b05f17db12a06f7d69212e0480fe327b002c516e89df0cdefb",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "45b981e29fca2718137ee9b10828b2d99df0ab980faca005d1b87ef0dcb3517e",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "4bbe7533804a0e9b0e2e495fb8f76c3a1591d5f0c793ede0815cbd4c46b29b2d",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 36,
      "type": "code",
      "sha256": "7dfaac4030fd35a80af21524e3a963eda86e03c2894f6f7a29e411651bb9a53f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "d5d4ee597eae1e68b86c2212e2e447da39fb79a67be2fde8f7fe93088e972224",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "2f3c06d66f939c5418e1ed61796d12a7d1053476c351c0698732465f1afa80c4",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "97776c19e05bb259949ce157409ff8011fde5f99b2bf47844089ca7a9dd94936",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 40,
      "type": "code",
      "sha256": "8f929fed53e7d820dfa54fdb0d00791e0902861ff4c77324864dfaaa9b61a68a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "c8df1c9e0ad8385e394c7ffb3d6ef85adbf4fed8042736ac3ffd284af011b213",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "0095cfd47f69af980f6750141d934ea738867df86518037ed4d2a53100eabfa1",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "86533df118a288e7b03840f3dae14438543250bff982b49305436706fb1f068f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "0cdbd9d79ad14cf48268677e7444daa14b96f6d5dfe6f6be19501767ebda279c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "dfd1d60d7f1343259878b1306b4e722a85b02df677b09be002fad61939b665ce",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 46,
      "type": "code",
      "sha256": "a556863d6f137f07df98b2eb736e223a81ed88ae3dc4ffdfd3491ee1b741eb40",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 47,
      "type": "markdown",
      "sha256": "afb4113d12c0d59e8933b9a93c061a592169bd740e8ae7cd8c6e31ab6eeaf127",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 48,
      "type": "code",
      "sha256": "99f417fc51aecc6aa1c463f855e6bff1dd223c0dc1c3ce5142d072dfd4fa9d6b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "5dd6364f1f15cb53fcb8719e571f6e89b30b8cda06bbee043e89d61af54f1b91",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 50,
      "type": "code",
      "sha256": "ccdba5c6d7b86560819de627798030c43c702466b3391b06caf4db238c81063a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 51,
      "type": "markdown",
      "sha256": "50c7650cccf2751634550c052f5f79e634d1ba119a3cd4f1eef91e37d82e7de6",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 52,
      "type": "code",
      "sha256": "3350710e0ffa68b8571e46338258df97db3054660ea3e767bb594d7197fac791",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 53,
      "type": "markdown",
      "sha256": "098da56d1b1bea569a190de7a1d6995748666d758ec0720fb6e35eb19ed9ab09",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "5de29f03ffb8dcc70851cc345acc340d57b513e4c71434ab41a5ef74415df7b3",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 55,
      "type": "markdown",
      "sha256": "c21c72ae60a6c534b3ac9efd97f4210398f4af259104d71831fc2c93a5105672",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "e220266de470c0491f6736514395ffcc621493df472a536a75d019925b758c8f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 57,
      "type": "markdown",
      "sha256": "10d2437bee9243ff09557736cde1e3c5305179e9cddfa8b9e8c2d45c682c61e7",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "e7dd312d8216cee726822b23ae92e36aa7f970ef5f912572467fd78af21fa135",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 59,
      "type": "markdown",
      "sha256": "d0f7ef24ea36cfb7ded7193b971361c1b1f8d1df5ae8d81f7e11b70226aef2c6",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 60,
      "type": "code",
      "sha256": "63ab67942a101bef356e3d97d605ee79cf776b9af07f2edcbcda36c548a59956",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 61,
      "type": "code",
      "sha256": "9f7af6a255e722b31b8a4c3ac1a9cfd456f187763878d4e729cba3daa9b5f31f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 62,
      "type": "markdown",
      "sha256": "ea0e86556d9047a5b25ddb1bf33cc37f85a4ee2896393da7e99e576265706411",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 63,
      "type": "code",
      "sha256": "f1533c4f28c0f4d17600f5a3d04b9971621ff3d71a4b75cddc3dfbf0b6c0488c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 64,
      "type": "code",
      "sha256": "1e9a1f59bec034bba295b535801935db57564deee0e5a890f7410f3a3360ec33",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 65,
      "type": "markdown",
      "sha256": "1bbaf1a236f378acc4ec519c14da56430efd6d22a6e85d8105c9db36a6cd30d6",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 66,
      "type": "code",
      "sha256": "c7e081b49d311a14fd6a669e9267e068628c96cab377dc93c0137cb71019296f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 67,
      "type": "markdown",
      "sha256": "9baa28a15ef9910ec028c64b679b8984b3a9a9c42ba1b1b83cd3beb2675752b2",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 68,
      "type": "code",
      "sha256": "24b3ae566eb44180d8ce0168acd2c07fefc162175626a6cc6dde5ce2e24cbd96",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "82bd4dd2187745ed38edc77fb43e2c2e5247da531500ab7a6dc7d7e7b57a9895",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 70,
      "type": "code",
      "sha256": "9180f8052c80facf2de1db1b48cd840c4cf559caba8a6d4d7ad2d3aef5c9b62c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 71,
      "type": "markdown",
      "sha256": "89436cb7751a5596ed71dad0a9cf1ae0dbcf5b0bcbb185c3a75450b24d5adce6",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 72,
      "type": "markdown",
      "sha256": "50facec7d6b777de5b8f22fcff0f11fab052d006addd05ab0c3284aa5f57d292",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 73,
      "type": "markdown",
      "sha256": "f40a6c4263f8c0dc427137a7f6c07e1c4d39af0cedd3b9a43d511bfd5c71d399",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 74,
      "type": "markdown",
      "sha256": "9b7de78c021c022bba09968b9072e808ca1004beaa3a2e24d6eef09bb320c96a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 75,
      "type": "code",
      "sha256": "1662741f5d6036dd6f223d2c0d021bff01a0e1ed35689f44cca36be533810a6e",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 76,
      "type": "markdown",
      "sha256": "df698bcb19911fcc1f836549f30aa43d132d242b0790aac0e538eb2ef8d1e1ce",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 77,
      "type": "code",
      "sha256": "2a9dc311a3b53e681431b06a4ec0289469ca2df7f94706ee3ede33125b00d5b5",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 78,
      "type": "code",
      "sha256": "43321fc252316ab3ce34f6d051fc30847215d9f4cba9910a0bd88e14530b9904",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 79,
      "type": "markdown",
      "sha256": "829a14c3a1544ef24ce0bb9238fc9290b3adbfd3086fdfe1d61d03c2781a7626",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 80,
      "type": "code",
      "sha256": "51d05f3c4ffcee00a609b284978744ae82265eb328996e5af819aedeb28a90dd",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 81,
      "type": "markdown",
      "sha256": "8a57d42fb8c8f04f14ad80b5a6988dbec337d29096bd6cbedfa69475e97a3c0a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 82,
      "type": "markdown",
      "sha256": "746d8ffc35602c57d2f1f4102a31a6e268a545006fc629bfd0a542734fa892e9",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 83,
      "type": "markdown",
      "sha256": "55a2a60d93314617c09f7e176309694e2a806ad8c7cef2d0e64075f8e7d88b94",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 84,
      "type": "code",
      "sha256": "98fcca214b582f52c6e5899c76d66e28310074ea6f828103871e468d0807284a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 85,
      "type": "markdown",
      "sha256": "724f2a2bbb8d86f3cd3234f5e88816790b2e439220e192b09451d2d314e545b2",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 86,
      "type": "code",
      "sha256": "61ee06435d6ffac77723241ea672cf7539c59b2866b9b11959653642700c4796",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 87,
      "type": "markdown",
      "sha256": "1af6a2056c8a3e3c3057c6607fc2b1c81e11e2a3fde34a93af93bf545e13e7d4",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 88,
      "type": "markdown",
      "sha256": "cedcae9563251a26b33bf38d9a7bf93aebab57ade0a17b44f9d3769789e84a5c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 89,
      "type": "code",
      "sha256": "675d800568261d66af1640dac9945026cd4a595d9a96a4f2fbff360c410aa374",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 90,
      "type": "markdown",
      "sha256": "82cc552a752ef01b1b8ee1ffed0be47196ca260d9792b687c6e1481060213be1",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 91,
      "type": "code",
      "sha256": "9f93cab0828e2a51c8f280fbe1fb298dc9b4706eef9c67a3a3aed1aae5c3ac8a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 92,
      "type": "markdown",
      "sha256": "1d796b7b397217db1d2699ba4deab51347d64aa12f2c5e25b862dbf2ff3663f9",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 93,
      "type": "markdown",
      "sha256": "3e27ff206ce11240137c748fe4a82e82b1dae34cace38d840808593c27348f28",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 94,
      "type": "markdown",
      "sha256": "504e06491b06807c84ab5e4d2eb3fdf3ad5263d9805a698709598e683d759aaf",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 95,
      "type": "markdown",
      "sha256": "65b3296361a5e3faa72db456571c02ff1658e667923f4e9c13b8a8dae2148667",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 96,
      "type": "code",
      "sha256": "f9b0e0b8271e65227882361babb6161acd16a954f66811cb624c789e467487ae",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 97,
      "type": "markdown",
      "sha256": "956539e95c039567c10374e96caffe2394d6bea4159b75170c02256df0cce16d",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 98,
      "type": "code",
      "sha256": "d460e59462bc3f6cb324c38e7fcd23cda391c4258ed553df07cde1cb944c962a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 99,
      "type": "markdown",
      "sha256": "cbc5a82962bcb8805a03169bb6803238c654e4cbf3e35e29928a78b3b42d7e90",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 100,
      "type": "code",
      "sha256": "fc6534715c9ac7c5404e28e006f37220bcadefe19fa8cada097a93bbd81541db",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 101,
      "type": "markdown",
      "sha256": "f72383c223b045e536c9906ca254eda865428cbdf3a0fb31a1cff66d907cd222",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 102,
      "type": "code",
      "sha256": "39ff3b59cf8eb4427daa39d424b45f7219587b21341c28a3b718bc4f6aa24419",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 103,
      "type": "markdown",
      "sha256": "ab752a5b4fc437b3c058c61a9342cd50413cf3491954a3e14673e8f94945fe03",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 104,
      "type": "markdown",
      "sha256": "55d2b827c4ae3d1c38b6baa4512fecbc74ef4fb9bed4e0b5efe226cdc539812c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 105,
      "type": "markdown",
      "sha256": "08b199701cfcde6180251424775179d83ef0aa5a16ce84654a4d781eee9606a9",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 106,
      "type": "markdown",
      "sha256": "90d76c503d5cfff992c4c08b01638616cd99cf7d3f20f4143eb4929e7136ae9f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 107,
      "type": "markdown",
      "sha256": "b34749e26d3a73c40aab419e06111bf82ec477374588034c8928c9745b655d85",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 108,
      "type": "markdown",
      "sha256": "875ddb2f9e577ff737e21b45e8472e572c6ed1b9eb52e3b93297e030d97c2a3f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 109,
      "type": "markdown",
      "sha256": "ff7eef1b7df50cf322fb97612ed12126ecbef4ee5d1f154012c9f4edf193239c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 110,
      "type": "markdown",
      "sha256": "322156661fc4d62b72680dfda57e99207f1f0fe7fc9e31acb840bb29216c5cc0",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 111,
      "type": "markdown",
      "sha256": "aa2973e91f462bdecfd80be6ccb4d37320ca8d8ce03db7b0b095b131b94ea9b2",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 112,
      "type": "code",
      "sha256": "6995df09d4d9cb12dca050a241bbb9c6706d6945af61ef8a7a1a2971ea5334d3",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 113,
      "type": "code",
      "sha256": "dfc574ece7deee6f7b22313820ce18e0ac3fdbd1dfe305e6f45583601a54cc4c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 114,
      "type": "markdown",
      "sha256": "402ff662176a343b6fc685c044aae2203e56bb8627932752b28baaea6b251c6f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 115,
      "type": "code",
      "sha256": "886736cef24af62b590e9e8e4a1ce29f52ec892c99eb042468f97e107873d429",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 116,
      "type": "markdown",
      "sha256": "75f33bb860c60679462254b799caaed3b9ef450177f2cd0427f33bdb67d374ce",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 117,
      "type": "markdown",
      "sha256": "7ba738fe89f85c8be2cc5118b85b112471f2e04de7bccfbc556fcfd065e1b38c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 118,
      "type": "code",
      "sha256": "8b2fe374cc54188e94b3717d4514710b4e0e51cb5194519641ff717eb7cbd27f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 119,
      "type": "markdown",
      "sha256": "8a4797ad4b731a57b5d2d323527c3d40dba1b0dbfbd1ac80ec130c86f125e7f8",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 120,
      "type": "markdown",
      "sha256": "1d774f5f7c26a29be2d744368f83310a7cf153c06b395a711409bb775c54c255",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 121,
      "type": "code",
      "sha256": "a687396a8e7ecba09fa92ca07a9ff59beaa6c99bd94c85fdd9692bf287935ebb",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 122,
      "type": "markdown",
      "sha256": "4af5f2b6d3957a3d1b106ba8c55f3e2162b702318101810ad302e58edfd33119",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 123,
      "type": "markdown",
      "sha256": "867147326e6de367145024a0abd79aa1b943bf539f6d3a81c44a766dc0641c30",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 124,
      "type": "markdown",
      "sha256": "0dd564a43af61d2a2b9733c500cbc4abc493d6b45ab10da5719b7ab4efb050dd",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 125,
      "type": "markdown",
      "sha256": "e9c85b7d671bd27c0ce64e7b05a8949950dccbc42da92b56525863807d6cef7f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 126,
      "type": "markdown",
      "sha256": "7bb19688775f74456d883b39c49a35771e45a829710defc7013aa8c40ac32e1e",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 127,
      "type": "markdown",
      "sha256": "6deadade42115999fb5e382ae18b421f02532c9e92ac717435ffaf6950ddffa2",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 128,
      "type": "markdown",
      "sha256": "649a6a2ae390e4dd91c484c0c28dc295c48eae462f34f3bafce9db2aa7101a0c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 129,
      "type": "markdown",
      "sha256": "7627e69d07abe4747dcf68c8986292c3a481bb4f56f9b14b7c9e4c99c9640584",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "bceceda6e0a41044870e2b816b16b837694bf18704317180d1dd986557b20f5e",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "4451eab2ddcc6498537d595eef492668ae7279de01e8e2e23b1a1ec917a1f71c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "214fc13eb868715537629b564b6d4dd264fb51772c0f87ab0ea4274e7b78c605",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "5bbbe3a97d8487165367eb3c3b1cf96668637216da67fefa6fcd169deeef6340",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "47d8921f4c13edfe22553088b5f82b85b1fcca2b89f0e4a55200dba5dbcb4fcf",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "a67ba357a509d3a4c1fd220927172b42998179202c5bebf4d9dadb439d79e366",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "c38e0c94622e4a92930d74de8edc9c8897d0431d9cd55b46012fdf036a0df6a4",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "b99117bf39ad8b4cf2cde278acdba488921723534332f8707cb1d952b61fa70e",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "b67fcd323cb0e7290c8bfa709fc43855831fc99d2f93fbf0ffb408c2d215164c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "ad1909c5128590d19010699b669f2b9f61d34ccfa6c75a4f077aafe1bce8dd4d",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "627d78ae463ae4868a8c22fe9b51da805296166f4fe4a74a627c03c8af07940a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "d44076b70402356587b288c058c3e6b6c8250c783ee270a84b05c4f7c9b0511b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "aa0d3b8ddac1cb6f1cf5873c1a5c861572cff3a0855501ec12a043c73d92bc1b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "c71ce85e4c37a183be45dd03d61feb28798855ce8c70c7ab85874396cd92e68a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "1f40e8c0cdc2b8e28524452e65525b242b5b23e08a5835a3c0ca59bb3587f3c4",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "387d7447b8d5c8f68185d1c6c7737e43e1970c0d92dc7b08dc0741844257cf7d",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "c58c62a6caa91d927080c3355ebd05976230d49fb78564290789f4a208f7662f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "d2aae55f62330e7dd9726f39bb7db0ee4a10fef28165ee7e1ffa56daa0290a18",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "931e980449c5844be3a545976b9fe15fe60adddb36c49d0790bc50371fe7996b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "b394a3409c07f83545125ac8906e4912bd8b3781b72603ff9684b8bd1a9eb120",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "61af9890514072a0c8116b3a53fc292169a991600c46a27f08bbb4dc0fef11f5",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "bab2c8808c6f8f554b99c27b64bfa4586674b946823064498e54048efe9f06f7",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "6eb573b8d6cd14ea8f01853e6951cbc8381b8ac6c4be7a94b44aa1f4ad3b3873",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "57e9134d8d8fcd14f145839851250e94818dc4b7a11c5eeffd5fcecc9520595a",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "c7e081b49d311a14fd6a669e9267e068628c96cab377dc93c0137cb71019296f",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 26,
      "type": "code",
      "sha256": "db787b2082d77c52aabf07a79a6d2bf56d2b23f4c3263242ce2a0bddb29f75dd",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 27,
      "type": "markdown",
      "sha256": "882873806fec158cbbc71db3d6a312d90a49eff1aee0a17826789a2f7b362349",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "ed877635e77e4ac4a25921a5c4d6e4e44a1f3b34cedcf9e306e9fa0c83d54aff",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "35f54eb5019a4a694b42129220acc63c2e9749d8199d07b43c54badd30ae7722",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 30,
      "type": "code",
      "sha256": "2e959cd36532b0faef3a2134958f589e54374d95807f6a3a0986db4bf32fa4c7",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "92817829e75e482f41bc86152955956916e7c3ba966e1a475a04dfa6b5be2290",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "62069592dab0fedbb34efe5607210fe4b44661fd7ae825028f9e400e7a0e0027",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 33,
      "type": "markdown",
      "sha256": "7bdd56613726cea7c6c309f8f3994e8e8404af8425fe50b8c2104e70afe86eb1",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "30df1ab83ffed885c9a15877666604fef4399a7fefe9b31e15b00c5fb5d49892",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 35,
      "type": "markdown",
      "sha256": "df70ad287ea4fcb3c8b8d8f3e0b084ccf9c2f38043cb72d197cd40862937bc5e",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "54d2d5bfdbc3c77c72fba5764db70f1dcf6af45077db6acec388a8d8b61a1e8b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 37,
      "type": "markdown",
      "sha256": "ad340a44d77e7628a68ddd3d96a0df4f82fd38d937a0d44d2350e79e9101f490",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "92a79ee9341fdf8c99c28370896af0462018cc1578ee3aa71601d35290550f65",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "ac9e68643250ce224a73921dd7c95c6579698638dd15b8cbc6ab526c1842c52b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "6e143691208ad12ad2968a52b84fd83531eff4a5b2430440f109e3bf928e34c4",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "c94a87a55ee055cfa80b0372d506fad94d06229476e0ae647289499a30a7a814",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "d653cf99de1a8b88a36cf1f7e73ad3a436f394804a9dcd3e764493a2b06078b1",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 43,
      "type": "markdown",
      "sha256": "ec39af99dda52f8ca1fd71b5befb3d30eea32c8cd08b9f2056f7546ef1caa17b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "014427137a4617eb238e781c24a835aa5d728e87a58adb20baa3047177b77557",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 45,
      "type": "markdown",
      "sha256": "10789aeff02e743cbf8e79f0829887e9fe052041888533171275c54aaeab1264",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "e16424b4ff98db5f03746ba8524bf8c20623da6db152b454734b8b222b6551fc",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "ca1654a3c1089d9eee97dc97ca76374166e3f54ebd14f3b8ba0c85d552784058",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "95789d53e7fcf8fb88707ea1099c089ce902d2257cfae1ee3fc062de7ea9cdae",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "bd862e28af0de590ff2640c70a322cc3d265778ce2893f80f42d187a1c3b6251",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "0bc446a79cc64937b44216f8eacd6cf1cca45c828778b231d685f083e84f5ddb",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 6,
      "type": "code",
      "sha256": "2557949d4f0acd47b86c6aab98154cd6cfa4ceab4d48e129cd1287dbffb536cd",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "931e980449c5844be3a545976b9fe15fe60adddb36c49d0790bc50371fe7996b",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "d297e52bd95427981e8a19db7dc5144b40560a63989c252ecf64720511ff74bb",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "524e1f655efbdd8098fabf02782c57205c54b73ed48df598067d6fb4900aae36",
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "339f977e9385fb349f6869e9185952f00150ad6ff4447ecd460fbbc39dd1af27",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "1fde629de1da97605e56e63e5c0ac4531a1500ab0c52cff2f0b0b0a2ba13354d",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "46a969a9c982f00509d6f20afacdcef747b7fd9b9a80b08b810a3c0ec4e13dcb",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "ba5242cd7a877e49b8ce8463a2b8590ea2e5ffae3e1c4cb71f4fc472c8754e8d",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "53bfc72be73271cfb1f9e893ce2907df0ec97206ff6f6d3f88a024e3eb69df1d",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "e2e29ea475bc0f8a0c3f3538e3da05dae4c5208eea529db5e9565dafb9c45d4b",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "52982f6bd490f955ac622591b27e6b9212d43ef7cabcfa7d63b84098a3aa3c04",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "d756623fe6aa6cded99ab5eb4c28969d6863154215c8ae7a9cc7e8893fc060c5",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "5e36378cff637a22d85f32a61a290ef75035b2d8ba8546116ec1bc08d00c5df9",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "898e48d40a5a6a2d8024c28b715724af00020b8d2e59bba9433a5cb0e71c7b58",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "b57dabb12d3ded1425eb26ac3f63d407d2a7a46ebe15c2bb79a17c907b292425",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "7b9d5306aef5408b30dba2c845e576a4f8919e71f5cf77948038d569964edc9f",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "23ce83c0f9bc6eb89274ac354b0afa2ec677e94a97ec79c0f9fdf684ff6e07bf",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "d8f1b16b9a05a63a6ec576d74cb42c6d99e4704973c3faacfda7f173e5f2a746",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "92a30020d5ce92e4aafb1ac25858d2a7f55709e1129fe9d9c24c8eac0f329056",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "50884cf9ea0cad9064176a913d25f4b54d095390f7a12dbf9a819a6cc2f7c883",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "0068b463c19daf1cf1f8f6f4113e2470c7404d2674bc2850771d81272fe1d67f",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "1747fc3db7abadc60c442370485e402b6f6ecf8a7376cf6f91a0833cab811b7f",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "a47754632064473f869c6f6542b1063aae6e8d46f44c5ae318380e7339c64f38",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "5b5a144d2aff075aa07784d9b6d4b098d3e168d5982d8d3fd72aa5b26516fdb5",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "7d114ddd3dbeb7dbfb974e6adf07228202a02ad9fc4616e42442cd51cfb365ba",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "7784f9c19c3bbe8ade34986381d615ea0838e847aadc840fe6882174aa370e29",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "5100c5b53efdd709eba0b92dfc8ba101fa9c4fe2e806d9c57c3ec80c2c2180f3",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "ecf5cd551f638ddbaa3582c5576e396ccbd246f38578aa7d6711059bb63ea0b3",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "24d7c2627f2182e4cbac1c0a5df816ccd0eb276f491ec144be2518e17f32213b",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "e1fc7e9c2764930d0348c04e5fd67716a1812e8100e1a8c955d33b47f03dc2fd",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "c45bdac86793d28f31f61ee695a33acbd42bc4f57728dbf0847f3a7e7fa6d377",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "a11f0aff609436d8ef757ed67d54d7e276e501580ef22c90deb947c275ef42e8",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "4caf93417ae3760dedbac5876015e7e3f7c7fbbada512caec5e8205b52534898",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "322156661fc4d62b72680dfda57e99207f1f0fe7fc9e31acb840bb29216c5cc0",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "d5747311915c8ff6e8c7f252e1796a85dbe69d8f66c31fcf57ba9d579ad8511c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "bb1550fce5f6f72fb3ae510c413280b65b517fac3558216ef9434bb4977dc723",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "5e36378cff637a22d85f32a61a290ef75035b2d8ba8546116ec1bc08d00c5df9",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "a48001cc25fc1a526a4a74a0cc7b2b9e89af0ecf3550d88469b853cc00abd316",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "175b3d28888172ab86eae3a41d85298a7ee020f11420752123fe4f25470eb7b0",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "0241ef7b01c77b406f3de2d57c70009db4c9353a9f5c706d679c19325a89a8ee",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "50ea5a03b8c29bdaf67e9beae8da581c9817965fe37f56e6c721eda3de7a0f6c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "4a768f7d8bf9d4f65ab684c4c93ee8dbfd28abc06be891f401b8df423d4335d8",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "a47754632064473f869c6f6542b1063aae6e8d46f44c5ae318380e7339c64f38",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "122a5fe759ac885453bf8ceee80f655223381e7c0f2a50d189bfd28d65d9a2a1",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "2fa60d91a3b44393b314826a8a246fc857cc89e9f380cd0f2dc3420c145db601",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "e9a750c5720cc1728fe8c74485d2830f3e51d6950b0e6d8ce4ced5c4d2049839",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "0e6ad5832fea9f3cee927e2607ba476bd641e93481c4877c3e5ef972a858910e",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "ccb8226a2c15fadee4e075a162f1d5fc1506afc2914ab7aad97c57aaef9f54f5",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "564fba6ccd84edb420825893118ee905dc205dc00c0ad3c675a9d0222a2f80ad",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "479fc9138dc1eeb8dd3a28161c66254b2fdd9dceb1e4eb98a71b14582a94a2c3",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "3706afdc91f9ceefa95acb49fe5c4b4b980b01f3038e522d2c3906dc8d918688",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "d98bfb70ed970be79264438f63ca87dc7858bbc315010a9170d8cbad18a95616",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "69329cc627a6180d557ae714f58a058a0d07778e9126fc01f6b1943a95d60723",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "72add7999573868c5a15a4b963905dd1a47a5b488b3f3e46f72c4bc38dfcd2ea",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "46a969a9c982f00509d6f20afacdcef747b7fd9b9a80b08b810a3c0ec4e13dcb",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "af59363af40cebcda5e4288acafe77df9d0c165d8d008213f9d83eaeb0123d04",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "a7071bd1b03c7444991b2332ba04a67cafbbe234978d76fb831b8439153c3ff4",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "a75d6f43c1b4e03791a6c0ea197f41e7298e276c41b78eee417456a1ce5e8539",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "52982f6bd490f955ac622591b27e6b9212d43ef7cabcfa7d63b84098a3aa3c04",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 8,
      "type": "code",
      "sha256": "97df835fbbb8fd6f658704eb4cd4b353381ffa05c9163f85fb732d2860ff2175",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "5e36378cff637a22d85f32a61a290ef75035b2d8ba8546116ec1bc08d00c5df9",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 10,
      "type": "code",
      "sha256": "90520a83412a7c2f79bb76f8a44ffe0a404166d5f3227323db5a90f01a3bc330",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "175b3d28888172ab86eae3a41d85298a7ee020f11420752123fe4f25470eb7b0",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "2e5478f63328b09e7d5755f815b6be351a2500afb3822a03cdee526837ea05bb",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 13,
      "type": "code",
      "sha256": "50ea5a03b8c29bdaf67e9beae8da581c9817965fe37f56e6c721eda3de7a0f6c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "4a768f7d8bf9d4f65ab684c4c93ee8dbfd28abc06be891f401b8df423d4335d8",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "a47754632064473f869c6f6542b1063aae6e8d46f44c5ae318380e7339c64f38",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 16,
      "type": "markdown",
      "sha256": "122a5fe759ac885453bf8ceee80f655223381e7c0f2a50d189bfd28d65d9a2a1",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "2fa60d91a3b44393b314826a8a246fc857cc89e9f380cd0f2dc3420c145db601",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "7e768028f71808c76c584933d8dc1c928c435e9c39651d321d3a7a2e9ba43c00",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "6a02082a3bf630d69a61b0abfe798e3c1e05ca87e4617599603eef963b82d802",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "ccb8226a2c15fadee4e075a162f1d5fc1506afc2914ab7aad97c57aaef9f54f5",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "4e6a9d305df328bc458e5e0900a2e634717fa220855e965af4af7fff3a6c179e",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "f22c204044684b3513fce8fd6c19db219f60cb7c8d536e7c574dcb6d1e1cbee7",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "1be2c9f2a360dc2d4a82337dd38e15fdeb02d929ff403ac9525dc52d9d0374fd",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "c814e8726c2b31a42ab0062fdee24e0388504dea781d91cd4c50d245eb62b221",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "c80d22713b448f2bb899982155f8aed3d117210edfe13ea4467525f2cd1f7851",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "5ed97e2f3788827478326bbb7543633f205d8f2cb2a2f1c84876a31f8bd0f495",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "eaec95b21c7c090d498c7ea7c1de8e02f888b8692876570c564c5009addc4fc4",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "da702977aa04ed63930a5fb5bb39a6b7b9c7c81d430bd1af9bc5c2b468a92578",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "4015cb2afe3225e64953a7ffd2ba16cd5dd56e307561f5b0a928b9087a7f8c32",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "4a1c2b50f00471bf913912015d83a328c5dc9b1ad774da7c0ace480ad05456ce",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "57246dda8b3863cd9ad5099f7ffc8b05ef38cf7327e58bb077f40588f1cd9697",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 7,
      "type": "code",
      "sha256": "82f758cc74c7dfca34e7cf80dfaf43be88b878f0c12f1e761bc57dd53b99518d",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "ef9ac49c201c01a529a2b2795f4a23fa147274084d4df55044f00bfb1f2f71f1",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/03_model-evaluation/scores/correlation-analysis.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "d033af341d16826d123c6f2fa0604314a24b184f7d6de440be284b1c4fd37802",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "0f897c58dc8cb89d739058fff3a52b2c408e98538b0724a3820ab53ddd2b1502",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "9ccf303261dc22ea28dad7c92b4c14c53d33dc4352c3dd47bb622596aa5c7e59",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "e1fc7e9c2764930d0348c04e5fd67716a1812e8100e1a8c955d33b47f03dc2fd",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "6a7b72cc822443c769c93bac5855316a16551a8e4bb9fccdb8284156eb839ac3",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "a11f0aff609436d8ef757ed67d54d7e276e501580ef22c90deb947c275ef42e8",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "bdf9b639485a5c51fd683ec63abcbc261feafa32781c0f0df3ec64b2cd3b98ae",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "322156661fc4d62b72680dfda57e99207f1f0fe7fc9e31acb840bb29216c5cc0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "d5747311915c8ff6e8c7f252e1796a85dbe69d8f66c31fcf57ba9d579ad8511c",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "bb1550fce5f6f72fb3ae510c413280b65b517fac3558216ef9434bb4977dc723",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "5e36378cff637a22d85f32a61a290ef75035b2d8ba8546116ec1bc08d00c5df9",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "440c3c84526878e4173558c23db723eab73772d897dd519a296f37abc2a8216e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "175b3d28888172ab86eae3a41d85298a7ee020f11420752123fe4f25470eb7b0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "b1ac16ab936a520532cd8da1e4d2511d548a665c29fa3eddd760bd0986dea7e1",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "b6c1d014ad4f12fee6237f6e1c4018262db5a685292debad9c542a9a374c2105",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "2e66d62e7bb108a9292b4dadee567b1c1e7800efb194fc5722c2d331e89d8330",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "a47754632064473f869c6f6542b1063aae6e8d46f44c5ae318380e7339c64f38",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "2ae1dccd9f38088f95721ae36ad4a373c65f8114eb27077675eaee33915a5546",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 18,
      "type": "code",
      "sha256": "2fa60d91a3b44393b314826a8a246fc857cc89e9f380cd0f2dc3420c145db601",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "5f8a9bc0bd2f17a777f00e7c4019414f5ecb89fd6e359827829b995f71354b8e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "42215c6ee23886143c4df4c0c4a6b0dd2fd445996dcf94e601c16c83376807a5",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "9e28281b8206e9623d9ff96845a12404f054478f78188def76555fffedd801a0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 22,
      "type": "code",
      "sha256": "3d62909843e2bd453cdf7d4cf9934726c487a70cbe54d9fa4b2db2e0730a627a",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 23,
      "type": "markdown",
      "sha256": "479fc9138dc1eeb8dd3a28161c66254b2fdd9dceb1e4eb98a71b14582a94a2c3",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "cead9497aff19858587d79cc3084d6918b581b0f89ae59e173d100bce30cb1d9",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "c5ad7635854899abe8f46cf4a76523efbdbda9efd98d212c1e658604455d5ff5",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "958bb8603a380a978fc668b36cc4fb7e12f59294a455d63f69f95e0b91d2a885",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "5a7dbcaf35867ee6f46964f2860ba4fb213ce9972f20363c918d48b5bd571849",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "4fb776aeccd5e1af62a00323fd65e6f69f433b251799cc55e23fa96e75eda804",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "95789d53e7fcf8fb88707ea1099c089ce902d2257cfae1ee3fc062de7ea9cdae",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "aa3dbb8c0053119ccbe73e7ce58c2a4f1ea70f4b65091eb654493f53bb422ed6",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "660ba0351eef6624c13b43487a0202a10ed705aee715998cc52942fa046437df",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "32abc0477702e8561964678e8c1a0126eb3bc97dd6e7ebeff71dd8604cdf9612",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "d24b7b1c5957a90085df14593dfe59d7a5101fb5616622b794d6a92ae2ac4d6e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "e164c76bde2fd0928db5f8a117af96cecc1e508b6c6023db79bf8997d77c8e49",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "6aa063e1b70de124b5e619a062760d0a4f5cbe4d1993e2654ba7a9bb326ad71a",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 11,
      "type": "markdown",
      "sha256": "2be1f6470507b2d86d7ae2fb2a6088a69f82395358a6b92b925bc20719dd4217",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "f7e0a7a43ca524175e053c71da24d78f11673d8881cd4758160def7ccaf92006",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "9157374c46438e649e851aef86c6fba0c6c63a6b64a96731febc8b731392e57b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "a1db2f41908ba8d7d61ccc9a59ef706b08ecf745a3b0c03eb38ca67466b585be",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "c71aea2b8d0f062e9a28b1817ac0c32af99e6d20187edf5f87750e622a8ac71e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "a3eb57029b01088139717e1d115461d245f8ed771a4f3b86cd1936be93e5d563",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 17,
      "type": "code",
      "sha256": "0aed680fb1358ea1f33ec50dcc3561756fb19b2c3810fd09ff4def2556efadba",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "95f1c333baf41958ef493ec47ef0624da8d69e498eeb4456f932885fb7fbca31",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "a653f21d2474b2e860acaefeaadb3fcddd5b7855eb47f7c8bb99885207048e01",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "fbf0c7b1a355185d2cab8bee9281d439dfd5f8472459e0e08dbea51bdf0fec29",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "007222b2e8dd5562a1e00d36b744f32ce40e094dec546fb69429fb966a18bba1",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "fe9c39fc6cb7365fee58043c1529ee33cbad595a1e195cfae804e1b8762132ca",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "2737a7f462ed22ea9a5393a9ae97c0ef8418c22b6de16ff87ca556333701971f",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "99d2f25c78e7fe3413142a57fd27cb3db679f9b73dff6792d7a1d3f3a603108d",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 25,
      "type": "markdown",
      "sha256": "e0c9d094dac411bd0dbb38a0c94bb102c5b3f0de478ff01ab2ef7e208001fd9f",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "de9d28e5e1ed9769975984a08606abd5ad44ef82140b01c7e6d9dfbf61585ba4",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "280b22635d1ad2f7af0c3998f8c0a74f78911750f08f5ef390334b8635b02bbe",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "0a259b41a4410b47363dd7db9bc85affeb44b252dc3e976d905122b99012400d",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 29,
      "type": "markdown",
      "sha256": "bed8f34fc8dd8508e451d310f30a277e80ea2d5bc49ba997b177a059c4ab2901",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "44f5b7d71386f866bf53c5475ee01940946eb55dd05f44e85f799b2e614ac61f",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 31,
      "type": "code",
      "sha256": "506af00c86f1cccad53fb9da58e4879160d73c0a598fe949e0e1156f4f6460e9",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "e24ceabea4d9faecf4ea9962ea7ff4b378354bed5785ca0e41b7a7092483c4a0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "b6efdcfb26d126767f66e33fc43794c1a4268484c8d4bb26c31ed11d5e47754d",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "b3775e5e202b5f00021693644373ef27594786b56392b6fd4ceed1b9706d0d2c",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "49c027b4dd27f70f451386799c25bec6b0460fa767b691c8b2d3072af2c2d2f8",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "3129ab0261d0021d7c7a6c55a5d96bcbb52f31535375f2d6f91dd435cf78f36b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "c07888607cb06b5648f49f1b23115fa395a908cf296b1532ca3475325e7851c3",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 38,
      "type": "markdown",
      "sha256": "2acbcd87c3d15398f753c5d94924cbf32c9f37153aa6afcf67f2a3d6c9d1ee62",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 39,
      "type": "code",
      "sha256": "f755cdaa2c89fc8feb94496aab8d14350bb8fbd2f13df59b30ab2c9279656f14",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "8d9d5d83210cf2a4f1f1e53979e860c7d866807a9c7649807f572eb89dd0c5e4",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 41,
      "type": "code",
      "sha256": "eab0ca73d0df12706774724438023a95eca2848bd57062d0b22cb9c66665b353",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "f193268b0a3b7cb2d7a8726330f0abf2e3bc9c669e8a0a17526a22aaf20eb0ee",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "c7470c4f419c686014664e2bd2c0463952000ad4be1a2dcd1da678a88d6c21a0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 44,
      "type": "markdown",
      "sha256": "c655064e9295a5203f80f72077a386c4a75b0c7215a0dc9c8349c0dd0b89729c",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "4c28f3cd983c091b576b6dfde95e4a23336d95bf2f6f43170ab81943fd288455",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 46,
      "type": "markdown",
      "sha256": "9e24ba0627a8df1a777591a989850f0a07458896c0735d4a89acae4acaf987f0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 47,
      "type": "code",
      "sha256": "3a4859dc6c07988f00db2f1a1fd56b12282cd846ced656d83093c04b18497a3b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 48,
      "type": "markdown",
      "sha256": "f10fac216b544b07a56522ec920bbce39357287a26d0bb58cf6a60ad5be6a406",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 49,
      "type": "code",
      "sha256": "9480a0564d05b42e560207591a74e0919f814cd25fd5db364ae2a42e8014c305",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "2562784172e73fe7c8b4284e5ed24a4a08886f73152dba9c518145adeff0ae83",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "1fb252b8ab1e5d26cd5151ef6ece40aabef42e4ed36e5ac13265176d18c77f21",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 52,
      "type": "markdown",
      "sha256": "78f54c5e8baeb256eff9c474042f3294c3cbfac4ac00ea4f167b947dcecd410d",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "2a1ba78d93c105e568ad10cae251731dad2f66ad9127fd7327929ead583a83e0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 54,
      "type": "markdown",
      "sha256": "80658fb348432422cf44f80bc9d4008e378d1c5413916c2756d24e23f5de399d",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 55,
      "type": "code",
      "sha256": "7db2a18957f69f2afe1f3e1b08fdab22ff3ace84666bab95c0052e0c115d4317",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 56,
      "type": "markdown",
      "sha256": "e4343792e4b89536c4d61078e82f4d0d3f8d0d9d62efba0d27581ff2cc9e08b7",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 57,
      "type": "code",
      "sha256": "45f5934e96578b6c6c32a8a5391041dbf2bfde7c6385f29c2a0119ece8922a1e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "ab48de192fa7734e5116354645870ac9713c8c8d61ef20e4153426d9eb3f0ac1",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 59,
      "type": "code",
      "sha256": "a14d33ac90ced5edf6ba4fb82c524460bac5e5de108505a3816158d7a4dbe3f2",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 60,
      "type": "code",
      "sha256": "c9a9814269e47f1370187cab5c397f381cc2e114aa010563b8d20505066f50d7",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 61,
      "type": "markdown",
      "sha256": "982d530a788ea870628ffd607391566ec6c0b8fc3a38bfa156599a5822f9f3e7",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 62,
      "type": "markdown",
      "sha256": "863ea5fdc082df7facd81a96606655d4e03cc9536557047c5c9f06f35c43de74",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 63,
      "type": "markdown",
      "sha256": "327ad39cc722acfcc8f076eb0ea0136a7c139972e5c2ab2850f091ac5b57e736",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 64,
      "type": "code",
      "sha256": "9c2957f535bdb1c15a493c4d39164e0ce32f63448607128f712d7cf06732d9d7",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 65,
      "type": "code",
      "sha256": "d315843ffdadc232047ab58b273b6c696f30a93898267b0a3ca1a9433ae7e0a8",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 66,
      "type": "markdown",
      "sha256": "d42354b5d3688365b9db495c2c4067c392d00a90b082df04d889a29e14b7b640",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 67,
      "type": "code",
      "sha256": "fa90b276f94dfef8a5ee7660228366db43ef11865f0b416a934deabeb958eb94",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 68,
      "type": "markdown",
      "sha256": "85e4425cab7140e666dc10d12ebaab32de4973e1cdb87abeebd0dfec907497c7",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 69,
      "type": "markdown",
      "sha256": "534fe7fe0dbcb8808adabcdcc10d30e620a6dda8e0e816693d87ed5d30e96c75",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 70,
      "type": "markdown",
      "sha256": "f962ab73820d0bd3fec5e8a4acde68718e0e82db9e86f9ea715e83af98502c27",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 71,
      "type": "code",
      "sha256": "904ed3520aaa8fae562f68fff1cc087b5b0114edfd9514695044a401ef25dbb4",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 72,
      "type": "markdown",
      "sha256": "42ef8feec25a4780aa1d8b4ba47a65f5668c13248e5aef6f7a460a806a023dec",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 73,
      "type": "code",
      "sha256": "73740790a7409993b4e4b358d9bce334a2ca8599901e186d00388e1e0cffd6dd",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 74,
      "type": "code",
      "sha256": "bf5be23c18eb29857bbfb61fa6d6212f71ead34bb7d669ada98c57fbf0732163",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 75,
      "type": "markdown",
      "sha256": "514c97981dcfea0694e50dbb356a90dc908ba8b0c810b7abfc1985e4749798d6",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 76,
      "type": "code",
      "sha256": "a99778d0c6a964635f2afcc197df300d7ca79f29f9a362d9f27328298b317b97",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 77,
      "type": "code",
      "sha256": "69e20d639e18343f0624aa1402b4e9659568840d83741f2c0ba899925a10e19e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 78,
      "type": "markdown",
      "sha256": "fd036e218961f0e1b23d23137ee05cbbf02657ecd236dfa3fae46e0596d62bcd",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 79,
      "type": "code",
      "sha256": "b19cab5cd3d9de7185edd1d21a7b9827b4daf31ad99271d625d5b11dfe8cf3df",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 80,
      "type": "markdown",
      "sha256": "3356c75cee2bf213d8c5e2b9f4ba5f27fd32d3e3fbc23f8467f551cca7f9d6dd",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 81,
      "type": "code",
      "sha256": "236719daff74cc3a10f2f954c023ccb9104602691623b3d7fb9669ff1d67e77e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 82,
      "type": "markdown",
      "sha256": "043fd8a7e7f8eda74eaf7be3cead4e1cb5b7dbb3eef26af20be9bf9b99720faf",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 83,
      "type": "markdown",
      "sha256": "b496fcb1f46b3b8acbe96c5033cda094e779faf37e849f29672c0e843acadcd9",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 84,
      "type": "code",
      "sha256": "fde9e5e39724bf0d997390bc1f3046bce6b15c6c20c49c8d11c12cd83d1bd854",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 85,
      "type": "markdown",
      "sha256": "64c2b8f3067e676989556ac52465ac3b098e74d60b53e94d79368743a2ecf73c",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 86,
      "type": "markdown",
      "sha256": "5cf88326a32631af2aa79b893fab9094b7cd7dacb9288a8d01294e7c3ba30847",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 87,
      "type": "markdown",
      "sha256": "2ad9f63ca5d8236935939936f0615e1aef59a76f520808bb40f025de0ef6ba12",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 88,
      "type": "markdown",
      "sha256": "da84c5fa951f630575403c74503b68c241c80f74ab32edcf86d6e85a072fb55d",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 89,
      "type": "code",
      "sha256": "ae8abf268c2a3d3a40a8c9bb0ccc1c7be187c09f9f50e558b7e134ece4fdc21f",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 90,
      "type": "markdown",
      "sha256": "071a95340d117154d487d0a7b5b1b65332b355799c65cef659e85b66213a4822",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 91,
      "type": "code",
      "sha256": "69066728cce6aa34f59f26556f6a92dcfd728c30460814ab85b1073832895d68",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 92,
      "type": "markdown",
      "sha256": "1263bf36044dd2e983bd749416fdd62918cf751d5450cf60e90024d360e1c300",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 93,
      "type": "code",
      "sha256": "f11eeb49ea7c6be90e430c2545c97ea3239f13d064cd0c8c05dad5c992f4edb8",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 94,
      "type": "markdown",
      "sha256": "eb557cfead08660ee7fdfa9a558420f6883c78dabe19517d38f44e536bcad49e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 95,
      "type": "code",
      "sha256": "1c8d4725f55f8e02cd22b1bb81f140ddec1234d1920bb1c87992b1f04f5c140b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 96,
      "type": "markdown",
      "sha256": "55572ba4330e92d9790ba5f358a1a38aaaba8a099fe2b83aa6beff4171faab1a",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 97,
      "type": "markdown",
      "sha256": "a413f09aa0e638dddff8b95002142a3420854103dbfdef253573a17da12e084b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 98,
      "type": "code",
      "sha256": "a6486c7b0880f780e288aea5d2e31c19c784de82030ebacbb61b479bdc1e1d95",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 99,
      "type": "markdown",
      "sha256": "c1680cc2e0bdc527285e1e32f4187d10daa9e932255cc6f8ab3178c4e1b529e5",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 100,
      "type": "code",
      "sha256": "09209d14c11fd921bf47dc2c9e8676baaf43e6cc00575ae3415f8c7bf36b7f2e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 101,
      "type": "markdown",
      "sha256": "bb602d81649b01ccb51f77ed81aa6f96bd00ea92dfa97706c18e6cc0e847073e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 102,
      "type": "code",
      "sha256": "ad294cf5c5f1f04ae2e25df64059e03c1e1e5163c4c1cc15804f70def2cc696e",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 103,
      "type": "markdown",
      "sha256": "68bc1b5bb3b7fc70e0e4ebdf9689da1c035d5dc880d8b43675254b0788012b71",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 104,
      "type": "markdown",
      "sha256": "2e508763d6abcafe050d37b640faa2290c685d8b94a2214084cc64918977ad49",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 105,
      "type": "code",
      "sha256": "477554ddefc1d752084daa9a84cfeb4e21cdcfef5bbcf5d0579fb2ca4e4d3c4b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 106,
      "type": "markdown",
      "sha256": "6431d66b7f0d61b664ff52ca7787c6d0afdd78f4ae094b724d5b7c92a2ed79e3",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 107,
      "type": "markdown",
      "sha256": "dbe3be5dc24ebe0e7167b51eb927187518f86404ef190b2fd2b05ced8a4a947b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 108,
      "type": "markdown",
      "sha256": "514e65ae5a28d02b175aae7144df522d06ae5262c244d2e1e5f2e466087f581b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 109,
      "type": "markdown",
      "sha256": "b608cfae4f488bcaf6893090c6ace22615807664ce865392f9f67bdcfc77cbdc",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 110,
      "type": "code",
      "sha256": "91741e48c63c768d9b3930844460834ad1b049b2211814e4a738a12ff9c5b0cd",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 111,
      "type": "code",
      "sha256": "e20f0c228b68d970f18adebc98ce516b26a3016f9d372b37219a96e7be3d0618",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 112,
      "type": "markdown",
      "sha256": "cf3340cb87cc200b145a83593d9ef90db25ecee11aa7356aef3f929eb14936e8",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 113,
      "type": "code",
      "sha256": "381a67e0b6fccf3afca66edcf0ec300e3c08cbc7476c419d799ced8097ffe59d",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 114,
      "type": "markdown",
      "sha256": "82d5a881903a59508ff40a89f923634abf762c5f408c01261aa5724914e3d3f9",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 115,
      "type": "code",
      "sha256": "4becf99a42c4d1c2bce4fb9269fc5e24edffece7083f6cbb59683b1a4683abad",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 116,
      "type": "markdown",
      "sha256": "59eb8354bedf5c384bf42bedb132d7d35647a0e012d3ae0eb0e1fd028ae92407",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 117,
      "type": "markdown",
      "sha256": "6c3cbd787472a05e92280ff174bb0ca41b1d6f29bd721b0bd42a2025730ce13b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 118,
      "type": "markdown",
      "sha256": "4b209f8fa8e8c154df327a65c2ea93140c83bd04a4ea4d4ce60894a4d70d883b",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 119,
      "type": "code",
      "sha256": "56f1baf7ca5409971215d941d82283ce90aa46eeeb6d6db0fb993ae345265f86",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 120,
      "type": "markdown",
      "sha256": "4471a87841edc1c04b7a861ef65e8f7479640894aa7f63cdf3e2203f52f77a30",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 121,
      "type": "code",
      "sha256": "92d4851ceeb041f7e406ec5f114d7163e7c345e41efa18c1c1e283cb72f7d801",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 122,
      "type": "markdown",
      "sha256": "eeb294dbeb653bba0ab2eca33fae603da2536f2441f960972c250a5736a198f7",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 123,
      "type": "code",
      "sha256": "fab7d513292f2a4689680a3c42c27852623e75319444e9f5367619f443c30a31",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 124,
      "type": "markdown",
      "sha256": "ff1bc1b3d2e8b6c410d0fadf97cd6ce86f8611f97429f257d032abef2443b33f",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 125,
      "type": "code",
      "sha256": "c02fa63f678aa58110d8f29e3a4ae64930f9176a614510cdc6f096da39d127f0",
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "644ece19004ac54725e3254e80f12080edba5eb80fd838aa6de78434be6493e9",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "85cfada267686d5eb9c8c2685e60f8518d90ec712146caa23ef43a72d1f33781",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 3,
      "type": "code",
      "sha256": "e8018a4f31b98f64a229f749a798ac1a0929aefc3ddcfaf4246a8c9eda4c9716",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 4,
      "type": "markdown",
      "sha256": "c45bdac86793d28f31f61ee695a33acbd42bc4f57728dbf0847f3a7e7fa6d377",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 5,
      "type": "markdown",
      "sha256": "a11f0aff609436d8ef757ed67d54d7e276e501580ef22c90deb947c275ef42e8",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "4caf93417ae3760dedbac5876015e7e3f7c7fbbada512caec5e8205b52534898",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "322156661fc4d62b72680dfda57e99207f1f0fe7fc9e31acb840bb29216c5cc0",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "d5747311915c8ff6e8c7f252e1796a85dbe69d8f66c31fcf57ba9d579ad8511c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 9,
      "type": "markdown",
      "sha256": "bb1550fce5f6f72fb3ae510c413280b65b517fac3558216ef9434bb4977dc723",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "5e36378cff637a22d85f32a61a290ef75035b2d8ba8546116ec1bc08d00c5df9",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "d0596027d311dbc44c27318d9c95bab3de605b0a2d46e8f152cd280af01df542",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 12,
      "type": "code",
      "sha256": "9ebf7ea9e6ec7c30cc696769a07f0ce378d7b3d4f8417a67f3ebec6b07ddad45",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "dbf50e8d9b1b7cc69706a84cdde375373690476dc29d3c2eebed1addc7632a49",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 14,
      "type": "markdown",
      "sha256": "21fc73e28d10b3658359cb221e8663956d876c5aa7c51b83ec247a951e012e53",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 15,
      "type": "code",
      "sha256": "9190fb87b38a8225e652c6670bbe71d204b519065f4c8c579a07690775300780",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "88db8e492d15ac3273f3fa4feec9736a5d51df20f3a4fe4636566630671eae61",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "b2d816d6f995eadf20779c7dcc3970ccff147c7e7bb42359c838556e0b831068",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "3df9bd347f59b77684e32b9584d03df57ddf5f260c13679c3b271ac16c4dd4ac",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 19,
      "type": "markdown",
      "sha256": "dd7fe73e3e958d50a3fca964340fe8dd237ed1fa8bb15e1d9165c042d8289dc9",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 20,
      "type": "code",
      "sha256": "ea72260490016dfc8d6833204cc6eb00d33e000a66af51850d0b6ab0309d9e41",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 21,
      "type": "markdown",
      "sha256": "f3feb5c66cfcf301a20baaff531c55ed2f0b08239d4d6a2b5c7c2deb0eac3b91",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "26fb60ec35b308cbdb1f71d8d7c1c660e09efaf3e0571de391c56b18b1ca937d",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "49ded3a81932284aa52e040f23c7aa7b238844815ae2ea161243b9cd14654101",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 24,
      "type": "code",
      "sha256": "41dd24721fd3dee22f7795808da829c1cf8040726a7498d7166a5bc02adaeb42",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "ac9ec422b369d432121233bd4dbc85f57d95c96ce90ba074cf418e1c22569107",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "06e25c326e872468fcb188849358170e4412f9a7e667e0ae74719d6d4bebcd3c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "source_presentation_not_reproduced"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 1,
      "type": "markdown",
      "sha256": "1e3ea96ccce17e01ae615819bf988d39af2fef4fee509b66efee7173206c0429",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 2,
      "type": "markdown",
      "sha256": "902f64ac3ec5e09a650777e1594f942112ded6a62cda5a90c9722dbb1fd2c58f",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 3,
      "type": "markdown",
      "sha256": "58684da593329d170f694ec421c38c05751a12f3989171be65b508fe07fa39d5",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 4,
      "type": "code",
      "sha256": "46a969a9c982f00509d6f20afacdcef747b7fd9b9a80b08b810a3c0ec4e13dcb",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 5,
      "type": "code",
      "sha256": "e6b50923937b03027a7d652047e6ff9044e43b2737a886e24a97761f940c088e",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 6,
      "type": "markdown",
      "sha256": "a7071bd1b03c7444991b2332ba04a67cafbbe234978d76fb831b8439153c3ff4",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 7,
      "type": "markdown",
      "sha256": "37a508ebfc3f274c17dcf2e6ef911df026f846e42479cfacba6f92c4a1483616",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 8,
      "type": "markdown",
      "sha256": "52982f6bd490f955ac622591b27e6b9212d43ef7cabcfa7d63b84098a3aa3c04",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 9,
      "type": "code",
      "sha256": "97df835fbbb8fd6f658704eb4cd4b353381ffa05c9163f85fb732d2860ff2175",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 10,
      "type": "markdown",
      "sha256": "5e36378cff637a22d85f32a61a290ef75035b2d8ba8546116ec1bc08d00c5df9",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 11,
      "type": "code",
      "sha256": "fb607fc413bb3d4a4e9cca26e00a892d8ff7b94f9b670c888f1faa3e6b9adbcd",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 12,
      "type": "markdown",
      "sha256": "175b3d28888172ab86eae3a41d85298a7ee020f11420752123fe4f25470eb7b0",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 13,
      "type": "markdown",
      "sha256": "92e59cddaa88b6d3f002a159c55edd4a49d57d6ab010174714cca359a57ecd4a",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 14,
      "type": "code",
      "sha256": "c7269b48730c0c3724162878ff01de23e3557b3f44c9bfcad701139c350eea7c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 15,
      "type": "markdown",
      "sha256": "87f01602417b0571e39a0c5b80b75e4655b61fcd53952f03a8ffecec7558aef3",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 16,
      "type": "code",
      "sha256": "603c4d304f080889dd7ee9f0f686e4389c711326bf268ec3c12976809fa10f32",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 17,
      "type": "markdown",
      "sha256": "e8ebd82cf4af92e1080546478c23468aff515bce43858b9d39b11951899f19da",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 18,
      "type": "markdown",
      "sha256": "ea1bf6cd0c7679ebd7a21b85ef5bc28c8a548dd23312cf991cab15c6e6a8e31b",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 19,
      "type": "code",
      "sha256": "5b7d107487e0a324c18cd88a7c8c93b6917abc69d24c075e52641a26e76bb88f",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 20,
      "type": "markdown",
      "sha256": "14616ec078bf09b1f908265d73b749e5ea3dea014cc3cc0c51bd5d0594f3a22c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 21,
      "type": "code",
      "sha256": "820b8b958b505e48485c6e6872fda380b9d23dc9c085eea6ac7abc5def0b2576",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 22,
      "type": "markdown",
      "sha256": "6f4f275f14590ef55236985c1d93bfd58e34b866fd85041308690df81fc8cf16",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 23,
      "type": "code",
      "sha256": "98dd27da5771100084d4c79990d0f29962674aac951239429d5626a98990ac7e",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 24,
      "type": "markdown",
      "sha256": "2bca7d05baea54d38f7dd7a638896a057b62c32c728d5d52e1985452f22243b6",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 25,
      "type": "code",
      "sha256": "935b94e4e64cd207643dcd6eab239602cb54d5719f569c5b808fefa745a41931",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 26,
      "type": "markdown",
      "sha256": "9d23ae2f0cdc51a941e4ec99169a88bc8f06da12ba35cf1a0cd3003703c46c11",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 27,
      "type": "code",
      "sha256": "a5112f0d3c3d799805db5b60d39c29fb1a5d8f87ba3a0d7a37880c17adf1d2ac",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 28,
      "type": "code",
      "sha256": "a5ca0af7de57602a0566e9e855a4a1796a4c4eeed13775658ee0ca840bb9b98a",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 29,
      "type": "code",
      "sha256": "efc1471725ef3c6bf3a53afd5cf9208f8d739e0e07c117104564190e0aaf325e",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 30,
      "type": "markdown",
      "sha256": "30683dbfcceceb261f51dd131a4c20b735e2b0472ec11758c33051ee7a886317",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 31,
      "type": "markdown",
      "sha256": "3c51e9334fdb28340cf8d1a3f6dce63ddfbe1cc28f44c40fa2ffb7901beacfd6",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 32,
      "type": "markdown",
      "sha256": "51410429f96d7c83c4b891bc8258194902985d6445ce9607c04979c596805346",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 33,
      "type": "code",
      "sha256": "d2addb499b4a12130c90b7bdefd50fac77e502306cd93be4c6c6a63aacea6bbc",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 34,
      "type": "markdown",
      "sha256": "cd09f74ae508f53326548ba1d5c60b7b138f7442bf4e60f64a25f17d3cb8583c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 35,
      "type": "code",
      "sha256": "5d074596f6cdd4d85fe9630fd4a3a176a1895b97f382bccf877c0eeebdce9274",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 36,
      "type": "markdown",
      "sha256": "fbb17eb85877827fe02fee53d96da7a3e50208c4f9e2d86bc220644c4c79ac43",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 37,
      "type": "code",
      "sha256": "057935937762c2cd7f10da0d684cbd8e96ebbadd64a1345115e68d1eb990efe7",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 38,
      "type": "code",
      "sha256": "5f69a013879e8802f0ea201685f36fa3eac864db9841f78bc3c26ec8944f9e03",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 39,
      "type": "markdown",
      "sha256": "74e3a57cd9a107a0bcacc1a7d88494382c16ffbb536d3f7a640ebaa12fe61d31",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 40,
      "type": "markdown",
      "sha256": "a14a38d35546b35f1175f2620be25949cb93b784a20f072f2360d25c761ce029",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 41,
      "type": "markdown",
      "sha256": "534d28ab941821b9c867be7e73d333beadacc5f6320a282b44f69385ed031a6a",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 42,
      "type": "markdown",
      "sha256": "a9d8a31db7219ce00c786c6be0ff2782c69e4c07671a41ea613050817319d7bb",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 43,
      "type": "code",
      "sha256": "badf42699f4611f7aebb1629ced046b11eb6a5b1165f9466cd5ac1b054b53c5a",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 44,
      "type": "code",
      "sha256": "1f0314b59b068d18250144ec65a04b12c1b2e492ed55e820434ea2720977ca94",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 45,
      "type": "code",
      "sha256": "a3f59e4a546ae50a70fec0b4b401f36e3cdc80864348b43c635af9cd5c75bcda",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 46,
      "type": "code",
      "sha256": "7d5c411053be81c0c725c3164c5d62457dc7699a77172c9867fb9f0a4bd8f358",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 47,
      "type": "markdown",
      "sha256": "090bd5b6e78ea6a876c18a04becd501ee057b09711c0f6ee7688d191830a8c1e",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 48,
      "type": "code",
      "sha256": "8dede978833c054b032163121e4ebbc4dfd5b8c611b52c10afcf609fb2eeb66b",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 49,
      "type": "markdown",
      "sha256": "3bf9282639ad290471ad31f62e26e42d9498101b1ebdfa1274c407f1878474e0",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 50,
      "type": "markdown",
      "sha256": "cf2b4bebb00486f0732fcae73b2f5689f5920ddef5135f64b6928d39d9b6432c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 51,
      "type": "code",
      "sha256": "badf42699f4611f7aebb1629ced046b11eb6a5b1165f9466cd5ac1b054b53c5a",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 52,
      "type": "code",
      "sha256": "d106b553c4d1693b05ad45a7f9280afded901a1a707c9de541499129be0807dc",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 53,
      "type": "code",
      "sha256": "3cd7d65c335872db63ed76028e71af9b7e3887409298ed81723f4f91640bd7f5",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 54,
      "type": "code",
      "sha256": "7d5c411053be81c0c725c3164c5d62457dc7699a77172c9867fb9f0a4bd8f358",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 55,
      "type": "markdown",
      "sha256": "090bd5b6e78ea6a876c18a04becd501ee057b09711c0f6ee7688d191830a8c1e",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 56,
      "type": "code",
      "sha256": "8858259398d0d0f945546401b188dc50784ea33ca8527e03a3cd50b06565338c",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "code"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 57,
      "type": "markdown",
      "sha256": "c488cbcefc81a19f6d343d344e8c0b2ebf224fc031c3c9569f237226172ea023",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 58,
      "type": "markdown",
      "sha256": "86bae6cce471677c6b0733b0dd362aa29ff4408639a7ca4101984037ecab80c5",
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.ipynb",
      "cell": 0,
      "type": "markdown",
      "sha256": "8bb970a55c9d39a8a8ef8aba5715229ec0258593c23559f6663700f969c7f0ee",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "narrative_navigation"
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.ipynb",
      "cell": 1,
      "type": "code",
      "sha256": "d3b246d1bcc1b2cfdf588459a405b28d5e929a9dbc5542f2d048e55e4f01ab98",
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ],
      "treatment": "code"
    }
  ],
  "definitions": [
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "should_skip",
      "line": 37,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "collect_fstring_expr_string_positions",
      "line": 42,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "collect_fstring_expr_string_positions.Collector",
      "line": 55,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "collect_fstring_expr_string_positions.Collector.visit_JoinedStr",
      "line": 56,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "collect_fstring_expr_string_positions.Collector._collect_from_expr",
      "line": 63,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "check_quotes_in_source",
      "line": 76,
      "end_line": 101,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "check_file",
      "line": 104,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "check_notebook",
      "line": 115,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "parse_args",
      "line": 126,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_double_quotes.py",
      "cell": null,
      "name": "main",
      "line": 136,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "Link",
      "line": 36,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "BrokenLinkError",
      "line": 43,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "BrokenLinkError.__init__",
      "line": 46,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "links_from_html",
      "line": 52,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "links_from_file",
      "line": 76,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "is_ignored",
      "line": 89,
      "end_line": 91,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "local_link_error",
      "line": 94,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "pytest_addoption",
      "line": 116,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "pytest_configure",
      "line": 136,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "pytest_unconfigure",
      "line": 146,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "pytest_collect_file",
      "line": 153,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkFile",
      "line": 163,
      "end_line": 171,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkFile.collect",
      "line": 166,
      "end_line": 171,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkItem",
      "line": 174,
      "end_line": 209,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkItem.__init__",
      "line": 177,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkItem.runtest",
      "line": 181,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkItem._check_http_link",
      "line": 191,
      "end_line": 199,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkItem.repr_failure",
      "line": 201,
      "end_line": 205,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "LinkItem.reportinfo",
      "line": 207,
      "end_line": 209,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/check_links.py",
      "cell": null,
      "name": "main",
      "line": 212,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "cell": null,
      "name": "LinkExtractionTests",
      "line": 13,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "cell": null,
      "name": "LinkExtractionTests.test_markdown_links_and_images_are_collected",
      "line": 16,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "cell": null,
      "name": "LinkExtractionTests.test_notebook_checks_markdown_cells_only",
      "line": 29,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "cell": null,
      "name": "LinkValidationTests",
      "line": 64,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "cell": null,
      "name": "LinkValidationTests.test_local_link_accepts_query_and_fragment",
      "line": 67,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "cell": null,
      "name": "LinkValidationTests.test_missing_local_link_reports_resolved_path",
      "line": 78,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": ".github/scripts/test_check_links.py",
      "cell": null,
      "name": "LinkValidationTests.test_ignore_patterns_match_from_the_start",
      "line": 85,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "ddp_setup",
      "line": 22,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "ToyDataset",
      "line": 48,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "ToyDataset.__init__",
      "line": 49,
      "end_line": 51,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "ToyDataset.__getitem__",
      "line": 53,
      "end_line": 56,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "ToyDataset.__len__",
      "line": 58,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "NeuralNetwork",
      "line": 62,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "NeuralNetwork.__init__",
      "line": 63,
      "end_line": 77,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "NeuralNetwork.forward",
      "line": 79,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "prepare_dataset",
      "line": 84,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "main",
      "line": 128,
      "end_line": 178,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script-torchrun.py",
      "cell": null,
      "name": "compute_accuracy",
      "line": 181,
      "end_line": 195,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "ddp_setup",
      "line": 23,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "ToyDataset",
      "line": 49,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "ToyDataset.__init__",
      "line": 50,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "ToyDataset.__getitem__",
      "line": 54,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "ToyDataset.__len__",
      "line": 59,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "NeuralNetwork",
      "line": 63,
      "end_line": 82,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "NeuralNetwork.__init__",
      "line": 64,
      "end_line": 78,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "NeuralNetwork.forward",
      "line": 80,
      "end_line": 82,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "prepare_dataset",
      "line": 85,
      "end_line": 125,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "main",
      "line": 129,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.7"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.9"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/DDP-script.py",
      "cell": null,
      "name": "compute_accuracy",
      "line": 182,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 34,
      "name": "NeuralNetwork",
      "line": 1,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 34,
      "name": "NeuralNetwork.__init__",
      "line": 2,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 34,
      "name": "NeuralNetwork.forward",
      "line": 19,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 48,
      "name": "ToyDataset",
      "line": 4,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 48,
      "name": "ToyDataset.__init__",
      "line": 5,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 48,
      "name": "ToyDataset.__getitem__",
      "line": 9,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 48,
      "name": "ToyDataset.__len__",
      "line": 14,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part1.ipynb",
      "cell": 63,
      "name": "compute_accuracy",
      "line": 1,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 11,
      "name": "ToyDataset",
      "line": 4,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 11,
      "name": "ToyDataset.__init__",
      "line": 5,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 11,
      "name": "ToyDataset.__getitem__",
      "line": 9,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 11,
      "name": "ToyDataset.__len__",
      "line": 14,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 13,
      "name": "NeuralNetwork",
      "line": 1,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 13,
      "name": "NeuralNetwork.__init__",
      "line": 2,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 13,
      "name": "NeuralNetwork.forward",
      "line": 19,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/code-part2.ipynb",
      "cell": 15,
      "name": "compute_accuracy",
      "line": 1,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "NeuralNetwork",
      "line": 3,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "NeuralNetwork.__init__",
      "line": 4,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-A/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "NeuralNetwork.forward",
      "line": 21,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 26,
      "name": "find_highest_gradient",
      "line": 1,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/appendix-D.ipynb",
      "cell": 31,
      "name": "train_model",
      "line": 9,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 21,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 22,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 36,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 39,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 43,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 62,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 63,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 78,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 122,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 123,
      "end_line": 127,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 129,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 136,
      "end_line": 144,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 137,
      "end_line": 138,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 140,
      "end_line": 144,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 147,
      "end_line": 157,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 148,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 156,
      "end_line": 157,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 160,
      "end_line": 190,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 161,
      "end_line": 173,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 175,
      "end_line": 190,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 193,
      "end_line": 215,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 194,
      "end_line": 204,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 206,
      "end_line": 215,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 218,
      "end_line": 241,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 249,
      "end_line": 253,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 256,
      "end_line": 270,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 273,
      "end_line": 279,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 282,
      "end_line": 292,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "plot_losses",
      "line": 295,
      "end_line": 310,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 314,
      "end_line": 317,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "appendix-D/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 320,
      "end_line": 322,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 29,
      "name": "LoRALayer",
      "line": 3,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 29,
      "name": "LoRALayer.__init__",
      "line": 4,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 29,
      "name": "LoRALayer.forward",
      "line": 12,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 32,
      "name": "LinearWithLoRA",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 32,
      "name": "LinearWithLoRA.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 32,
      "name": "LinearWithLoRA.forward",
      "line": 9,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/appendix-E.ipynb",
      "cell": 35,
      "name": "replace_linear_with_lora",
      "line": 1,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 15,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file",
      "line": 47,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file._attempt_download",
      "line": 48,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 126,
      "end_line": 152,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 29,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 30,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 44,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 47,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 51,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 69,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 70,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 85,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 128,
      "end_line": 139,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 129,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 135,
      "end_line": 139,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 142,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 143,
      "end_line": 144,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 146,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 153,
      "end_line": 163,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 154,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 162,
      "end_line": 163,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 166,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 167,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 181,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 199,
      "end_line": 221,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 200,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 212,
      "end_line": 221,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 224,
      "end_line": 247,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "assign",
      "line": 253,
      "end_line": 256,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 259,
      "end_line": 317,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 320,
      "end_line": 323,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 326,
      "end_line": 328,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 331,
      "end_line": 347,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 350,
      "end_line": 356,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "download_and_unzip_spam_data",
      "line": 364,
      "end_line": 384,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "create_balanced_dataset",
      "line": 387,
      "end_line": 398,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "random_split",
      "line": 401,
      "end_line": 414,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "SpamDataset",
      "line": 417,
      "end_line": 456,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "SpamDataset.__init__",
      "line": 418,
      "end_line": 440,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "SpamDataset.__getitem__",
      "line": 442,
      "end_line": 445,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "SpamDataset.__len__",
      "line": 447,
      "end_line": 448,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "SpamDataset._longest_encoded_length",
      "line": 450,
      "end_line": 456,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 463,
      "end_line": 481,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 484,
      "end_line": 488,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 492,
      "end_line": 527,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "appendix-E/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "plot_values",
      "line": 530,
      "end_line": 547,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 43,
      "name": "SimpleTokenizerV1",
      "line": 1,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 43,
      "name": "SimpleTokenizerV1.__init__",
      "line": 2,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 43,
      "name": "SimpleTokenizerV1.encode",
      "line": 6,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 43,
      "name": "SimpleTokenizerV1.decode",
      "line": 15,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 64,
      "name": "SimpleTokenizerV2",
      "line": 1,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 64,
      "name": "SimpleTokenizerV2.__init__",
      "line": 2,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 64,
      "name": "SimpleTokenizerV2.encode",
      "line": 6,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 64,
      "name": "SimpleTokenizerV2.decode",
      "line": 17,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.2"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 93,
      "name": "GPTDatasetV1",
      "line": 4,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 93,
      "name": "GPTDatasetV1.__init__",
      "line": 5,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 93,
      "name": "GPTDatasetV1.__len__",
      "line": 20,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 93,
      "name": "GPTDatasetV1.__getitem__",
      "line": 23,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/ch02.ipynb",
      "cell": 94,
      "name": "create_dataloader_v1",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1",
      "line": 6,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1.__init__",
      "line": 7,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1.__len__",
      "line": 21,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1.__getitem__",
      "line": 24,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/dataloader.ipynb",
      "cell": 5,
      "name": "create_dataloader_v1",
      "line": 28,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "name": "GPTDatasetV1",
      "line": 6,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "name": "GPTDatasetV1.__init__",
      "line": 7,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "name": "GPTDatasetV1.__len__",
      "line": 21,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "name": "GPTDatasetV1.__getitem__",
      "line": 24,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ]
    },
    {
      "source": "ch02/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "name": "create_dataloader",
      "line": 28,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.11"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "bytes_to_unicode",
      "line": 37,
      "end_line": 56,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "get_pairs",
      "line": 59,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "Encoder",
      "line": 72,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "Encoder.__init__",
      "line": 73,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "Encoder.bpe",
      "line": 85,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "Encoder.encode",
      "line": 126,
      "end_line": 131,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "Encoder.decode",
      "line": 133,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.3"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "get_encoder",
      "line": 139,
      "end_line": 145,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/bpe_openai_gpt2.py",
      "cell": null,
      "name": "download_vocab",
      "line": 148,
      "end_line": 165,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 23,
      "name": "import_from_notebook",
      "line": 7,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/02_bonus_bytepair-encoder/compare-bpe-tiktoken.ipynb",
      "cell": 23,
      "name": "import_from_notebook.import_definitions_from_notebook",
      "line": 8,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 6,
      "name": "GPTDatasetV1",
      "line": 4,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 6,
      "name": "GPTDatasetV1.__init__",
      "line": 5,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 6,
      "name": "GPTDatasetV1.__len__",
      "line": 20,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 6,
      "name": "GPTDatasetV1.__getitem__",
      "line": 23,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/04_bonus_dataloader-intuition/dataloader-intuition.ipynb",
      "cell": 7,
      "name": "create_dataloader_v1",
      "line": 1,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple",
      "line": 5,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.__init__",
      "line": 6,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.train",
      "line": 14,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.encode",
      "line": 83,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.tokenize_with_bpe",
      "line": 116,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.decode",
      "line": 155,
      "end_line": 175,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.get_special_token_id",
      "line": 178,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.find_freq_pair",
      "line": 182,
      "end_line": 194,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch-simple.ipynb",
      "cell": 23,
      "name": "BPETokenizerSimple.replace_pair",
      "line": 197,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple",
      "line": 7,
      "end_line": 435,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.__init__",
      "line": 8,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.train",
      "line": 20,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.load_vocab_and_merges_from_openai",
      "line": 74,
      "end_line": 126,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.encode",
      "line": 129,
      "end_line": 199,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.tokenize_with_bpe",
      "line": 201,
      "end_line": 284,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.decode",
      "line": 286,
      "end_line": 311,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.save_vocab_and_merges",
      "line": 313,
      "end_line": 329,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.load_vocab_and_merges",
      "line": 331,
      "end_line": 351,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.get_special_token_id",
      "line": 354,
      "end_line": 355,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.pretokenize_text",
      "line": 358,
      "end_line": 396,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.find_freq_pair",
      "line": 399,
      "end_line": 414,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 22,
      "name": "BPETokenizerSimple.replace_pair",
      "line": 417,
      "end_line": 435,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.4"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.5"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/bpe-from-scratch.ipynb",
      "cell": 28,
      "name": "download_file_if_absent",
      "line": 4,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "import_definitions_from_notebook",
      "line": 11,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "imported_module",
      "line": 39,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "verdict_file",
      "line": 46,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "gpt2_files",
      "line": 64,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_tokenizer_training",
      "line": 79,
      "end_line": 105,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_gpt2_tokenizer_openai_simple",
      "line": 108,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_gpt2_tokenizer_openai_edgecases",
      "line": 123,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_gpt2_newline_and_eot_ids",
      "line": 163,
      "end_line": 182,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_no_eot_aliasing_and_disallowed_logic",
      "line": 185,
      "end_line": 201,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_newline_roundtrip_and_equivalence",
      "line": 214,
      "end_line": 231,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_space_newline_space_patterns",
      "line": 234,
      "end_line": 247,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/05_bpe-from-scratch/tests.py",
      "cell": null,
      "name": "test_multiple_leading_spaces_roundtrip",
      "line": 250,
      "end_line": 258,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.6"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.7"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 3,
      "name": "SimpleTokenizerV2",
      "line": 4,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 3,
      "name": "SimpleTokenizerV2.__init__",
      "line": 5,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 3,
      "name": "SimpleTokenizerV2.encode",
      "line": 9,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 3,
      "name": "SimpleTokenizerV2.decode",
      "line": 18,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 6,
      "name": "SimpleTokenizerV3",
      "line": 1,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 6,
      "name": "SimpleTokenizerV3.__init__",
      "line": 2,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 6,
      "name": "SimpleTokenizerV3.encode",
      "line": 6,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch02/06_bonus_simple-tokenizer-v3/simple-tokenizer-v3.ipynb",
      "cell": 6,
      "name": "SimpleTokenizerV3.decode",
      "line": 11,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.1"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 121,
      "name": "CausalAttention",
      "line": 1,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 121,
      "name": "CausalAttention.__init__",
      "line": 3,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 121,
      "name": "CausalAttention.forward",
      "line": 13,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.5"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 127,
      "name": "MultiHeadAttentionWrapper",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 127,
      "name": "MultiHeadAttentionWrapper.__init__",
      "line": 3,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 127,
      "name": "MultiHeadAttentionWrapper.forward",
      "line": 10,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 131,
      "name": "MultiHeadAttention",
      "line": 1,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 131,
      "name": "MultiHeadAttention.__init__",
      "line": 2,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 131,
      "name": "MultiHeadAttention.forward",
      "line": 22,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 35,
      "name": "softmax_naive",
      "line": 1,
      "end_line": 2,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.1"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 86,
      "name": "SelfAttention_v1",
      "line": 3,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 86,
      "name": "SelfAttention_v1.__init__",
      "line": 5,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 86,
      "name": "SelfAttention_v1.forward",
      "line": 11,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 89,
      "name": "SelfAttention_v2",
      "line": 1,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 89,
      "name": "SelfAttention_v2.__init__",
      "line": 3,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/ch03.ipynb",
      "cell": 89,
      "name": "SelfAttention_v2.forward",
      "line": 9,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "name": "SelfAttention_v1",
      "line": 3,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "name": "SelfAttention_v1.__init__",
      "line": 5,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 5,
      "name": "SelfAttention_v1.forward",
      "line": 12,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "SelfAttention_v2",
      "line": 1,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "SelfAttention_v2.__init__",
      "line": 3,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "SelfAttention_v2.forward",
      "line": 10,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.9"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 10,
      "name": "CausalSelfAttention",
      "line": 1,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 10,
      "name": "CausalSelfAttention.__init__",
      "line": 3,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 10,
      "name": "CausalSelfAttention.forward",
      "line": 12,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 10,
      "name": "MultiHeadAttentionWrapper",
      "line": 28,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 10,
      "name": "MultiHeadAttentionWrapper.__init__",
      "line": 29,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 10,
      "name": "MultiHeadAttentionWrapper.forward",
      "line": 37,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 13,
      "name": "MultiHeadAttention",
      "line": 1,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 13,
      "name": "MultiHeadAttention.__init__",
      "line": 2,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 13,
      "name": "MultiHeadAttention.forward",
      "line": 17,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1",
      "line": 7,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1.__init__",
      "line": 8,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1.__len__",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 5,
      "name": "GPTDatasetV1.__getitem__",
      "line": 25,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch03/01_main-chapter-code/multihead-attention.ipynb",
      "cell": 5,
      "name": "create_dataloader",
      "line": 29,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.9"
        },
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.10"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 12,
      "name": "MultiHeadAttentionCombinedQKV",
      "line": 4,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 12,
      "name": "MultiHeadAttentionCombinedQKV.__init__",
      "line": 5,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 12,
      "name": "MultiHeadAttentionCombinedQKV.forward",
      "line": 22,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 14,
      "name": "MHAEinsum",
      "line": 4,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 14,
      "name": "MHAEinsum.__init__",
      "line": 6,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 14,
      "name": "MHAEinsum.reset_parameters",
      "line": 33,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 14,
      "name": "MHAEinsum.forward",
      "line": 44,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.2"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 17,
      "name": "MHAPyTorchScaledDotProduct",
      "line": 1,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 17,
      "name": "MHAPyTorchScaledDotProduct.__init__",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 17,
      "name": "MHAPyTorchScaledDotProduct.forward",
      "line": 16,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 20,
      "name": "MHAPyTorchSDPAWithoutFlash",
      "line": 1,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 20,
      "name": "MHAPyTorchSDPAWithoutFlash.__init__",
      "line": 2,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 20,
      "name": "MHAPyTorchSDPAWithoutFlash.forward",
      "line": 17,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 24,
      "name": "MHAPyTorchClass",
      "line": 4,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 24,
      "name": "MHAPyTorchClass.__init__",
      "line": 5,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 24,
      "name": "MHAPyTorchClass.forward",
      "line": 22,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.4"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 29,
      "name": "normalize_version",
      "line": 3,
      "end_line": 5,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 30,
      "name": "causal",
      "line": 5,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 30,
      "name": "MHAPyTorchFlexAttention",
      "line": 9,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 30,
      "name": "MHAPyTorchFlexAttention.__init__",
      "line": 11,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 30,
      "name": "MHAPyTorchFlexAttention.forward",
      "line": 30,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.5"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 60,
      "name": "plot_execution_times",
      "line": 15,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 62,
      "name": "time_pytorch_function",
      "line": 7,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 65,
      "name": "forward_backward",
      "line": 1,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 65,
      "name": "time_pytorch_function_forward_backward",
      "line": 10,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 68,
      "name": "prepare_function",
      "line": 4,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.7"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 7,
      "name": "CausalAttention",
      "line": 3,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 7,
      "name": "CausalAttention.__init__",
      "line": 5,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 7,
      "name": "CausalAttention.forward",
      "line": 14,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 7,
      "name": "Ch03_MHA_Wrapper",
      "line": 30,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 7,
      "name": "Ch03_MHA_Wrapper.__init__",
      "line": 32,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 7,
      "name": "Ch03_MHA_Wrapper.forward",
      "line": 40,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 9,
      "name": "Ch03_MHA",
      "line": 1,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 9,
      "name": "Ch03_MHA.__init__",
      "line": 2,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/mha-implementations.ipynb",
      "cell": 9,
      "name": "Ch03_MHA.forward",
      "line": 17,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.8"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/tests/test_mha_implementations.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 10,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.9"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/tests/test_mha_implementations.py",
      "cell": null,
      "name": "copy_weights",
      "line": 16,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.9"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/tests/test_mha_implementations.py",
      "cell": null,
      "name": "test_mha_einsum_matches_ch03",
      "line": 34,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.9"
        }
      ]
    },
    {
      "source": "ch03/02_bonus_efficient-multihead-attention/tests/test_mha_implementations.py",
      "cell": null,
      "name": "test_sdpa_without_flash_does_not_attend_to_future_tokens",
      "line": 66,
      "end_line": 85,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.9"
        }
      ]
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 22,
      "name": "CausalAttentionWithBuffer",
      "line": 4,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ]
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 22,
      "name": "CausalAttentionWithBuffer.__init__",
      "line": 6,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ]
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 22,
      "name": "CausalAttentionWithBuffer.forward",
      "line": 20,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ]
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 5,
      "name": "CausalAttentionWithoutBuffers",
      "line": 4,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ]
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 5,
      "name": "CausalAttentionWithoutBuffers.__init__",
      "line": 6,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ]
    },
    {
      "source": "ch03/03_understanding-buffers/understanding-buffers.ipynb",
      "cell": 5,
      "name": "CausalAttentionWithoutBuffers.forward",
      "line": 16,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.6"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyGPTModel",
      "line": 5,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyGPTModel.__init__",
      "line": 6,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyGPTModel.forward",
      "line": 22,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyTransformerBlock",
      "line": 34,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyTransformerBlock.__init__",
      "line": 35,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyTransformerBlock.forward",
      "line": 39,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyLayerNorm",
      "line": 44,
      "end_line": 51,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyLayerNorm.__init__",
      "line": 45,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 13,
      "name": "DummyLayerNorm.forward",
      "line": 49,
      "end_line": 51,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 32,
      "name": "LayerNorm",
      "line": 1,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 32,
      "name": "LayerNorm.__init__",
      "line": 2,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 32,
      "name": "LayerNorm.forward",
      "line": 8,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 41,
      "name": "GELU",
      "line": 1,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 41,
      "name": "GELU.__init__",
      "line": 2,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 41,
      "name": "GELU.forward",
      "line": 5,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 44,
      "name": "FeedForward",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 44,
      "name": "FeedForward.__init__",
      "line": 2,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 44,
      "name": "FeedForward.forward",
      "line": 10,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 53,
      "name": "ExampleDeepNeuralNetwork",
      "line": 1,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 53,
      "name": "ExampleDeepNeuralNetwork.__init__",
      "line": 2,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 53,
      "name": "ExampleDeepNeuralNetwork.forward",
      "line": 13,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 53,
      "name": "print_gradients",
      "line": 25,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 61,
      "name": "TransformerBlock",
      "line": 10,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 61,
      "name": "TransformerBlock.__init__",
      "line": 11,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 61,
      "name": "TransformerBlock.forward",
      "line": 25,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 70,
      "name": "GPTModel",
      "line": 1,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 70,
      "name": "GPTModel.__init__",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 70,
      "name": "GPTModel.forward",
      "line": 16,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/ch04.ipynb",
      "cell": 87,
      "name": "generate_text_simple",
      "line": 1,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "name": "get_config",
      "line": 12,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 11,
      "name": "calculate_size",
      "line": 41,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "name": "TransformerBlock",
      "line": 5,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "name": "TransformerBlock.__init__",
      "line": 6,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "name": "TransformerBlock.forward",
      "line": 20,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "name": "GPTModel",
      "line": 38,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "name": "GPTModel.__init__",
      "line": 39,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 15,
      "name": "GPTModel.forward",
      "line": 51,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 15,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 16,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 30,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 33,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 37,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 55,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 56,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 71,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 114,
      "end_line": 125,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 115,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 121,
      "end_line": 125,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GELU",
      "line": 128,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 129,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 132,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "FeedForward",
      "line": 139,
      "end_line": 149,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 140,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 148,
      "end_line": 149,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 152,
      "end_line": 182,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 153,
      "end_line": 165,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 167,
      "end_line": 182,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GPTModel",
      "line": 185,
      "end_line": 207,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 186,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 198,
      "end_line": 207,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 210,
      "end_line": 233,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/gpt.py",
      "cell": null,
      "name": "main",
      "line": 236,
      "end_line": 273,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.1"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.4"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.7"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.8"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 12,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 13,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 27,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 30,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 34,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 49,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 50,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 65,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch04/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "test_main",
      "line": 31,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.8"
        }
      ]
    },
    {
      "source": "ch04/02_performance-analysis/flops-analysis.ipynb",
      "cell": 15,
      "name": "get_gpu_model",
      "line": 3,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/07-costs-flops-memory.md",
          "section": "7.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/README.md",
      "cell": "fence-1",
      "name": "forward",
      "line": 1,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/README.md",
      "cell": "fence-2",
      "name": "reset_cache",
      "line": 1,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/README.md",
      "cell": "fence-4",
      "name": "forward",
      "line": 1,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/README.md",
      "cell": "fence-6",
      "name": "reset_kv_cache",
      "line": 1,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/README.md",
      "cell": "fence-7",
      "name": "generate_text_simple_cached",
      "line": 1,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 14,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 15,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 34,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 77,
      "end_line": 88,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 78,
      "end_line": 82,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 84,
      "end_line": 88,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "GELU",
      "line": 91,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 92,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 95,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "FeedForward",
      "line": 102,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 103,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 111,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 115,
      "end_line": 145,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 116,
      "end_line": 128,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 130,
      "end_line": 145,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "GPTModel",
      "line": 148,
      "end_line": 170,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 149,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 161,
      "end_line": 170,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 173,
      "end_line": 197,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_ch04.py",
      "cell": null,
      "name": "main",
      "line": 200,
      "end_line": 254,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 14,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 15,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 41,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 106,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 115,
      "end_line": 126,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 116,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 122,
      "end_line": 126,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "GELU",
      "line": 129,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 130,
      "end_line": 131,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 133,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "FeedForward",
      "line": 140,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 141,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 149,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 153,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 154,
      "end_line": 166,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 168,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "GPTModel",
      "line": 192,
      "end_line": 248,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 193,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 212,
      "end_line": 241,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 245,
      "end_line": 248,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 252,
      "end_line": 275,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 280,
      "end_line": 305,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache.py",
      "cell": null,
      "name": "main",
      "line": 309,
      "end_line": 373,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 14,
      "end_line": 125,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 15,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 37,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 124,
      "end_line": 125,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 132,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 133,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 139,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "GELU",
      "line": 146,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 147,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 150,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "FeedForward",
      "line": 157,
      "end_line": 167,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 158,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 166,
      "end_line": 167,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 170,
      "end_line": 208,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 171,
      "end_line": 185,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 187,
      "end_line": 208,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "GPTModel",
      "line": 211,
      "end_line": 274,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 212,
      "end_line": 230,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 232,
      "end_line": 267,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 271,
      "end_line": 274,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 278,
      "end_line": 301,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 306,
      "end_line": 340,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/gpt_with_kv_cache_optimized.py",
      "cell": null,
      "name": "main",
      "line": 344,
      "end_line": 409,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.4"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.5"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.6"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.7"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.8"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/tests.py",
      "cell": null,
      "name": "test_gpt_model_equivalence_not_cached",
      "line": 32,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/tests.py",
      "cell": null,
      "name": "test_gpt_model_equivalence_cached",
      "line": 66,
      "end_line": 110,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/tests.py",
      "cell": null,
      "name": "test_context_overflow_bug",
      "line": 113,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ]
    },
    {
      "source": "ch04/03_kv-cache/tests.py",
      "cell": null,
      "name": "test_prefill_chunking_basic",
      "line": 150,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GroupedQueryAttention",
      "line": 20,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GroupedQueryAttention.__init__",
      "line": 21,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GroupedQueryAttention.forward",
      "line": 45,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GroupedQueryAttention.reset_cache",
      "line": 121,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 129,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 130,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 136,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GELU",
      "line": 143,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 144,
      "end_line": 145,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 147,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "FeedForward",
      "line": 154,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 155,
      "end_line": 161,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 163,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 167,
      "end_line": 203,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 168,
      "end_line": 180,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 182,
      "end_line": 203,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GPTModel",
      "line": 206,
      "end_line": 261,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 207,
      "end_line": 224,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 226,
      "end_line": 254,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 258,
      "end_line": 261,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 265,
      "end_line": 290,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_gqa.py",
      "cell": null,
      "name": "main",
      "line": 293,
      "end_line": 355,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 20,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 21,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 42,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 110,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.2"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 118,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 119,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 125,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU",
      "line": 132,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 133,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 136,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward",
      "line": 143,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 144,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 152,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 156,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 157,
      "end_line": 168,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 170,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel",
      "line": 194,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 195,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 214,
      "end_line": 242,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 246,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 253,
      "end_line": 278,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "main",
      "line": 281,
      "end_line": 341,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/memory_estimator_gqa.py",
      "cell": null,
      "name": "convert_bytes",
      "line": 21,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/memory_estimator_gqa.py",
      "cell": null,
      "name": "calc_kv_bytes_total",
      "line": 26,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/memory_estimator_gqa.py",
      "cell": null,
      "name": "main",
      "line": 33,
      "end_line": 97,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/plot_memory_estimates_gqa.py",
      "cell": null,
      "name": "bytes_convert",
      "line": 14,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/plot_memory_estimates_gqa.py",
      "cell": null,
      "name": "savings_percent",
      "line": 19,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/04_gqa/plot_memory_estimates_gqa.py",
      "cell": null,
      "name": "plot_abs_kv_vs_context_multi_groups",
      "line": 23,
      "end_line": 77,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 20,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 21,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 42,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 110,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 118,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 119,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 125,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU",
      "line": 132,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 133,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 136,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward",
      "line": 143,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 144,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 152,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 156,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 157,
      "end_line": 168,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 170,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel",
      "line": 194,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 195,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 214,
      "end_line": 242,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 246,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 253,
      "end_line": 278,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mha.py",
      "cell": null,
      "name": "main",
      "line": 281,
      "end_line": 341,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "MultiHeadLatentAttention",
      "line": 24,
      "end_line": 121,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "MultiHeadLatentAttention.__init__",
      "line": 25,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "MultiHeadLatentAttention.reset_cache",
      "line": 50,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "MultiHeadLatentAttention._reshape_to_heads",
      "line": 55,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "MultiHeadLatentAttention.forward",
      "line": 60,
      "end_line": 121,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.3"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 124,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 125,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 131,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "GELU",
      "line": 138,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 139,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 142,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "FeedForward",
      "line": 149,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 150,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 158,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 162,
      "end_line": 199,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 163,
      "end_line": 176,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 178,
      "end_line": 199,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "GPTModel",
      "line": 202,
      "end_line": 257,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 203,
      "end_line": 220,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 222,
      "end_line": 250,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 254,
      "end_line": 257,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 261,
      "end_line": 286,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/gpt_with_kv_mla.py",
      "cell": null,
      "name": "main",
      "line": 289,
      "end_line": 352,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/memory_estimator_mla.py",
      "cell": null,
      "name": "convert_bytes",
      "line": 20,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/memory_estimator_mla.py",
      "cell": null,
      "name": "calc_kv_bytes_total",
      "line": 25,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/memory_estimator_mla.py",
      "cell": null,
      "name": "calc_mla_bytes_total",
      "line": 33,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/memory_estimator_mla.py",
      "cell": null,
      "name": "main",
      "line": 39,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/plot_memory_estimates_mla.py",
      "cell": null,
      "name": "convert_bytes_to_gb",
      "line": 18,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/plot_memory_estimates_mla.py",
      "cell": null,
      "name": "calc_kv_bytes_total_mha",
      "line": 22,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/plot_memory_estimates_mla.py",
      "cell": null,
      "name": "calc_kv_bytes_total_mla",
      "line": 29,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/05_mla/plot_memory_estimates_mla.py",
      "cell": null,
      "name": "plot_abs_kv_vs_context_multiple",
      "line": 33,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 20,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 21,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 42,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 110,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 118,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 119,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 125,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU",
      "line": 132,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 133,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 136,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward",
      "line": 143,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 144,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 152,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 156,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 157,
      "end_line": 168,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 170,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel",
      "line": 194,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 195,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 214,
      "end_line": 242,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 246,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 253,
      "end_line": 278,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_mha.py",
      "cell": null,
      "name": "main",
      "line": 281,
      "end_line": 341,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithSWA",
      "line": 20,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithSWA.__init__",
      "line": 21,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithSWA.forward",
      "line": 43,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithSWA.reset_cache",
      "line": 135,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 143,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 144,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 150,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "GELU",
      "line": 157,
      "end_line": 165,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 158,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 161,
      "end_line": 165,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "FeedForward",
      "line": 168,
      "end_line": 178,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 169,
      "end_line": 175,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 177,
      "end_line": 178,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 181,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 182,
      "end_line": 195,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 197,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "GPTModel",
      "line": 221,
      "end_line": 290,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 222,
      "end_line": 253,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 255,
      "end_line": 283,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 287,
      "end_line": 290,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 294,
      "end_line": 319,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/gpt_with_kv_swa.py",
      "cell": null,
      "name": "main",
      "line": 322,
      "end_line": 386,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/memory_estimator_swa.py",
      "cell": null,
      "name": "convert_bytes",
      "line": 20,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/memory_estimator_swa.py",
      "cell": null,
      "name": "calc_kv_bytes_per_layer",
      "line": 25,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/memory_estimator_swa.py",
      "cell": null,
      "name": "parse_ratio",
      "line": 30,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/memory_estimator_swa.py",
      "cell": null,
      "name": "distribute_layers",
      "line": 41,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/memory_estimator_swa.py",
      "cell": null,
      "name": "estimate_totals",
      "line": 50,
      "end_line": 89,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/memory_estimator_swa.py",
      "cell": null,
      "name": "main",
      "line": 92,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "cell": null,
      "name": "convert_bytes_to_gb",
      "line": 27,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "cell": null,
      "name": "parse_ratio",
      "line": 31,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "cell": null,
      "name": "calc_kv_bytes_total_mha",
      "line": 42,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "cell": null,
      "name": "calc_kv_bytes_total_gqa",
      "line": 48,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "cell": null,
      "name": "calc_kv_bytes_total_mha_swa",
      "line": 57,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "cell": null,
      "name": "calc_kv_bytes_total_gqa_swa",
      "line": 75,
      "end_line": 101,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/plot_memory_estimates_swa.py",
      "cell": null,
      "name": "main",
      "line": 104,
      "end_line": 227,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/tests.py",
      "cell": null,
      "name": "test_cached_prefill_matches_uncached_swa",
      "line": 12,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/06_swa/tests.py",
      "cell": null,
      "name": "test_swa_matches_base_model_when_window_equals_context",
      "line": 37,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.1"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.2"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 23,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 24,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 45,
      "end_line": 111,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 113,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 121,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 122,
      "end_line": 126,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 128,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "GELU",
      "line": 135,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 136,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 139,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "FeedForward",
      "line": 159,
      "end_line": 167,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 160,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 166,
      "end_line": 167,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 170,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 171,
      "end_line": 183,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 185,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "GPTModel",
      "line": 220,
      "end_line": 275,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 221,
      "end_line": 238,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 240,
      "end_line": 268,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 272,
      "end_line": 275,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 279,
      "end_line": 341,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "generate_text_simple_cached.to_mb",
      "line": 337,
      "end_line": 338,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_ffn.py",
      "cell": null,
      "name": "main",
      "line": 344,
      "end_line": 412,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 23,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 24,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 45,
      "end_line": 111,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 113,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 121,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 122,
      "end_line": 126,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 128,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "GELU",
      "line": 135,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 136,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 139,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "FeedForward",
      "line": 146,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 147,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 155,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "MoEFeedForward",
      "line": 159,
      "end_line": 227,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.1"
        },
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.2"
        },
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.4"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "MoEFeedForward.__init__",
      "line": 160,
      "end_line": 184,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.1"
        },
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.2"
        },
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.4"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "MoEFeedForward.forward",
      "line": 186,
      "end_line": 227,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.1"
        },
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.2"
        },
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.4"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 230,
      "end_line": 277,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 231,
      "end_line": 243,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 245,
      "end_line": 277,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "GPTModel",
      "line": 280,
      "end_line": 335,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 281,
      "end_line": 298,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 300,
      "end_line": 328,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 332,
      "end_line": 335,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 339,
      "end_line": 401,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "generate_text_simple_cached.to_mb",
      "line": 397,
      "end_line": 398,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/gpt_with_kv_moe.py",
      "cell": null,
      "name": "main",
      "line": 404,
      "end_line": 487,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.5"
        }
      ]
    },
    {
      "source": "ch04/07_moe/memory_estimator_moe.py",
      "cell": null,
      "name": "convert_bytes",
      "line": 17,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/memory_estimator_moe.py",
      "cell": null,
      "name": "get_num_param_matrices",
      "line": 22,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/memory_estimator_moe.py",
      "cell": null,
      "name": "calc_ffn_params",
      "line": 31,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/memory_estimator_moe.py",
      "cell": null,
      "name": "calc_router_params",
      "line": 35,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/memory_estimator_moe.py",
      "cell": null,
      "name": "estimate_params_and_hidden",
      "line": 39,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/memory_estimator_moe.py",
      "cell": null,
      "name": "main",
      "line": 67,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/plot_memory_estimates_moe.py",
      "cell": null,
      "name": "calc_moe_active_and_total",
      "line": 16,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/plot_memory_estimates_moe.py",
      "cell": null,
      "name": "plot_active_params_vs_experts",
      "line": 42,
      "end_line": 90,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/07_moe/plot_memory_estimates_moe.py",
      "cell": null,
      "name": "main",
      "line": 93,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/12_moe.md",
          "section": "12.3"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "cell": "fence-0",
      "name": "GatedMultiHeadAttention",
      "line": 4,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "cell": "fence-0",
      "name": "GatedMultiHeadAttention.__init__",
      "line": 5,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "cell": "fence-0",
      "name": "GatedMultiHeadAttention.forward",
      "line": 32,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "cell": "fence-1",
      "name": "l2norm",
      "line": 5,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.2"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.4"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "cell": "fence-1",
      "name": "GatedDeltaNet",
      "line": 8,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.2"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.4"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "cell": "fence-1",
      "name": "GatedDeltaNet.__init__",
      "line": 9,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.2"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.4"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/README.md",
      "cell": "fence-1",
      "name": "GatedDeltaNet.forward",
      "line": 44,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.2"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.3"
        },
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.4"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/plot_memory_estimates_gated_deltanet.py",
      "cell": null,
      "name": "calc_kv_bytes_total_mha",
      "line": 20,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.5"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/plot_memory_estimates_gated_deltanet.py",
      "cell": null,
      "name": "calc_kv_bytes_total_deltanet_no_conv",
      "line": 27,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.5"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/plot_memory_estimates_gated_deltanet.py",
      "cell": null,
      "name": "convert_to_gb",
      "line": 34,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.5"
        }
      ]
    },
    {
      "source": "ch04/08_deltanet/plot_memory_estimates_gated_deltanet.py",
      "cell": null,
      "name": "main",
      "line": 38,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/11_gated_deltanet.md",
          "section": "11.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "LightningIndexer",
      "line": 39,
      "end_line": 106,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "LightningIndexer.__init__",
      "line": 56,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "LightningIndexer.forward",
      "line": 70,
      "end_line": 106,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithDSA",
      "line": 109,
      "end_line": 250,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithDSA.__init__",
      "line": 128,
      "end_line": 161,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithDSA.reset_cache",
      "line": 164,
      "end_line": 168,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "MultiHeadAttentionWithDSA.forward",
      "line": 170,
      "end_line": 250,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 256,
      "end_line": 267,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 257,
      "end_line": 261,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 263,
      "end_line": 267,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "GELU",
      "line": 270,
      "end_line": 278,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 271,
      "end_line": 272,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 274,
      "end_line": 278,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "FeedForward",
      "line": 281,
      "end_line": 291,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 282,
      "end_line": 288,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 290,
      "end_line": 291,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 294,
      "end_line": 332,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 295,
      "end_line": 310,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 312,
      "end_line": 332,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "GPTModel",
      "line": 335,
      "end_line": 385,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 336,
      "end_line": 351,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 353,
      "end_line": 378,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 382,
      "end_line": 385,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 389,
      "end_line": 414,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/gpt_with_kv_dsa.py",
      "cell": null,
      "name": "main",
      "line": 417,
      "end_line": 491,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "import_transformers_dsa_model",
      "line": 16,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "test_output_shape",
      "line": 26,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "test_causal_property",
      "line": 39,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "test_sparsity",
      "line": 58,
      "end_line": 82,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "test_indexer_matches_transformers_reference",
      "line": 89,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "test_cache_consistency",
      "line": 138,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "dense_attention_reference",
      "line": 163,
      "end_line": 178,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/09_dsa/test_dsa.py",
      "cell": null,
      "name": "test_topk_full_equals_dense",
      "line": 181,
      "end_line": 193,
      "locations": [
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.3"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.4"
        },
        {
          "chapter": "chapters/10_swa_dsa.md",
          "section": "10.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 20,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 21,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 42,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "MultiHeadAttention.reset_cache",
      "line": 110,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 118,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 119,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 125,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU",
      "line": 132,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 133,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 136,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward",
      "line": 143,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 144,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 152,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 156,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 157,
      "end_line": 168,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 170,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel",
      "line": 194,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 195,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 214,
      "end_line": 242,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 246,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 253,
      "end_line": 278,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_mha.py",
      "cell": null,
      "name": "main",
      "line": 281,
      "end_line": 344,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "MultiHeadAttentionWithKVSharing",
      "line": 20,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "MultiHeadAttentionWithKVSharing.__init__",
      "line": 21,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "MultiHeadAttentionWithKVSharing.forward",
      "line": 42,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "MultiHeadAttentionWithKVSharing.reset_cache",
      "line": 120,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 128,
      "end_line": 139,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 129,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 135,
      "end_line": 139,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "GELU",
      "line": 142,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 143,
      "end_line": 144,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 146,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "FeedForward",
      "line": 153,
      "end_line": 163,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 154,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 162,
      "end_line": 163,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 166,
      "end_line": 201,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 167,
      "end_line": 178,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 180,
      "end_line": 201,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "GPTModel",
      "line": 204,
      "end_line": 266,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 205,
      "end_line": 225,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 227,
      "end_line": 259,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 263,
      "end_line": 266,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "generate_text_simple_cached",
      "line": 270,
      "end_line": 295,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/gpt_with_kv_sharing.py",
      "cell": null,
      "name": "main",
      "line": 298,
      "end_line": 363,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/memory_estimator_kv_sharing.py",
      "cell": null,
      "name": "convert_bytes",
      "line": 20,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/memory_estimator_kv_sharing.py",
      "cell": null,
      "name": "calc_kv_bytes_total",
      "line": 25,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/memory_estimator_kv_sharing.py",
      "cell": null,
      "name": "main",
      "line": 32,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "cell": null,
      "name": "bytes_to_gb",
      "line": 40,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "cell": null,
      "name": "context_tick_formatter",
      "line": 44,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "cell": null,
      "name": "calc_kv_bytes_total",
      "line": 56,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "cell": null,
      "name": "compute_kv_curve",
      "line": 75,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "cell": null,
      "name": "add_end_label",
      "line": 97,
      "end_line": 107,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/plot_memory_estimates_kv_sharing.py",
      "cell": null,
      "name": "main",
      "line": 110,
      "end_line": 245,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.1"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.5"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/tests.py",
      "cell": null,
      "name": "test_kv_sharing_matches_mha_when_all_layers_produce_kv",
      "line": 10,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.6"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/tests.py",
      "cell": null,
      "name": "test_only_producer_layers_store_kv_cache",
      "line": 55,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.6"
        }
      ]
    },
    {
      "source": "ch04/10_kv-sharing/tests.py",
      "cell": null,
      "name": "test_memory_estimator_counts_cached_layers",
      "line": 84,
      "end_line": 103,
      "locations": [
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.4"
        },
        {
          "chapter": "chapters/09_gqa_mla_kv_sharing.md",
          "section": "09.6"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 114,
      "name": "generate",
      "line": 1,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 142,
      "name": "assign",
      "line": 1,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 143,
      "name": "load_weights_into_gpt",
      "line": 3,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.4"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 15,
      "name": "text_to_token_ids",
      "line": 7,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 15,
      "name": "token_ids_to_text",
      "line": 12,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 69,
      "name": "calc_loss_batch",
      "line": 1,
      "end_line": 5,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 69,
      "name": "calc_loss_loader",
      "line": 8,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 75,
      "name": "train_model_simple",
      "line": 1,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 75,
      "name": "evaluate_model",
      "line": 37,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 75,
      "name": "generate_and_print_sample",
      "line": 46,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 79,
      "name": "plot_losses",
      "line": 5,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 94,
      "name": "print_sampled_tokens",
      "line": 1,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/ch05.ipynb",
      "cell": 97,
      "name": "softmax_with_temperature",
      "line": 1,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "print_sampled_tokens",
      "line": 20,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 6,
      "name": "softmax_with_temperature",
      "line": 28,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.4"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 16,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file",
      "line": 48,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file._attempt_download",
      "line": 49,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 126,
      "end_line": 152,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 21,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 27,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 32,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "download_file",
      "line": 62,
      "end_line": 88,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 91,
      "end_line": 117,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "assign",
      "line": 120,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 126,
      "end_line": 184,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "generate",
      "line": 187,
      "end_line": 230,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_generate.py",
      "cell": null,
      "name": "main",
      "line": 233,
      "end_line": 254,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.1"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.2"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 17,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 23,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 28,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 35,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 52,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 61,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "train_model_simple",
      "line": 75,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.7"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "plot_losses",
      "line": 112,
      "end_line": 127,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/gpt_train.py",
      "cell": null,
      "name": "main",
      "line": 131,
      "end_line": 202,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.4"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.1"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 20,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 21,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 35,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 38,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 42,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 60,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 61,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 76,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 119,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 120,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 126,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 133,
      "end_line": 141,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 134,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 137,
      "end_line": 141,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 144,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 145,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 153,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 157,
      "end_line": 187,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 158,
      "end_line": 170,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 172,
      "end_line": 187,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 190,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 191,
      "end_line": 201,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 203,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 215,
      "end_line": 238,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "gpt_config",
      "line": 13,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "other_settings",
      "line": 26,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "test_main",
      "line": 35,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "check_file_size",
      "line": 43,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "test_model_files",
      "line": 63,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "test_model_files.check_model_files",
      "line": 64,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        }
      ]
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 10,
      "name": "load_weights_into_gpt",
      "line": 1,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ]
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-safetensors.ipynb",
      "cell": 9,
      "name": "assign",
      "line": 1,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ]
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 8,
      "name": "assign_check",
      "line": 1,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ]
    },
    {
      "source": "ch05/02_alternative_weight_loading/weight-loading-hf-transformers.ipynb",
      "cell": 9,
      "name": "load_weights",
      "line": 4,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/prepare_dataset.py",
      "cell": null,
      "name": "is_english",
      "line": 17,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.2"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/prepare_dataset.py",
      "cell": null,
      "name": "combine_files",
      "line": 22,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.2"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.3"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/pretraining_simple.py",
      "cell": null,
      "name": "read_text_file",
      "line": 28,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.5"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/pretraining_simple.py",
      "cell": null,
      "name": "create_dataloaders",
      "line": 34,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.5"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/pretraining_simple.py",
      "cell": null,
      "name": "convert_time",
      "line": 57,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.7"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/pretraining_simple.py",
      "cell": null,
      "name": "print_eta",
      "line": 63,
      "end_line": 77,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.7"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/pretraining_simple.py",
      "cell": null,
      "name": "train_model_simple",
      "line": 80,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.5"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.6"
        },
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.7"
        }
      ]
    },
    {
      "source": "ch05/03_bonus_pretraining_on_gutenberg/tests.py",
      "cell": null,
      "name": "test_pretraining",
      "line": 13,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/16-corpus-gutenberg.md",
          "section": "16.8"
        }
      ]
    },
    {
      "source": "ch05/05_bonus_hparam_tuning/hparam_search.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 31,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "ch05/05_bonus_hparam_tuning/hparam_search.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 48,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "ch05/05_bonus_hparam_tuning/hparam_search.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 57,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/05_bonus_hparam_tuning/hparam_search.py",
      "cell": null,
      "name": "train_model",
      "line": 66,
      "end_line": 110,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        }
      ]
    },
    {
      "source": "ch05/06_user_interface/app_orig.py",
      "cell": null,
      "name": "get_model_and_tokenizer",
      "line": 24,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.1"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.2"
        }
      ]
    },
    {
      "source": "ch05/06_user_interface/app_orig.py",
      "cell": null,
      "name": "main",
      "line": 68,
      "end_line": 85,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ]
    },
    {
      "source": "ch05/06_user_interface/app_own.py",
      "cell": null,
      "name": "get_model_and_tokenizer",
      "line": 26,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.1"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.2"
        }
      ]
    },
    {
      "source": "ch05/06_user_interface/app_own.py",
      "cell": null,
      "name": "main",
      "line": 62,
      "end_line": 79,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 10,
      "name": "RMSNorm",
      "line": 23,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 10,
      "name": "RMSNorm.__init__",
      "line": 24,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 10,
      "name": "RMSNorm.forward",
      "line": 30,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 15,
      "name": "SiLU",
      "line": 16,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 15,
      "name": "SiLU.__init__",
      "line": 17,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 15,
      "name": "SiLU.forward",
      "line": 20,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 20,
      "name": "FeedForward",
      "line": 1,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 20,
      "name": "FeedForward.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 20,
      "name": "FeedForward.forward",
      "line": 9,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 24,
      "name": "precompute_rope_params",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 24,
      "name": "compute_rope",
      "line": 22,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 29,
      "name": "MultiHeadAttention",
      "line": 4,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 29,
      "name": "MultiHeadAttention.__init__",
      "line": 5,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 29,
      "name": "MultiHeadAttention.forward",
      "line": 30,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 34,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 34,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 34,
      "name": "TransformerBlock.forward",
      "line": 24,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 37,
      "name": "Llama2Model",
      "line": 2,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 37,
      "name": "Llama2Model.__init__",
      "line": 3,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 37,
      "name": "Llama2Model.forward",
      "line": 18,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 49,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 60,
      "name": "LlamaTokenizer",
      "line": 4,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 60,
      "name": "LlamaTokenizer.__init__",
      "line": 5,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 60,
      "name": "LlamaTokenizer.encode",
      "line": 10,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 60,
      "name": "LlamaTokenizer.decode",
      "line": 13,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 71,
      "name": "assign",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 71,
      "name": "permute",
      "line": 14,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-gpt-to-llama2.ipynb",
      "cell": 71,
      "name": "load_weights_into_llama",
      "line": 20,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 106,
      "name": "count_unique_parameters",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 11,
      "name": "import_from_notebook",
      "line": 7,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 11,
      "name": "import_from_notebook.import_definitions_from_notebook",
      "line": 8,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 17,
      "name": "precompute_rope_params",
      "line": 3,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 26,
      "name": "GroupedQueryAttention",
      "line": 4,
      "end_line": 101,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 26,
      "name": "GroupedQueryAttention.__init__",
      "line": 5,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 26,
      "name": "GroupedQueryAttention.forward",
      "line": 31,
      "end_line": 101,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 36,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 36,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 36,
      "name": "TransformerBlock.forward",
      "line": 15,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 39,
      "name": "Llama3Model",
      "line": 2,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 39,
      "name": "Llama3Model.__init__",
      "line": 3,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 39,
      "name": "Llama3Model.forward",
      "line": 27,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 49,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 54,
      "name": "Tokenizer",
      "line": 7,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 54,
      "name": "Tokenizer.__init__",
      "line": 9,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 54,
      "name": "Tokenizer.encode",
      "line": 40,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 54,
      "name": "Tokenizer.decode",
      "line": 47,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 72,
      "name": "assign",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 72,
      "name": "load_weights_into_llama",
      "line": 14,
      "end_line": 75,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 80,
      "name": "ChatFormat",
      "line": 1,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 80,
      "name": "ChatFormat.__init__",
      "line": 3,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 80,
      "name": "ChatFormat._header",
      "line": 8,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 80,
      "name": "ChatFormat.encode",
      "line": 17,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/converting-llama2-to-llama3.ipynb",
      "cell": 85,
      "name": "clean_text",
      "line": 15,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/previous_chapters.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 16,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/previous_chapters.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 22,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/previous_chapters.py",
      "cell": null,
      "name": "generate",
      "line": 27,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 10,
      "name": "Llama3Model",
      "line": 1,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 10,
      "name": "Llama3Model.__init__",
      "line": 2,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 10,
      "name": "Llama3Model.forward",
      "line": 27,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 15,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "Tokenizer",
      "line": 9,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "Tokenizer.__init__",
      "line": 11,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "Tokenizer.encode",
      "line": 42,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "Tokenizer.decode",
      "line": 49,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "ChatFormat",
      "line": 53,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "ChatFormat.__init__",
      "line": 55,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "ChatFormat._header",
      "line": 60,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 19,
      "name": "ChatFormat.encode",
      "line": 69,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 25,
      "name": "assign",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 25,
      "name": "load_weights_into_llama",
      "line": 14,
      "end_line": 75,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 27,
      "name": "count_unique_parameters",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 31,
      "name": "text_to_token_ids",
      "line": 1,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 31,
      "name": "token_ids_to_text",
      "line": 7,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 31,
      "name": "generate",
      "line": 12,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 32,
      "name": "clean_text",
      "line": 29,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 6,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 6,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 6,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 7,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 7,
      "name": "apply_rope",
      "line": 46,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 8,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 8,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 8,
      "name": "GroupedQueryAttention.forward",
      "line": 23,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 9,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 9,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/standalone-llama32.ipynb",
      "cell": 9,
      "name": "TransformerBlock.forward",
      "line": 15,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.6"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/test_llama32_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/test_llama32_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/test_llama32_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/test_llama32_nb.py",
      "cell": null,
      "name": "test_dummy_llama3_forward",
      "line": 54,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/test_llama32_nb.py",
      "cell": null,
      "name": "test_llama3_base_equivalence_with_transformers",
      "line": 63,
      "end_line": 116,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "litgpt_build_rope_cache",
      "line": 27,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "litgpt_apply_rope",
      "line": 79,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "notebook",
      "line": 96,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "notebook.import_definitions_from_notebook",
      "line": 97,
      "end_line": 128,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "set_seed",
      "line": 139,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama2",
      "line": 143,
      "end_line": 204,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama2.RoPEConfig",
      "line": 174,
      "end_line": 183,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama2.RoPEConfig.standardize_rope_params",
      "line": 182,
      "end_line": 183,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama3",
      "line": 207,
      "end_line": 274,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama3.RoPEConfig",
      "line": 243,
      "end_line": 252,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama3.RoPEConfig.standardize_rope_params",
      "line": 251,
      "end_line": 252,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama3_12",
      "line": 277,
      "end_line": 368,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama3_12.RoPEConfig",
      "line": 322,
      "end_line": 334,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rope_llama3_12.RoPEConfig.standardize_rope_params",
      "line": 333,
      "end_line": 334,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_silu",
      "line": 371,
      "end_line": 374,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/07_gpt_to_llama/tests/tests_rope_and_parts.py",
      "cell": null,
      "name": "test_rmsnorm",
      "line": 378,
      "end_line": 383,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.8"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 35,
      "name": "memory_usage_in_gb",
      "line": 6,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 35,
      "name": "memory_usage_in_gb.monitor_memory",
      "line": 16,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 37,
      "name": "load_sequentially",
      "line": 1,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 39,
      "name": "load_sequentially_with_meta",
      "line": 1,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 41,
      "name": "baseline",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.6"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 45,
      "name": "best_practices",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.8"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 50,
      "name": "load_individual_weights",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.7"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 7,
      "name": "start_memory_tracking",
      "line": 6,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 7,
      "name": "print_memory_usage",
      "line": 13,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/memory-efficient-state-dict.ipynb",
      "cell": 7,
      "name": "cleanup",
      "line": 17,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.9"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 18,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 19,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 34,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 77,
      "end_line": 88,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 78,
      "end_line": 82,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 84,
      "end_line": 88,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 91,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 92,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 95,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 102,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 103,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 111,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 115,
      "end_line": 145,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 116,
      "end_line": 128,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 130,
      "end_line": 145,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 148,
      "end_line": 170,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 149,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/08_memory_efficient_weight_loading/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 161,
      "end_line": 170,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 22,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 23,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 37,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 40,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 44,
      "end_line": 56,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 62,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 63,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 78,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 121,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 122,
      "end_line": 126,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 128,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GELU",
      "line": 135,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 136,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 139,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "FeedForward",
      "line": 146,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 147,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 155,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 159,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 160,
      "end_line": 172,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 174,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GPTModel",
      "line": 192,
      "end_line": 214,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 193,
      "end_line": 203,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 205,
      "end_line": 214,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 217,
      "end_line": 240,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 247,
      "end_line": 250,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 253,
      "end_line": 255,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 258,
      "end_line": 262,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 265,
      "end_line": 279,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 282,
      "end_line": 288,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 291,
      "end_line": 302,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "train_model_simple_with_timing",
      "line": 305,
      "end_line": 384,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "plot_losses",
      "line": 387,
      "end_line": 402,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/00_orig.py",
      "cell": null,
      "name": "main",
      "line": 410,
      "end_line": 493,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 22,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 23,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 37,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 40,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 44,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention",
      "line": 64,
      "end_line": 103,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention.__init__",
      "line": 65,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention.forward",
      "line": 78,
      "end_line": 103,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "FeedForward",
      "line": 111,
      "end_line": 121,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 112,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 120,
      "end_line": 121,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 124,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 125,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 138,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "GPTModel",
      "line": 156,
      "end_line": 178,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 157,
      "end_line": 167,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 169,
      "end_line": 178,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 181,
      "end_line": 204,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 211,
      "end_line": 214,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 217,
      "end_line": 219,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 222,
      "end_line": 226,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 229,
      "end_line": 243,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 246,
      "end_line": 252,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 255,
      "end_line": 266,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "train_model_simple_with_timing",
      "line": 269,
      "end_line": 348,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "plot_losses",
      "line": 351,
      "end_line": 366,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/01_opt_single_gpu.py",
      "cell": null,
      "name": "main",
      "line": 374,
      "end_line": 468,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "ddp_setup",
      "line": 27,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 58,
      "end_line": 77,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 59,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 73,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 76,
      "end_line": 77,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 82,
      "end_line": 101,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention",
      "line": 107,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention.__init__",
      "line": 108,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention.forward",
      "line": 121,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "FeedForward",
      "line": 154,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 155,
      "end_line": 161,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 163,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 167,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 168,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 181,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "GPTModel",
      "line": 199,
      "end_line": 221,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 200,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 212,
      "end_line": 221,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 224,
      "end_line": 247,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 254,
      "end_line": 257,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 260,
      "end_line": 262,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 265,
      "end_line": 269,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 272,
      "end_line": 286,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 289,
      "end_line": 295,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 298,
      "end_line": 311,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "train_model_simple_with_timing",
      "line": 314,
      "end_line": 413,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "plot_losses",
      "line": 416,
      "end_line": 431,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/10_llm-training-speed/02_opt_multi_gpu_ddp.py",
      "cell": null,
      "name": "main",
      "line": 440,
      "end_line": 546,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.1"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.2"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.3"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.4"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.5"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.6"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.7"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.8"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "cell": null,
      "name": "get_qwen_config",
      "line": 33,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "cell": null,
      "name": "build_repo_and_local",
      "line": 53,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "cell": null,
      "name": "get_device",
      "line": 60,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "cell": null,
      "name": "get_model_and_tokenizer",
      "line": 76,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "cell": null,
      "name": "build_prompt_from_history",
      "line": 99,
      "end_line": 111,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "cell": null,
      "name": "on_start",
      "line": 125,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface-multiturn.py",
      "cell": null,
      "name": "main",
      "line": 133,
      "end_line": 173,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "cell": null,
      "name": "get_qwen_config",
      "line": 32,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "cell": null,
      "name": "build_repo_and_local",
      "line": 52,
      "end_line": 56,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "cell": null,
      "name": "get_device",
      "line": 59,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "cell": null,
      "name": "get_model_and_tokenizer",
      "line": 75,
      "end_line": 95,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "cell": null,
      "name": "on_start",
      "line": 105,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/qwen3-chat-interface/qwen3-chat-interface.py",
      "cell": null,
      "name": "main",
      "line": 113,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 10,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 10,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 10,
      "name": "TransformerBlock.forward",
      "line": 19,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 11,
      "name": "Qwen3Model",
      "line": 1,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 11,
      "name": "Qwen3Model.__init__",
      "line": 2,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 11,
      "name": "Qwen3Model.forward",
      "line": 31,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 11,
      "name": "Qwen3Model.reset_kv_cache",
      "line": 69,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 12,
      "name": "KVCache",
      "line": 1,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 12,
      "name": "KVCache.__init__",
      "line": 2,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 12,
      "name": "KVCache.get",
      "line": 5,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 12,
      "name": "KVCache.update",
      "line": 8,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 12,
      "name": "KVCache.get_all",
      "line": 11,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 12,
      "name": "KVCache.reset",
      "line": 14,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 20,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 23,
      "name": "load_weights_into_qwen",
      "line": 1,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 23,
      "name": "load_weights_into_qwen.assign",
      "line": 2,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 26,
      "name": "Qwen3Tokenizer",
      "line": 4,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 26,
      "name": "Qwen3Tokenizer.__init__",
      "line": 17,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 26,
      "name": "Qwen3Tokenizer.encode",
      "line": 42,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 26,
      "name": "Qwen3Tokenizer.decode",
      "line": 61,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 26,
      "name": "Qwen3Tokenizer._wrap_chat",
      "line": 64,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 30,
      "name": "generate_text_basic_stream",
      "line": 4,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 6,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 6,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 6,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 6,
      "name": "MoEFeedForward",
      "line": 19,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 6,
      "name": "MoEFeedForward.__init__",
      "line": 20,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 6,
      "name": "MoEFeedForward.forward",
      "line": 34,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 7,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 7,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 7,
      "name": "RMSNorm.forward",
      "line": 9,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 8,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 8,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe-plus-kvcache.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention.forward",
      "line": 31,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 10,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 10,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 10,
      "name": "TransformerBlock.forward",
      "line": 19,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 11,
      "name": "Qwen3Model",
      "line": 1,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 11,
      "name": "Qwen3Model.__init__",
      "line": 2,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 11,
      "name": "Qwen3Model.forward",
      "line": 30,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 19,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 22,
      "name": "load_weights_into_qwen",
      "line": 1,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 22,
      "name": "load_weights_into_qwen.assign",
      "line": 2,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 25,
      "name": "Qwen3Tokenizer",
      "line": 4,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 25,
      "name": "Qwen3Tokenizer.__init__",
      "line": 17,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 25,
      "name": "Qwen3Tokenizer.encode",
      "line": 42,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 25,
      "name": "Qwen3Tokenizer.decode",
      "line": 61,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 25,
      "name": "Qwen3Tokenizer._wrap_chat",
      "line": 64,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 29,
      "name": "generate_text_basic_stream",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 6,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 6,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 6,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 6,
      "name": "MoEFeedForward",
      "line": 19,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 6,
      "name": "MoEFeedForward.__init__",
      "line": 20,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 6,
      "name": "MoEFeedForward.forward",
      "line": 34,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 7,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 7,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 7,
      "name": "RMSNorm.forward",
      "line": 9,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 8,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 8,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-moe.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention.forward",
      "line": 31,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 10,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 10,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.forward",
      "line": 31,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 12,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 12,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 12,
      "name": "TransformerBlock.forward",
      "line": 16,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Qwen3Model",
      "line": 1,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Qwen3Model.__init__",
      "line": 2,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Qwen3Model.forward",
      "line": 29,
      "end_line": 65,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Qwen3Model.reset_kv_cache",
      "line": 67,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 14,
      "name": "KVCache",
      "line": 1,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 14,
      "name": "KVCache.__init__",
      "line": 2,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 14,
      "name": "KVCache.get",
      "line": 5,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 14,
      "name": "KVCache.update",
      "line": 8,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 14,
      "name": "KVCache.get_all",
      "line": 11,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 14,
      "name": "KVCache.reset",
      "line": 14,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 22,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "load_weights_into_qwen",
      "line": 1,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "load_weights_into_qwen.assign",
      "line": 2,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 28,
      "name": "Qwen3Tokenizer",
      "line": 4,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 28,
      "name": "Qwen3Tokenizer.__init__",
      "line": 17,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 28,
      "name": "Qwen3Tokenizer.encode",
      "line": 42,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 28,
      "name": "Qwen3Tokenizer.decode",
      "line": 61,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 28,
      "name": "Qwen3Tokenizer._wrap_chat",
      "line": 64,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 32,
      "name": "generate_text_basic_stream",
      "line": 4,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 33,
      "name": "calc_gpu_gb",
      "line": 30,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 8,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 8,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 8,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 9,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 9,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3-plus-kvcache.ipynb",
      "cell": 9,
      "name": "RMSNorm.forward",
      "line": 9,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 10,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 10,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.forward",
      "line": 31,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 12,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 12,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 12,
      "name": "TransformerBlock.forward",
      "line": 16,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 13,
      "name": "Qwen3Model",
      "line": 1,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 13,
      "name": "Qwen3Model.__init__",
      "line": 2,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 13,
      "name": "Qwen3Model.forward",
      "line": 30,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 21,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 24,
      "name": "load_weights_into_qwen",
      "line": 1,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 24,
      "name": "load_weights_into_qwen.assign",
      "line": 2,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 27,
      "name": "Qwen3Tokenizer",
      "line": 4,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 27,
      "name": "Qwen3Tokenizer.__init__",
      "line": 17,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 27,
      "name": "Qwen3Tokenizer.encode",
      "line": 42,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 27,
      "name": "Qwen3Tokenizer.decode",
      "line": 61,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 27,
      "name": "Qwen3Tokenizer._wrap_chat",
      "line": 64,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 31,
      "name": "generate_text_basic_stream",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 32,
      "name": "calc_gpu_gb",
      "line": 30,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 8,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 8,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 8,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 9,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 9,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/standalone-qwen3.ipynb",
      "cell": 9,
      "name": "RMSNorm.forward",
      "line": 9,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "dummy_cfg_moe",
      "line": 50,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "context_model_setup",
      "line": 61,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "test_notebook_overlong_prompt_reports_context_limit",
      "line": 75,
      "end_line": 79,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "test_notebook_rejected_decode_preserves_cache",
      "line": 83,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "test_dummy_qwen3_forward",
      "line": 97,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_kvcache_nb.py",
      "cell": null,
      "name": "test_qwen3_base_equivalence_with_transformers",
      "line": 107,
      "end_line": 158,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_nb.py",
      "cell": null,
      "name": "dummy_cfg_moe",
      "line": 50,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_nb.py",
      "cell": null,
      "name": "test_dummy_qwen3_forward",
      "line": 61,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/11_qwen3/tests/test_qwen3_nb.py",
      "cell": null,
      "name": "test_qwen3_base_equivalence_with_transformers",
      "line": 71,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 10,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 10,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.forward",
      "line": 37,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 12,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 12,
      "name": "TransformerBlock.__init__",
      "line": 3,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 12,
      "name": "TransformerBlock.forward",
      "line": 23,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma3Model",
      "line": 1,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma3Model.__init__",
      "line": 2,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma3Model._create_masks",
      "line": 36,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma3Model.forward",
      "line": 90,
      "end_line": 127,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma3Model.reset_kv_cache",
      "line": 129,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 21,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 24,
      "name": "load_weights_into_gemma",
      "line": 1,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 24,
      "name": "load_weights_into_gemma.assign",
      "line": 3,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "KVCache",
      "line": 1,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "KVCache.__init__",
      "line": 2,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "KVCache.get",
      "line": 5,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "KVCache.update",
      "line": 8,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "KVCache.get_all",
      "line": 11,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 25,
      "name": "KVCache.reset",
      "line": 14,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 30,
      "name": "GemmaTokenizer",
      "line": 4,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 30,
      "name": "GemmaTokenizer.__init__",
      "line": 5,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 30,
      "name": "GemmaTokenizer.encode",
      "line": 25,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 30,
      "name": "GemmaTokenizer.decode",
      "line": 28,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 30,
      "name": "GemmaTokenizer.apply_chat_template",
      "line": 33,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 30,
      "name": "apply_chat_template",
      "line": 50,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 35,
      "name": "generate_text_basic_stream",
      "line": 4,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 36,
      "name": "calc_gpu_gb",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 8,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 8,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 8,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 9,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 9,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3-plus-kvcache.ipynb",
      "cell": 9,
      "name": "RMSNorm.forward",
      "line": 9,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 10,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 10,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 11,
      "name": "GroupedQueryAttention.forward",
      "line": 38,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 12,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 12,
      "name": "TransformerBlock.__init__",
      "line": 3,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 12,
      "name": "TransformerBlock.forward",
      "line": 22,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 13,
      "name": "Gemma3Model",
      "line": 1,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 13,
      "name": "Gemma3Model.__init__",
      "line": 2,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 13,
      "name": "Gemma3Model._create_masks",
      "line": 35,
      "end_line": 78,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 13,
      "name": "Gemma3Model.forward",
      "line": 80,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 21,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 24,
      "name": "load_weights_into_gemma",
      "line": 1,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 24,
      "name": "load_weights_into_gemma.assign",
      "line": 3,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 29,
      "name": "GemmaTokenizer",
      "line": 4,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 29,
      "name": "GemmaTokenizer.__init__",
      "line": 5,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 29,
      "name": "GemmaTokenizer.encode",
      "line": 25,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 29,
      "name": "GemmaTokenizer.decode",
      "line": 28,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 29,
      "name": "GemmaTokenizer.apply_chat_template",
      "line": 33,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 29,
      "name": "apply_chat_template",
      "line": 50,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 34,
      "name": "generate_text_basic_stream",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 35,
      "name": "calc_gpu_gb",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 8,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 8,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 8,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 9,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 9,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/standalone-gemma3.ipynb",
      "cell": 9,
      "name": "RMSNorm.forward",
      "line": 9,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.1"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.2"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "tiny_debug_config",
      "line": 20,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "_hf_config_from_dict",
      "line": 40,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "load_notebook_defs",
      "line": 66,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "build_gemma3_pair",
      "line": 71,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks",
      "line": 95,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook",
      "line": 99,
      "end_line": 107,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook._record",
      "line": 100,
      "end_line": 105,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "_layer_sort_key",
      "line": 132,
      "end_line": 142,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "layerwise_differences",
      "line": 145,
      "end_line": 203,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger.py",
      "cell": null,
      "name": "format_report",
      "line": 206,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "tiny_debug_config",
      "line": 20,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "_hf_config_from_dict",
      "line": 40,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "load_notebook_defs",
      "line": 66,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "build_gemma3_pair",
      "line": 71,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "_register_trace_hook",
      "line": 96,
      "end_line": 107,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "_register_trace_hook._record",
      "line": 100,
      "end_line": 105,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "_attach_debug_hooks",
      "line": 110,
      "end_line": 172,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "_layer_sort_key",
      "line": 175,
      "end_line": 206,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "layerwise_differences",
      "line": 209,
      "end_line": 267,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "_format_diff_line",
      "line": 270,
      "end_line": 277,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/gemma3_layer_debugger_detailed.py",
      "cell": null,
      "name": "format_report",
      "line": 280,
      "end_line": 307,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_kv_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_kv_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_kv_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_kv_nb.py",
      "cell": null,
      "name": "test_dummy_gemma3_forward",
      "line": 53,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_kv_nb.py",
      "cell": null,
      "name": "test_gemma3_base_equivalence_with_transformers",
      "line": 62,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_nb.py",
      "cell": null,
      "name": "test_dummy_gemma3_forward",
      "line": 53,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/12_gemma3/tests/test_gemma3_nb.py",
      "cell": null,
      "name": "test_gemma3_base_equivalence_with_transformers",
      "line": 62,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 5,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "RMSNorm.forward",
      "line": 7,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "compute_rope_params",
      "line": 4,
      "end_line": 65,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "compute_rope_params.find_correction_dim",
      "line": 10,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "compute_rope_params.find_correction_range",
      "line": 14,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "compute_rope_params.linear_ramp_factor",
      "line": 22,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "apply_rope",
      "line": 68,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 90,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.forward",
      "line": 25,
      "end_line": 90,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "TransformerBlock.forward",
      "line": 20,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "Olmo3Model",
      "line": 1,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "Olmo3Model.__init__",
      "line": 2,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "Olmo3Model.create_masks",
      "line": 26,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "Olmo3Model.forward",
      "line": 78,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "Olmo3Model.reset_kv_cache",
      "line": 117,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache",
      "line": 1,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.__init__",
      "line": 2,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.get",
      "line": 5,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.update",
      "line": 8,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.get_all",
      "line": 11,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.reset",
      "line": 14,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 24,
      "name": "load_weights_into_olmo",
      "line": 1,
      "end_line": 110,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 24,
      "name": "load_weights_into_olmo.assign",
      "line": 2,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 27,
      "name": "OlmoTokenizer",
      "line": 5,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 27,
      "name": "OlmoTokenizer.__init__",
      "line": 6,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 27,
      "name": "OlmoTokenizer.encode",
      "line": 20,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 27,
      "name": "OlmoTokenizer.decode",
      "line": 23,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 27,
      "name": "apply_chat_template",
      "line": 27,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 30,
      "name": "generate_text_basic_stream",
      "line": 4,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 31,
      "name": "calc_gpu_gb",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 9,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 9,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3-plus-kv-cache.ipynb",
      "cell": 9,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 10,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 10,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 5,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 10,
      "name": "RMSNorm.forward",
      "line": 7,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 11,
      "name": "compute_rope_params",
      "line": 4,
      "end_line": 65,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 11,
      "name": "compute_rope_params.find_correction_dim",
      "line": 10,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 11,
      "name": "compute_rope_params.find_correction_range",
      "line": 14,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 11,
      "name": "compute_rope_params.linear_ramp_factor",
      "line": 22,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 11,
      "name": "apply_rope",
      "line": 68,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.forward",
      "line": 25,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 13,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 13,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 13,
      "name": "TransformerBlock.forward",
      "line": 19,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 14,
      "name": "Olmo3Model",
      "line": 1,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 14,
      "name": "Olmo3Model.__init__",
      "line": 2,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 14,
      "name": "Olmo3Model.create_masks",
      "line": 25,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 14,
      "name": "Olmo3Model.forward",
      "line": 70,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 23,
      "name": "load_weights_into_olmo",
      "line": 1,
      "end_line": 110,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 23,
      "name": "load_weights_into_olmo.assign",
      "line": 2,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 26,
      "name": "OlmoTokenizer",
      "line": 5,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 26,
      "name": "OlmoTokenizer.__init__",
      "line": 6,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 26,
      "name": "OlmoTokenizer.encode",
      "line": 20,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 26,
      "name": "OlmoTokenizer.decode",
      "line": 23,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 26,
      "name": "apply_chat_template",
      "line": 27,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 29,
      "name": "generate_text_basic_stream",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 30,
      "name": "calc_gpu_gb",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 9,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 9,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/standalone-olmo3.ipynb",
      "cell": 9,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.1"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.2"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "tiny_debug_config",
      "line": 20,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "yarn_debug_config",
      "line": 46,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "_hf_config_from_dict",
      "line": 74,
      "end_line": 111,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "load_notebook_defs",
      "line": 114,
      "end_line": 116,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "build_olmo3_pair",
      "line": 119,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks",
      "line": 143,
      "end_line": 166,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook",
      "line": 147,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook._record",
      "line": 148,
      "end_line": 149,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "_layer_sort_key",
      "line": 169,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "layerwise_differences",
      "line": 182,
      "end_line": 241,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "first_mismatch",
      "line": 244,
      "end_line": 248,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/olmo3_layer_debugger.py",
      "cell": null,
      "name": "format_report",
      "line": 251,
      "end_line": 266,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_kvcache_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_kvcache_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_kvcache_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_kvcache_nb.py",
      "cell": null,
      "name": "test_dummy_olmo3_forward",
      "line": 58,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_kvcache_nb.py",
      "cell": null,
      "name": "test_olmo3_base_equivalence_with_transformers",
      "line": 68,
      "end_line": 142,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_nb.py",
      "cell": null,
      "name": "test_dummy_olmo3_forward",
      "line": 58,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/13_olmo3/tests/test_olmo3_nb.py",
      "cell": null,
      "name": "test_olmo3_base_equivalence_with_transformers",
      "line": 68,
      "end_line": 142,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 10,
      "name": "Tokenizer",
      "line": 13,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 10,
      "name": "Tokenizer.__init__",
      "line": 15,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 10,
      "name": "Tokenizer.encode",
      "line": 46,
      "end_line": 51,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 10,
      "name": "Tokenizer.decode",
      "line": 53,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 15,
      "name": "generate_text_simple",
      "line": 3,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 15,
      "name": "text_to_token_ids",
      "line": 29,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 15,
      "name": "token_ids_to_text",
      "line": 34,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 24,
      "name": "GPTDatasetV1",
      "line": 4,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 24,
      "name": "GPTDatasetV1.__init__",
      "line": 5,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 24,
      "name": "GPTDatasetV1.__len__",
      "line": 19,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 24,
      "name": "GPTDatasetV1.__getitem__",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 24,
      "name": "create_dataloader_v1",
      "line": 27,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 30,
      "name": "calc_loss_batch",
      "line": 1,
      "end_line": 5,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 30,
      "name": "calc_loss_loader",
      "line": 8,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 34,
      "name": "train_model_simple",
      "line": 1,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 34,
      "name": "evaluate_model",
      "line": 37,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 34,
      "name": "generate_and_print_sample",
      "line": 46,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 36,
      "name": "plot_losses",
      "line": 5,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "FeedForward",
      "line": 8,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "FeedForward.__init__",
      "line": 9,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "FeedForward.forward",
      "line": 15,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "compute_rope_params",
      "line": 22,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "apply_rope",
      "line": 67,
      "end_line": 85,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "GroupedQueryAttention",
      "line": 88,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "GroupedQueryAttention.__init__",
      "line": 89,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "GroupedQueryAttention.forward",
      "line": 110,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "TransformerBlock",
      "line": 162,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "TransformerBlock.__init__",
      "line": 163,
      "end_line": 174,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "TransformerBlock.forward",
      "line": 176,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "Llama3Model",
      "line": 192,
      "end_line": 234,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "Llama3Model.__init__",
      "line": 193,
      "end_line": 219,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-llama32.ipynb",
      "cell": 8,
      "name": "Llama3Model.forward",
      "line": 222,
      "end_line": 234,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 11,
      "name": "Qwen3Tokenizer",
      "line": 8,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 11,
      "name": "Qwen3Tokenizer.__init__",
      "line": 21,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 11,
      "name": "Qwen3Tokenizer.encode",
      "line": 46,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 11,
      "name": "Qwen3Tokenizer.decode",
      "line": 65,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 11,
      "name": "Qwen3Tokenizer._wrap_chat",
      "line": 68,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 13,
      "name": "generate_text_simple",
      "line": 3,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 13,
      "name": "text_to_token_ids",
      "line": 29,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 13,
      "name": "token_ids_to_text",
      "line": 34,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 22,
      "name": "GPTDatasetV1",
      "line": 4,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 22,
      "name": "GPTDatasetV1.__init__",
      "line": 5,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 22,
      "name": "GPTDatasetV1.__len__",
      "line": 19,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 22,
      "name": "GPTDatasetV1.__getitem__",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 22,
      "name": "create_dataloader_v1",
      "line": 27,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 28,
      "name": "calc_loss_batch",
      "line": 1,
      "end_line": 5,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 28,
      "name": "calc_loss_loader",
      "line": 8,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 32,
      "name": "train_model_simple",
      "line": 1,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 32,
      "name": "evaluate_model",
      "line": 37,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 32,
      "name": "generate_and_print_sample",
      "line": 46,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 34,
      "name": "plot_losses",
      "line": 5,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "FeedForward",
      "line": 9,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "FeedForward.__init__",
      "line": 10,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "FeedForward.forward",
      "line": 16,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "RMSNorm",
      "line": 23,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "RMSNorm.__init__",
      "line": 24,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "RMSNorm.forward",
      "line": 31,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "compute_rope_params",
      "line": 47,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "apply_rope",
      "line": 69,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention",
      "line": 90,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention.__init__",
      "line": 91,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "GroupedQueryAttention.forward",
      "line": 120,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "TransformerBlock",
      "line": 156,
      "end_line": 184,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "TransformerBlock.__init__",
      "line": 157,
      "end_line": 169,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "TransformerBlock.forward",
      "line": 171,
      "end_line": 184,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "Qwen3Model",
      "line": 187,
      "end_line": 232,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "Qwen3Model.__init__",
      "line": 188,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/14_ch05_with_other_llms/ch05-qwen3.ipynb",
      "cell": 9,
      "name": "Qwen3Model.forward",
      "line": 220,
      "end_line": 232,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.6"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "CohereLayerNorm",
      "line": 5,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "CohereLayerNorm.__init__",
      "line": 6,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "CohereLayerNorm.forward",
      "line": 11,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 103,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.forward",
      "line": 59,
      "end_line": 103,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "TransformerBlock.forward",
      "line": 19,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TinyAyaModel",
      "line": 1,
      "end_line": 95,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TinyAyaModel.__init__",
      "line": 2,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TinyAyaModel.create_masks",
      "line": 29,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TinyAyaModel.forward",
      "line": 46,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TinyAyaModel.reset_kv_cache",
      "line": 94,
      "end_line": 95,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "KVCache",
      "line": 98,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "KVCache.__init__",
      "line": 99,
      "end_line": 100,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "KVCache.get",
      "line": 102,
      "end_line": 103,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "KVCache.update",
      "line": 105,
      "end_line": 106,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "KVCache.get_all",
      "line": 108,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "KVCache.reset",
      "line": 111,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 19,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer",
      "line": 4,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer.__init__",
      "line": 5,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer.encode",
      "line": 17,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer.decode",
      "line": 20,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 23,
      "name": "apply_chat_template",
      "line": 24,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 31,
      "name": "load_weights_into_tiny_aya",
      "line": 1,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 31,
      "name": "load_weights_into_tiny_aya.assign",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 33,
      "name": "count_unique_parameters",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 35,
      "name": "generate_text_basic_stream",
      "line": 12,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 36,
      "name": "calc_gpu_gb",
      "line": 24,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 9,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 9,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya-plus-kv-cache.ipynb",
      "cell": 9,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 10,
      "name": "CohereLayerNorm",
      "line": 5,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 10,
      "name": "CohereLayerNorm.__init__",
      "line": 6,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 10,
      "name": "CohereLayerNorm.forward",
      "line": 11,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 11,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 11,
      "name": "apply_rope",
      "line": 23,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 12,
      "name": "GroupedQueryAttention.forward",
      "line": 59,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 13,
      "name": "TransformerBlock",
      "line": 1,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 13,
      "name": "TransformerBlock.__init__",
      "line": 2,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 13,
      "name": "TransformerBlock.forward",
      "line": 19,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.3"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 14,
      "name": "TinyAyaModel",
      "line": 1,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 14,
      "name": "TinyAyaModel.__init__",
      "line": 2,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 14,
      "name": "TinyAyaModel.create_masks",
      "line": 27,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 14,
      "name": "TinyAyaModel.forward",
      "line": 40,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 19,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer",
      "line": 4,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer.__init__",
      "line": 5,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer.encode",
      "line": 17,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 23,
      "name": "TinyAyaTokenizer.decode",
      "line": 20,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 23,
      "name": "apply_chat_template",
      "line": 24,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 31,
      "name": "load_weights_into_tiny_aya",
      "line": 1,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 31,
      "name": "load_weights_into_tiny_aya.assign",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.5"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 33,
      "name": "count_unique_parameters",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 35,
      "name": "generate_text_basic_stream",
      "line": 9,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 36,
      "name": "calc_gpu_gb",
      "line": 24,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 9,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 9,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/standalone-tiny-aya.ipynb",
      "cell": 9,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.4"
        },
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_kvcache_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_kvcache_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_kvcache_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 51,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_kvcache_nb.py",
      "cell": null,
      "name": "test_dummy_tiny_aya_forward",
      "line": 55,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_kvcache_nb.py",
      "cell": null,
      "name": "test_tiny_aya_base_equivalence_with_transformers",
      "line": 65,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 26,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 32,
      "end_line": 51,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_nb.py",
      "cell": null,
      "name": "test_dummy_tiny_aya_forward",
      "line": 54,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/test_tiny_aya_nb.py",
      "cell": null,
      "name": "test_tiny_aya_base_equivalence_with_transformers",
      "line": 64,
      "end_line": 117,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "tiny_debug_config",
      "line": 19,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "_hf_config_from_dict",
      "line": 41,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "load_notebook_defs",
      "line": 65,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "build_tiny_aya_pair",
      "line": 70,
      "end_line": 90,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks",
      "line": 93,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook",
      "line": 97,
      "end_line": 101,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook._record",
      "line": 98,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "_layer_sort_key",
      "line": 125,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "layerwise_differences",
      "line": 138,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/15_tiny-aya/tests/tiny_aya_layer_debugger.py",
      "cell": null,
      "name": "format_report",
      "line": 199,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/22_olmo_tiny_aya_interfaces.md",
          "section": "22.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 10,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "RMSNorm._norm",
      "line": 8,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 11,
      "name": "RMSNorm.forward",
      "line": 11,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 12,
      "name": "apply_rope",
      "line": 29,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 13,
      "name": "GroupedQueryAttention.forward",
      "line": 32,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "_Qwen3_5ConfigAdapter",
      "line": 6,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "_Qwen3_5ConfigAdapter.__init__",
      "line": 7,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TransformerBlock",
      "line": 19,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TransformerBlock.__init__",
      "line": 20,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 14,
      "name": "TransformerBlock.forward",
      "line": 42,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model",
      "line": 1,
      "end_line": 89,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model.__init__",
      "line": 2,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model.create_mask",
      "line": 31,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model.forward",
      "line": 41,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model.reset_kv_cache",
      "line": 88,
      "end_line": 89,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5LinearAttentionCache",
      "line": 92,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5LinearAttentionCache.__init__",
      "line": 93,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "Qwen3_5LinearAttentionCache.reset",
      "line": 98,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache",
      "line": 105,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.__init__",
      "line": 106,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.get",
      "line": 110,
      "end_line": 111,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.update",
      "line": 113,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.get_all",
      "line": 116,
      "end_line": 117,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 15,
      "name": "KVCache.reset",
      "line": 119,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 23,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 26,
      "name": "load_weights_into_qwen3_5",
      "line": 1,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 26,
      "name": "load_weights_into_qwen3_5.assign",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 26,
      "name": "load_weights_into_qwen3_5.pkey",
      "line": 23,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer",
      "line": 5,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer.__init__",
      "line": 18,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer.encode",
      "line": 48,
      "end_line": 65,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer.decode",
      "line": 67,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer._wrap_chat",
      "line": 70,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 33,
      "name": "generate_text_basic_stream",
      "line": 1,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 34,
      "name": "calc_gpu_gb",
      "line": 33,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5-plus-kv-cache.ipynb",
      "cell": 35,
      "name": "calc_gpu_gb",
      "line": 33,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 10,
      "name": "FeedForward",
      "line": 5,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 10,
      "name": "FeedForward.__init__",
      "line": 6,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 10,
      "name": "FeedForward.forward",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 11,
      "name": "RMSNorm",
      "line": 1,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 11,
      "name": "RMSNorm.__init__",
      "line": 2,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 11,
      "name": "RMSNorm._norm",
      "line": 8,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 11,
      "name": "RMSNorm.forward",
      "line": 11,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 12,
      "name": "compute_rope_params",
      "line": 1,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 12,
      "name": "apply_rope",
      "line": 29,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 13,
      "name": "GroupedQueryAttention",
      "line": 1,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 13,
      "name": "GroupedQueryAttention.__init__",
      "line": 2,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 13,
      "name": "GroupedQueryAttention.forward",
      "line": 32,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 14,
      "name": "_Qwen3_5ConfigAdapter",
      "line": 6,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 14,
      "name": "_Qwen3_5ConfigAdapter.__init__",
      "line": 7,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 14,
      "name": "TransformerBlock",
      "line": 19,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 14,
      "name": "TransformerBlock.__init__",
      "line": 20,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 14,
      "name": "TransformerBlock.forward",
      "line": 42,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model",
      "line": 1,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model.__init__",
      "line": 2,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 15,
      "name": "Qwen3_5Model.forward",
      "line": 30,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 23,
      "name": "calc_model_memory_size",
      "line": 1,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 26,
      "name": "load_weights_into_qwen3_5",
      "line": 1,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 26,
      "name": "load_weights_into_qwen3_5.assign",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 26,
      "name": "load_weights_into_qwen3_5.pkey",
      "line": 23,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer",
      "line": 5,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer.__init__",
      "line": 18,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer.encode",
      "line": 48,
      "end_line": 65,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer.decode",
      "line": 67,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 29,
      "name": "Qwen3_5Tokenizer._wrap_chat",
      "line": 70,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 33,
      "name": "generate_text_basic_stream",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 34,
      "name": "calc_gpu_gb",
      "line": 33,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3.5.ipynb",
      "cell": 35,
      "name": "calc_gpu_gb",
      "line": 33,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.4"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.7"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.8"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "_NotebookLogger",
      "line": 25,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "_NotebookLogger.__init__",
      "line": 26,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "_NotebookLogger.warning_once",
      "line": 29,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5Config",
      "line": 40,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5DynamicCache",
      "line": 44,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5RMSNormGated",
      "line": 48,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5RMSNormGated.__init__",
      "line": 49,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5RMSNormGated.forward",
      "line": 54,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "apply_mask_to_padding_states",
      "line": 66,
      "end_line": 75,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "torch_causal_conv1d_update",
      "line": 78,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "l2norm",
      "line": 96,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "torch_chunk_gated_delta_rule",
      "line": 102,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "torch_recurrent_gated_delta_rule",
      "line": 182,
      "end_line": 221,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5GatedDeltaNet",
      "line": 226,
      "end_line": 411,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5GatedDeltaNet.__init__",
      "line": 227,
      "end_line": 294,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/qwen3_5_transformers.py",
      "cell": null,
      "name": "Qwen3_5GatedDeltaNet.forward",
      "line": 296,
      "end_line": 411,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.5"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.6"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "_import_qwen3_5_classes",
      "line": 14,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "tiny_debug_config",
      "line": 44,
      "end_line": 65,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "_hf_config_from_dict",
      "line": 68,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "load_notebook_defs",
      "line": 105,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "build_qwen3_5_pair",
      "line": 112,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks",
      "line": 140,
      "end_line": 171,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook",
      "line": 144,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook._record",
      "line": 145,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "_layer_sort_key",
      "line": 174,
      "end_line": 184,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "layerwise_differences",
      "line": 187,
      "end_line": 245,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/qwen3_5_layer_debugger.py",
      "cell": null,
      "name": "format_report",
      "line": 248,
      "end_line": 259,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "cell": null,
      "name": "_import_qwen3_5_classes",
      "line": 16,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 51,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 61,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 67,
      "end_line": 88,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "cell": null,
      "name": "test_dummy_qwen3_5_forward",
      "line": 92,
      "end_line": 98,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/16_qwen3.5/tests/test_qwen3_5_nb.py",
      "cell": null,
      "name": "test_qwen3_5_base_equivalence_with_transformers",
      "line": 103,
      "end_line": 166,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 10,
      "name": "Gemma4RMSNorm",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 10,
      "name": "Gemma4RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 10,
      "name": "Gemma4RMSNorm.forward",
      "line": 9,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 10,
      "name": "Gemma4FeedForward",
      "line": 18,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 10,
      "name": "Gemma4FeedForward.__init__",
      "line": 19,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 10,
      "name": "Gemma4FeedForward.forward",
      "line": 29,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 11,
      "name": "Gemma4Attention",
      "line": 1,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 11,
      "name": "Gemma4Attention.__init__",
      "line": 2,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 11,
      "name": "Gemma4Attention.forward",
      "line": 26,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 12,
      "name": "Gemma4DenseBlock",
      "line": 1,
      "end_line": 97,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 12,
      "name": "Gemma4DenseBlock.__init__",
      "line": 2,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 12,
      "name": "Gemma4DenseBlock.forward",
      "line": 30,
      "end_line": 97,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel",
      "line": 1,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.__init__",
      "line": 2,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel._create_masks",
      "line": 59,
      "end_line": 71,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.get_per_layer_inputs",
      "line": 73,
      "end_line": 80,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.project_per_layer_inputs",
      "line": 82,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.forward",
      "line": 96,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.reset_kv_cache",
      "line": 150,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 15,
      "name": "get_gemma4_dense_config",
      "line": 1,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense",
      "line": 1,
      "end_line": 98,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense.assign",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense.get_tensor",
      "line": 23,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense.assign_from",
      "line": 37,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 19,
      "name": "KVCache",
      "line": 1,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 19,
      "name": "KVCache.__init__",
      "line": 2,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 19,
      "name": "KVCache.get",
      "line": 5,
      "end_line": 6,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 19,
      "name": "KVCache.update",
      "line": 8,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 19,
      "name": "KVCache.get_all",
      "line": 11,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 19,
      "name": "KVCache.reset",
      "line": 14,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 22,
      "name": "resolve_local_model_dir",
      "line": 10,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 24,
      "name": "GemmaTokenizer",
      "line": 4,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 24,
      "name": "GemmaTokenizer.__init__",
      "line": 5,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 24,
      "name": "GemmaTokenizer.encode",
      "line": 19,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 24,
      "name": "GemmaTokenizer.decode",
      "line": 22,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 24,
      "name": "GemmaTokenizer.apply_chat_template",
      "line": 27,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 29,
      "name": "generate_text_basic_stream",
      "line": 4,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 30,
      "name": "calc_gpu_gb",
      "line": 18,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 9,
      "name": "compute_rope_params",
      "line": 5,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.4"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 9,
      "name": "apply_rope",
      "line": 34,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.4"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4-plus-kvcache.ipynb",
      "cell": 9,
      "name": "repeat_kv",
      "line": 47,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 10,
      "name": "Gemma4RMSNorm",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 10,
      "name": "Gemma4RMSNorm.__init__",
      "line": 2,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 10,
      "name": "Gemma4RMSNorm.forward",
      "line": 9,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 10,
      "name": "Gemma4FeedForward",
      "line": 18,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 10,
      "name": "Gemma4FeedForward.__init__",
      "line": 19,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 10,
      "name": "Gemma4FeedForward.forward",
      "line": 29,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 11,
      "name": "Gemma4Attention",
      "line": 1,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 11,
      "name": "Gemma4Attention.__init__",
      "line": 2,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 11,
      "name": "Gemma4Attention.forward",
      "line": 32,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.9"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 12,
      "name": "Gemma4DenseBlock",
      "line": 1,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 12,
      "name": "Gemma4DenseBlock.__init__",
      "line": 2,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 12,
      "name": "Gemma4DenseBlock.forward",
      "line": 29,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel",
      "line": 1,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.__init__",
      "line": 2,
      "end_line": 56,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel._create_masks",
      "line": 58,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.get_per_layer_inputs",
      "line": 65,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.project_per_layer_inputs",
      "line": 74,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 13,
      "name": "Gemma4DenseModel.forward",
      "line": 88,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 15,
      "name": "get_gemma4_dense_config",
      "line": 1,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense",
      "line": 1,
      "end_line": 98,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense.assign",
      "line": 2,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense.get_tensor",
      "line": 23,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 18,
      "name": "load_weights_into_gemma4_dense.assign_from",
      "line": 37,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 21,
      "name": "resolve_local_model_dir",
      "line": 10,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 23,
      "name": "GemmaTokenizer",
      "line": 4,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 23,
      "name": "GemmaTokenizer.__init__",
      "line": 5,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 23,
      "name": "GemmaTokenizer.encode",
      "line": 19,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 23,
      "name": "GemmaTokenizer.decode",
      "line": 22,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 23,
      "name": "GemmaTokenizer.apply_chat_template",
      "line": 27,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.7"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 28,
      "name": "generate_text_basic_stream",
      "line": 1,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 29,
      "name": "calc_gpu_gb",
      "line": 18,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 9,
      "name": "compute_rope_params",
      "line": 5,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.4"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 9,
      "name": "apply_rope",
      "line": 34,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.4"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/standalone-gemma4.ipynb",
      "cell": 9,
      "name": "repeat_kv",
      "line": 47,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.3"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.5"
        },
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.6"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_import_gemma4_classes",
      "line": 15,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "tiny_debug_config",
      "line": 47,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_hf_config_from_dict",
      "line": 77,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "load_notebook_defs",
      "line": 121,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "build_gemma4_pair",
      "line": 126,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks",
      "line": 150,
      "end_line": 193,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook",
      "line": 154,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook._record",
      "line": 155,
      "end_line": 158,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.scaled_embedding_hook",
      "line": 162,
      "end_line": 168,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.scaled_embedding_hook._record",
      "line": 163,
      "end_line": 166,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "_layer_sort_key",
      "line": 196,
      "end_line": 206,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "layerwise_differences",
      "line": 209,
      "end_line": 267,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e2b/gemma4_e2b_layer_debugger.py",
      "cell": null,
      "name": "format_report",
      "line": 270,
      "end_line": 281,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "_import_gemma4_classes",
      "line": 15,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "tiny_debug_config",
      "line": 47,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "_hf_config_from_dict",
      "line": 77,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "load_notebook_defs",
      "line": 121,
      "end_line": 123,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "build_gemma4_pair",
      "line": 126,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks",
      "line": 150,
      "end_line": 181,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook",
      "line": 154,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "_attach_debug_hooks.hook._record",
      "line": 155,
      "end_line": 158,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "_layer_sort_key",
      "line": 184,
      "end_line": 194,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "layerwise_differences",
      "line": 197,
      "end_line": 255,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_e4b/gemma4_e4b_layer_debugger.py",
      "cell": null,
      "name": "format_report",
      "line": 258,
      "end_line": 269,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "get_tiny_test_config",
      "line": 18,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "import_notebook_defs",
      "line": 53,
      "end_line": 56,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "dummy_input",
      "line": 60,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 66,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "gemma4_transformers_module",
      "line": 71,
      "end_line": 110,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_dummy_gemma4_forward",
      "line": 114,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_dummy_gemma4_forward_without_explicit_n_kv_groups",
      "line": 122,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_gemma4_named_configs",
      "line": 164,
      "end_line": 172,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_gemma4_generation_helper_runs",
      "line": 176,
      "end_line": 193,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_gemma4_equivalence_with_transformers",
      "line": 197,
      "end_line": 248,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_gemma4_loader_supports_multimodal_checkpoint_prefix",
      "line": 252,
      "end_line": 309,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_gemma4_pretrained_e2b_it_checkpoint_generates_coherent_text",
      "line": 313,
      "end_line": 346,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/17_gemma4/tests/test_gemma4_nb.py",
      "cell": null,
      "name": "test_gemma4_plus_kvcache_pretrained_e2b_it_checkpoint_generates_coherent_text",
      "line": 350,
      "end_line": 383,
      "locations": [
        {
          "chapter": "chapters/21_gemma3_gemma4.md",
          "section": "21.10"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 17,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 23,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 28,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 35,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 52,
      "end_line": 58,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 61,
      "end_line": 72,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "train_model_simple",
      "line": 75,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "plot_losses",
      "line": 112,
      "end_line": 127,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train.py",
      "cell": null,
      "name": "main",
      "line": 131,
      "end_line": 202,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 18,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 24,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 29,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 36,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 53,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 62,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "create_muon_optimizers",
      "line": 76,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "train_model_simple",
      "line": 111,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "plot_losses",
      "line": 156,
      "end_line": 171,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/gpt_train_muon.py",
      "cell": null,
      "name": "main",
      "line": 175,
      "end_line": 250,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.2"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.5"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.7"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 20,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 21,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 35,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 38,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 42,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 60,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 61,
      "end_line": 74,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 76,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.8"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 119,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 120,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 126,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 133,
      "end_line": 141,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 134,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 137,
      "end_line": 141,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 144,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 145,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 153,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 157,
      "end_line": 187,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 158,
      "end_line": 170,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 172,
      "end_line": 187,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 190,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 191,
      "end_line": 201,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 203,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        }
      ]
    },
    {
      "source": "ch05/18_muon/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 215,
      "end_line": 238,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.9"
        }
      ]
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 4,
      "name": "sample",
      "line": 9,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ]
    },
    {
      "source": "ch05/19_cpu_mps_differences/1_cpu_mps_random_generator.ipynb",
      "cell": 6,
      "name": "sample_on_cpu",
      "line": 1,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.9"
        },
        {
          "chapter": "chapters/18-performance-devices.md",
          "section": "18.10"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 100,
      "name": "plot_values",
      "line": 3,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 110,
      "name": "classify_review",
      "line": 1,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 13,
      "name": "download_and_unzip_spam_data",
      "line": 12,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 19,
      "name": "create_balanced_dataset",
      "line": 1,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 24,
      "name": "random_split",
      "line": 1,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 30,
      "name": "SpamDataset",
      "line": 5,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 30,
      "name": "SpamDataset.__init__",
      "line": 6,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 30,
      "name": "SpamDataset.__getitem__",
      "line": 30,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 30,
      "name": "SpamDataset.__len__",
      "line": 38,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 30,
      "name": "SpamDataset._longest_encoded_length",
      "line": 41,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 80,
      "name": "calc_accuracy_loader",
      "line": 1,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 85,
      "name": "calc_loss_batch",
      "line": 1,
      "end_line": 5,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 87,
      "name": "calc_loss_loader",
      "line": 2,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 94,
      "name": "train_classifier_simple",
      "line": 2,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/ch06.ipynb",
      "cell": 96,
      "name": "evaluate_model",
      "line": 2,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "download_and_unzip_spam_data",
      "line": 26,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "create_balanced_dataset",
      "line": 49,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "random_split",
      "line": 62,
      "end_line": 75,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "SpamDataset",
      "line": 78,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "SpamDataset.__init__",
      "line": 79,
      "end_line": 101,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "SpamDataset.__getitem__",
      "line": 103,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "SpamDataset.__len__",
      "line": 111,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "SpamDataset._longest_encoded_length",
      "line": 114,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 126,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 149,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 156,
      "end_line": 170,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 173,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 182,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_class_finetune.py",
      "cell": null,
      "name": "plot_values",
      "line": 220,
      "end_line": 236,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 15,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file",
      "line": 47,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file._attempt_download",
      "line": 48,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 126,
      "end_line": 152,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 8,
      "name": "classify_review",
      "line": 2,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 21,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 22,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 36,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 39,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 43,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 61,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 62,
      "end_line": 75,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 77,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 120,
      "end_line": 131,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 121,
      "end_line": 125,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 127,
      "end_line": 131,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 134,
      "end_line": 142,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 135,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 138,
      "end_line": 142,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 145,
      "end_line": 155,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 146,
      "end_line": 152,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 154,
      "end_line": 155,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 158,
      "end_line": 188,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 159,
      "end_line": 171,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 173,
      "end_line": 188,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 191,
      "end_line": 213,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 192,
      "end_line": 202,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 204,
      "end_line": 213,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 216,
      "end_line": 239,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "assign",
      "line": 245,
      "end_line": 248,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 251,
      "end_line": 309,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 312,
      "end_line": 315,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 318,
      "end_line": 320,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "test_gpt_class_finetune",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LoRALayer",
      "line": 32,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LoRALayer.__init__",
      "line": 33,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LoRALayer.forward",
      "line": 40,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LinearWithLoRA",
      "line": 45,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LinearWithLoRA.__init__",
      "line": 46,
      "end_line": 51,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LinearWithLoRA.forward",
      "line": 53,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LinearWithLoRAMerged",
      "line": 58,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LinearWithLoRAMerged.__init__",
      "line": 59,
      "end_line": 64,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "LinearWithLoRAMerged.forward",
      "line": 66,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "SpamDataset",
      "line": 72,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "SpamDataset.__init__",
      "line": 73,
      "end_line": 88,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "SpamDataset.__getitem__",
      "line": 90,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "SpamDataset.__len__",
      "line": 95,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "SpamDataset._longest_encoded_length",
      "line": 98,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "download_and_unzip",
      "line": 110,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "random_split",
      "line": 133,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "create_dataset_csvs",
      "line": 149,
      "end_line": 163,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "instantiate_model",
      "line": 166,
      "end_line": 194,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 197,
      "end_line": 228,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 231,
      "end_line": 253,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 257,
      "end_line": 307,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 310,
      "end_line": 326,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 329,
      "end_line": 395,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/additional_experiments.py",
      "cell": null,
      "name": "replace_linear_with_lora",
      "line": 398,
      "end_line": 408,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/gpt_download.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 15,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/gpt_download.py",
      "cell": null,
      "name": "download_file",
      "line": 47,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/gpt_download.py",
      "cell": null,
      "name": "download_file._attempt_download",
      "line": 48,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/gpt_download.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 126,
      "end_line": 152,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 21,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 22,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 36,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 39,
      "end_line": 40,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 43,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 61,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 62,
      "end_line": 78,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 80,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 124,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 125,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 131,
      "end_line": 135,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 138,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 139,
      "end_line": 140,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 142,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 149,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 150,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 158,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 162,
      "end_line": 194,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 163,
      "end_line": 177,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 179,
      "end_line": 194,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 197,
      "end_line": 219,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 198,
      "end_line": 208,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 210,
      "end_line": 219,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 222,
      "end_line": 245,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "assign",
      "line": 251,
      "end_line": 254,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 257,
      "end_line": 315,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/02_bonus_additional-experiments/previous_chapters.py",
      "cell": null,
      "name": "generate",
      "line": 318,
      "end_line": 357,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/download_prepare_dataset.py",
      "cell": null,
      "name": "reporthook",
      "line": 14,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/download_prepare_dataset.py",
      "cell": null,
      "name": "download_and_extract_dataset",
      "line": 31,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/download_prepare_dataset.py",
      "cell": null,
      "name": "load_dataset_to_dataframe",
      "line": 51,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/download_prepare_dataset.py",
      "cell": null,
      "name": "partition_and_save",
      "line": 66,
      "end_line": 82,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/gpt_download.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 15,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/gpt_download.py",
      "cell": null,
      "name": "download_file",
      "line": 47,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/gpt_download.py",
      "cell": null,
      "name": "download_file._attempt_download",
      "line": 48,
      "end_line": 69,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/gpt_download.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 126,
      "end_line": 152,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 21,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 22,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 37,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 40,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 44,
      "end_line": 56,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 62,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 63,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 78,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 121,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 122,
      "end_line": 126,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 128,
      "end_line": 132,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 135,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 136,
      "end_line": 137,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 139,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 146,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 147,
      "end_line": 153,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 155,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 159,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 160,
      "end_line": 172,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 174,
      "end_line": 189,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 192,
      "end_line": 214,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 193,
      "end_line": 203,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 205,
      "end_line": 214,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 217,
      "end_line": 240,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "assign",
      "line": 246,
      "end_line": 249,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 252,
      "end_line": 310,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 313,
      "end_line": 316,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/previous_chapters.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 319,
      "end_line": 321,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/sklearn-baseline.ipynb",
      "cell": 8,
      "name": "eval",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "IMDbDataset",
      "line": 18,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "IMDbDataset.__init__",
      "line": 19,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "IMDbDataset._create_attention_mask",
      "line": 43,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "IMDbDataset.__getitem__",
      "line": 46,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "IMDbDataset.__len__",
      "line": 61,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "IMDbDataset._longest_encoded_length",
      "line": 64,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 73,
      "end_line": 79,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 83,
      "end_line": 97,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 101,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 123,
      "end_line": 129,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 132,
      "end_line": 173,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SpamDataset",
      "line": 21,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SpamDataset.__init__",
      "line": 22,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SpamDataset.__getitem__",
      "line": 39,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SpamDataset.__len__",
      "line": 44,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SpamDataset._longest_encoded_length",
      "line": 47,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "download_and_unzip",
      "line": 59,
      "end_line": 79,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "random_split",
      "line": 82,
      "end_line": 95,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "create_dataset_csvs",
      "line": 98,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SPAMDataset",
      "line": 115,
      "end_line": 167,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SPAMDataset.__init__",
      "line": 116,
      "end_line": 138,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SPAMDataset._create_attention_mask",
      "line": 140,
      "end_line": 141,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SPAMDataset.__getitem__",
      "line": 143,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SPAMDataset.__len__",
      "line": 158,
      "end_line": 159,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "SPAMDataset._longest_encoded_length",
      "line": 161,
      "end_line": 167,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 170,
      "end_line": 176,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 180,
      "end_line": 194,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 198,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 220,
      "end_line": 226,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_bert_hf_spam.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 229,
      "end_line": 270,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "IMDbDataset",
      "line": 23,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "IMDbDataset.__init__",
      "line": 24,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "IMDbDataset.__getitem__",
      "line": 39,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "IMDbDataset.__len__",
      "line": 44,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "IMDbDataset._longest_encoded_length",
      "line": 47,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "instantiate_model",
      "line": 56,
      "end_line": 84,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 87,
      "end_line": 100,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 103,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 128,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 159,
      "end_line": 172,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 175,
      "end_line": 226,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "IMDbDataset",
      "line": 23,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "IMDbDataset.__init__",
      "line": 24,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "IMDbDataset.__getitem__",
      "line": 39,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "IMDbDataset.__len__",
      "line": 44,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "IMDbDataset._longest_encoded_length",
      "line": 47,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "instantiate_model",
      "line": 56,
      "end_line": 84,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 87,
      "end_line": 100,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 103,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 128,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 159,
      "end_line": 172,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "create_muon_optimizers",
      "line": 175,
      "end_line": 207,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_gpt_muon.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 210,
      "end_line": 263,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_sklearn_logreg.py",
      "cell": null,
      "name": "load_dataframes",
      "line": 14,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/03_bonus_imdb-classification/train_sklearn_logreg.py",
      "cell": null,
      "name": "eval_model",
      "line": 22,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.5"
        }
      ]
    },
    {
      "source": "ch06/04_user_interface/app.py",
      "cell": null,
      "name": "get_model_and_tokenizer",
      "line": 22,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.1"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.2"
        }
      ]
    },
    {
      "source": "ch06/04_user_interface/app.py",
      "cell": null,
      "name": "main",
      "line": 69,
      "end_line": 79,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 10,
      "name": "download_and_load_file",
      "line": 6,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 112,
      "name": "check_if_running",
      "line": 3,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 113,
      "name": "format_input",
      "line": 12,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 115,
      "name": "query_model",
      "line": 4,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 121,
      "name": "generate_model_scores",
      "line": 1,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 18,
      "name": "format_input",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 30,
      "name": "InstructionDataset",
      "line": 5,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 30,
      "name": "InstructionDataset.__init__",
      "line": 6,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 30,
      "name": "InstructionDataset.__getitem__",
      "line": 19,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 30,
      "name": "InstructionDataset.__len__",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 35,
      "name": "custom_collate_draft_1",
      "line": 1,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 40,
      "name": "custom_collate_draft_2",
      "line": 1,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ch07.ipynb",
      "cell": 45,
      "name": "custom_collate_fn",
      "line": 1,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 16,
      "name": "format_input",
      "line": 3,
      "end_line": 12,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "name": "InstructionDataset",
      "line": 5,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "name": "InstructionDataset.__init__",
      "line": 6,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "name": "InstructionDataset.__getitem__",
      "line": 31,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 18,
      "name": "InstructionDataset.__len__",
      "line": 35,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 21,
      "name": "custom_collate_fn",
      "line": 1,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 4,
      "name": "format_input",
      "line": 1,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "name": "InstructionDataset",
      "line": 4,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "name": "InstructionDataset.__init__",
      "line": 5,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "name": "InstructionDataset.__getitem__",
      "line": 22,
      "end_line": 23,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise-solutions.ipynb",
      "cell": 8,
      "name": "InstructionDataset.__len__",
      "line": 25,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDataset",
      "line": 37,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDataset.__init__",
      "line": 38,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDataset.__getitem__",
      "line": 51,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDataset.__len__",
      "line": 54,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetWithMasking",
      "line": 58,
      "end_line": 84,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetWithMasking.__init__",
      "line": 59,
      "end_line": 77,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetWithMasking.__getitem__",
      "line": 79,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetWithMasking.__len__",
      "line": 83,
      "end_line": 84,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetPhi",
      "line": 87,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetPhi.__init__",
      "line": 88,
      "end_line": 103,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetPhi.__getitem__",
      "line": 105,
      "end_line": 106,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "InstructionDatasetPhi.__len__",
      "line": 108,
      "end_line": 109,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "LinearWithLoRA",
      "line": 112,
      "end_line": 121,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "LinearWithLoRA.__init__",
      "line": 113,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "LinearWithLoRA.forward",
      "line": 120,
      "end_line": 121,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "LoRALayer",
      "line": 124,
      "end_line": 139,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "LoRALayer.__init__",
      "line": 125,
      "end_line": 131,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "LoRALayer.forward",
      "line": 133,
      "end_line": 139,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "replace_linear_with_lora",
      "line": 142,
      "end_line": 149,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "custom_collate_fn",
      "line": 152,
      "end_line": 192,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "custom_collate_with_masking_fn",
      "line": 195,
      "end_line": 238,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "download_and_load_file",
      "line": 241,
      "end_line": 255,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "format_input_phi",
      "line": 258,
      "end_line": 265,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "format_input",
      "line": 268,
      "end_line": 277,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "plot_losses",
      "line": 280,
      "end_line": 298,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/exercise_experiments.py",
      "cell": null,
      "name": "main",
      "line": 302,
      "end_line": 538,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/31_exercises_and_boundaries.md",
          "section": "31.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 16,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file",
      "line": 48,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "download_file._attempt_download",
      "line": 49,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_download.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 95,
      "end_line": 121,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "InstructionDataset",
      "line": 35,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "InstructionDataset.__init__",
      "line": 36,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "InstructionDataset.__getitem__",
      "line": 49,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "InstructionDataset.__len__",
      "line": 52,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "custom_collate_fn",
      "line": 56,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "download_and_load_file",
      "line": 99,
      "end_line": 110,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "format_input",
      "line": 113,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "plot_losses",
      "line": 125,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/gpt_instruction_finetuning.py",
      "cell": null,
      "name": "main",
      "line": 147,
      "end_line": 329,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/load-finetuned-model.ipynb",
      "cell": 9,
      "name": "extract_response",
      "line": 7,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ollama_evaluate.py",
      "cell": null,
      "name": "query_model",
      "line": 14,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ollama_evaluate.py",
      "cell": null,
      "name": "check_if_running",
      "line": 42,
      "end_line": 48,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ollama_evaluate.py",
      "cell": null,
      "name": "format_input",
      "line": 51,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ollama_evaluate.py",
      "cell": null,
      "name": "main",
      "line": 63,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/ollama_evaluate.py",
      "cell": null,
      "name": "generate_model_scores",
      "line": 79,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 25,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 26,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 41,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 44,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 48,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 66,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 67,
      "end_line": 80,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 82,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 125,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 126,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 132,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 139,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 140,
      "end_line": 141,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 143,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 150,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 151,
      "end_line": 157,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 159,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 163,
      "end_line": 193,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 164,
      "end_line": 176,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 178,
      "end_line": 193,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 196,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 197,
      "end_line": 207,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 209,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 221,
      "end_line": 244,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate",
      "line": 250,
      "end_line": 290,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "train_model_simple",
      "line": 293,
      "end_line": 326,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 329,
      "end_line": 335,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 338,
      "end_line": 349,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "assign",
      "line": 352,
      "end_line": 355,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 358,
      "end_line": 416,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 419,
      "end_line": 422,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 425,
      "end_line": 427,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 430,
      "end_line": 434,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 437,
      "end_line": 453,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/previous_chapters.py",
      "cell": null,
      "name": "plot_losses",
      "line": 456,
      "end_line": 474,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ]
    },
    {
      "source": "ch07/01_main-chapter-code/tests.py",
      "cell": null,
      "name": "test_gpt_class_finetune",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.5"
        }
      ]
    },
    {
      "source": "ch07/02_dataset-utilities/create-passive-voice-entries.ipynb",
      "cell": 10,
      "name": "run_chatgpt",
      "line": 1,
      "end_line": 7,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/02_dataset-utilities/find-near-duplicates.py",
      "cell": null,
      "name": "preprocess_text",
      "line": 33,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ]
    },
    {
      "source": "ch07/02_dataset-utilities/find-near-duplicates.py",
      "cell": null,
      "name": "find_near_duplicates",
      "line": 41,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ]
    },
    {
      "source": "ch07/02_dataset-utilities/find-near-duplicates.py",
      "cell": null,
      "name": "find_print_and_remove_near_duplicates",
      "line": 76,
      "end_line": 97,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.1"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.2"
        }
      ]
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 11,
      "name": "query_model",
      "line": 5,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 18,
      "name": "format_input",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-ollama.ipynb",
      "cell": 22,
      "name": "generate_model_scores",
      "line": 4,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 10,
      "name": "run_chatgpt",
      "line": 1,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 17,
      "name": "format_input",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/03_model-evaluation/llm-instruction-eval-openai.ipynb",
      "cell": 21,
      "name": "generate_model_scores",
      "line": 4,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 11,
      "name": "query_model",
      "line": 5,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 18,
      "name": "format_input",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/create-preference-data-ollama.ipynb",
      "cell": 22,
      "name": "generate_model_responses",
      "line": 4,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 102,
      "name": "compute_dpo_loss_loader",
      "line": 1,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 105,
      "name": "evaluate_dpo_loss_loader",
      "line": 1,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 110,
      "name": "train_model_dpo_simple",
      "line": 6,
      "end_line": 80,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 14,
      "name": "download_and_load_file",
      "line": 6,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 20,
      "name": "format_input",
      "line": 1,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 31,
      "name": "PreferenceDataset",
      "line": 5,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 31,
      "name": "PreferenceDataset.__init__",
      "line": 6,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 31,
      "name": "PreferenceDataset.__getitem__",
      "line": 28,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 31,
      "name": "PreferenceDataset.__len__",
      "line": 31,
      "end_line": 32,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 33,
      "name": "custom_collate_fn",
      "line": 1,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 47,
      "name": "decode_tokens_from_batch",
      "line": 1,
      "end_line": 3,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 79,
      "name": "extract_response",
      "line": 1,
      "end_line": 2,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.1"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 84,
      "name": "compute_dpo_loss",
      "line": 3,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.2"
        },
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.3"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 89,
      "name": "compute_logprobs",
      "line": 1,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb",
      "cell": 98,
      "name": "compute_dpo_loss_batch",
      "line": 1,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 25,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 26,
      "end_line": 39,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 41,
      "end_line": 42,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 44,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 48,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 66,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 67,
      "end_line": 80,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 82,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 125,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 126,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 132,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GELU",
      "line": 139,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 140,
      "end_line": 141,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 143,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "FeedForward",
      "line": 150,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 151,
      "end_line": 157,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 159,
      "end_line": 160,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 163,
      "end_line": 193,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 164,
      "end_line": 176,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 178,
      "end_line": 193,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GPTModel",
      "line": 196,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 197,
      "end_line": 207,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 209,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.4"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 221,
      "end_line": 244,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "generate",
      "line": 250,
      "end_line": 291,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "train_model_simple",
      "line": 294,
      "end_line": 327,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 330,
      "end_line": 336,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 339,
      "end_line": 350,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "assign",
      "line": 353,
      "end_line": 356,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 359,
      "end_line": 417,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 420,
      "end_line": 423,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 426,
      "end_line": 428,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 431,
      "end_line": 435,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 438,
      "end_line": 454,
      "locations": [
        {
          "chapter": "chapters/27_dpo.md",
          "section": "27.5"
        }
      ]
    },
    {
      "source": "ch07/04_preference-tuning-with-dpo/previous_chapters.py",
      "cell": null,
      "name": "plot_losses",
      "line": 457,
      "end_line": 475,
      "locations": [
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.1"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.2"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.5"
        },
        {
          "chapter": "chapters/13-pretraining-loss.md",
          "section": "13.6"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.8"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 11,
      "name": "query_model",
      "line": 4,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/llama3-ollama.ipynb",
      "cell": 15,
      "name": "extract_instruction",
      "line": 1,
      "end_line": 4,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 11,
      "name": "run_chatgpt",
      "line": 1,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 19,
      "name": "build_instruction_reflection_prompt_no_input",
      "line": 1,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 25,
      "name": "extract_instruction_segment",
      "line": 3,
      "end_line": 15,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 25,
      "name": "extract_output_segment",
      "line": 18,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 25,
      "name": "extract_instruction",
      "line": 32,
      "end_line": 37,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 33,
      "name": "build_response_reflection_prompt_no_input",
      "line": 1,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 33,
      "name": "build_response_reflection_prompt_with_input",
      "line": 14,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 37,
      "name": "extract_response",
      "line": 1,
      "end_line": 9,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 44,
      "name": "reflect_instructions",
      "line": 4,
      "end_line": 18,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/05_dataset-generation/reflection-gpt4.ipynb",
      "cell": 52,
      "name": "reflect_responses",
      "line": 1,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.3"
        }
      ]
    },
    {
      "source": "ch07/06_user_interface/app.py",
      "cell": null,
      "name": "get_model_and_tokenizer",
      "line": 26,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.1"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.2"
        }
      ]
    },
    {
      "source": "ch07/06_user_interface/app.py",
      "cell": null,
      "name": "extract_response",
      "line": 60,
      "end_line": 61,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ]
    },
    {
      "source": "ch07/06_user_interface/app.py",
      "cell": null,
      "name": "main",
      "line": 69,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.4"
        }
      ]
    },
    {
      "source": "conftest.py",
      "cell": null,
      "name": "_get_env_number",
      "line": 8,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "conftest.py",
      "cell": null,
      "name": "pytest_configure",
      "line": 19,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "conftest.py",
      "cell": null,
      "name": "pytest_configure.request_with_timeout",
      "line": 38,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "cell": null,
      "name": "NeuralNetwork",
      "line": 10,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "cell": null,
      "name": "NeuralNetwork.__init__",
      "line": 11,
      "end_line": 26,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "cell": null,
      "name": "NeuralNetwork.forward",
      "line": 28,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "cell": null,
      "name": "ToyDataset",
      "line": 33,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "cell": null,
      "name": "ToyDataset.__init__",
      "line": 34,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "cell": null,
      "name": "ToyDataset.__getitem__",
      "line": 38,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_a.py",
      "cell": null,
      "name": "ToyDataset.__len__",
      "line": 43,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.1"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.4"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.5"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.6"
        },
        {
          "chapter": "chapters/02-pytorch-training-loop.md",
          "section": "2.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_d.py",
      "cell": null,
      "name": "find_highest_gradient",
      "line": 12,
      "end_line": 20,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_d.py",
      "cell": null,
      "name": "train_model",
      "line": 23,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.1"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.3"
        },
        {
          "chapter": "chapters/17-schedules-clipping-muon.md",
          "section": "17.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "cell": null,
      "name": "LoRALayer",
      "line": 10,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "cell": null,
      "name": "LoRALayer.__init__",
      "line": 11,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "cell": null,
      "name": "LoRALayer.forward",
      "line": 19,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "cell": null,
      "name": "LinearWithLoRA",
      "line": 25,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "cell": null,
      "name": "LinearWithLoRA.__init__",
      "line": 26,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "cell": null,
      "name": "LinearWithLoRA.forward",
      "line": 33,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/appendix_e.py",
      "cell": null,
      "name": "replace_linear_with_lora",
      "line": 37,
      "end_line": 44,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch02.py",
      "cell": null,
      "name": "GPTDatasetV1",
      "line": 11,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch02.py",
      "cell": null,
      "name": "GPTDatasetV1.__init__",
      "line": 12,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch02.py",
      "cell": null,
      "name": "GPTDatasetV1.__len__",
      "line": 27,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch02.py",
      "cell": null,
      "name": "GPTDatasetV1.__getitem__",
      "line": 30,
      "end_line": 31,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch02.py",
      "cell": null,
      "name": "create_dataloader_v1",
      "line": 34,
      "end_line": 47,
      "locations": [
        {
          "chapter": "chapters/03-tokenization-bpe.md",
          "section": "3.8"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "SelfAttention_v1",
      "line": 10,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "SelfAttention_v1.__init__",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "SelfAttention_v1.forward",
      "line": 18,
      "end_line": 29,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "SelfAttention_v2",
      "line": 32,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "SelfAttention_v2.__init__",
      "line": 34,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "SelfAttention_v2.forward",
      "line": 40,
      "end_line": 49,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "CausalAttention",
      "line": 52,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "CausalAttention.__init__",
      "line": 54,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "CausalAttention.forward",
      "line": 64,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "MultiHeadAttentionWrapper",
      "line": 86,
      "end_line": 95,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "MultiHeadAttentionWrapper.__init__",
      "line": 87,
      "end_line": 92,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "MultiHeadAttentionWrapper.forward",
      "line": 94,
      "end_line": 95,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 98,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 99,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 114,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention",
      "line": 159,
      "end_line": 198,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention.__init__",
      "line": 160,
      "end_line": 171,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch03.py",
      "cell": null,
      "name": "PyTorchMultiHeadAttention.forward",
      "line": 173,
      "end_line": 198,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 11,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 12,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 18,
      "end_line": 22,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GELU",
      "line": 25,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 26,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 29,
      "end_line": 33,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "FeedForward",
      "line": 36,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 37,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 45,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 49,
      "end_line": 79,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 50,
      "end_line": 62,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 64,
      "end_line": 79,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GPTModel",
      "line": 82,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 83,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 95,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 107,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "FeedForwardFast",
      "line": 137,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "FeedForwardFast.__init__",
      "line": 138,
      "end_line": 144,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "FeedForwardFast.forward",
      "line": 146,
      "end_line": 147,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "TransformerBlockFast",
      "line": 150,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "TransformerBlockFast.__init__",
      "line": 151,
      "end_line": 162,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "TransformerBlockFast.forward",
      "line": 164,
      "end_line": 179,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GPTModelFast",
      "line": 182,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GPTModelFast.__init__",
      "line": 196,
      "end_line": 206,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch04.py",
      "cell": null,
      "name": "GPTModelFast.forward",
      "line": 208,
      "end_line": 217,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "generate",
      "line": 19,
      "end_line": 59,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "train_model_simple",
      "line": 62,
      "end_line": 95,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 98,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "generate_and_print_sample",
      "line": 107,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "assign",
      "line": 121,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "load_weights_into_gpt",
      "line": 127,
      "end_line": 185,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "text_to_token_ids",
      "line": 188,
      "end_line": 191,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "token_ids_to_text",
      "line": 194,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 199,
      "end_line": 203,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 206,
      "end_line": 222,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "plot_losses",
      "line": 225,
      "end_line": 243,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "download_and_load_gpt2",
      "line": 246,
      "end_line": 277,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "download_file",
      "line": 280,
      "end_line": 324,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "download_file._attempt_download",
      "line": 281,
      "end_line": 302,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch05.py",
      "cell": null,
      "name": "load_gpt2_params_from_tf_ckpt",
      "line": 327,
      "end_line": 355,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "download_and_unzip_spam_data",
      "line": 18,
      "end_line": 38,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "create_balanced_dataset",
      "line": 41,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "random_split",
      "line": 55,
      "end_line": 68,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "SpamDataset",
      "line": 71,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "SpamDataset.__init__",
      "line": 72,
      "end_line": 94,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "SpamDataset.__getitem__",
      "line": 96,
      "end_line": 102,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "SpamDataset.__len__",
      "line": 104,
      "end_line": 105,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "SpamDataset._longest_encoded_length",
      "line": 107,
      "end_line": 113,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "calc_accuracy_loader",
      "line": 119,
      "end_line": 139,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "calc_loss_batch",
      "line": 142,
      "end_line": 146,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "calc_loss_loader",
      "line": 149,
      "end_line": 165,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "evaluate_model",
      "line": 168,
      "end_line": 174,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "train_classifier_simple",
      "line": 177,
      "end_line": 212,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "plot_values",
      "line": 215,
      "end_line": 232,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch06.py",
      "cell": null,
      "name": "classify_review",
      "line": 235,
      "end_line": 257,
      "locations": [
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.1"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.2"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.3"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.4"
        },
        {
          "chapter": "chapters/24_classification.md",
          "section": "24.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "download_and_load_file",
      "line": 16,
      "end_line": 27,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "format_input",
      "line": 57,
      "end_line": 66,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "InstructionDataset",
      "line": 69,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "InstructionDataset.__init__",
      "line": 70,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "InstructionDataset.__getitem__",
      "line": 83,
      "end_line": 84,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "InstructionDataset.__len__",
      "line": 86,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "custom_collate_draft_1",
      "line": 90,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "custom_collate_draft_2",
      "line": 123,
      "end_line": 151,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "custom_collate_fn",
      "line": 154,
      "end_line": 197,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "check_if_running",
      "line": 200,
      "end_line": 206,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "query_model",
      "line": 209,
      "end_line": 238,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/ch07.py",
      "cell": null,
      "name": "generate_model_scores",
      "line": 241,
      "end_line": 258,
      "locations": [
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.1"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.2"
        },
        {
          "chapter": "chapters/25_instruction_tuning.md",
          "section": "25.3"
        },
        {
          "chapter": "chapters/26_instruction_data.md",
          "section": "26.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/generate.py",
      "cell": null,
      "name": "trim_input_tensor",
      "line": 9,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/generate.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 13,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/generate.py",
      "cell": null,
      "name": "generate_text_simple_stream",
      "line": 37,
      "end_line": 67,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "MultiHeadAttention",
      "line": 15,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.2"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.4"
        },
        {
          "chapter": "chapters/04-attention-causality.md",
          "section": "4.7"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.1"
        },
        {
          "chapter": "chapters/05-efficient-attention-buffers.md",
          "section": "5.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "MultiHeadAttention.__init__",
      "line": 16,
      "end_line": 28,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "MultiHeadAttention.forward",
      "line": 30,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "LayerNorm",
      "line": 82,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "LayerNorm.__init__",
      "line": 83,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "LayerNorm.forward",
      "line": 89,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "GELU",
      "line": 96,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "GELU.__init__",
      "line": 97,
      "end_line": 98,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "GELU.forward",
      "line": 100,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "FeedForward",
      "line": 107,
      "end_line": 117,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 108,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 116,
      "end_line": 117,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 120,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 121,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 135,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "GPTModel",
      "line": 153,
      "end_line": 197,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "GPTModel.__init__",
      "line": 154,
      "end_line": 166,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "GPTModel.forward",
      "line": 168,
      "end_line": 194,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/gpt2.py",
      "cell": null,
      "name": "GPTModel.reset_kv_cache",
      "line": 196,
      "end_line": 197,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Model",
      "line": 54,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Model.__init__",
      "line": 55,
      "end_line": 78,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Model.forward",
      "line": 80,
      "end_line": 115,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Model.reset_kv_cache",
      "line": 117,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 121,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 122,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 135,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "FeedForward",
      "line": 151,
      "end_line": 162,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 152,
      "end_line": 156,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 158,
      "end_line": 162,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttention",
      "line": 165,
      "end_line": 240,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttention.__init__",
      "line": 166,
      "end_line": 183,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttention.forward",
      "line": 185,
      "end_line": 240,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "compute_rope_params",
      "line": 243,
      "end_line": 285,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "apply_rope",
      "line": 288,
      "end_line": 306,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer",
      "line": 314,
      "end_line": 355,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer.__init__",
      "line": 316,
      "end_line": 345,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer.encode",
      "line": 347,
      "end_line": 352,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer.decode",
      "line": 354,
      "end_line": 355,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "ChatFormat",
      "line": 358,
      "end_line": 395,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "ChatFormat.__init__",
      "line": 360,
      "end_line": 363,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "ChatFormat._header",
      "line": 365,
      "end_line": 372,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "ChatFormat.encode",
      "line": 374,
      "end_line": 392,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "ChatFormat.decode",
      "line": 394,
      "end_line": 395,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "clean_text",
      "line": 398,
      "end_line": 407,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttentionFast",
      "line": 414,
      "end_line": 460,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttentionFast.__init__",
      "line": 420,
      "end_line": 434,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttentionFast.forward",
      "line": 436,
      "end_line": 460,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "TransformerBlockFast",
      "line": 463,
      "end_line": 494,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "TransformerBlockFast.__init__",
      "line": 468,
      "end_line": 479,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "TransformerBlockFast.forward",
      "line": 481,
      "end_line": 494,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3ModelFast",
      "line": 497,
      "end_line": 534,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3ModelFast.__init__",
      "line": 503,
      "end_line": 524,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/llama3.py",
      "cell": null,
      "name": "Llama3ModelFast.forward",
      "line": 526,
      "end_line": 534,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "Qwen3Model",
      "line": 19,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.__init__",
      "line": 20,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.forward",
      "line": 47,
      "end_line": 83,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.reset_kv_cache",
      "line": 85,
      "end_line": 86,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 89,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 90,
      "end_line": 105,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 107,
      "end_line": 120,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "FeedForward",
      "line": 123,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 124,
      "end_line": 128,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 130,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "MoEFeedForward",
      "line": 137,
      "end_line": 187,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "MoEFeedForward.__init__",
      "line": 138,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "MoEFeedForward.forward",
      "line": 152,
      "end_line": 187,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention",
      "line": 190,
      "end_line": 263,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention.__init__",
      "line": 191,
      "end_line": 218,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention.forward",
      "line": 220,
      "end_line": 263,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "compute_rope_params",
      "line": 266,
      "end_line": 285,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "apply_rope",
      "line": 288,
      "end_line": 306,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "RMSNorm",
      "line": 309,
      "end_line": 330,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "RMSNorm.__init__",
      "line": 310,
      "end_line": 315,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/qwen3.py",
      "cell": null,
      "name": "RMSNorm.forward",
      "line": 317,
      "end_line": 330,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/utils.py",
      "cell": null,
      "name": "KVCache",
      "line": 6,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/utils.py",
      "cell": null,
      "name": "KVCache.__init__",
      "line": 7,
      "end_line": 8,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/utils.py",
      "cell": null,
      "name": "KVCache.get",
      "line": 10,
      "end_line": 11,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/utils.py",
      "cell": null,
      "name": "KVCache.update",
      "line": 13,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/utils.py",
      "cell": null,
      "name": "KVCache.get_all",
      "line": 16,
      "end_line": 17,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache/utils.py",
      "cell": null,
      "name": "KVCache.reset",
      "line": 19,
      "end_line": 21,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/generate.py",
      "cell": null,
      "name": "generate_text_simple",
      "line": 11,
      "end_line": 52,
      "locations": [
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.3"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.5"
        },
        {
          "chapter": "chapters/14-sampling-generation.md",
          "section": "14.6"
        },
        {
          "chapter": "chapters/29_interfaces.md",
          "section": "29.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "Qwen3Model",
      "line": 19,
      "end_line": 91,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.__init__",
      "line": 20,
      "end_line": 45,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.forward",
      "line": 47,
      "end_line": 87,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.reset_kv_cache",
      "line": 89,
      "end_line": 91,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 94,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 95,
      "end_line": 107,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 109,
      "end_line": 122,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "FeedForward",
      "line": 125,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 126,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 132,
      "end_line": 136,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention",
      "line": 139,
      "end_line": 220,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention.__init__",
      "line": 140,
      "end_line": 165,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention.forward",
      "line": 167,
      "end_line": 220,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "compute_rope_params",
      "line": 223,
      "end_line": 242,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "apply_rope",
      "line": 245,
      "end_line": 272,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "RMSNorm",
      "line": 275,
      "end_line": 296,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "RMSNorm.__init__",
      "line": 276,
      "end_line": 281,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/qwen3.py",
      "cell": null,
      "name": "RMSNorm.forward",
      "line": 283,
      "end_line": 296,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "cell": null,
      "name": "KVCache",
      "line": 6,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "cell": null,
      "name": "KVCache.__init__",
      "line": 7,
      "end_line": 10,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "cell": null,
      "name": "KVCache.get",
      "line": 12,
      "end_line": 13,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "cell": null,
      "name": "KVCache.update",
      "line": 15,
      "end_line": 16,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "cell": null,
      "name": "KVCache.get_layer",
      "line": 18,
      "end_line": 19,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/kv_cache_batched/utils.py",
      "cell": null,
      "name": "KVCache.reset",
      "line": 21,
      "end_line": 24,
      "locations": [
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.1"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.2"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.3"
        },
        {
          "chapter": "chapters/08-kv-cache.md",
          "section": "8.9"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3Model",
      "line": 53,
      "end_line": 89,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3Model.__init__",
      "line": 54,
      "end_line": 76,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3Model.forward",
      "line": 78,
      "end_line": 89,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 92,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 93,
      "end_line": 104,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 106,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "FeedForward",
      "line": 122,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 123,
      "end_line": 127,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 129,
      "end_line": 133,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttention",
      "line": 136,
      "end_line": 205,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttention.__init__",
      "line": 137,
      "end_line": 154,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttention.forward",
      "line": 156,
      "end_line": 205,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "compute_rope_params",
      "line": 260,
      "end_line": 302,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "apply_rope",
      "line": 305,
      "end_line": 323,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer",
      "line": 331,
      "end_line": 372,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer.__init__",
      "line": 333,
      "end_line": 362,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer.encode",
      "line": 364,
      "end_line": 369,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3Tokenizer.decode",
      "line": 371,
      "end_line": 372,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "ChatFormat",
      "line": 375,
      "end_line": 412,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "ChatFormat.__init__",
      "line": 377,
      "end_line": 380,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "ChatFormat._header",
      "line": 382,
      "end_line": 389,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "ChatFormat.encode",
      "line": 391,
      "end_line": 409,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "ChatFormat.decode",
      "line": 411,
      "end_line": 412,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "clean_text",
      "line": 415,
      "end_line": 424,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttentionFast",
      "line": 431,
      "end_line": 477,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttentionFast.__init__",
      "line": 437,
      "end_line": 451,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "GroupedQueryAttentionFast.forward",
      "line": 453,
      "end_line": 477,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "TransformerBlockFast",
      "line": 480,
      "end_line": 511,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "TransformerBlockFast.__init__",
      "line": 485,
      "end_line": 496,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "TransformerBlockFast.forward",
      "line": 498,
      "end_line": 511,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3ModelFast",
      "line": 514,
      "end_line": 551,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3ModelFast.__init__",
      "line": 520,
      "end_line": 541,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "Llama3ModelFast.forward",
      "line": 543,
      "end_line": 551,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "assign",
      "line": 554,
      "end_line": 564,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/llama3.py",
      "cell": null,
      "name": "load_weights_into_llama",
      "line": 567,
      "end_line": 629,
      "locations": [
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.1"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.2"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.3"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.4"
        },
        {
          "chapter": "chapters/19_gpt_to_llama.md",
          "section": "19.5"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Model",
      "line": 123,
      "end_line": 162,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.__init__",
      "line": 124,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Model.forward",
      "line": 150,
      "end_line": 162,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "TransformerBlock",
      "line": 165,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "TransformerBlock.__init__",
      "line": 166,
      "end_line": 181,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "TransformerBlock.forward",
      "line": 183,
      "end_line": 196,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "FeedForward",
      "line": 199,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.2"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.3"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.5"
        },
        {
          "chapter": "chapters/06-build-gpt.md",
          "section": "6.6"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "FeedForward.__init__",
      "line": 200,
      "end_line": 204,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "FeedForward.forward",
      "line": 206,
      "end_line": 210,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "MoEFeedForward",
      "line": 213,
      "end_line": 263,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "MoEFeedForward.__init__",
      "line": 214,
      "end_line": 226,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "MoEFeedForward.forward",
      "line": 228,
      "end_line": 263,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention",
      "line": 266,
      "end_line": 329,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention.__init__",
      "line": 267,
      "end_line": 294,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "GroupedQueryAttention.forward",
      "line": 296,
      "end_line": 329,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "compute_rope_params",
      "line": 384,
      "end_line": 403,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "apply_rope",
      "line": 406,
      "end_line": 424,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "RMSNorm",
      "line": 427,
      "end_line": 448,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "RMSNorm.__init__",
      "line": 428,
      "end_line": 433,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "RMSNorm.forward",
      "line": 435,
      "end_line": 448,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "load_weights_into_qwen",
      "line": 451,
      "end_line": 572,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "load_weights_into_qwen.assign",
      "line": 452,
      "end_line": 462,
      "locations": [
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.2"
        },
        {
          "chapter": "chapters/15-weight-loading.md",
          "section": "15.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Tokenizer",
      "line": 575,
      "end_line": 650,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Tokenizer.__init__",
      "line": 588,
      "end_line": 618,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Tokenizer.encode",
      "line": 620,
      "end_line": 637,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Tokenizer.decode",
      "line": 639,
      "end_line": 640,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "Qwen3Tokenizer._wrap_chat",
      "line": 642,
      "end_line": 650,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "download_from_huggingface",
      "line": 653,
      "end_line": 670,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/qwen3.py",
      "cell": null,
      "name": "download_from_huggingface_from_snapshots",
      "line": 673,
      "end_line": 703,
      "locations": [
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.1"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.2"
        },
        {
          "chapter": "chapters/20_qwen3_qwen35.md",
          "section": "20.3"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.1"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_appendix_a.py",
      "cell": null,
      "name": "test_dataset",
      "line": 13,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_appendix_d.py",
      "cell": null,
      "name": "test_train",
      "line": 18,
      "end_line": 118,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_appendix_e.py",
      "cell": null,
      "name": "test_train_classifier_lora",
      "line": 23,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.1"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.2"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.3"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.4"
        },
        {
          "chapter": "chapters/28_lora.md",
          "section": "28.5"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch02.py",
      "cell": null,
      "name": "test_dataloader",
      "line": 16,
      "end_line": 60,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch03.py",
      "cell": null,
      "name": "test_mha",
      "line": 11,
      "end_line": 30,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch04.py",
      "cell": null,
      "name": "test_gpt_model_variants",
      "line": 29,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch05.py",
      "cell": null,
      "name": "test_train_simple",
      "line": 38,
      "end_line": 112,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch06.py",
      "cell": null,
      "name": "test_train_classifier",
      "line": 22,
      "end_line": 148,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_ch07.py",
      "cell": null,
      "name": "test_instruction_finetune",
      "line": 19,
      "end_line": 108,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_generate.py",
      "cell": null,
      "name": "test_dataloader",
      "line": 16,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "cell": null,
      "name": "model_setup",
      "line": 12,
      "end_line": 35,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "cell": null,
      "name": "cached_forward",
      "line": 38,
      "end_line": 43,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "cell": null,
      "name": "test_overlong_prompt_reports_context_limit",
      "line": 48,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "cell": null,
      "name": "test_rejected_decode_preserves_cache_and_last_valid_position",
      "line": 59,
      "end_line": 70,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "cell": null,
      "name": "test_batched_limit_checks_every_sample",
      "line": 75,
      "end_line": 81,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_context_limits.py",
      "cell": null,
      "name": "test_large_generation_budget_can_stop_early_at_eos",
      "line": 86,
      "end_line": 91,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "make_model",
      "line": 23,
      "end_line": 25,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_model_exposes_cached_generator_contract",
      "line": 28,
      "end_line": 34,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_supplied_cache_activates_cache_path_and_supports_a_second_step",
      "line": 37,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_cached_generation_matches_uncached",
      "line": 62,
      "end_line": 73,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_uncached_generation_does_not_inherit_cache_position",
      "line": 76,
      "end_line": 93,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_repeated_cached_generation_resets_position_state",
      "line": 96,
      "end_line": 107,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_streaming_generation_matches_cached_generation",
      "line": 110,
      "end_line": 130,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_trimmed_prompt_uses_last_context_position",
      "line": 135,
      "end_line": 149,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_zero_generation_budget_keeps_prompt_within_context",
      "line": 152,
      "end_line": 158,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_kv_cache_gpt2.py",
      "cell": null,
      "name": "test_trimming_rejects_budget_that_leaves_no_room_for_prompt",
      "line": 161,
      "end_line": 164,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "LitGPTRMSNorm",
      "line": 26,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "LitGPTRMSNorm.__init__",
      "line": 36,
      "end_line": 41,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "LitGPTRMSNorm.forward",
      "line": 43,
      "end_line": 50,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "LitGPTRMSNorm.reset_parameters",
      "line": 52,
      "end_line": 53,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_rope",
      "line": 60,
      "end_line": 143,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_rope.RoPEConfig",
      "line": 104,
      "end_line": 131,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_rope.RoPEConfig.__init__",
      "line": 114,
      "end_line": 116,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_rope.RoPEConfig.standardize_rope_params",
      "line": 118,
      "end_line": 131,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_grouped_query_attention_equivalence",
      "line": 157,
      "end_line": 190,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "llama3_weights_path",
      "line": 194,
      "end_line": 203,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_model_variants",
      "line": 212,
      "end_line": 246,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_rmsnorm_equivalence",
      "line": 249,
      "end_line": 268,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_llama3.py",
      "cell": null,
      "name": "test_llama3_base_equivalence_with_transformers",
      "line": 273,
      "end_line": 326,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "Qwen3RMSNorm",
      "line": 37,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "Qwen3RMSNorm.__init__",
      "line": 40,
      "end_line": 46,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "Qwen3RMSNorm.forward",
      "line": 48,
      "end_line": 54,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "Qwen3RMSNorm.extra_repr",
      "line": 56,
      "end_line": 57,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "_hf_ids",
      "line": 63,
      "end_line": 90,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "dummy_input",
      "line": 94,
      "end_line": 96,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "dummy_cfg_base",
      "line": 100,
      "end_line": 114,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "dummy_cfg_moe",
      "line": 118,
      "end_line": 125,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_dummy_qwen3_forward",
      "line": 129,
      "end_line": 134,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_dummy_qwen3_moe_forward",
      "line": 138,
      "end_line": 145,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_moe_forward_matches_reference",
      "line": 149,
      "end_line": 175,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_qwen3_kvcache_equivalence",
      "line": 180,
      "end_line": 209,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_rope",
      "line": 214,
      "end_line": 284,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_rope.RoPEConfig",
      "line": 244,
      "end_line": 265,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_rope.RoPEConfig.__init__",
      "line": 254,
      "end_line": 256,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_rope.RoPEConfig.standardize_rope_params",
      "line": 258,
      "end_line": 265,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "qwen3_weights_path",
      "line": 288,
      "end_line": 297,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_model_variants",
      "line": 302,
      "end_line": 337,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_model_KV_noKV",
      "line": 340,
      "end_line": 386,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_model_batched_KV",
      "line": 389,
      "end_line": 457,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_rmsnorm_equivalence",
      "line": 460,
      "end_line": 479,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_all_special_tokens_roundtrip",
      "line": 487,
      "end_line": 534,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_chat_wrap_and_equivalence",
      "line": 539,
      "end_line": 577,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_multiturn_equivalence",
      "line": 589,
      "end_line": 626,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_tokenizer_equivalence",
      "line": 630,
      "end_line": 693,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_multiturn_prefix_stability",
      "line": 704,
      "end_line": 775,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/tests/test_qwen3.py",
      "cell": null,
      "name": "test_qwen3_base_equivalence_with_transformers",
      "line": 780,
      "end_line": 823,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.3"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/utils.py",
      "cell": null,
      "name": "_extract_imports",
      "line": 17,
      "end_line": 36,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/utils.py",
      "cell": null,
      "name": "_extract_defs_and_classes_from_code",
      "line": 39,
      "end_line": 107,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/utils.py",
      "cell": null,
      "name": "_extract_defs_and_classes_from_code._is_header_complete",
      "line": 40,
      "end_line": 55,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/utils.py",
      "cell": null,
      "name": "import_definitions_from_notebook",
      "line": 110,
      "end_line": 150,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "pkg/llms_from_scratch/utils.py",
      "cell": null,
      "name": "download_file",
      "line": 153,
      "end_line": 172,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.2"
        }
      ]
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.py",
      "cell": null,
      "name": "get_packages",
      "line": 20,
      "end_line": 63,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.py",
      "cell": null,
      "name": "get_requirements_dict",
      "line": 66,
      "end_line": 99,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.py",
      "cell": null,
      "name": "check_packages",
      "line": 102,
      "end_line": 119,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "setup/02_installing-python-libraries/python_environment_check.py",
      "cell": null,
      "name": "main",
      "line": 122,
      "end_line": 124,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    },
    {
      "source": "setup/02_installing-python-libraries/tests.py",
      "cell": null,
      "name": "test_main",
      "line": 11,
      "end_line": 14,
      "locations": [
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.4"
        },
        {
          "chapter": "chapters/30_package_reproducibility.md",
          "section": "30.5"
        }
      ]
    }
  ]
}
