<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Writing on Yasaswi Kapila</title><link>http://www.yasaswi.in/posts/index.html</link><description>Recent content in Writing on Yasaswi Kapila</description><generator>Hugo</generator><language>en-IN</language><lastBuildDate>Fri, 23 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://www.yasaswi.in/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Only teach what it can learn</title><link>http://www.yasaswi.in/posts/only-teach-what-it-can-learn.html</link><pubDate>Fri, 23 Oct 2026 00:00:00 +0000</pubDate><guid>http://www.yasaswi.in/posts/only-teach-what-it-can-learn.html</guid><description>&lt;p&gt;I have been running reinforcement learning on a small open-weight model in my own time. I train it on four kinds of tasks at once: answering questions from retrieved documents, producing flat and nested JSON, following instructions, and solving math problems.&lt;/p&gt;&#10;&lt;p&gt;The first run went well for three of these. Retrieval answers and structured output improved clearly, but math barely moved.&lt;/p&gt;&#10;&lt;p&gt;The method I use is GRPO. It samples several answers to the same question and learns by comparing them. If all the answers are wrong, or all of them are right, there is nothing to compare, and the model learns nothing from that question. Most of my math questions were too hard for this model. It got every attempt wrong, so most of the math in each batch contributed nothing to training.&lt;/p&gt;</description></item><item><title>The model that lost its place</title><link>http://www.yasaswi.in/posts/the-model-that-lost-its-place.html</link><pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate><guid>http://www.yasaswi.in/posts/the-model-that-lost-its-place.html</guid><description>&lt;p&gt;Language models don&amp;rsquo;t naturally know the order of the words they read. Positional encoding is what gives them this information. We use a variant called YaRN, which stretches the model&amp;rsquo;s sense of position so that a model trained on shorter text can handle longer documents. We added YaRN to our model and checked that it worked.&lt;/p&gt;&#10;&lt;p&gt;To make generation faster, a GPU can record a sequence of operations once and then replay that recording again and again, which skips a lot of overhead. These recordings are called CUDA graphs, and they are one of the easiest ways to speed up inference.&lt;/p&gt;</description></item><item><title>243 missing tensors</title><link>http://www.yasaswi.in/posts/243-missing-tensors.html</link><pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate><guid>http://www.yasaswi.in/posts/243-missing-tensors.html</guid><description>&lt;p&gt;After fine-tuning, my model was producing garbage, repeating the same few words over and over. I assumed something had gone wrong in training and spent a good amount of time adjusting the training setup.&lt;/p&gt;&#10;&lt;p&gt;To check whether the model could learn at all, I trained it on just five examples until it memorised them. It memorised all five, but generation still produced the same repeated words. So the training was working, and the problem was somewhere else.&lt;/p&gt;</description></item><item><title>Training where the internet isn't</title><link>http://www.yasaswi.in/posts/training-where-the-internet-isnt.html</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate><guid>http://www.yasaswi.in/posts/training-where-the-internet-isnt.html</guid><description>&lt;p&gt;Some of my work runs on machines that have no internet connection at all. On these machines, you can&amp;rsquo;t install a missing package or download a dataset you forgot, and every gap means another trip with a drive. Over time, this changed the way I set things up.&lt;/p&gt;&#10;&lt;p&gt;Anything that needs the internet becomes a script that I run once, on a different machine. I download the data, save it, and carry the whole folder in. I also pin every library to an exact version, because the version I test with has to be the same one that arrives on the machine.&lt;/p&gt;</description></item></channel></rss>