Top
Best
New

Posted by theanonymousone 5 hours ago

Qwen 3.8 27B on my laptop can interpret model weights, too(simonwillison.net)
403 points | 135 commentspage 3
wg0 3 hours ago|
Off topic - anyone had the occasion to work with IBM Watson?
alienbaby 2 hours ago||
Watson as I understand is a collection of things. What were you I tested in specifically?
Towaway69 3 hours ago||
Been too busy counting paperclips.
badsectoracula 5 hours ago||
I did exactly the same thing with Qwen 3.8 27B but i also asked it something else: a couple years ago i wrote a simple upscaler[0] when i was learning about neural networks. The network is dead simple: it takes a 25 inputs for a 5x5 grid around a pixel and outputs the 2x2 pixel grid that the input pixel should be replaced for a (width2)x(height2) upscale. I trained it on a bunch of random images (in hindsight i should have trained it on game screenshots but w/e) and it looked quite nice.

So i asked Qwen 3.8 27B two things:

1. What it is this network all about? I only gave it the ann.c code that implemented a simple artificial neural network library in C and the setup code that specified the network's shape but not its purpose.

Qwen 3.8 27B tried a bunch of stuff, taking the layers one by one, proding numbers through it, etc and finally figured out it is some sort of 5x5 to 2x2 filter, most likely working with pixels (i never mentioned pixels or graphics), though it wasn't certain about the exact purpose. It did rule out a bunch of uses like being a downscaler or classifier, from its behavior.

2. After i revealed what it was, i asked it if it can improve it but keep it 100% compatible with the existing program that used the weights file. And sure enough, it did improve it. I gave it the original training C code and dataset. It made a few experiments (and wrote its own training C code because it found mine too slow :-P) and ended up improving the weights. The difference[1] is small, but it basically eliminated some small noise that was always there and made some transitions less "halo-y". Of course for the purpose i wanted it (use it to upscale games in realtime) it isn't that great (too heavy) but it was learning material anyway. Though one bonus thing i noticed is that it upscales my random doodles much better than any Krita filter[2] :-P.

The above isn't Qwen 3.8 27B observing the weights directly and making sense out of them (ok actually it did seem to make some sense of the weights in the "#1" but i didn't dump the entire network to it - though thinking about it, it is only around 16384 floats so it might work). It just used a bunch of scripts it wrote in Python (and later C) but i still found it interesting to watch it go at it.

[0] https://mastodon.gamedev.place/@badsector/113765818432603610

[1] http://runtimeterror.com/pages/iv/images/a3d94ea369ff95ecf05...

[2] http://runtimeterror.com/pages/iv/images/4e29d027a8aa6e89db5...

dotancohen 4 hours ago||

  > the 2x2 pixel grid that the input pixel should be replaced for a (width2)x(height2) upscale.
Was it better than linear when repeating the process for 4x, 8x, and 16x upscale?
badsectoracula 4 hours ago||
I hacked together a 4x (via applying it twice) scale once when i was modifying Gamescope to see how it'd look but it was both very slow and i didn't like the result so i only kept the 2x one[0].

Out of curiosity i did apply it twice to the drawing i posted in my previous comment with a 4x bilinear upscale made in Krita[1]. TBH i think a dedicated 4x network would do a better job though even then, there is only so much a network can hallucinate to fill in details :-P.

[0] https://github.com/badsectoracula/gamescope/tree/neural-netw...

[1] http://runtimeterror.com/pages/iv/images/20b9558400bcf26511d...

simonw 4 hours ago||
Which coding agent harness did you use with Qwen for that?
badsectoracula 4 hours ago||
I've been using Pi though i'm currently doing the NIH thing and making a custom one in C++ with a web-based frontend :-P.
bsiverly 5 hours ago||
Wasn’t this one of the main marketing points for the Inkling model as well?
tiborsaas 5 hours ago||
> It’s a cool paper, but some of the wider commentary I’ve seen around it does not feel justified. I’m not ready to declare that the age of source code is over and our future involves incomprehensible machines editing their own model weights in incomprehensible ways.

The age of source code is definitely not going to end anytime soon if ever. But the future will involve incomprehensible machines editing other models in a "fairly certain" way, but we are going to need a lot of tooling to keep up with the process and not just take the model updates as "trust me bro".

AlexCoventry 3 hours ago||
I wonder if Qwen releases are deliberately nerfed for some reason. It's not the first time an easy reasoning performance win has been found for one.

https://arxiv.org/abs/2506.10947

alexcarterhq 4 hours ago||
have you tried it on wspbench?
mccoyb 4 hours ago||
Why do people keep calling this a paper?

It's a blog post which received feedback from collaborators.

It hasn't gone through the academic paper lifecycle ... the authors themselves refer to it as a post and as preliminary.

I feel like I'm taking crazy pills, but can we be precise when talking about work of this form? It started with referring to arXiv pre-prints as papers, and now we're at blog posts with an academic template as papers.

A paper is a fucking paper: something which has been vetted by the scientific community, with at least some form (often, a few rounds) of anonymous review from people outside your circle of collaborators

This is not there yet, and clearly so due to the various feedback from people (including the two pushback posts on HN) critiquing the lack of discussion about the existence of these techniques in mech interp, etc?

simonw 4 hours ago||
Like you said, in the AI space a pre-print on arXiv is massively more likely than anything that's been through peer-review.

I called it a paper here because it's by people with an academic affiliation and is of comparable quality (if not better than) many of the other "papers" we see.

I also like it when a paper isn't a PDF. PDFs are a bad way of communicating information.

(I will note that the authors themselves didn't call it a paper, their own BibTeX reference calls it a "blog post":)

  @misc{takehi2026weightspace,
    title        = {{Sparks of Weight-Space Programming: LLMs can natively read \& write neural network weights}},
    author       = {Takehi, Rikiya and Teoh, Jayden and Zhang, Alex and Khattab, Omar},
    year         = {2026},
    month        = nov,
    howpublished = {\url{https://rikiyat.github.io/blog/weight-space-programming/}},
    note         = {Blog post}
  }
cadamsdotcom 4 hours ago|||
> PDFs are a bad way of communicating information.

They have the strength of one PDF being frozen & (mostly) treated online as immutable - compared to a webpage which might change, or a blog post which might be edited. If a PDF needs to be replaced there'll be a notice.

And the single-file nature of PDFs makes them more likely to sit in an archive not managed by the author (vs a blog) so they tend to live as long as the archive rather than the author's blog.

For something that needs to Be referenced by others those are useful properties - I'd argue they outweigh how good PDF is at communicating information.

mccoyb 4 hours ago|||
Sure, I agree with point (3).

But for (1, 2), just to point out, neither of your criteria would pass muster in the scientific communities who are ultimately responsible for vetting this work, right?

The ideal is: we don't accept papers at NeurIPS (or wherever) because of affiliation, and the badge of "quality" is bestowed by peer review, from other scientists.

> is of comparable quality (if not better than)

But the posts that you refer to in your own post point out several ways in which the quality is not good ...

But, in any case, I find it a bizarre choice to call it a paper when the authors themselves do not refer to it as such. We can agree to disagree, but just offering feedback.

simonw 4 hours ago||
You're right about this, but I don't regret my choice of words.

I admit that I don't think formal "papers" deserve their elevated status in today's information economy.

I think they add a whole lot of ceremony that usually results in a format that's harder to understand.

So me calling this a "paper" was a little bit of a dig!

mccoyb 4 hours ago||
Of course, I agree with you in many respects - but I’ve found the academic paper lifecycle to be tremendously helpful in terms of polishing my contributions (admittedly, not in ML - but in PL / systems) and avoiding content which could be construed as “misleading”

You, being of sound mind, tried the technique and drew reasonable conclusions … but just look at the original post for this blog post: there are a large number of responses by people who clearly don’t understand the technique, missed the experimental weaknesses, couldn’t place the post into the lineage of mech interp results that preceded it … and will leave the discussion with the wrong impression.

In your mind, whose fault is that? Is that that the unavoidable cost of a field, moving too rapidly to engage in peer review?

In its ideal form, the paper lifecycle is not a gate, but a sharpening stone.

simonw 4 hours ago||
I think we have a messy version of peer review playing out right now.

I'm not convinced the alternative - delaying publication by 6 months, keeping the new information available only to a much smaller group until then - would have been better.

All of that said, I did just update my own post to include "The paper (OK, the authors classify is as a “blog post”, but it’s paper-shaped) found that frontier models..." inspired by this conversation.

mccoyb 4 hours ago||
Agreed! Now if the authors update their post in response — we’ll have a proper venue on our hands!
MisterMunchkin 4 hours ago|||
Because nobody actually reviews papers anyway so it is irrelevant. That might have happened when you only had 12 papers a year and they were things like “gravity exists”, but when you get a million papers a day on topics like “the ethnocentric illusion of west-canadian yarn spinning”, nobody has time for that.
DoesntMatter22 4 hours ago||
It's not considered a paper until it's vetted by others?
mccoyb 4 hours ago|||
Yes: before that stage, it is often called a "pre-print" ... if it is not at the state of a "pre-print", then "blog post" ... :)
davrosthedalek 4 hours ago|||
In most fields of science, it's not a paper until it's accepted for publication in a journal. That normally includes peer review of some sort.
NitpickLawyer 4 hours ago||
Yeah, that's not gonna happen in ML, where a positive result (even in blog form) can be (hopefully) trivially tested and confirmed.

From memory, yolo and roberta and ppo were initially rejected. After a quick google search, pagerank was initially rejected, word2vec got one weak and one strong reject in reviews, LSTM got rejected (90s but still), dropout, knowledge distillation, and many more such cases. All of these are extremely important, foundational and field defining papers that ended up on arxiv or other preprint places.

If that happened to those papers, there's 0 chance today that it'd be a good idea. The field is simply moving too fast, there's too much being published, and the "top venues" are simply swamped. Blog / preprint / carrier pigeon is ok atm, as long as someone can look at it, try it, and hopefully reproduce it.

causal 2 hours ago||
Now how long until Anthropic forbids weight space editing too?
m3kw9 4 hours ago||
i don't get his example, he had a simple model that only plays pong and Qwen can tell by just looking at the weights?
simonw 4 hours ago|
You can see the full prompt which describes the challenge (and includes the model weights) for the Pong example here: https://github.com/RikiyaT/lm_understand-logs/blob/main/exp1...
0xbadcafebee 3 hours ago|
It literally just did math on some numbers based on a set of rules provided in the prompt in order to sketch a visual of a game. It didn't "interpret model weights" any more than an MP3 player "interprets physics of electromagnetic waves". The LLM built its own decoder on the fly for the games... which is what it's doing when you ask it to write code, calculate math, estimate the structural load bearing of a beam, etc.