Mohamed retweeted
Hi all, I have a new result I'm excited to share. It turns out that *all existing implementations* of softmax and cross-entropy (that's JAX, PyTorch, textbooks, etc) have a subtle bug --- two bugs, actually. A simple rewrite fixes both, and eliminates "slingshots" when grokking:
Mohamed retweeted
1/9 Current optimizers are static during training. What if the optimizer could think and react while the network trains?
We let an agent watch the training dynamics and rewrite the optimizer's source code as training goes: a reactive optimizer.
In every language and image setting we tried that has no tuned recipe, it matches or beats the best recipe one can one-shot, and it guards against loss spikes and overfitting by itself. In the near future, optimization decisions may belong to agents, not humans.
📝 xingjianbai.com/reactive-opt…
💻 Try it on your task: github.com/xingjian-bai/opal
🧵
قبل سنة تقريباً نشرت AI Specialization Roadmap عن أساسيات الـAI، واليوم أنشر الجزء الثاني: المهارات اللي تساعدك تنتقل من الأساسيات للـindustry. أتمنى تنال إعجابكم :)
mohammad2012191.github.io/AI…
Mohamed retweeted
1/
During OLMo3-32B pre-training, accuracy on an arithmetic diagnostic hits 81% at 2.17T tokens, collapses to 0% at 2.19T, and jumps back to 81.7% at 2.21T.
All while validation loss decreases smoothly.
The phenomenon: mode-hopping. 🧵
Let's make KV cache great again :)
What if you could run your LLM on almost arbitrarily long text without caring about the KV cache, and still match a full read?
⬇️ New preprint:
Periscope: Extending Frozen Language Models Beyond Their Context Window
🔴 tl;dr: a new training-free inference method that relies on short local and strided reads to approximate the global context. A frozen model served at a window of W tokens can now read texts of W²/c tokens (e.g., a 27B model reads 4.5M tokens on one 80GB GPU) with the KV cache size of only a few chunks, at accuracy comparable to reading everything.
(image: results on LongBench v2)
🔵What this means: memory for a long read is set by the model's weights, not by the text. A model that fits your GPU can read texts that GPU could never cache in one pass.
🔵That could unlock serving small models at far longer context on cards that today stop at the window.
📄 Paper: arxiv.org/abs/2610.04047
💻 Code: github.com/mohammad2012191/P…
Huge thanks to the team: Anas Obayd, Raed Rashid, Abdulrahman Alghamdi @Abdu_6h, Abdulrahman Mousa, Abdullah Mahmoud, and supervisors Dr. Tanveer Hussain & Prof. @ProfNaeemKhan.
Special thanks to @KAUST_Academy and @Dr_S_Albarakati for their incredible support 🫡
When a benchmark saturates, we write a harder one: MMLU → MMLU-Pro, MMMU → MMMU-Pro.
What if the harder benchmark was already sitting inside the old one? 🤔
🔴New preprint:
Your Benchmark Is Not Saturated: Reviving Multiple-Choice Evaluation with Answer Pooling
➡️tl;dr: We introduce Answer Pooling, a label-free way to make multiple-choice benchmarks harder with zero human intervention. Take questions that share a context, pool all their options into one list, and ask the model to match every question to its answer.
Hmm, but Mohamed, maybe pooling is just an unfamiliar format? 🤔
No 🎯
Same prompt, same pool size, but every wrong option swapped for an unrelated answer:
➡️ QuALITY: MCQ 76% → this control 84% → real pool 60%
➡️The format costs nothing. The drop comes from the newly-added plausible wrong options.
🔵 A saturated benchmark still holds a harder task in the labels it already ships.
📄 Paper: arxiv.org/abs/2609.37494
💻 Code + all 8 pooled benchmarks: github.com/AbobakerAhmed/Ans…
Huge thanks to the team: Nawaf Barebood, Abobaker Ahmed, Hussain Bu Subayt, and supervisors Dr. Tanveer Hussain & Prof. @ProfNaeemKhan.
Special thanks to @KAUST_Academy and @Dr_S_Albarakati for their incredible support🫡









