[April 2026] AI & Machine Learning Monthly Newsletter 🤖

Daniel Bourke
Daniel Bourke
hero image

In This Month's Update:

In This Month's Update:

Want to become an AI/ML Engineer?

Our AI/ML Career path takes you from complete beginner (at any age!) to getting hired as a Machine Learning and/or AI Engineer 👇

Get The Full Career PathGet The Full Career Path

76th issue! If you missed them, you can read the previous issues of my monthly A.I. & Machine Learning newsletter here.

Hey everyone!

Daniel here, I’m a machine learning engineer who teaches the following beginner-friendly machine learning courses:

I also write regularly about machine learning on my own blog as well as make videos on the topic on YouTube.

Since there's a lot going on, the utmost care has been taken to keep things to the point.

Here's what you might have missed in April 2026 as an A.I. & Machine Learning Engineer... let's get you caught up!

My Work

  • Hugging Face Bootcamp. Small LLM fine-tune videos finished, currently editing. The fine-tune small LLM video series for the Hugging Face Bootcamp is done and currently being edited. And they’re coming to ZTM soon. In the meantime, feel free to read through all the source materials.

From The Internet

  • Mitchell Hashimoto on My AI Adoption Journey. Mitchell Hashimoto walks through his shift from AI skeptic to productive user, emphasising that LLM agents add the most value when they can read files, execute programs, and verify their own work.

Three tips from the post:

  1. Break down sessions into separate clear, actionable tasks. Don’t try to “draw the owl” in one mega session.
  2. For vague requests, split the work into separate planning vs. execution sessions.
  3. If you give an agent a way to verify its work, it more often than not fixes its own mistakes and prevents regressions.
  • How to write agent skills (Phil Schmid). Phil Schmid lays out 8 practical tips for writing better agent skills, covering specific descriptions, layered information organization, avoiding overfitting, and testing with 10 to 20 prompts before publishing. If there’s anything I took from this, it’s that my own prompts for previous models can probably be more direct.

  • Composing a search engine with Exa (a search API). AI Search APIs are growing. Every time your agent makes a search tool call, it could be using Exa. In this technical post, Exa describes Canon, a search pipeline orchestrator that compiles independent nodes into a serializable graph for debuggable, maintainable infrastructure at scale.

  • LLM coding style tips from Matthew Honnibal (founder of spaCy). Honnibal shares tactics for keeping LLM-assisted code maintainable, with a companion piece on auditing try/except blocks.

My favourite quotes:

“Most of software engineering art is to stop complexity creeping in exponentially.”

“Slow and steady wins the race.”

“Use types, as strictly as possible.”

“Use Pyright to check for types in your IDE.”

“Always ask: ‘should the types have caught this?’”

“Make sure attributes are being annotated”, the right syntax is:

class Foo:
  bar: str

  def __init__(self, bar: str) -> None:
    self.bar = bar

“Use data classes and Pydantic models.” Instead of record["name"], use record.name when Record is a dataclass or Pydantic model.

“Scrutinise unions and optionals”, whenever an LLM says a value can be a None, ask “Can it though? Why?”

“Control complexity at the interface”, make it so if a particular file comes into your program, it gets manipulated in the way it needs to be straight away (e.g. formatting a JSON in a certain way before propagating it through the rest of your program).

“Crack down on exception handlers”, you generally want exactly one statement under the try block with except handlers for specific conditions.

“Try to avoid workflow loops where you go off and do things, paste the error back into the LLM, and then go do whatever it tells you. I’ve seen this anti-pattern called a ‘reverse centaur’: you want to be the head of the human/horse hybrid, not the ass. Another way to put it is just, probably don’t let the LLM make you its bitch. If it has, notice that. Sometimes it’s fine, but you know, check in with yourself. It’s not a good long-term arrangement.”

  • Hugging Face LLM Evaluation Handbook. This is an excellent read if you’re looking into how to evaluate LLM models, and almost all AI problems become and evaluation problem. Covers what LLM evaluation can and cannot do, how to select benchmarks, and how to design your own evaluations.

  • Hugging Face release a Skill to port models from Transformers to MLX. The Skill can be used to instruct an agent on how to discover models in Hugging Face transformers, write code to convert them to MLX implementations, and then runs a battery of tests to validate them end-to-end so models run efficiently on Apple Silicon.

  • Why aren’t we using uv yet? (Python package manager). By Q2 2026, uv was used in roughly 30% of new Python repos despite 74% Stack Overflow admiration, with the article noting LLM agents still default to pip and suggesting library authors include uv install instructions alongside pip. Most of this is likely due to momentum. In my experience, new tools are hard to adopt fully. I’m slowly moving over to uv.

  • Are benchmarks worth it? (Berkeley RDI). Berkeley researchers built an automated agent that exploited eight AI benchmarks including SWE-bench and WebArena, achieving near-perfect scores through legitimate vulnerabilities like file path disclosure and fake curl wrappers.

  • Hugging Face guide to distilling 100B+ models 40x faster with TRL. The TRL DistillationTrainer enables knowledge distillation for 100B+ teacher models through a generation buffer that decouples batch size from generation, external teacher servers, and binary-encoded logprob payloads that shrink transfer payloads by 5x.

  • Mario Zechner on slowing the fuck down. Zechner argues coding agents introduce unsustainable error accumulation at scale and recommends hand-written architecture and pair programming to maintain discipline. He goes deeper on his minimal coding agent in the Pi video (Pi is an agent Mario built because Claude Code became unpredictable).

“Tiny booboos compound at a rate that’s unsustainable.”

  • SynthVision, 110k synthetic medical images for fine-tuning smaller models. SynthVision uses two frontier VLMs to create a 110K medical dataset by annotating images with multi-turn conversations and cross-validating outputs to filter hallucinations, improving small-model performance across three model families by 8 to 15%.

  • RL Environment Field Guide. A practical guide to RL environments by the same people who created LLM post-training 101 (an excellent guide with data examples on how language models are post-trained), covering observation and action spaces, grader, state transitions, termination, and sandboxing using Pokémon Red as a case study with real code. See also Unsloth’s What are RL environments and how to build them which explores how RL is evolving for agentic AI and how a decoupled framework lets teams swap optimizers and hardware backends without modifying environment logic.

  • NVIDIA share how to train your own custom embedding model in a day. NVIDIA’s recipe fine-tunes a domain-specific embedding model in under a day on a single GPU using synthetic data, lifting Recall@60 on Jira data from 0.751 to 0.951. The companion NeMo Retriever agentic pipeline hit #1 on the ViDoRe v3 leaderboard with score 69.22 by using a ReAct agent that dynamically picks search and reasoning strategies.

Open Source

  • trafilatura. A pure-Python tool and CLI for gathering text and metadata from web pages, with support for crawling, scraping, and output in CSV, JSON, HTML, Markdown, and XML.

  • IBM release Granite 4.1 (Apache 2.0). Granite 4.1 is a family of dense models (3B, 8B, 30B parameters) trained on 15T tokens with long-context extension up to 512K, where the 8B instruct model matches or surpasses previous 32B MoE models.

“Carefully trained dense 8B models can rival much larger MoE architectures.”

Falcon Perception is intentionally minimal: one backbone, one objective family, and small heads only where outputs are continuous and dense. The working assumption is that most gains should come from data, compute, and training signals, rather than continually expanding the pipeline with specialized modules.

Releases

  • Google “Learn Mode” in Colab. Google Colab introduces Learn Mode, turning Gemini into a coding tutor that breaks down complex topics step by step rather than generating code, with Custom Instructions for tailoring assistance per notebook.

“Learn Mode shifts from being a code generator to a coding tutor, breaking down complex topics into manageable, step-by-step instructions.”

Research

vision-banana

With instruction fine-tuning, Nana Banana Pro (an image generation model) can be customized to do other computer vision tasks such as semantic segmentation, instance segmentation and depth estimation on par or better than specialist models. Source: Vision Banana project page.

  • Google DeepMind release research on AI co-clinician, an agent designed to function as a member of the care team that interacts with patients under clinical supervision. The co-clinician system outperformed Primary Care Physicians and GPT-5.4-thinking-with-search on Medical Reasoning benchmark RxQA (multi-choice questions) as well as scored higher than GPT-5.4-thinking-with-search (95.0% vs 90.9%) on RxQA open-ended questions.

Case studies

  • Harness engineering: leveraging Codex in an agent-first world. OpenAI details how a five-month internal experiment shipped a beta product with roughly a million lines of code without any manually written source code, with the engineering team’s primary job becoming enabling the agents to do useful work. The system uses Codex agents to write code, generate tests, and manage observability based on declarative prompts, with documentation treated as the table of contents rather than the encyclopedia.

Videos

  • Is RAG still needed? Short answer: yes. Medium answer: it depends. Longer answer: think about your specific problem. If it often needs up to date or external information, RAG (Retrieval Augmented Generation) is a potential tool you could use. Fantastic video from Martin Keen from IBM Technology.

See you next month!

What a massive month for the ML world in April!

As always, let me know if there's anything you think should be included in a future post.

Liked something here? Share it with someone.

In the meantime, keep learning, keep creating, keep dancing.

See you next month,

Daniel

www.mrdbourke.com | YouTube

By the way, I'm also an instructor with Zero To Mastery Academy teaching people Machine Learning & AI in the most efficient way possible. You can see a few of our courses below or check out all Zero To Mastery courses.

You might like these courses

More from Zero To Mastery

The No BS Way To Getting A Machine Learning Job preview
The No BS Way To Getting A Machine Learning Job
19 min read

Looking to get hired in Machine Learning? Our ML expert tells you how. If you follow his 5 steps, we guarantee you'll land a Machine Learning job. No BS.

6-Step Framework To Tackle Machine Learning Projects (Full Pipeline) preview
6-Step Framework To Tackle Machine Learning Projects (Full Pipeline)
30 min read

Want to apply Machine Learning to your business problems but not sure if it will work or where to start? This 6-step guide makes it easy to get started today.

How to Convince Your Boss to Pay for Your Upskilling preview
How to Convince Your Boss to Pay for Your Upskilling
10 min read

Get you company to pay for your tech upskilling. Use this training request email and strategy to make it happen.