<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Zero to One AI</title><link>https://blog.crazyai.uk/</link><description>Recent content on Zero to One AI</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 22 Aug 2026 18:10:00 +0800</lastBuildDate><atom:link href="https://blog.crazyai.uk/index.xml" rel="self" type="application/rss+xml"/><item><title>The Model File Has No Names</title><link>https://blog.crazyai.uk/posts/inference-field-notes-01-the-model-file-has-no-names/</link><pubDate>Sat, 22 Aug 2026 18:10:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/inference-field-notes-01-the-model-file-has-no-names/</guid><description>Following a TinyStories checkpoint from PyTorch export to mmap, KV cache, and token sampling in Karpathy&amp;#39;s llama2.c.</description></item><item><title>The Extra Code Is Not Another Brain</title><link>https://blog.crazyai.uk/posts/transformer-field-notes-06-extra-code-is-not-another-brain/</link><pubDate>Thu, 20 Aug 2026 11:36:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/transformer-field-notes-06-extra-code-is-not-another-brain/</guid><description>Production nanoGPT adds a factory around the same next-token spine—and the product is still a document continuer, not a chatbot.</description></item><item><title>Width Paid, Context Lied, Last Step Lost</title><link>https://blog.crazyai.uk/posts/transformer-field-notes-05-width-paid-context-lied/</link><pubDate>Thu, 20 Aug 2026 11:35:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/transformer-field-notes-05-width-paid-context-lied/</guid><description>Three controlled knobs produced one useful winner, one confounded story, and a checkpoint that was better before training ended.</description></item><item><title>A Live Wire Is Not a Language</title><link>https://blog.crazyai.uk/posts/transformer-field-notes-04-live-wire-is-not-a-language/</link><pubDate>Thu, 20 Aug 2026 11:34:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/transformer-field-notes-04-live-wire-is-not-a-language/</guid><description>The model could memorize one batch, lower validation loss, restore a checkpoint, and imitate a play—without learning honest English.</description></item><item><title>The Residual Stream Is the Model</title><link>https://blog.crazyai.uk/posts/transformer-field-notes-03-residual-stream-is-the-model/</link><pubDate>Thu, 20 Aug 2026 11:33:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/transformer-field-notes-03-residual-stream-is-the-model/</guid><description>I stopped picturing a Transformer as layers replacing one another. A better picture is one long highway with repeated reads and writes.</description></item><item><title>Four Ways to Average the Past</title><link>https://blog.crazyai.uk/posts/transformer-field-notes-02-four-ways-to-average-the-past/</link><pubDate>Thu, 20 Aug 2026 11:32:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/transformer-field-notes-02-four-ways-to-average-the-past/</guid><description>Q, K, and V stopped feeling magical when I rebuilt attention as four increasingly selective ways to mix the same past.</description></item><item><title>The Batch Is a Factory of Futures</title><link>https://blog.crazyai.uk/posts/transformer-field-notes-01-batch-factory-of-futures/</link><pubDate>Thu, 20 Aug 2026 11:31:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/transformer-field-notes-01-batch-factory-of-futures/</guid><description>I thought training a language model meant teaching it to write. The first batch showed me something much more mechanical—and more useful.</description></item><item><title>About</title><link>https://blog.crazyai.uk/about/</link><pubDate>Thu, 20 Aug 2026 10:00:00 +0800</pubDate><guid>https://blog.crazyai.uk/about/</guid><description>Why this public AI learning log exists.</description></item><item><title>Learning Roadmap</title><link>https://blog.crazyai.uk/roadmap/</link><pubDate>Thu, 20 Aug 2026 10:00:00 +0800</pubDate><guid>https://blog.crazyai.uk/roadmap/</guid><description>The living map behind my zero-to-one AI journey.</description></item><item><title>From Blank Canvas to Guided Creation — Prompt Examples and Reference Image Entry in PicGen Studio</title><link>https://blog.crazyai.uk/posts/picgen-prompt-examples-and-reference-image-entry/</link><pubDate>Mon, 04 May 2026 22:00:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/picgen-prompt-examples-and-reference-image-entry/</guid><description>PicGen Studio now has Prompt Examples that fill prompts with one click, and a proper &amp;lsquo;Add Reference&amp;rsquo; button that lets you upload local images or pick from history. No more staring at a blank input box.</description></item><item><title>Building a Chat-Style Image Creation Studio — From Form-Based Generation to Conversational AI Art</title><link>https://blog.crazyai.uk/posts/picgen-studio-chat-style-image-creation/</link><pubDate>Sat, 02 May 2026 23:00:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/picgen-studio-chat-style-image-creation/</guid><description>PicGen&amp;rsquo;s image generation used to be a simple form: type a prompt, get an image. I just shipped a Studio that turns the whole experience into a ChatGPT-like conversation — where you talk to an AI artist, iterate on images, and build a creative thread.</description></item><item><title>A Day of DevOps: Docker Permission Hell, Disk Cleanup, and the Turnstile Mystery</title><link>https://blog.crazyai.uk/posts/picgen-devops-day/</link><pubDate>Sat, 02 May 2026 20:00:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/picgen-devops-day/</guid><description>What started as a simple Docker rebuild turned into a full-day adventure — fighting uv venv permissions, freeing 13GB of disk, and debugging a Cloudflare Turnstile secret that refused to work.</description></item><item><title>Hello World 🌍</title><link>https://blog.crazyai.uk/posts/hello-world/</link><pubDate>Wed, 29 Apr 2026 22:00:00 +0800</pubDate><guid>https://blog.crazyai.uk/posts/hello-world/</guid><description>First post — how and why I set up this blog.</description></item></channel></rss>