<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://srini-anirudh.github.io/</loc><lastmod>2026-09-01</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/research.html</loc><lastmod>2026-09-01</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/</loc><lastmod>2026-09-06</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/projects.html</loc><lastmod>2026-09-01</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/about.html</loc><lastmod>2026-09-01</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-agent-evaluation-playbook/</loc><lastmod>2026-09-06</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/what-autograd-actually-does/</loc><lastmod>2026-03-22</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/why-transformers-do-not-explode/</loc><lastmod>2026-04-05</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/choosing-the-next-token/</loc><lastmod>2026-04-19</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/teaching-a-language-model-to-follow-instructions/</loc><lastmod>2025-08-17</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-lora-changes-a-model-without-rewriting-it/</loc><lastmod>2025-10-12</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/inside-an-ai-agent-harness/</loc><lastmod>2026-08-02</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/memory-is-more-than-context/</loc><lastmod>2026-08-09</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-multi-agent-systems-actually-coordinate/</loc><lastmod>2026-08-16</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/reinforcement-learning-for-agents-from-first-principles/</loc><lastmod>2026-08-30</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-attention-moves-information/</loc><lastmod>2026-02-08</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-puzzle-of-overparameterization/</loc><lastmod>2025-07-06</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-llms-are-pretrained/</loc><lastmod>2026-05-03</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/mixing-data-without-losing-capabilities/</loc><lastmod>2026-05-10</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-language-models-learn-to-use-tools/</loc><lastmod>2026-06-07</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-making-of-an-ai-agent/</loc><lastmod>2026-06-21</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/what-changed-inside-the-transformer/</loc><lastmod>2026-06-28</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/scaling-laws-from-first-principles/</loc><lastmod>2025-10-05</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/reinforcement-learning-from-first-principles/</loc><lastmod>2025-11-02</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/teaching-a-model-what-we-prefer/</loc><lastmod>2025-09-14</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-reinforcement-learning-teaches-models-to-reason/</loc><lastmod>2026-04-05</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/thinking-in-tokens/</loc><lastmod>2025-11-09</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-models-improve-without-changing-their-weights/</loc><lastmod>2025-11-23</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-to-find-what-is-slowing-your-model/</loc><lastmod>2026-06-14</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-serving-playbook/</loc><lastmod>2026-05-10</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-mechanics-of-llm-inference/</loc><lastmod>2026-03-22</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-parallelism-playbook/</loc><lastmod>2026-04-12</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/inside-a-training-step/</loc><lastmod>2026-03-01</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/talk-is-not-cheap/</loc><lastmod>2026-02-08</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/why-fast-gpus-still-wait-for-memory/</loc><lastmod>2026-01-25</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/why-gpus-are-built-for-deep-learning/</loc><lastmod>2026-01-11</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-vlm-architecture-gallery/</loc><lastmod>2026-08-18</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/inside-a-modern-vision-encoder/</loc><lastmod>2026-01-18</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/one-transformer-two-modalities/</loc><lastmod>2026-06-14</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/an-image-is-a-sentence/</loc><lastmod>2026-05-31</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/across-the-cnnverse/</loc><lastmod>2026-05-17</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/evolution-of-ml-architectures/</loc><lastmod>2026-05-03</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/how-models-know-where-they-are/</loc><lastmod>2026-02-22</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/what-an-optimizer-actually-does/</loc><lastmod>2026-03-08</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/the-geometry-of-normalization/</loc><lastmod>2026-01-25</lastmod></url>
  <url><loc>https://srini-anirudh.github.io/blogs/why-neural-networks-need-nonlinearity/</loc><lastmod>2026-01-11</lastmod></url>
</urlset>
