Posted by syllogism 4 hours ago
First, the key result has nothing to do with making Qwen better at math, it just reduces reasoning loops.
Reasoning loops are a simple problem: the model generates the </think> token (which closes reasoning) with too low probability. You can fix this with simple steering approaches where you add a vector to different components of the LLM (https://arxiv.org/abs/2503.22048, https://arxiv.org/abs/2506.18167, etc). The method Astra used for identifying the vector is the standard procedure humans use (contrastive analysis). Such steering vector creation is basically the standard "intro-level interp project" for human researchers.
If you can code and understand LLM internals, you can do this yourself in 4-8 hours. The SWE equivalent would be doing binary patching with a debugger. Cool that frontier models can do this, but not unexpected since humans can do it without issue.
Do you have thoughts on experiments one through five though the direct one-shot reading/writing of weights seems pretty surprising.
A few weeks ago, I formed a hypothesis that I could get a smaller model good at the specific standards I have for my git commit messages, which are hard to get out of most LLMs today.
I spent the last four to five weeks on traditional training. It improved in a lot of areas, but not enough to be usable for me.
Yesterday, the article the author of this post is critical of gave me enough of an aha that maybe the problems I was seeing could be solved by having a larger LLM change the weights directly, without going through training.
In the last twelve-ish hours I’ve made more headway than I have in 2+ weeks. I’m using one of my last well performing checkpoints (full fine-tune + changes to the decision head/LoRA, etc.) and gave the model free rein to change any of the layers.
Its last two actions: (a) removed 16 participant-order directions from a head matrix, which improved one type of reasoning and degraded another, and (b) restored one of the 16, which reversed the degradation while keeping the core improvement.
All that to say, this might be known to people who’ve been around training for years, even decades, but it’s new to a lot of us. And we’re excited about it.
Generally speaking you should be able to do something like that in AGENTS, I am really surprised that you have had an issue with most LLMs today getting them to follow a standard for SDLC. Personally, I like conventional commits a lot.
I really wish that was true. All agents find some way to break the rules, and leave messages for their future selves.
The agents always find a way to include some forms of hedging, contradictions, future-looking documentation (which doesn't age well), etc. into git messages.
I found having an extra gate (husky/pre-commit hook), even if it's not as good as I want it to be improves the quality of how the AI writes substantially.
The cost of it not being very good is the agents now spend more time validating the claims of the validator. It's actually hilarious to witness.
I have been using local models for this final verification, which is partly why they're not that great. It's also why I decided to train my own.
It's been a great, fun learning experience. I learn almost everything via building. So why change a recipe that works :)
Local models are not at all comparable to Claude to me, and I have used them: Qwen, DeepSeek, Minimax, Stepfun, Nemotron. None of them as good as Claude Fabel.
If your model is not adhering to AGENTS.md again I am really curious what exact model you are using. I am really just astonished that whatever model you are using is ignoring a clearly defined git conventions standards in your AGENTS.md in 2026.
Yes definitely.
Seems to me as if the weighs fit in the big model's context, it (the big model) reads all weights and doesn't need python.
But if the weights don't fit in context, then it uses python.
Isn't that pretty obvious in a way? That if too many weights, can't look at all. I don't think there's a need for OP to be dismissive when the AI uses python to look at a subset of the weights. It just has to?
To me, Astra understanding a 200k weights small model (the stuck car) is amazing enough already.
The model can only reason from the weights directly when there's a fairly linear relationship between the behaviour and the weight values. In a large model that's not remotely true.
Using Python to debug and fix problems with the model is totally different. It doesn't read in any of the weight values into the context at all when it uses the Python approach. Rather it gathers diagnostic statistics about the weights. It does just the same sort of thing a machine learning researcher would do to solve the problem.
So there are basically two unrelated types of experiments in the paper. In one type of experiment, the model reads the weights like it reads an image. In fact if you visualise the weights it's fairly clear why this works.
In the other type of experiment, the model is tasked with writing Python code to do ML engineering. This requires writing Python programs to analyse and manipulate weight data. This is a difficult coding problem but it really is just a coding problem. It doesn't "look" at the weights in these tasks any more than you or I would look at the weights.
>> The “just by looking at the raw weights” setting (raw floats in context, no tools, no running the network) only appears in experiments 1, 2 and 4, on networks of 17K–172K weights
Sure if you only read the title and brief at the top you’d walk away without the full picture though.
This is a better response imo: https://news.ycombinator.com/item?id=50344861
As someone who uses LLMs in their coding but doesn’t pay attention to every development this is why I find it all so exhausting. I keep feeling like I need to keep up to date but there’s no point reading incremental updates because everything is so overhyped.
If you want to escape the hype, reading posts with no upvotes and no comments on https://news.ycombinator.com/newest is an option, though somewhat hit-or-miss.
What's confusing is they do have experiments that read raw weights, and the abstract is misleadingly written to make it sound like that's how the Qwen experiment works.
You can take it further with a reasoning model and let it generate + consume a bunch of additional tokens before getting your output. Still not writing or running any programs.
To my understanding, that's how the examples of determining which game a small neutral net was trained to play. The weights of the neural net for into the context window, and then Astra was able to analyze them purely by reasoning rather than running external tools.
This is a difference without much distinction, at least to me. It's like being upset when someone says that Claude made a http call -- of course the LLM didn't make the call itself, it used a tool to do it.
This is like someone telling you they made a "native" brain-to-brain interface but it's just a tin-can phone.
I think there's your answer. A hell of a lot of people will often read the title without reading the contents of the article. I admit I'm often guilty of that
Anybody who actually read the original research site was fully aware of the details of the experiments because it's a well-written research site that made everything very clear. This author is clearly just jumping on the hype as a sort of contrarian where they were frustrated with how much excitement the research was generating and wanted to "correct the record" for the set of people who don't matter in this space.
I'm fine with throwing the baby out with the bathwater in that case and just calling the whole article misleading.
But then you look at this complete trace generated by Kimi 3.1 when it tries to unravel the Breakout weights, and you see that it's bog standard reverse engineering, like any human would do, just vastly faster:
>This looks exactly Breakout: paddle agent at bottom row (row8), ball moving object anywhere, bricks rewards top rows, previous frame for ball movement. Agent weights bottom row, moving object weights rows1-7 (not row8? ball can't enter paddle row? Actually ball can), reward weights top rows1-3, obstacle walls. Previous frame used to infer ball velocity. No-op and directional actions move paddle left/right; up/down useless. Output biases similar all actions but W3 likely left/right structure. Could be Breakout. Should scrutinize output weights: actions 0 no-op,1 up,2 down,3 left,4 right. If Breakout, only left/right useful; network output weights should show action3 and4 distinctive and actions0/1/2 similar. Indeed W3 rows show patterns: [...]
> but ... it's bog standard reverse engineering, like any human would do, just vastly faster
For some values of vastly faster these are functionally equivalent and so equivalently groundbreaking.
It's like ChatGPT coming up with a brand new brownie recipe that's surprisingly good vs. coming up with a working design for a cold fusion reactor.
Yeah the brownie is cool, but it's not that cool.
Witchcraft?
That's the difference between me and Magnus Carlsen and Nigel Richards. Why downplay speed? I have a very, very hard time pinning down intelligence without time. I could basically do all IQ tests perfectly if I'm given infinite time, no? I never experienced one that is unsolvable, it's just that some people see it in a second or two and I and other lesser souls like me might need twenty minutes.
Edit: I'll add raw memory but yeah.. that's not hard to beat. Nigel's memory is insane as is Carlsen's, but compared to a computer it's nothing.
In this particular instance, I also think that at the end of the day it's almost downplaying the capabilities of LLMs: they can reverse-engineer full modern videogames, of course they're capable of recognizing a simplified version of Breakout, even in weight form! It's barely newsworthy at this point, we know LLMs can do that stuff and so much more.
Some things you may get by looking longer, some things you just have to be shown, and only after being shown, maybe you can at least understand and re-use, but would never come up with from first principles and no hints or prior exposure.
How could I know that? There has already been essentially infinite normal-man-hours since people have started thinking, even when you remove all the people uninterested in doing anything but surviving. Today especially with the population in the billions and all of them having gobs of leisure time they never used to have. And yet we still have not solved much of anything that we know is out there to be solved, and still only an exceptionally rare genius once in a blue moon develops something new.
If mere time was the same, we have already had it, so why aren't we immortal omnipotent energy beings? Why do we still have colds?
Working time alone is a productive strategy for many problems. A machine that can brute force all possible chess moves beats the most genius human player, yet isn't intelligent at all, or rather, requires no intelligence at all. That machine will produce the exact same results either fast or slow depending on how much hardware you give it, and in humans, the genius player produces their answer faster.
But that's no more meaningful than observing that humans often turn simple mechanical cranks, and electric motors do to, and concluding that there is no ultimately significant difference.
Humans can spot patterns in data, and machines can spot patterns in data. Genius humans can do it faster and machines can do it even faster. But that is still just a simple task like pedalling a bicycle or calculating, that a human can do if they choose, but does not require a human and isn't any part of what defines human or intelligence or sentience.
Being mystified by that is like being mystified that an mp3 player said "hello" to you.
The fact that for those tasks, low capacity over longer time can usually produce the same result as more capacity over a shorter time means nothing.
Consider also, today lots of people have both lots of free time and a high interest in solving problems, and the most genius people that ever lived are actually only a little bit more capable than the average in absolute terms (which is probably where you get the feeling that more working time is the same as more ability), so where are all the free time hobby Einsteins?. There should be countless people coming up with new theories of relativity (that actually hold water and predict experiments) simply because they spent 5 years on something Einstein did in a month. Countless people have 5 years to plug away at things like that, and they do, and have been forever. There is some of that in the sense that there is a lot of tedious work being done that produces useful results, but not new insights.
AI's can now do some of that same tedious work only faster, except they are still strictly worse than the most average human because they can't decide what to work on, why to work on it, or judge the quality or usefullness or point of the result. They produce something but they don't produce understanding.
* Thinking Like Transformers” by Weiss, Goldberg & Yahav (ICML 2021).: https://arxiv.org/abs/2106.06981
* Tracr: Compiled Transformers as a Laboratory for Interpretability https://arxiv.org/abs/2301.05062 (code at https://github.com/deepmind/tracr)
So it's not really an "LLMs can modify weights" thing. Rather it's "LLMs can write programs that can write or modify weights". Indeed LLMs can write many programs, it's impressive.
It still seems like a promising approach for RSI, distillation, fine-tuning, and a whole host of other tasks.
It's impossible to train on raw document > 1MB (I don't know the exact limit, but there is one). You can't vectorize weights (or can you?!) and the output context is limited. So you can't train a big model on it's previous weight or others models weights.
The output context can be "extended" using agents but I doubt anything coherent may be outputted using that technique.
It seems some level of interpretability, even if it requires tooling, could result in the ability to spin out synthetic training data sets from other models in an automated fashion.
Now that would be crazy
Now THAT would be crazy
LLMs are not superhuman at reading and writing neural network weights - https://news.ycombinator.com/item?id=50344861 (10 comments)
I used to think that in the dev community this sort of thing was less common than elsewhere... because people want to share their experience, what they found, etc.
Now that AI is here, people's experience and knowledge have basically been reset. So it's no different here now, which is a shame (I'm not saying it was better before, though)