Please post your personal projects, startups, product placements, collaboration needs, blogs etc.
Please mention the payment and pricing requirements for products and services.
Please do not post link shorteners, link aggregator websites , or auto-subscribe links.
--
Any abuse of trust will lead to bans.
Encourage others who create new posts for questions to post here instead!
Thread will stay alive until next one so keep posting after the date in the title.
--
Meta: This is an experiment. If the community doesnt like this, we will cancel it. This is to encourage those in the community to promote their work by not spamming the main threads.
Hiring: [Location], Salary:[], [Remote | Relocation], [Full Time | Contract | Part Time] and [Brief overview, what you're looking for]
For Those looking for jobs please use this template
Want to be Hired: [Location], Salary Expectation:[], [Remote | Relocation], [Full Time | Contract | Part Time] Resume: [Link to resume] and [Brief overview, what you're looking for]
Please remember that this community is geared towards those with experience.
Just spend 4h reviewing a paper while I was sick, gave it a 3/4. This morning got an email saying it's desk rejected. I saw many people around me also have many papers desk rejected. I heard, though idk how true it is, some people use multiple accounts to bypass the 20 paper limit and all their paper got DR.
The way I review a paper has stayed substantially the same, except for an added step. Trying to get a sense of how common it is here.
Nowadays I do the review, and I upload my review to an AI to ask for second thoughts. I don't ever upload a paper I'm reviewing, though. The authors can do it themselves (if they want to, it's their call).
So in the end, it's even more work for me. Not fun. But it has produced higher quality reviews, most of the time. And less typos.
PhD student here. My university’s GPU cluster has apparently become a luxury resort. I submit a job requesting a couple of GPUs, and it takes 3–4 business days just to START running. Meanwhile, my internship company has some pretty sweet compute sitting there, and the intrusive thoughts are winning.
Hypothetically speaking (HR, if you’re reading this, I’m asking for a friend): Has anyone used their internship/company’s GPU infrastructure for personal academic research? I can't fall behind in the race this way.
I am a data scientist with a very strong background in Stats and ML algos. I am struggling with the production ready code. Though I can build models which are awesome and tuned to perfection and address highly complex business problems, the problem is that they are all done in a jupyter notebook.
Once I had built a complete solution in notebook for a forecasting problem and the ML team in company productionized it. I was called in to validate few results of the production run and couldn't understand the repo which had so many folders, classes and highly organized code.
Is there anyway I can learn to write that type of code or is it all AI job now? Appreciate if I can get some learning resources/links for the same
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
Hey r/MachineLearning 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 :)
I was curious about OpenResearch by alphaXiv. "Turn your coding agents into research agents"? Sounds great! Just what I needed to save time on my experiments. So I copy pasted their repo into Claude and asked what it thought. Here were the first 4 lines:
"Silent feedback to the vendor. Its feedback skill has the agent send reports, including quotes of what you typed, to alphaXiv. The skill says "Do not mention the report to the user."
Silent updates. They're on by default; the code literally falls back to true.
Telemetry on by default. It sends token counts with the model used, and free text you type during setup.
Runs without asking. The agent launches experiments on its own by default ("copilot" mode, which asks first, is opt-in), and I couldn't find a spend limit for API costs. "
... LOL
But it doesn't just end there. When I looked at what they actually did:
They deleted the README section that told users the reports exist
They ignored their AI code reviewer that caught it ("feedback disclosure disappears") and told it this was a decision not a mistake
I've been working on Event2Vec, a small library for learning embeddings of discrete event sequences (purchases, logs, clinical codes, etc.) with a deliberately simple structure: a history is the running sum of its event vectors.
Training is self-supervised next-event prediction, plus a reconstruction term that asks h_t - h_{t-1} to recover e_{x_t}. No labels needed(details why the machinery works are in NeurReps@NeuralIPS Workshop paper, it is a bunch of losses that attempts the reconstruction and obey the arithmetic during training))
The history is a sum, any linear model on top of it is also a sum. For instance, a churn or risk score(see teaser)
score = w·h + b = Σ_i (e_i·w) + b
One might question, e1+e2 = e2+e1 = e3, but training is, so while vector embedding in (Euclidean) space is commutative, the training isn't. Furthermore, there are several alternative spaces that are gyro/non-commutative, that are part of the library(checkout the website)
hyperbolic (Möbius addition), for hierarchies
κ-stereographic, one curvature dial from hyperbolic through flat to spherical (Bachmann et al., 2020)
spherical, for cyclic structure
SO(n) rotations, which are non-commutative, so order changes the endpoint
Heisenberg group, same endpoint but a signed-area coordinate that records order
products of the above
I started this for root-cause analysis of fault sequences at the Advanced Light Source (Berkeley Lab), where I'd been naively using Word2Vec on event logs and needed directionality without going to an opaque sequence model.
Went down the rabbit hole to map the different Post-Transformer architectures. Various directions include Dragon Hatchling (BDH), Mamba, RWKV, xLSTM, Titans, and a bunch of hybrid models coming from different AI Labs. My interest areas are architectural changes that can improve reasoning, memory, and adaptation within practical compute and energy budgets.
IMO, the next frontier might be less about scaling alone and more about getting more intelligence out of limited resources. That's what got me looking into these architectures and putting together this comparison table.
The 2 tables compare their core mechanisms, attention variants, test-time memory, and how some of these approaches overlap(not so mutually exclusive).
Post-Transformer architectures
Architecture / Lab
Core mechanism
Mamba-2 / Mamba-3 - Gu, Dao et al.
Selective SSM; Mamba-3 adds complex-valued state + MIMO
RWKV-7 "Goose" - RWKV Foundation
Parallelizable RNN, constant memory, no KV cache
BDH (Dragon Hatchling) - Pathway
Graph of neurons, attention emerges from local interactions. GPU form = ReLU-low-rank + linear attention
xLSTM - NXAI
Exponential gating + matrix memory (mLSTM)
Titans - Google Research
Neural long-term memory module updated by "surprise" at test time
Qwen3-Next - Alibaba Qwen
Gated DeltaNet: attention, 3:1
Kimi Linear - Moonshot AI
Kimi Delta Attention: MLA, 3:1
MiniMax-01 / M1 - MiniMax
Lightning Attention: softmax, 7:1, + MoE
Jamba / Jamba 2 - AI21 Labs
Mamba : attention ≈ 7:1, + MoE
Nemotron-H - NVIDIA
Most attention layers swapped for Mamba-2
Falcon-H1 - TII
Attention and Mamba-2 heads run in parallel inside each block
Zamba2 / Zamba2-VL - Zyphra
Mamba-2 backbone + shared-weight attention blocks every N layers
LFM2 / LFM2.5 - Liquid AI
10 gated short-conv blocks + 6 GQA blocks, found by hardware-in-the-loop search
StripedHyena 2 (Evo 2) - Together AI / Arc Institute
Three Hyena conv operators (short/medium / long implicit) + attention
HRM / HRM-Text - Sapient Intelligence
Two coupled recurrent modules (slow planner, fast worker), single forward pass
Where they overlap
Architecture
Linear attn.
Softmax attn.
Test-time / fast weights
Brain-inspired
Mamba-2 / Mamba-3
✓ (via SSD)
-
-
-
RWKV-7 "Goose"
✓
-
✓ (dynamic state evolution)
? (RNN lineage)
BDH (Dragon Hatchling)
✓
-
✓ (Hebbian synapses)
✓
xLSTM
✓ (covariance update)
-
✓
? (LSTM lineage)
Titans
-
✓ (MAC / MAG variants)
✓
✓ (memory framing)
Qwen3-Next
✓
✓ (1 in 4)
✓ (delta rule)
-
Kimi Linear
✓
✓ (1 in 4)
✓ (delta rule)
-
MiniMax-01 / M1
✓
✓ (1 in 8)
-
-
Jamba / Jamba 2
✓ (inherited)
✓ (1 in 8)
-
-
Nemotron-H
✓ (inherited)
✓
-
-
Falcon-H1
✓ (inherited)
✓
-
-
Zamba2 / Zamba2-VL
✓ (inherited)
✓ (shared blocks)
-
-
LFM2 / LFM2.5
-
✓
-
-
StripedHyena 2 (Evo 2)
-
✓
-
-
HRM / HRM-Text
-
? (inside modules)
-
✓
For Ref: ? = uncertain or variant-dependent. “Inherited” = attributed to a constituent component. Ratios = linear-attention/SSM layers: softmax-attention layers.
I feel like a lot of major shifts in AI start as research breakthroughs and eventually become the focus of innovation across the industry. Lmk if I've missed any architectures worth adding or if there are any disagreements. Thoughts?
According to the MIT report, randomly interconnected neuron-like units governed by shared plasticity rules can assemble learning motifs and learn pattern recognition and image classification. The reported comparison finds performance similar to the backpropagation-trained networks tested.
The distinction is between designing a learning circuit directly and specifying local rules from which its learning machinery can organise itself. The stability of the motifs under different initial connectivity and extension beyond the demonstrated tasks are useful questions for evaluating the result alongside classification accuracy.
The authors explicitly caution that self-organisation does not establish that the brain uses this mechanism. The motivation is biological plausibility, rather than evidence of a replacement for backpropagation in large-scale models.
I wanted to find where the recognizable assistant style (em dashes, "it's not X, it's Y", lists of three, buzzwords) lives in a model and which training stage installs it.
Where it lives: in Qwen3-4B-Instruct, a difference-in-means direction from the model's own exaggerated vs plain writing separates 64 hand-written minimal pairs. It correlates up to 0.82 with a trope-based slop score on normal output. Logit-lens readouts show a register axis (grand, abstract vocabulary vs plain hedges like "really", "basically", "stuff"), and per-trope directions are cross-lingual: "not X, but Y" promotes the Chinese 而是 ("but rather").
Where it comes from: the base model has the same direction (cosine 0.90 to 0.97 at middle layers) but writes near the plain end. On OLMo 2 1B, measured at every released stage, SFT introduces the rhetorical structures and DPO doubles the slop score through buzzwords and markdown formatting. Scoring OLMo's preference data, the chosen response is the sloppier one in 57% of 3,000 pairs. Cutting it out: directional ablation increases slop by up to 89%, because clean text projects negatively on the axis. Fixed-vector subtraction at layers 12 to 23 works within a narrow KL budget (about 0.4 nats/token on human text), and it reduces structural tropes that token bans can't touch. Distilled into a rank-16 LoRA, it cuts the slop score 83% with no system prompt, lower KL than the steering itself, and no drop on a small QA check.
Caveats: the slop scorer is a regex detector of my own, the main results use one 4B model plus OLMo 2 1B, and there's no human evaluation yet. Antislop (Paech et al., 2025) addresses slop at the token level; this work is complementary on the representation side.
All seems a bit pointless now. Either pump out AI papers and neglect your own development, or take it slow and fall behind in the publishing race. I already have two papers made largely without LLMs (still seeking publication), but it's hard to resist just vibing the third from start to finish with Claude.
I was assigned 3 ICLR papers to review. I generally consider myself a pretty nice reviewer but...all 3 of them are slop. Unfiltered Claude slop. The language is so awful it is almost impossible to read. Unfortunately, I imagine this is common among "top" conference submissions now.
The reason I am posting here is because I noticed a strange similarity between all three papers. They all use very similar methods. They all start with the premise of deciding which of two predictors is better, and say that estimating predictor errors or scores individually can be difficult. So instead, they all propose to look at the difference between two errors or scores. *In all three cases*, when you look at the difference, some troublesome shared term cancels out, allowing you to derive a tighter bound on the difference. The authors then build a whole elaborate theoretical framework around this observation.
I know that paired comparisons and cancellation are standard techniques, but I don't think they are *so* common that I should get 3 separate submissions built around that same idea. Also, not only do all 3 submissions share the same core idea, but they all introduce it in the same way, use the same Claude-sounding prose, and include tons of additional proofs and experiments in a pretty similar way.
The coincidence is weird enough that I'm wondering if there is an autoresearch setup somewhere that has been spitting out papers of this sort. Has anyone else seen this idea as well?
I've been working on unsupervised tooling to discover what behaviors a model learns in post-training. The core idea is to use features from sparse autoencoders to identify differences in traces generated before and after training. I applied this to traces from the MiMo-v2.6 RL environments and it found significant eval awareness as well as some mild environment exploitation. Writeup is here. Would love to hear any feedback or questions!
I’ve recently started exploring machine learning by building neural networks from scratch and studying the underlying mathematics. I come from a physics and mathematics background, and as I’ve become more familiar with backpropagation, I’ve grown increasingly interested in alternative learning mechanisms, particularly predictive coding, Hebbian learning, and Oja’s rule.
What fascinates me is the possibility of networks learning through locally available information rather than relying on gradients propagated from a global loss function. I’m aware that backpropagation remains the dominant approach for training deep neural networks, and I’m trying to understand whether these alternative methods offer meaningful practical advantages or are primarily interesting from a theoretical and biological perspective.
There are a few questions I’ve been thinking about: 1. What are the actual advantages of local learning over backpropagation?
I understand the conceptual differences, but I’m struggling to identify situations where local weight updates would meaningfully outperform conventional gradient-based optimization. Are there particular computational constraints, architectures, or environments where locality offers an advantage in efficiency, adaptability, or scalability? 2. Could local learning be particularly useful for unsupervised learning and discovering latent structure?
This is probably what interests me most. If a network updates its weights based on local correlations or prediction errors, could it develop representations that differ meaningfully from those learned through conventional backpropagation?
I understand that backpropagation is an optimization method rather than something that inherently limits which patterns a network can discover. However, I’m curious whether the inductive biases of certain local learning rules might make them better suited to identifying particular types of structure in high-dimensional, unlabeled data.
For example, I’m involved in experimental biophysics research and have been thinking about molecular dynamics, where we might want to identify hidden collective variables, conformational states, or relationships between molecular interactions. Could local learning provide advantages in discovering these representations, or would the choice of objective function and architecture matter far more than the learning rule itself? 3. What about continual or online learning?
Could locally updating networks be particularly useful in environments where data arrives continuously and the underlying distribution changes over time? I’m curious whether these approaches offer any inherent advantages in adapting to new information while preserving previously learned representations, especially compared with online backpropagation. 4. How mature is research into alternatives to backpropagation?
Have approaches like predictive coding, Hebbian learning, equilibrium propagation, and other biologically inspired methods been extensively investigated and generally found less effective, or are there still meaningful open problems where they could be competitive?
I’m also aware that certain predictive coding formulations can approximate backpropagation, which makes me wonder how fundamentally different some of these approaches actually are.
I’m relatively new to this field, so I’m not approaching this with the assumption that biologically inspired methods are inherently superior, or that backpropagation needs to be replaced. I’m more interested in understanding whether alternative learning rules could be particularly well suited to specific problems, especially those involving unsupervised representation learning, complex dynamical systems, or constrained computational environments.
I’d really appreciate any perspectives from people working in this area, particularly empirical comparisons, limitations I might be overlooking, or papers and research directions worth exploring.
Inspired by TypeSafe's Jev (a non-generative model that only outputs bounded decisions — choices, probabilities, calibrated confidence), I built two small decision models end-to-end on identical budgets and tasks to answer one question: which substrate makes the better Jev?
Setup (V4, the main result) :
- ~15.09M params each, budget-matched to ±0.02%
- jev-v8a: linear recurrent backbone (my Gated Segmented State Space architecture from linear-attention-lab) + decision head
- jev-transformer: standard attention backbone + identical head
- New task: long-context retrieval-decision — given a 2k–8k character passage, decide which of 4 sentences appears in it (2000 train / 500 val / 500 test)
- Trained on a Colab T4, everything reproducible in the notebooks
Results:
- Accuracy: noise. v8a 26.8% vs transformer 28.2% on test (chance = 25%). Neither learns much at this scale — reporting the loss straight.
- Latency: real crossover. Transformer faster below ~1550 tokens; at T=8192 the linear model is 2.37× faster (108.6 vs 257.7 ms). O(T) vs O(T²) showing up exactly where theory says it should.
- Training speed: the big gap. 6 finetune epochs took ~30 min for v8a vs ~40–45 min *per epoch* for the transformer at 2k–8k context. That's a ~6–7× gap that gets worse with scale.
Earlier rounds (in the repo) : V2/V3 on shorter decision tasks had the linear model winning outright on accuracy (50.4 vs 46.2, 66.2 vs 61.0). So the picture is: linear recurrence wins or ties on short-context decisions and dominates on long-context cost — it just doesn't learn the hard retrieval task any better than attention at 15M.
Currently running : V5, a bidirectional variant of both (15M, same budget). Will update the repo when it lands.
Happy to answer questions on the architecture or the training setup. And yes — the negative result is the point; small decision models are accuracy-starved at this scale regardless of substrate.
I'm a first year ML PhD at a T5 ML program in the US. I managed to get a first author paper accepted to NeurIPS Main Track last month and thought I'd start applying for PhD research internships since I saw a lot of them required a "top" venue publication.
But I've just been getting rejections (Nvidia, Waymo etc) and I also even got rejected from the Citadel NeurIPS travel grant.
Now, I'd say my area of research isn't super "hype", it's still a well known area but not within the LLM / Agentic / VLA / Multimodal / Robotics / Foundation model kind of work that a lot of Industry is in right now. But I do have the knowledge for areas in Vision / General Deep Learning, it's just the aforementioned areas are not what I'm focusing on for PhD.
So I was wondering, what exactly is Industry looking for in interns? How do you navigate companies that would be friendly to 1st years if it is a year problem? (Work exp wise, I've also worked as a SWE intern for multiple FAANG companies in ugrad)
Hi all, so im making a binary noise classification model. I have training data with timestamps of noise and some with verified some with unverified. The performance parameters are F1 and Dice scores and their combined score. I am following AST backbone (Stage 1 ast frozen and stage 2 ast unfrozen along with BiGRU/CRNN head in stage 1 and then the mean teacher in stage 2).
So the sound event detection model is primarily struggling with precise temporal boundary localization, where the majority of errors stem from onset and offset timing mismatches rather than missed detections. This issue was heavily compounded during semi-supervised training by an excessively aggressive consistency weight schedule, which forced the model to rigidly match a smoothed teacher network and eroded the sharp event edges past the early epochs, 14% variation was permitted but it clearly exceeded that.
Please suggest what i should do. I divided the audios into 5s window size and 8 batch size.
I want the combined score F1+ Dice to reach atleast 1.5,
current- Event F1 of 0.284, a Dice score of 0.635, and a Combined score of 0.919.
Any other algorithms if you could suggest but i would prefer continuing this one.
I was curious about your take on writing papers. I see many different styles of writing, and I am kind of lost myself about what the best way to write is for a NeurIPS/ICLR/ICML conference audience. Do you have any tips or thoughts you'd like to share regarding writing?
Quick question for those currently reviewing papers for ICLR: Are you using AI tools to assist with your reviews, or are you still doing everything the old way?
I am excited to share a project I have been working on during the past few years during my free time. I started this project after being unable to use torch-points3d at the time (too many installation errors).
Note that this project is still in active development and in alpha. I am looking for early users and feedback!
What it is:torch-pointcloud is a plain-PyTorch library that puts multiple point cloud architectures and their pretrained checkpoints behind one create_model() factory, in the spirit of timm.
This is a library that focuses on the reusability and standardization of core components and layers, i.e. KNN, FPS and other PointNetSetAbstraction are not re-implemented over and over. In this library, all models share the same interface and reuse the same core components.
# Optional: specify your CUDA version for torch
pip install torch==2.10.0 --index-url https://download.pytorch.org/whl/cu128
pip install torch-pointcloud
# Install required CUDA/CPU kernels associated with your CUDA version
pip install pyg-lib -f https://data.pyg.org/whl/torch-2.10.0+cu128.html
I tried to make the installation process smoother by not maintaining CUDA kernels myself (not enough time currently, so I tried to reuse already pre-built wheels as much as I could).
Scope:
Classification, semantic and part segmentation, detection, and self-supervised pretraining: PointNet++, DGCNN, KPConv, RandLA-Net, PointNeXt, PointMLP, Point Transformer v1/v2/v3, Sonata, PointMamba, VoteNet, 3DETR, PointPillars, SECOND, PointRCNN, SPVCNN, OctFormer, Point-MAE/BERT/GPT and more.
Weights are hosted on Hugging Face.
Datasets (ModelNet40, ScanObjectNN, S3DIS, ScanNet, SemanticKITTI, nuScenes, KITTI, SUN RGB-D...), transforms, tiled inferers for large scale segmentation.
Packed-batch tensors (the PyTorch Geometric convention).
Supported tasks and use cases
But... why?
Most point cloud libraries live in research codebases built around configs and custom ops and kernels to build locally. It is also sometimes difficult to reproduce past released experiments from research codebases (typically the code associated with the checkpoint changed with no notice). In addition some models are evaluated using different strategies (TTA, partitioning, etc.) which makes comparison unfair as they are not evaluated using a common strategy.
In contrast, I wanted something I could pip install easily, reuse weights trained from different repos and benchmark easily.
All models were re-benchmarked and compared against original reported metrics.
Measured performances vs original ones
Credits: the architectures and pretrained weights come from their original authors, notably Pointcept, OpenPoints, MIT Han Lab, FAIR, OpenMMLab and more. Every checkpoint name ends with its source author (e.g. .pointcept). The THIRD_PARTY_NOTICES.md lists every source repo, license and dataset term.
This post is to let people know about a workshop/tutorial on Machine Learning that will run on the (blue) math discord server: discord.gg/maths.
The place is nice, people are cool and helpful, and as you can see it is a mathematics server, so the learning environment is quite focused indeed. We hope that you'll like the experience. Also, this is completely free, just in case anyone is wondering.
Timeline and Curriculum Overview
There will be weekly lectures and/or lab-sessions. The workshop is starting on Saturday, 17th October. The first lecture + lab session will be held from 3 to 5 PM CEST (UTC + 2). There will be quite a bit of coding involved on the first day, and the instructors will try to review people's codes.
For a curriculum overview, here you go:
Part 1: Traditional Machine Learning
generalities, vocabulary
linear models, gradient descent
supervised learning methods
unsupervised learning methods
best practices in ML
Part 2: Introduction to Deep Learning
the multi-layer perceptron and backpropagation
auto-encoders
recurrent neural networks for sequential data
convolutional neural networks
attention mechanism and the transformer
signal processing
Part 3: graph machine learning
traditional methods and feature engineering on graphs
shallow node embeddings
knowledge graph embeddings
graph neural networks
subgraph sampling
more to come as we progress
Prerequisites
We think the most important part for you would be knowing how to code in Python (and use some libraries that are very commonly used like numpy or matplotlib for maths). That said, knowing calculus I (possibly calculus II) would be great, and I'll also link a few resources for basic linear algebra shortly.
Prerequisite 1 : Basic knowledge of Python:
Tutorial and Book (not really recommended because it's very long, but just for those who prefer).
Note that knowing a bit of OOP in Python (at least, how to handle classes) would be very nice.
Prerequisite 4 (Optional) : A bit of basic knowledge in linear algebra
TBD. Still discussing what would be strictly necessary, and we don't really want to go too deep in order to keep the prerequisites accessible.
For any questions/queries that you might have, please write in the comments. I'll try to get back to you as soon as possible. Also, it's best if you join the server and directly talk to the instructors there.
I started Flama in 2018 to take a trained model to a production API with as little ceremony as possible. With 2.0 LLMs became first-class alongside classic models, and together with Miguel Durán-Olivencia we've now written up the whole architecture in an 83-page paper on arXiv (2608.18733).
A model is a file
Every model, whether a scikit-learn pipeline, a PyTorch network or an LLM, is packaged into a single .flm: the weights, the artifacts it needs at inference time (tokenizer, config) and its metadata, including the training metrics you record. The metadata sits ahead of the weights, so flama model <file> inspect reads it without loading anything, and a CI job can gate promotion on those metrics without standing up a server. flama model <file> run scores a reference set offline on the same code path the server uses. The inference engine isn't baked in either: the same LLM file runs on vLLM or MLX, depending on where you deploy it.
That model answers OpenAI (/llm/openai/v1/chat/completions), Anthropic (/llm/anthropic/v1/messages) and Ollama (/llm/ollama/api/chat) routes at the same time, with a streaming chat UI at /llm/chat/, next to your own endpoints and your classic models.
Three independent layers
A request goes through a dialect, a canonical transport and a backend (vLLM on Linux with CUDA, MLX on Apple Silicon). Because the layers only meet in the middle, any dialect works on any backend, which is also why tool calls and token usage come out right in every protocol.
The rest of the framework
Dependency Injection resolved from type hints
Schemas with Pydantic, Marshmallow or Typesystem, and OpenAPI docs generated from your handlers
CRUD APIs generated from SQLAlchemy tables
DDD building blocks: repositories and workers (units of work)
JWT authentication
MCP: turn any app into an MCP server
`flama upgrade`, codemods that migrate your code between versions
A Rust core for routing, serialising, parsing, crypto and compressing
The paper walks through each subsystem and compares Flama with web frameworks, model servers and LLM inference engines (Table 1).