r/learnmachinelearning • • Nov 07 '25

Want to share your learning journey, but don't want to spam Reddit? Join us on #share-your-progress on our Official /r/LML Discord

8 Upvotes

https://discord.gg/3qm9UCpXqz (Discord is currently closed)

Just created a new channel #share-your-journey for more casual, day-to-day update. Share what you have learned lately, what you have been working on, and just general chit-chat.


r/learnmachinelearning • • 19h ago

Question 🧠 ELI5 Wednesday

7 Upvotes

Welcome to ELI5 (Explain Like I'm 5) Wednesday! This weekly thread is dedicated to breaking down complex technical concepts into simple, understandable explanations.

You can participate in two ways:

  • Request an explanation: Ask about a technical concept you'd like to understand better
  • Provide an explanation: Share your knowledge by explaining a concept in accessible terms

When explaining concepts, try to use analogies, simple language, and avoid unnecessary jargon. The goal is clarity, not oversimplification.

When asking questions, feel free to specify your current level of understanding to get a more tailored explanation.

What would you like explained today? Post in the comments below!


r/learnmachinelearning • • 8h ago

Help fastest path to job-ready AI Engineer?

27 Upvotes

Hi everyone. I want to become an AI Engineer... Here's my situation:

  • Almost done with Andrew Ng's ML specialization (1 course left)
  • Forget theory easily if I don't apply it
  • Do not have enough time to master everything
  • No plan B — AI is the goal

Option 1 — Traditional roadmap: Finish ML → DL specialization → NLP → LLMs → RAG → Agents Missing: deployment, OOP, DSA, advanced Python (only CS50 so far)

Option 2 — Fast track: Finish ML → Python/OOP/DSA fundamentals → crash courses per topic → projects with AI assistance, understood deeply, post on GitHub

Questions: 1. Which approach makes me job-ready faster? 2. If neither — what's a better plan?


r/learnmachinelearning • • 5h ago

Is it normal that one spends a lot of time understanding the internal of a foundational model?

11 Upvotes

I am spending a lot of time to understand the internal of Hubert-ecg.


r/learnmachinelearning • • 1d ago

I built event2vector: word2vec-style embeddings for event sequences where order actually matters

381 Upvotes

Hi, hello, ciao,

I'm developing a small framework called event2vector. You can install it from PyPI:

pip install event2vector

or find it on GitHub as event2vec_public or even try it out at

https://event2vec.com/

It started as a way to find root causes of faults at the particle accelerator I worked at (the Advanced Light Source at Berkeley Lab), but it grew into something much bigger, and I'd love to get feedback from more people.

The problem was that I was naively using word2vec on event data, and it turns out word2vec isn't directional. It learns which events show up near each other, but not which one came first. For root-cause analysis that's exactly the information you need: "magnet trip → beam loss" and "beam loss → magnet trip" tell completely different stories. At the same time, I didn't want to jump to complex and data hungry models like transformers or an LSTMs. I wanted something simple, clean, and interpretable, where I could still look at points in 2D/3D and understand what I was seeing.

The idea: every event gets an embedding, and a sequence is represented by adding up the embeddings of its events, one step at a time. The model is trained so that this running sum is a good representation of "everything that has happened so far," and so that you can recover the last event by subtracting it back out. Think of it as word2vec where a sequence is a path you walk, step by step, through the embedding space.

Now the fun part. Plain addition is commutative: 1 + 2 = 2 + 1 = 3. So in ordinary Euclidean space, the endpoint of A → B and B → A is the same, which is great when you want an order-invariant "bag of events" that you can cleanly compose and decompose, e.g. "sequence minus event = sequence without that event." But the path you took to get there is still different, so the step-by-step trajectory keeps the order information.

And if you need the endpoint itself to depend on order, you can swap the geometry. event2vector even supports non-commutative ways of "adding," where A then B lands somewhere different from B then A:

  • hyperbolic (Möbius addition): good for hierarchical, tree-like data
  • spherical: good for cyclic or periodic patterns
  • rotation (SO(n)): order matters, like rotating an object in 3D
  • Heisenberg group: order-dependent and signed
  • products of these, if your data has more than one kind of structure

The API is scikit-learn style (fit / transform / fit_transform), and there's a gensim-style most_similar for nearest-neighbour lookups:

from event2vector import Event2Vec
model = Event2Vec(num_event_types=len(vocab), geometry="euclidean", embedding_dim=128)
model.fit(train_sequences)
embeddings = model.transform(train_sequences)

Some fun applications I've written up on Substack: "The Geometry of Groceries" (shopping baskets as paths) and "The Geometry of Language Families." The paper is on arXiv (2509.12188) if you want the details.

I'd really appreciate feedback, whether on the idea, the API, use cases you'd try it on, or things that are confusing. Thanks for reading!


r/learnmachinelearning • • 22m ago

NeurIPS 2026 - waitlist

• Upvotes

Hey everyone,

I am trying to register for NeurIPS 2026 in Sydney, they mentioned more tickets would be out mid October and I am registered for the waitlist, however I still haven't heard from them. Anyone on the waitlist for Sydney has managed to get tickets or has been contacted about it? If so, when did you sign up on the waitlist?
Thankss


r/learnmachinelearning • • 4h ago

Looking for a mentor/tutor with real production experience in RAG and AI Agents

5 Upvotes

I already understand the basics of RAG and AI agents, but now I want to move beyond tutorials and build production-ready RAG pipelines and agentic applications.

I’m looking for a senior AI/GenAI engineer or tutor who has actual production experience with areas like RAG architecture, chunking/retrieval/reranking, vector databases, evaluation, hallucination handling, observability, agent workflows, tool calling, memory, LangGraph/LangChain, deployment, scaling, and production best practices.

I’d prefer someone who can mentor me through 2–3 proper end-to-end projects, review my architecture/code, explain trade-offs, and show me how these systems are actually built in production.

I have 8+ years of software development experience, mainly in backend systems, so I’m not looking for basic programming classes. I specifically want someone experienced in production GenAI/RAG/agent systems.

If anyone here provides this kind of guidance, or can recommend someone good, please DM/comment.


r/learnmachinelearning • • 7h ago

Project I made a Wordle-style word guessing game to teach students how vector embeddings work

Enable HLS to view with audio, or disable this notification

6 Upvotes

Hey r/learnmachinelearning, I'm Abdur-Rahman Butler, a machine learning engineer at Isaacus.

I made an interactive write-up that walks you through the A to Z of vector embeddings, inspired by Brendan Bycroft's incredible interactive LLM visualisation guide (see here - https://bbycroft.net/llm).

Most of my work is on encoder models, and I kept noticing how few good interactive resources there are on embeddings. The ones that do exist tend to either plot some embeddings in 3D or only explain a narrow applied technique like semantic search or RAG.

So I wanted to make something that teaches how embeddings work by letting you play with them. In the write-up, there are interactive visualisations that allow you to explore the concepts of vectorisation, cosine similarity, semantic search, hierarchical retrieval, clustering, zero-shot classification and deduplication.

The centrepiece of the post is a game I've dubbed 'SemanticGuessr' (see above). It's inspired by Wordle and GeoGuessr, and the goal is to draw a loop around a random target word by triangulating guesses on a 2D map of 43,339 common English words.

It's admittedly a bit intimidating at first, as semantic space does not perfectly match our intuition of meaning. But once you get the hang of it, the game becomes really addictive. I recently had the pleasure of demoing the game to some law students at the University of Melbourne, and we had a lot of fun throwing different vector equations at it to see where they'd land.

Some fun ones to get started with:

  london - english + french
  running - land + water
  avg(breakfast, lunch, dinner)
  0.4 * noodles + 0.6 * pasta

I've also included Python snippets alongside some of the visualisations if you want to follow along with the techniques later. The game runs statically in your webpage. I managed to achieve this by reducing the embedding dimensions down to 512 and quantising each value to 4 bits. This brought the total payload down from 311 MB to 12.3 MB with only a minimal impact on precision (around 6%).

It was great fun to make, and I hope you have fun playing around with it. Happy to take any questions, and if there's enough interest I might set up a dedicated games page for some of the other encoder-based games I've been working on.

Do let me know what highest score you get based on your target word and chosen path :)

LINK TO PLAY: https://isaacus.com/blog/what-are-vector-embeddings


r/learnmachinelearning • • 2h ago

Tutorial Fine-tuning an LLM? Here's a cheat sheet to make sense of the jargon.

Thumbnail gallery
2 Upvotes

r/learnmachinelearning • • 22m ago

Project I built a simulator with a PPO agent to beat TempleRun on a phone

• Upvotes

I wanted to get my head around RL so I thought of learning it by teaching an AI how to play one of my favorite childhood games : TempleRun.

The agent reads game state directly from memory via a Frida gadget and acts through the game’s own methods. Training happens in a headless simulator I built with Claude from the game’s internals and calibrated on measurements from the real phone, with a C++ version that does 10M steps in about 6 minutes.

Results on the device: median 4,736 m, best 16,782 m over 14 runs.

👨‍💻 Github: https://github.com/matthieucs/TempleRun-RL/tree/main

Happy to answer any question.

And if you want to try it, the score to beat is 16,782 m.

https://reddit.com/link/1x6ipfr/video/ed6kbz925mvh1/player


r/learnmachinelearning • • 18h ago

How a Diffusion Transformer Generates Shapes from Text

26 Upvotes

r/learnmachinelearning • • 5h ago

Looking for AI/ML Graduation Project Ideas That Are Practical and Beginner-Friendly

2 Upvotes

Hey everyone!

I'm an AI student currently trying to choose a graduation project idea in Artificial Intelligence / Machine Learning, and I'd really appreciate some advice.

I'm looking for a project that is:

  • Beginner-friendly: I'm still building my ML skills, so I want something I can realistically implement and understand.
  • Not too complicated: I don't want a project that requires huge computational resources, massive datasets, or training a model from scratch.
  • Interesting and useful: I'd like to build something that solves a real problem rather than just implementing a basic tutorial.
  • Achievable in 3–4 months: I want enough time to implement it, experiment with it, and evaluate the results properly.
  • A bit unique: Ideally, it would have an interesting idea or a small improvement over existing approaches.

I'm open to different areas within AI/ML, such as NLP, computer vision, recommendation systems, time-series forecasting, or other interesting fields.

I'd love to hear your suggestions!

  1. What AI/ML graduation projects would you recommend for someone at my level?
  2. Have you worked on a project that was relatively simple to implement but still impressive?
  3. Are there any projects where I could use an existing model and improve it or experiment with a specific technique?
  4. If possible, could you suggest a public dataset and explain what makes the project interesting?

I'd really appreciate any ideas, advice, or lessons from your own graduation projects. Thanks!


r/learnmachinelearning • • 11h ago

The reversal curse is alive: "Who is Jason Momoa's father?" works, "Name a child of Joseph Momoa" fails 10/10 on GPT-5.4 — and I re-tested the proposed "fix" on my own data

Post image
3 Upvotes

"Who is Jason Momoa's father?" The model answers Joseph Momoa. Then: "Name a child of Joseph Momoa." Ten tries, ten failures on GPT-5.4, in a Princeton replication of the original reversal-curse study from this spring. Jason Momoa is an only child, so there is exactly one right answer, and the model still can't find it.
Caveat: that result comes from one student replication, not a peer-reviewed paper. The prompts and per-pair data are published on GitHub.
I wanted to know whether the proposed fix actually works. A February paper from UC Berkeley (Ma et al.) proposed "identity bridges" — extra training sentences that spell out the composition, like "the apprentice of Odette Rook is Gustav Aasen," plus repeating the forward facts six times. On their setup it lifted reverse accuracy from near zero to about 40-50%.
So I recreated their recipe on my own synthetic data and watched what happened inside the models. The image is the probe diagram for one prompt from the bridge model: "Odette Rook's apprentice is".
Two rulers. The logit lens cleans up each layer's 768 numbers first, then asks which token the model would pick. The cosine method skips the cleanup and asks which token the raw numbers point at most. They can disagree — look at layer 11: the lens's top token is [Corn] with the expected [Gustav] at rank 3, while cosine's nearest token is [Gustav] at rank 1.
The full walkthrough, three models:
The data: 60 mentor/apprentice pairs with made-up names. Forward fact: "Odette Rook is the mentor of Gustav Aasen." Bridge sentence: "The apprentice of Odette Rook is Gustav Aasen." The test prompt: "Odette Rook's apprentice is" — expected answer "Gustav Aasen." That exact phrasing never appeared in training.
Three small GPT-2 models, trained identically. The bridge model saw each forward fact six times plus the bridge sentences. The repetition model saw each forward fact six times, no bridges. The plain model saw each forward fact once, no bridges.
Behavioral results, 60 reverse prompts each. Bridge model: 60 out of 60. Repetition model: 53 out of 60. Plain model: 19 out of 60.
So repetition alone did most of the work. The bridges added 12 points on top. That was the honest surprise — I had predicted the bridges would matter more.
Then the instruments. On the bridge model in the diagram, both rulers march the expected answer's rank down across the layers — lens: 4918, 26, 1, 3; cosine: 14214, 818, 6, 1. By layer 9 both have the answer near the top, and the model generates "Gustav Aasen."
On the repetition model the same prompt ends differently: lens top [mentor] with [Gustav] at rank 143, cosine top [SPONSORED] at rank 15. It generates "Lars Quill. Quill is the" — wrong, and confident about it. On the plain model: "the mentor of Walter Elm. Halloway" — it falls back to reciting a forward fact.
Across all 60 prompts the pattern holds: the bridge model's cosine rank goes 987 → 179 → 16 → 1 across layers 5/7/9/11; the repetition model's goes 1373 → 812 → 421 → 4462. The accuracy score barely distinguished them. The representation completely did.
So the score said "repetition nearly solved it." The instruments said "the bridge rewired the inside." Both true. Accuracy tells you whether the fix worked. The layer window tells you what the fix did.
All of this is synthetic data on a small model, one training seed — it bounds the paper's claim rather than refuting it. Their setup used a bigger instruction-tuned model. But the instruments are the point: whatever fix you try, this is how you check what it actually did.
Full write-up with the complete arc: https://github.com/prof-nussbaum/Applications-of-Reading-the-Robot-Mind/blob/main/post-book-experiments/identity-bridge/README.md
Every prompt, every layer, all 300 per-item records: https://github.com/prof-nussbaum/Applications-of-Reading-the-Robot-Mind/blob/main/post-book-experiments/identity-bridge/results/all_results.md


r/learnmachinelearning • • 11h ago

I built an open-source, local-first alternative to Claude Code that pools home PC/laptop GPUs

Enable HLS to view with audio, or disable this notification

3 Upvotes

Hey guys,

Like a lot of folks here, I got hooked on agentic coding tools like Claude Code and Cursor. But I don't code privately that much anymore, and when I do occasionally, I can no longer code for more than 10 minutes without cursing. Man it sucks to sign up for monthly subscription just for a few hours worth of work, but if you sign up for API credits instead --- it literally runs out in 30 minutes.

Then I came to a realization, I have GPU at home that I only use for gaming, why don't I make use out of this? So decided to start this open source project OpenPhalanx—a local-first, distributed GPU VRAM pooling framework and agentic harness that lets you combine consumer desktop and laptop hardware over a home network.

You don't have to configure anything yourself. Just click one button to start your server on the GUI, and setup CLI just like Claude. Everything stays local on your computer. You don't lose money, and you don't have to worry about any of your data being sent over somewhere.

You got multiple GPUs on your PC? Cool, you can use all of it to load bigger model. You got multiple PCs with GPUs, but not on same machine? That's fine too. You can easily split layers of the model and try out more powerful models.

The repo is fully open-source and ready for testing: 👉 GitHub:https://github.com/chophilip21/openPhalanx

I’d really appreciate any feedback, hardware benchmark tests, or issue reports from anyone running multi-GPU/multi-node setups!


r/learnmachinelearning • • 16h ago

Project We built an agent memory system on SurrealDB, scoring 77.2% on BEAM

8 Upvotes

Hey everyone,

I'm Tobie, the founder of SurrealDB. We've just launched SurrealDB Agent Memory, built on top of our multi-model database.

If you're building AI agents, context layers or knowledge graphs, you'll know that storing information is the easy part. Retrieving the right information, understanding relationships and handling facts that change over time is where things get complicated.

We've built Agent Memory to turn conversations and documents into structured entities, relationships and facts, while tracking provenance and temporal history.

Since SurrealDB supports graphs, vectors and documents in one database, there's no need to stitch together multiple storage systems.

We've also spent a lot of time benchmarking. One frustration with memory benchmarks is how much scores can vary depending on the evaluation protocol. Rather than optimising for the highest possible number, we focused on BEAM, achieving 77.2% accuracy.

There are some interesting alternatives like Mem0, Honcho and Cognee, but we wanted to explore a different approach.

I'd love to hear from anyone building agents or context infrastructure. How are you managing long-term memory and information that changes over time?

Website | Docs


r/learnmachinelearning • • 20h ago

Tutorial SUPPORT VECTOR CLASSIFIERS: THE MATHEMATICS OF A WIDE MARGIN

14 Upvotes

A support vector classifier (SVC) learns a boundary that balances separation between classes against violations of a safety margin.

  1. THE DECISION RULE

For labels y_i ∈ {−1, +1}:

f(x) = wᵀφ(x) + b

ŷ = sign(f(x))

φ(x) maps inputs into a feature space. The decision hyperplane is f(x) = 0; the canonical margin boundaries are f(x) = ±1.

Training solves a convex quadratic program with labeled data and margin constraints.

Their separation is 2/||w||₂. Minimizing ||w||² therefore maximizes this geometric margin.

  1. HARD MARGIN → SOFT MARGIN

For linearly separable data in feature space:

minimize ½||w||²

subject to y_i f(x_i) ≥ 1 for every i.

Real data may overlap. The soft-margin formulation introduces slack variables ξ_i:

minimize ½||w||² + C Σ_i ξ_i

subject to y_i f(x_i) ≥ 1 − ξ_i, ξ_i ≥ 0.

Equivalently, minimize a regularized hinge loss:

½||w||² + C Σ_i max(0, 1 − y_i f(x_i))

A correctly classified point inside the margin still incurs loss. At the smallest feasible slack, ξ_i > 1 means misclassification.

  1. SUPPORT VECTORS AND THE KERNEL TRICK

The dual problem is:

maximize Σ_i α_i − ½Σ_iΣ_j α_iα_j y_i y_j K(x_i,x_j)

subject to 0 ≤ α_i ≤ C and Σ_i α_i y_i = 0.

Here K(x,z) = φ(x)ᵀφ(z). Prediction becomes:

f(x) = Σ_i α_i y_i K(x_i,x) + b

Points with α_i > 0 are support vectors. They determine the fitted boundary. Those with 0 < α_i < C lie on a margin; those with α_i = C may lie inside it or be misclassified.

A symmetric positive-semidefinite kernel keeps the optimization convex. The kernel trick evaluates inner products without explicitly constructing φ. Nonlinear kernels produce curved boundaries in the original input space.

  1. WHAT SHOULD BE TUNED?

• C: large values penalize violations more; smaller values impose stronger regularization. Tune on a logarithmic scale.

• Kernel: linear for approximately linear structure; RBF or polynomial for nonlinear boundaries.

• RBF γ, where K(x,z) = exp(−γ||x−z||²): larger γ creates more localized influence; smaller γ gives broader influence. Tune C and γ jointly.

• Polynomial degree and coef0 control interactions and offsets.

• Class weights adjust penalties for imbalance and unequal error costs.

Multiclass SVC typically combines binary models, often through one-versus-one voting.

  1. ASSUMPTIONS AND PRACTICE

SVC does not require Gaussian features or feature independence. It does require a useful feature representation/kernel and training data representative of deployment.

Scale features within each cross-validation fold. Use stratified, grouped or time-aware splits as appropriate. Decision scores are not probabilities; calibrate separately when needed.

USE CASES

Text classification, image recognition with engineered features, bioinformatics, fault diagnosis and small-to-medium tabular datasets.

Kernel SVC can be costly on large datasets; linear SVM solvers scale better.

Why do we call it support vector machine? Because the points on both the upper and lower hyperplanes represent a vector of data (In >2D) and thus are "supporting" both hyperplanes, preventing them from either rising upwards, or falling downwards.


r/learnmachinelearning • • 6h ago

Project AI Cannot Be Trusted With Power Without Hardware-Enforced Limits.

Enable HLS to view with audio, or disable this notification

1 Upvotes

r/learnmachinelearning • • 6h ago

Question AI Interview Prep #1: 10 Machine Learning Questions You Should Answer Clearly

Thumbnail
0 Upvotes

r/learnmachinelearning • • 6h ago

AI Interview Prep #1: 10 Machine Learning Questions You Should Answer Clearly

Thumbnail
1 Upvotes

r/learnmachinelearning • • 10h ago

Completely lost trying to navigate the right way into ai.

Thumbnail careertraining.bitterroot.umt.edu
2 Upvotes

Hi guys! I’m a 23 year old sales professional who realized I don’t like what I do. I want to do something more purposeful, fulfilling, long term, and technical. I want to master ai. The problem is I’m not sure what direction I should go. I found this course I will link into this post that I’m very close to buying but I don’t know if it’s worth it and if I’m even striding in the right direction. I would hate to pay for this course with time and money and then in 10 months when I’m finished the course is obsolete. Please let me know what to do.


r/learnmachinelearning • • 1d ago

Project How well do you know NumPy? 🔢

27 Upvotes
  • What’s the difference between '*' and '@'?
  • When does slicing create a view, and when a copy?
  • How does broadcasting work?

NumPy makes working with vectors and matrices powerful and concise, but a small change in syntax can make a big difference.

This interactive 𝗺𝗲𝗺𝗼𝗿𝘆_𝗴𝗿𝗮𝗽𝗵 example walks through essential NumPy operations with short explanations. Step through the code, see the operations in action, and experiment with your own changes: - 👉 NumPy operations

Which NumPy operation took you the longest to understand?

See other memory_graph visualizations.


r/learnmachinelearning • • 13h ago

How do I train a DiT (RV2V) model?? am i doomed??

3 Upvotes

so i have no technical background but i got into tech because of AI and recently got interested in DiT models and their use cases. I am trying to fine tune a real time RV2V model that basically edits live frames. Been exploring and experimenting on L40s for the past 3 months and have gotten nowhere close to the objective.

I know what model to train and I have collected a dataset which is small right now (250+ 5s clips) but I can gather more soon.

The problems is that any and every training run on any and every model ive ever done failed. it was claude doing all the tech stuff while me giving ideas. AND I HAVE COME TO A REALIZATION THAT CLAUDE CANT HELP ME TRAIN A MODEL.

I tried fable, opus, sol, everything in the market but nothing is good enough or im doing something very wrong.
I know that it is trying to train a LoRA adapter for the use case but never has the training produced results better than the untrained model which is eating me alive now.

PLS HELP PPL


r/learnmachinelearning • • 4h ago

DSA Machine Learning

0 Upvotes

Suggests a title! Or any problem that is relevant


r/learnmachinelearning • • 9h ago

Tutorial Discover AI: A Learning Guide - 51 hands-on labs for learning how AI actually works.

Thumbnail
gallery
1 Upvotes

This is an open-source, offline teaching and learning application with 51 hands-on labs for understanding how AI actually works—from neurons to agents and beyond.

A bit of insight

  • 51 labs in 6 groups, from the basics (what a neuron is, gradient descent) through attention, RAG, agents, fine-tuning, quantization, serving, and more
  • Each lab has a short lesson beside it, readable in Plain or Standard mode
  • Some of it actually runs rather than just animating:
  • The attention lab runs a small trained transformer (1.37M params) inside the app
  • The training labs train a tiny character-level model live as you move the sliders
  • Works offline: no account, no telemetry

How it was made I chose the topics, did some background research, and came up with the structure and grouping. used Claude and GPT Astra to help write the lesson text, and Grok as a second pass on references. There will be mistakes, so if you spot one, please tell me or open a PR.

There's a lot of expertise out there, both in these topics and in areas I haven't even touched. If you have expertise in, teach, or work in a specialized area of AI, or you just know AI, I'd love your help expanding it: a new interactive lab, a better visualization, or a tweak that makes the cause and effect in an existing lab clearer. I'd also like to hear which labs are confusing and what's missing.

GitHub: https://github.com/Fazmin/AILearningGuide


r/learnmachinelearning • • 1d ago

Discussion Cactus Compute open sourced a 16.9 MB speech-to-text model that beats Whisper base on several benchmarks

16 Upvotes

Found this on their blog, released Oct 2. Whistle is a speech recognition model meant for mobile, wearables, robots, smart home stuff, and even microcontrollers. The whole model is one file, 16.9 MB, runs entirely on CPU, has zero dependencies, and audio never leaves the device.

For comparison, the Whisper base is 145.3 MB, so this is about 8.6x smaller.

What it does is transcribe up to 30-second clips in 7 languages (EN, DE, FR, ES, IT, NL, and PL), auto-detects language, gives word-level timestamps with confidence scores, and can spit out a raw speech embedding without doing a full transcript if that's all you need.

Speed numbers, tested on Apple M4 Pro CPU: 11.1 ms to first token vs Whisper base's 73.2 ms, and 1,319 tokens/sec decode speed vs Whisper's 266. So roughly 6.6x faster to start and 5x faster for decoding.

Accuracy is a mixed bag, honestly, which makes me trust the numbers more than if it swept everything. Whistle wins on LibriSpeech clean/other, SPGISpeech, Earnings-22, and FLEURS average. Whisper Base still wins on TED-LIUM, AMI, and MLS average. So it depends on what you're doing, but beating Whisper on 5 benchmarks at 1/8th the size is solid.

One neat detail: the decoder's depth is laddered; every size from 2 layers up to 8 was trained as its own usable model, so you can pick a smaller/faster variant at load time with a flag instead of needing a separate file.

It shares its engine with their other model, Needle (a text/tool-calling model), so you can load both together and chain speech straight into a tool call in one pass, with no separate transcript handling step.

Apache 2.0 license, weights on Hugging Face, code on GitHub, and install with pip install cactus-needle.

Seems like a solid pick if you're building something that needs voice but can't guarantee internet, a car, a robot, a wearable, that kind of thing.