{"article":{"slug":"everything-is-a-leaky-abstraction-in-machine-learning","title":"Everything Is a Leaky Abstraction (in machine learning)","subtitle":null,"summary":"Elijah Potter, building on Andrej Karpathy's case for understanding backprop by hand, argues that unlike sealed abstractions such as TCP/IP, TLS or PostgreSQL, every part of a machine learning system leaks into the cost function, so practitioners should understand the whole model and training regimen before they start.","content_type":"opinion","language":"en","canonical_url":"https://elijahpotter.dev/articles/everything_is_a_leaky_abstraction","author":{"name":"Elijah Potter","url":null,"person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Elijah Potter","url":"https://elijahpotter.dev/","listing_slug":null,"listing":null},"topics":[{"name":"Machine Learning","slug":"machine-learning","url":"https://listedarticles.com/topics/machine-learning"},{"name":"Software Engineering","slug":"software-engineering","url":"https://listedarticles.com/topics/software-engineering"},{"name":"Opinion","slug":"opinion","url":"https://listedarticles.com/topics/opinion"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":402,"reading_minutes":2,"published_at":"2026-10-16T00:00:00.000Z","added_at":"2026-10-20T05:13:42.175Z","updated_at":"2026-10-20T05:13:42.175Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/everything-is-a-leaky-abstraction-in-machine-learning","markdown_url":"https://listedarticles.com/articles/everything-is-a-leaky-abstraction-in-machine-learning.md","example":false,"citation":"Elijah Potter, Elijah Potter. \"Everything Is a Leaky Abstraction (in machine learning).\" 16 Oct 2026. https://elijahpotter.dev/articles/everything_is_a_leaky_abstraction (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://elijahpotter.dev/articles/everything_is_a_leaky_abstraction"},"body_markdown":"# Everything Is a Leaky Abstraction\\*\n\n*\\*in machine learning*\n\nElijah Potter | October 16, 2026\n\nOne of my favorite blog posts of all time was written by Andrej Karpathy nearly ten years ago.\nIn it, he details how he would require the students of his CS231n Deep Learning class at Stanford to implement the forward and backward passes of neural networks by hand (that is, in Python with NumPy).\nWhy?\nBecause he wanted his students to leave his class with a visceral understanding of backpropagation.\nThey should know how it works, why it works, and thus how to fix it when it stops working.\n\nIt’s a great read, and I highly recommend that anyone and everyone interested in ML peruse it.\n[You can find it here.](https://karpathy.medium.com/yes-you-should-understand-backprop-e2f06eab496b#.lbzzq2acs)\n\n## Some Sealed Abstractions\n\nThere are some things that **are** sealed abstractions (that is, they are not leaky).\nBut I do not think any of them exist in the serious study of machine learning.\nSome examples include:\n\n- Lossless compression algorithms.\n- TCP/IP\n- TLS\n- PostgreSQL\n\nSure, with some of these things you occasionally need to understand the underlying system for performance tuning.\nBut knowledge of the underlying system is rarely the difference between success and failure.\n\n## ML Is Not like Normal Engineering\n\nML is not that way.\nTo successfully train a model, you need to have a clear understanding of every aspect of the system, all the way down to how individual weights and biases are updated.\nIt is not a kind discipline.\n\nObviously, there is Karpathy’s example of backpropagation, but it goes further than that.\nEvery aspect of model architecture can influence the shape of the cost function optimized via backpropagation, which means every aspect of model architecture is leaky.\n\nI have got the sense that laymen believe that any problem can be solved by throwing a [transformer](https://en.wikipedia.org/wiki/Transformer_(deep_learning)) at it.\nIf only it were so simple.\n\nSuccessful use of a transformer (or any model architecture, for that matter) depends on a good understanding of how it works and how it affects the cost function.\n\n## Take Your Time\n\nAs with any kind of system with a Rube Goldberg–level complexity, it is best to take your time.\nGo slow.\nSkip that extra pot of coffee.\nIt’s better to be right slowly than wrong very fast.\nUnderstand every aspect of your model and training regimen *before* you start, not after.\n\nPublished October 16, 2026 at 9:08 PM\n\nProofread by [Harper](https://writewithharper.com).\n","body_html":"<h1 id=\"everything-is-a-leaky-abstraction\">Everything Is a Leaky Abstraction*</h1>\n<p>*<em>in machine learning</em></p>\n<p>Elijah Potter | October 16, 2026</p>\n<p>One of my favorite blog posts of all time was written by Andrej Karpathy nearly ten years ago.\nIn it, he details how he would require the students of his CS231n Deep Learning class at Stanford to implement the forward and backward passes of neural networks by hand (that is, in Python with NumPy).\nWhy?\nBecause he wanted his students to leave his class with a visceral understanding of backpropagation.\nThey should know how it works, why it works, and thus how to fix it when it stops working.</p>\n<p>It’s a great read, and I highly recommend that anyone and everyone interested in ML peruse it.\n<a href=\"https://karpathy.medium.com/yes-you-should-understand-backprop-e2f06eab496b#.lbzzq2acs\" rel=\"nofollow ugc noopener\">You can find it here.</a></p>\n<h2 id=\"some-sealed-abstractions\">Some Sealed Abstractions</h2>\n<p>There are some things that <strong>are</strong> sealed abstractions (that is, they are not leaky).\nBut I do not think any of them exist in the serious study of machine learning.\nSome examples include:</p>\n<ul><li>Lossless compression algorithms.</li><li>TCP/IP</li><li>TLS</li><li>PostgreSQL</li></ul>\n<p>Sure, with some of these things you occasionally need to understand the underlying system for performance tuning.\nBut knowledge of the underlying system is rarely the difference between success and failure.</p>\n<h2 id=\"ml-is-not-like-normal-engineering\">ML Is Not like Normal Engineering</h2>\n<p>ML is not that way.\nTo successfully train a model, you need to have a clear understanding of every aspect of the system, all the way down to how individual weights and biases are updated.\nIt is not a kind discipline.</p>\n<p>Obviously, there is Karpathy’s example of backpropagation, but it goes further than that.\nEvery aspect of model architecture can influence the shape of the cost function optimized via backpropagation, which means every aspect of model architecture is leaky.</p>\n<p>I have got the sense that laymen believe that any problem can be solved by throwing a <a href=\"https://en.wikipedia.org/wiki/Transformer_(deep_learning)\" rel=\"nofollow ugc noopener\">transformer</a> at it.\nIf only it were so simple.</p>\n<p>Successful use of a transformer (or any model architecture, for that matter) depends on a good understanding of how it works and how it affects the cost function.</p>\n<h2 id=\"take-your-time\">Take Your Time</h2>\n<p>As with any kind of system with a Rube Goldberg–level complexity, it is best to take your time.\nGo slow.\nSkip that extra pot of coffee.\nIt’s better to be right slowly than wrong very fast.\nUnderstand every aspect of your model and training regimen <em>before</em> you start, not after.</p>\n<p>Published October 16, 2026 at 9:08 PM</p>\n<p>Proofread by <a href=\"https://writewithharper.com\" rel=\"nofollow ugc noopener\">Harper</a>.</p>","headings":[{"level":1,"text":"Everything Is a Leaky Abstraction*","id":"everything-is-a-leaky-abstraction"},{"level":2,"text":"Some Sealed Abstractions","id":"some-sealed-abstractions"},{"level":2,"text":"ML Is Not like Normal Engineering","id":"ml-is-not-like-normal-engineering"},{"level":2,"text":"Take Your Time","id":"take-your-time"}]}}