<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MLOps on Nikhil Adhikari</title><link>https://kai2055.github.io/tags/mlops/</link><description>Recent content in MLOps on Nikhil Adhikari</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Thu, 12 Feb 2026 00:00:00 +0100</lastBuildDate><atom:link href="https://kai2055.github.io/tags/mlops/index.xml" rel="self" type="application/rss+xml"/><item><title>The three layers where ML systems fail</title><link>https://kai2055.github.io/p/the-three-layers-where-ml-systems-fail/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0100</pubDate><guid>https://kai2055.github.io/p/the-three-layers-where-ml-systems-fail/</guid><description>&lt;p&gt;Most ML portfolios show a model that runs once. The interesting engineering is
in the part that comes after: keeping it running. In my experience, ML systems
fail at three predictable points.&lt;/p&gt;
&lt;h2 id="1-bad-data-gets-in"&gt;1. Bad data gets in
&lt;/h2&gt;&lt;p&gt;The model trains or scores on corrupt input and nobody notices until the numbers
are wrong three steps downstream. The fix is boring and essential: validate data
&lt;em&gt;before&lt;/em&gt; it reaches the model — missing values, duplicates, malformed headers,
schema drift.&lt;/p&gt;
&lt;h2 id="2-the-model-drifts-in-production"&gt;2. The model drifts in production
&lt;/h2&gt;&lt;p&gt;A model that passed every test on launch day quietly degrades as the world
changes underneath it. The first sign shouldn&amp;rsquo;t be an angry user — it should be
a metric. That means monitoring distribution shift (PSI, Wasserstein) and gating
deployments on it.&lt;/p&gt;
&lt;h2 id="3-the-same-failure-repeats"&gt;3. The same failure repeats
&lt;/h2&gt;&lt;p&gt;An outage happens, someone writes a post-mortem, it gets buried in a wiki, and
six months later the same thing happens again. Turning past failures into
&lt;em&gt;searchable, deployment-gating&lt;/em&gt; feedback is the third layer — and the one almost
nobody builds.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;One principle — reliability — across three layers: data, model, system. That&amp;rsquo;s
the thread running through everything on my &lt;a class="link" href="https://kai2055.github.io/projects/" &gt;projects&lt;/a&gt; page.&lt;/p&gt;</description></item><item><title>Why this site exists</title><link>https://kai2055.github.io/p/why-this-site-exists/</link><pubDate>Tue, 10 Feb 2026 00:00:00 +0100</pubDate><guid>https://kai2055.github.io/p/why-this-site-exists/</guid><description>&lt;p&gt;This is where I keep my notes on building ML systems that stay working.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a slow, deep learner — I&amp;rsquo;d rather understand one thing from first principles
than skim ten. So instead of a static résumé, I keep a working notebook: what I&amp;rsquo;m
building, what broke, and what I learned fixing it.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re a recruiter or engineer in Berlin looking at my
&lt;a class="link" href="https://kai2055.github.io/projects/" &gt;projects&lt;/a&gt;, this blog is the &amp;ldquo;why&amp;rdquo; behind them. If you&amp;rsquo;re learning
MLOps yourself, maybe some of it saves you a wrong turn.&lt;/p&gt;
&lt;p&gt;More soon.&lt;/p&gt;</description></item></channel></rss>