<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Learn AI</title>
    <link>https://learn.pranaymahendrakar.com/</link>
    <description>Free, beginner-friendly documentation for AI developers. Machine Learning, Deep Learning, LLMs, Computer Vision, NLP, Generative AI and MLOps — explained in very simple words.</description>
    <language>en</language>
    <lastBuildDate>Wed, 02 Sep 2026 00:05:00 +0530</lastBuildDate>
    <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
    <generator>learn.pranaymahendrakar.com</generator>
    <atom:link href="https://learn.pranaymahendrakar.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Autoscaling on the right metric</title>
      <link>https://learn.pranaymahendrakar.com/learn/scaling-and-traffic/autoscaling-on-the-right-metric</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/scaling-and-traffic/autoscaling-on-the-right-metric</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Scaling and Traffic Management</category>
      <category>mlops</category>
      <category>scaling</category>
      <category>autoscaling</category>
      <category>metrics</category>
      <category>production</category>
      <description>Autoscaling adds and removes machines automatically, but only helps if it watches the number that actually predicts trouble.</description>
    </item>
    <item>
      <title>BLEU, chrF and COMET</title>
      <link>https://learn.pranaymahendrakar.com/learn/text-evaluation/bleu-and-translation-metrics</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/text-evaluation/bleu-and-translation-metrics</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Evaluating Text Systems</category>
      <category>nlp</category>
      <category>evaluation</category>
      <category>translation</category>
      <category>bleu</category>
      <category>metrics</category>
      <description>BLEU scores a translation by counting matching word chunks against a reference, which is fast but blind to correct paraphrases.</description>
    </item>
    <item>
      <title>Bag of words</title>
      <link>https://learn.pranaymahendrakar.com/learn/classical-nlp/bag-of-words</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/classical-nlp/bag-of-words</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Classical NLP That Still Works</category>
      <category>nlp</category>
      <category>classical-nlp</category>
      <category>bag-of-words</category>
      <category>vectorization</category>
      <category>scikit-learn</category>
      <description>Bag of words turns a sentence into a list of word counts, throwing away word order but keeping enough signal to search and classify text cheaply.</description>
    </item>
    <item>
      <title>Building a spell checker</title>
      <link>https://learn.pranaymahendrakar.com/learn/messy-text/spelling-correction</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/messy-text/spelling-correction</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Messy Real-World Text</category>
      <category>nlp</category>
      <category>messy-text</category>
      <category>spelling</category>
      <category>edit-distance</category>
      <description>A spell checker guesses the intended word from a misspelled one by finding the closest real word, the same way you guess a word mumbled in a noisy market.</description>
    </item>
    <item>
      <title>Chunking strategies compared</title>
      <link>https://learn.pranaymahendrakar.com/learn/chunking-long-documents/chunking-strategies</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/chunking-long-documents/chunking-strategies</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Chunking and Long Documents</category>
      <category>nlp</category>
      <category>rag</category>
      <category>chunking</category>
      <category>retrieval</category>
      <category>text-splitting</category>
      <description>Chunking cuts a long document into smaller pieces so a search system can find and hand over only the part that answers a question, and the cutting method decides whether those pieces still make sense.</description>
    </item>
    <item>
      <title>DICOM, windowing and image intensity</title>
      <link>https://learn.pranaymahendrakar.com/learn/medical-imaging/dicom-and-medical-images</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/medical-imaging/dicom-and-medical-images</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Medical Imaging AI</category>
      <category>medical-imaging</category>
      <category>dicom</category>
      <category>ct</category>
      <category>windowing</category>
      <description>A medical scan is not a photograph — its pixels store a physical measurement, and you choose which slice of that range to actually look at.</description>
    </item>
    <item>
      <title>Dynamic batching</title>
      <link>https://learn.pranaymahendrakar.com/learn/batching-and-throughput/dynamic-batching</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/batching-and-throughput/dynamic-batching</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Batching and Concurrency</category>
      <category>mlops</category>
      <category>batching</category>
      <category>throughput</category>
      <category>serving</category>
      <category>fastapi</category>
      <description>Dynamic batching holds a few incoming requests for a short moment so one model call can serve all of them together, trading a little latency for a lot more throughput.</description>
    </item>
    <item>
      <title>Estimating how long and how much a run will cost</title>
      <link>https://learn.pranaymahendrakar.com/learn/caching-and-cost/training-cost-estimation</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/caching-and-cost/training-cost-estimation</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Caching and Cost Control</category>
      <category>cost</category>
      <category>training</category>
      <category>estimation</category>
      <category>budgeting</category>
      <category>gpu</category>
      <category>mlops</category>
      <description>Before you start a training run, you can work out roughly how long it will take and what it will cost, the same way a contractor quotes a job before picking up a tool.</description>
    </item>
    <item>
      <title>Extractive question answering</title>
      <link>https://learn.pranaymahendrakar.com/learn/question-answering/extractive-qa</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/question-answering/extractive-qa</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Question Answering</category>
      <category>nlp</category>
      <category>question-answering</category>
      <category>bert</category>
      <category>squad</category>
      <category>extractive-qa</category>
      <description>Extractive QA finds the exact words that answer a question inside a given passage, instead of writing a new sentence from scratch.</description>
    </item>
    <item>
      <title>Extractive summarisation</title>
      <link>https://learn.pranaymahendrakar.com/learn/summarisation/extractive-summarisation</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/summarisation/extractive-summarisation</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Summarisation</category>
      <category>nlp</category>
      <category>summarisation</category>
      <category>extractive</category>
      <category>textrank</category>
      <category>information-retrieval</category>
      <description>Extractive summarisation builds a summary by picking the most important sentences straight out of the original text, without writing a single new word.</description>
    </item>
    <item>
      <title>Generating alt text that is actually useful</title>
      <link>https://learn.pranaymahendrakar.com/learn/accessibility-ai/alt-text-generation</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/accessibility-ai/alt-text-generation</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>AI for Accessibility</category>
      <category>alt-text</category>
      <category>accessibility</category>
      <category>accessibility-ai</category>
      <category>computer-vision</category>
      <category>screen-readers</category>
      <description>Alt text generation describes an image in words for a screen reader, and the honest version says less rather than guessing wrong with confidence.</description>
    </item>
    <item>
      <title>GloVe</title>
      <link>https://learn.pranaymahendrakar.com/learn/text-embeddings/glove</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/text-embeddings/glove</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>The Embedding Family</category>
      <category>nlp</category>
      <category>text-embeddings</category>
      <category>glove</category>
      <category>word-vectors</category>
      <category>embeddings</category>
      <description>GloVe learns a number list for every word by counting, across an entire corpus, how often word pairs appear near each other, then compressing those counts into vectors.</description>
    </item>
    <item>
      <title>How neural machine translation works</title>
      <link>https://learn.pranaymahendrakar.com/learn/multilingual-nlp/neural-machine-translation</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/multilingual-nlp/neural-machine-translation</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Multilingual and Indic NLP</category>
      <category>nlp</category>
      <category>multilingual</category>
      <category>translation</category>
      <category>seq2seq</category>
      <category>attention</category>
      <description>Neural machine translation reads a whole sentence into one model, then generates the translation word by word, using attention to look back at the right source words.</description>
    </item>
    <item>
      <title>Industrial sensor and historian data</title>
      <link>https://learn.pranaymahendrakar.com/learn/manufacturing-ai/industrial-sensor-data</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/manufacturing-ai/industrial-sensor-data</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Manufacturing and Predictive Maintenance</category>
      <category>manufacturing</category>
      <category>sensors</category>
      <category>historian</category>
      <category>industrial-data</category>
      <category>iot</category>
      <description>A factory&apos;s sensors report on different schedules and occasionally freeze or drift, so the raw data has to be aligned and checked before any model can trust it.</description>
    </item>
    <item>
      <title>Keyword search vs semantic search</title>
      <link>https://learn.pranaymahendrakar.com/learn/semantic-search/keyword-vs-semantic-search</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/semantic-search/keyword-vs-semantic-search</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Semantic Search and Reranking</category>
      <category>semantic-search</category>
      <category>keyword-search</category>
      <category>bm25</category>
      <category>embeddings</category>
      <category>information-retrieval</category>
      <description>Keyword search matches the exact words you typed. Semantic search matches what you meant. The difference shows up the moment your words don&apos;t match the document&apos;s words.</description>
    </item>
    <item>
      <title>Latency budgets</title>
      <link>https://learn.pranaymahendrakar.com/learn/latency-and-load-testing/latency-budgets</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/latency-and-load-testing/latency-budgets</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Latency, Load Testing and Capacity</category>
      <category>mlops</category>
      <category>latency</category>
      <category>performance</category>
      <category>serving</category>
      <category>budgeting</category>
      <description>A latency budget splits your total allowed response time across every step of a request, so you know exactly which step is eating the most time before it becomes a problem.</description>
    </item>
    <item>
      <title>Legal documents as data</title>
      <link>https://learn.pranaymahendrakar.com/learn/legal-compliance-ai/legal-documents-as-data</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/legal-compliance-ai/legal-documents-as-data</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Legal and Compliance AI</category>
      <category>nlp</category>
      <category>legal-ai</category>
      <category>contracts</category>
      <category>text-preprocessing</category>
      <description>Legal documents are numbered and hierarchical rather than free-flowing prose, and that numbering is the most reliable structure available for processing them.</description>
    </item>
    <item>
      <title>Masked language modelling</title>
      <link>https://learn.pranaymahendrakar.com/learn/bert-family/masked-language-modelling</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/bert-family/masked-language-modelling</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>The BERT Family</category>
      <category>masked-language-modelling</category>
      <category>bert</category>
      <category>pretraining</category>
      <category>mlm</category>
      <category>self-supervised</category>
      <description>Masked language modelling trains a model by hiding random words and asking it to guess them from context on both sides, which is how BERT learned language without any human-written labels.</description>
    </item>
    <item>
      <title>Measuring data drift</title>
      <link>https://learn.pranaymahendrakar.com/learn/production-monitoring/measuring-data-drift</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/production-monitoring/measuring-data-drift</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Monitoring Models in Production</category>
      <category>mlops</category>
      <category>monitoring</category>
      <category>drift</category>
      <category>data-quality</category>
      <category>psi</category>
      <description>Data drift is when the inputs a live model sees stop looking like the inputs it was trained on, and PSI is the simplest number that tells you how much.</description>
    </item>
    <item>
      <title>Model registries</title>
      <link>https://learn.pranaymahendrakar.com/learn/model-registry-and-reproducibility/model-registry</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/model-registry-and-reproducibility/model-registry</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Registries, Artifacts and Environments</category>
      <category>mlops</category>
      <category>registry</category>
      <category>reproducibility</category>
      <category>versioning</category>
      <description>A model registry is the one place that lists every trained version of a model, and which one is actually live.</description>
    </item>
    <item>
      <title>On-call for ML systems</title>
      <link>https://learn.pranaymahendrakar.com/learn/ml-incident-response/on-call-for-ml-systems</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/ml-incident-response/on-call-for-ml-systems</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Incident Response for ML Systems</category>
      <category>mlops</category>
      <category>incident-response</category>
      <category>on-call</category>
      <category>alerting</category>
      <category>sre</category>
      <description>On-call means someone is reachable and ready to act when a model-serving system breaks, on a rotating schedule, so a 2 a.m. failure never depends on luck.</description>
    </item>
    <item>
      <title>Part-of-speech tagging</title>
      <link>https://learn.pranaymahendrakar.com/learn/sequence-labelling/pos-tagging</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/sequence-labelling/pos-tagging</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Sequence Labelling and Structure</category>
      <category>pos-tagging</category>
      <category>sequence-labelling</category>
      <category>spacy</category>
      <category>grammar</category>
      <category>nlp</category>
      <description>Part-of-speech tagging labels every word with its grammatical role in that exact sentence, which is the first structural clue almost every later NLP step depends on.</description>
    </item>
    <item>
      <title>Point-in-time correctness</title>
      <link>https://learn.pranaymahendrakar.com/learn/production-feature-pipelines/point-in-time-correctness</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/production-feature-pipelines/point-in-time-correctness</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Feature and Data Pipelines in Production</category>
      <category>feature-pipelines</category>
      <category>mlops</category>
      <category>data-leakage</category>
      <category>feature-store</category>
      <description>Point-in-time correctness means every number shown to a model was actually known at that exact moment in the past, never filled in using something from later.</description>
    </item>
    <item>
      <title>Point-in-time financial data</title>
      <link>https://learn.pranaymahendrakar.com/learn/finance-ai/financial-data-and-point-in-time</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/finance-ai/financial-data-and-point-in-time</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>AI in Finance and Fraud</category>
      <category>finance</category>
      <category>point-in-time</category>
      <category>data-leakage</category>
      <category>look-ahead-bias</category>
      <category>finance-ai</category>
      <description>Financial numbers change after they are first published, so a model must only ever see the version that existed on that day, never the corrected one.</description>
    </item>
    <item>
      <title>Retail demand data</title>
      <link>https://learn.pranaymahendrakar.com/learn/retail-supply-chain/retail-demand-data</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/retail-supply-chain/retail-demand-data</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Retail, Demand and Supply Chain</category>
      <category>retail</category>
      <category>demand-forecasting</category>
      <category>supply-chain</category>
      <category>time-series</category>
      <category>data</category>
      <description>Retail demand data is a giant table of what sold, where and when, and its shape decides everything you can build on top of it.</description>
    </item>
    <item>
      <title>Robot sensors and time synchronisation</title>
      <link>https://learn.pranaymahendrakar.com/learn/robotics-control/robot-sensors-and-time-sync</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/robotics-control/robot-sensors-and-time-sync</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Robotics, Control and Autonomy</category>
      <category>robotics</category>
      <category>sensors</category>
      <category>time-sync</category>
      <category>lidar</category>
      <category>imu</category>
      <description>A robot&apos;s sensors each run on their own clock, so their data is unreliable together until it is lined up in time.</description>
    </item>
    <item>
      <title>Security telemetry</title>
      <link>https://learn.pranaymahendrakar.com/learn/cybersecurity-ai/security-telemetry-basics</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/cybersecurity-ai/security-telemetry-basics</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>AI in Cybersecurity</category>
      <category>cybersecurity</category>
      <category>telemetry</category>
      <category>logs</category>
      <category>security-data</category>
      <category>cybersecurity-ai</category>
      <description>Every login, connection and file access leaves a record — security telemetry is that flood of records, and it is the raw material every security model is built from.</description>
    </item>
    <item>
      <title>Sentiment beyond positive and negative</title>
      <link>https://learn.pranaymahendrakar.com/learn/opinion-mining/fine-grained-sentiment</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/opinion-mining/fine-grained-sentiment</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Sentiment, Opinion and Text Mining</category>
      <category>nlp</category>
      <category>sentiment-analysis</category>
      <category>fine-grained</category>
      <category>text-classification</category>
      <description>Fine-grained sentiment rates text on a scale, like one to five stars, instead of forcing every opinion into only positive or negative.</description>
    </item>
    <item>
      <title>Serving a model with FastAPI</title>
      <link>https://learn.pranaymahendrakar.com/learn/model-serving-in-production/fastapi-model-server</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/model-serving-in-production/fastapi-model-server</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Serving Models in Production</category>
      <category>model-serving</category>
      <category>fastapi</category>
      <category>mlops</category>
      <category>concurrency</category>
      <description>Taking a FastAPI model server from working to production-ready means understanding how it handles many requests arriving at once, not repeating the basics of loading and validation.</description>
    </item>
    <item>
      <title>Shadow deployment</title>
      <link>https://learn.pranaymahendrakar.com/learn/releasing-models/shadow-deployment</link>
      <guid isPermaLink="true">https://learn.pranaymahendrakar.com/learn/releasing-models/shadow-deployment</guid>
      <pubDate>Wed, 02 Sep 2026 00:05:00 +0530</pubDate>
      <dc:creator>Pranay Mahendrakar</dc:creator>
      <category>Releasing Models Safely</category>
      <category>releasing-models</category>
      <category>shadow-deployment</category>
      <category>mlops</category>
      <category>deployment</category>
      <category>testing</category>
      <description>A shadow deployment lets a new model answer every real request in secret, alongside the model actually serving users, so you can compare them honestly without ever risking a wrong answer reaching anyone.</description>
    </item>
  </channel>
</rss>
