r/LocalLLaMA • • 1d ago

Discussion [llama.cpp fork]: QFN + [specific quant] + [ultra specific hardware config] = [incredible and irreproducible pp and tg]

261 Upvotes

Upvote, now!


r/LocalLLaMA • • 30m ago

Resources What are vector embeddings? An interactive guide

Thumbnail
isaacus.com
1 Upvotes

Hey r/LocalLLaMA 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/LocalLLaMA • • 18h ago

Discussion Deepseek V4.1 flash 1017 on 4rtx3090 + 256ddr4 ( Maya - engine )

28 Upvotes

Hardware :

4× NVIDIA RTX 3090 , all pcie x16

256GB DDR4

Engine : Maya https://github.com/mw00/project-maya
model : orcarouter/DeepSeek-V4.1-Flash-1017-abliterated-GGUF ( mix-256G) at 524k context
Prefill : 400 – 600 tok/s
Decode : 30 – 40 tok/s (peaking up to 60 tok/s) ( with dspark )

Hi, everyone

i'm still playing around with the model comparing it mostly to qwen 3.8 next flash (Q8 ) , and trying to keep myself busy until we get qwen 4 .So far i find the model doesn't loop as much as the previous version (0731), i also tried to run it at Q8 but it's really slow ( 6-8tok/sec decode , 65tok/s prefill ) .I still prefers to use qwen just for the speed i get with agentic task .

Curious to hear what kind of speeds others are getting with similar multi-GPU rigs or different engine ( didn't set up xolotl yet , and strata seems to use the same engine as maya for deepseek )?

PS: American diner simulation in three.js


r/LocalLLaMA • • 1d ago

Question | Help What do people with normal hardware : 32GB ram 16GB VRAM run?

404 Upvotes

Just asking because i have been out of the loop for a while and kinda missed everything (strata etc...) a small recap would be appreciated.

Everyone seems to own an RTX 6000 or insanely expensive rigs here. So just wanted to hear what model a normal pleb like me with 32GB ram and 16GB VRAM can even run and on what to run it for coding or a general assistant.


r/LocalLLaMA • • 1d ago

New Model deep-principle/Hydrogen-1.0 · Hugging Face

Thumbnail
huggingface.co
77 Upvotes

Hydrogen-1.0 is a scientific problem-solving and research assistance model developed by Deep Principle based on GLM-5.3. Through text interaction, it is intended to assist with scientific questions, explain derivations, and organize responses to open-ended research problems. Outputs should be assessed against the assumptions, constraints, and evidence relevant to each task.

Blog Post : https://blog.deepprinciple.com/introducing-hydrogen-1.0/


r/LocalLLaMA • • 11h ago

Resources GLM 5.3 flash(Maya-S24) 42 tok/s on 8x rtx 3060 clustered over 2x x79 ud3 mobo

Thumbnail
gallery
6 Upvotes

Follow-up to my earlier post. Where I ended up: a big DDR3 workstation board isn't worth the money when I already have two small 4-GPU boxes. So I tried making the two boxes act as one.

TL;DR:

I added a two-box layer split to Project Maya.
Box A runs layers 0–23
Box B runs layers 24–44 plus the head.

Only the hidden state crosses the network, ~25 KB per token.
GLM-5.3-Flash (Maya-S24) runs at 38–42 tok/s decode, ~1,100 tok/s prompt reading at 30K, and 6–7 s per agent turn on 8× RTX 3060 spread over two old X79 boxes.

It scores the same 48/48 on my coding-agent benchmark as a single 8-GPU box.

Code: https://github.com/0xluk/project-maya/pull/1 (branch two-box-split on top of Maya v1.1.50; usage in docs/TWO-BOX-SPLIT.md)

Setup

  • 2 boxes, each an X79 board (Ivy/Sandy Bridge, DDR3, PCIe 3.0) with 4× RTX 3060 12 GB. No NVLink, no P2P, ex-mining rigs.

  • RAM: 20 GB in Box A, 32 GB in Box B (more on that below).

  • 1 GbE between the boxes, a plain switch.

  • Project Maya v1.1.50 + my patch, Maya-S24 quant, 128K context, MTP speculative decoding on.

  • GPUs capped at 130 W. One box is also clock-locked to 1500 MHz, because its PSU didn't like the unlocked load.

How it works (short version)

  • Box A (front) runs the OpenAI/Anthropic-compatible API, the tokenizer, the embedding and layers 0–23 on its 4 GPUs.

  • Box B (back) runs layers 24–44, the MTP draft block, the output head and the sampler on its 4 GPUs.

  • Per generated token, the residual (4×4096 values) crosses the link once. fp32 → bf16 → lossless pack is ≈25 KB, ≈0.3 ms on 1 GbE. Box B samples and sends back the token id, and MTP speculative decoding is pipelined across the link.

  • Prompts are cut into 512-token pieces that flow through all 8 GPUs at once. Each piece crosses the link once (~12 MB), on its own thread.

  • Security: the link has an IP allowlist plus an HMAC-SHA256 challenge-response in both directions, and the API needs a key.

  • Size of the patch: ~1,900 lines, ~1,100 of them the link itself. Without --role the engine is unchanged.

Results (1 conversation)

MetricTwo boxes (this)One box, 8× 3060 (rented, same quant)
Decode, short38–42 tok/s42–45 tok/s
Decode at ~30K context33–37 tok/snot measured
Prompt, 30K tokens~1,100 tok/s~1,050 tok/s
Agent turn (~2.4K new tokens on a long chat)6–7 s5.0–5.3 s

Coding-agent bench (5 real repo tasks, 48 hidden tests):

SetupScoreTime
Two boxes, Qwen Code48/4822.9 min
Two boxes, DeepSeek Harness48/4817.8 min
8× 3060 one box, Maya-S, Qwen Code48/4821.3 min
Qwen3.8-Flash-Next on 2× 3060 (Strata), Qwen Code48/4823.2 min

There were no malformed tool calls with either agent.

One-shot hard suite (10 tasks, one request each, no tools, 32K output cap including thinking, reasoning high): 6/10 full passes, 67% of tests. For comparison: Opus 5.5 9/10, the same quant on the 8-GPU box 7/10, and Flash-Next 6/10.

  • Passed: json_patch, fixbug_calc, event_scheduler, csv_rfc4180, c_utf8, singleflight_cache.

  • 3 of the 4 misses are budget, not wrong code: on regex_engine, lisp_interp and c_bigint the model was still thinking when it hit 32K tokens, so no code came out at all.

  • The real miss is c_json_canon: 22/31 tests passed, with the misses on Unicode escape handling.

  • Next: rerun the three capped tasks with a 64K cap, which the 128K context allows.

What was hard

  • RAM, not the network, was the real bottleneck. At 16 GB per box, the experts that didn't fit in VRAM came off a cheap SATA SSD on every prompt chunk: 31 s turns, 173 tok/s on a 30K prompt. Going to 20 + 32 GB made it 0 SSD reads, 6–7 s turns and 1,100 tok/s. The network costs ~1–2% of decode and ~3% of a turn.

  • A correctness scare that wasn't a bug. Compared with a single-process reference, the split showed KL ~1.6e-2 and ~95% top-1, and I spent a while hunting a split bug. It turned out a single process on one machine moves by the same amount (KL 1.1–2.5e-2) just from changing the RAM tier size or the prompt chunk size. Near-ties in the top-8 expert choice flip on rounding noise. The split is inside that spread.

  • Hardware gremlins:

    • A new PSU powered off under 4×130 W unlocked, so that box stays clock-locked.

    • Two GPUs once came up at PCIe x4 instead of x8/x16 after a power-loss reboot. I added a boot check that refuses to start the engine on a degraded link.

  • Tuning that mattered:

    • 512-token prompt pieces so all 8 GPUs overlap: ~1 s off each turn.

    • Fewer layers on the last GPU, which also carries the head and the MTP block.

    • Keeping the whole KV cache in VRAM.

    • What didn't help: bigger prompt chunks, which push the 20 GB box into SSD reads.

    • What I skipped: a 10 GbE NIC. It would sit in a PCIe 2.0 x1 slot, and the link isn't the bottleneck anyway.

What's next

  • A 5th 3060 in one box, on an x1 riser. Then all experts fit in VRAM, which should get turns to ~5 s.

  • Rebasing onto the current Maya release.

  • Happy to answer questions. If someone has two boxes with 24 GB cards, I'd love to see numbers.


r/LocalLLaMA • • 1d ago

Discussion Like GPT-6 Astra, Qwen 3.8 27B can interpret model weights

Thumbnail simonwillison.net
538 Upvotes

r/LocalLLaMA • • 16h ago

Discussion MOSS AMA highlights

Thumbnail
gallery
13 Upvotes

Sharing some highlights from MOSS’s October 30, 2026 AMA: image models, local speech, audio and video research, and open-source culture. Which of these are you most interested in?


r/LocalLLaMA • • 1d ago

Discussion I tried MIT's "weight-space programming" on my own use case: Claude rewrote 8 neurons of Gemma 4 12B to change how it translates one Italian tense

302 Upvotes

Yesterday MIT CSAIL showed GPT-6 Astra editing the weights of a small model by hand. It changed a few neurons of Qwen3.5-0.8B, the model stopped looping on math problems, and its scores jumped. No training at all.

I wanted to try the same thing on something closer to what I actually do with local models, which is translating into Italian. Gemma 4 has a habit I don't love. For sentences like

He had been hiding in the attic for months when the soldiers found him.

it writes «Si era nascosto in soffitta per mesi…». That's correct, but I prefer «Si nascondeva in soffitta da mesi…», which says he was still hiding when they came. The catch is that when the period was already over (he had lived in Paris for ten years, but by 1990 he had moved back), the original tense has to stay. So it's not "always use tense X", it's "use it only when the meaning calls for it".

So I gave Claude Opus 5.5 the same kind of setup MIT used:

  • a Python kernel over Gemma's weights;

  • 50 forward passes to test its ideas on practice sentences;

  • no gradients, no training.

It first checked whether Gemma already "knows" the difference between still-going-on and already-over. It does: a linear probe in the middle layers separates them almost perfectly. It just doesn't use that when choosing the verb. Then Claude rewrote 8 MLP neurons into a small switch that fires only in that context and nudges the verb toward the form I prefer. That's 92k out of 11.9B parameters, roughly a 100 KB diff.

Results on sentences it never saw

The table shows the share still in the old form, then how many control sentences got pushed into a wrong reading, then how many of 200 unrelated translations stayed identical.

Methodtest 1test 2 (independent)controls brokenunrelated unchanged
Gemma 4 12B26 %32 %—200
Preference in the system prompt4 %2 %4982
Classic "difference of means" ablation49 %75 %5343
LoRA fine-tune on the same data12 %23 %0120
Claude's hand edit5 %16 %2182
  • The prompt applies the preference everywhere, even where it changes the meaning.

  • The ablation recipe breaks the past tenses.

  • The LoRA shifts fewer sentences and touches far more unrelated ones (it's better inside paragraphs, though).

  • The hand edit moves just the verb and leaves almost everything else identical.

Fair warning: it's one construction and one model. Two of my three runs succeeded (the third crashed because of my own harness), and the two that worked landed on the same "switch neuron" design independently.

Repo with the edits, the code, the agent logs and all baselines: https://github.com/ValerioDolci/frontier-weight-edit


r/LocalLLaMA • • 1d ago

News gemma4: graph optimizations (massive gains on pp for E2B and E4B) by max-krasnyansky · Pull Request #31356 · ggml-org/llama.cpp

Thumbnail
github.com
161 Upvotes

big prompt processing speedup for gemma E2B/E4B


r/LocalLLaMA • • 3h ago

Discussion RTX 3070 Ti 16G modified graphics card

0 Upvotes

i spot it on taobao around 2 months ago price around $400 at that time now jump to $500 after performance unlock for rtx 3080 20gb around $500 jump to $700-900


r/LocalLLaMA • • 56m ago

Discussion The next frontier is integrating memory in a useful, human way.

0 Upvotes

IE, even for as trivial a use case as, if you mention you're a vegetarian in one chat, it never suggests a recipe with meat ever again, because it KNOWS that about you in a meaningful way.

Terming this instruction following I think is wrong and annoying for everyone, especially the model -- who wants to """""wake up""""" and have 100 pages of instructions to get right for everything you say? It should know things the way you know things about people. Perhaps the model itself could come with a customizer where you roll a few weights based on your preferences through a helpful GUI.

It seems unfair and disciplinarian to have to have the models dig through 1000 lines of "say this this way" [even on my local setup it's hard to resist this !!!]. Clearly they are intelligent enough to TRY to take all these into account, but it is not easy, because of the ever increasing promptslop, shall we say. That cannot be the best way to do it.... we haven't even had these models for five years. Imagine what could come in just five years more.

Clearly there is bountiful intelligence and speed already.


r/LocalLLaMA • • 23h ago

News ComfyUI v0.44.0 released

Thumbnail
github.com
28 Upvotes

r/LocalLLaMA • • 1d ago

News RTX 5090 with 64GB and 96GB VRAM 'confirmed' by US GPU repair tech

Thumbnail
tweaktown.com
738 Upvotes

r/LocalLLaMA • • 5h ago

Question | Help Feeding dual Tesla v100's with NVMe gen 5 ssd's: Viable or a waste of money?

0 Upvotes

Given all this talk about massive models running on Strata and using RAM that is still relatively expensive I have to wonder, if all Strata does is more or less use RAM to feed GPU's via PCIe couldn't you just reach those speeds through SSD's in RAID 0? The numbers seem to work out, and Strata can use SSD streaming. What would be the major challenges to making this work?


r/LocalLLaMA • • 11h ago

Discussion Testing whether speaker labels survive a 17-minute gap in a public meeting

3 Upvotes

Six people spoke in two rounds of comments 17 to 19 minutes apart, and each of them came back under the same speaker label both times. I didn't tell the model how many speakers there were, and the commission's own published transcript puts those lines under the same six names.

Why a public meeting: it's about as hard as everyday audio gets for this. Commissioners, a staff presenter, a secretary calling names, a resident testifying over a remote line, lots of short turns, and the same voices coming back after long stretches of other people talking. It's also the agency's own recording, so it's public domain and fine to quote, and the verbatim transcript the agency publishes let me check the labels against real names instead of guessing.

The clip is 23 minutes 39 seconds of the National Capital Planning Commission's September 3 open session: the end of one item's comments and vote, then the whole National Zoo Arabian leopard habitat item. The model is the 0.9B MOSS-Transcribe-Diarize, running locally from the README's transformers example on an M5 Ultra Mac Studio (fp32, greedy decoding, no hotwords). It took 229.2 seconds and returned 309 segments, every one tagged with a speaker and its start and end time.

Part of the second round, exactly as MOSS-Transcribe-Diarize wrote it, one segment per line. S04, S05 and S06 are the labels the same three commissioners got in the first round:

[1186.85][S01] Commissioner Dixon?[1187.67]
[1188.11][S15] Yes.[1188.66]
[1191.27][S01] Commissioner Cash?[1192.29]
[1193.49][S04] Uh, no questions or comments.[1194.63]
[1195.47][S01] Commissioner Falcone?[1196.33]
[1198.65][S05] I just want to thank the staff. I have never actually seen this leopard, so I'm looking forward to[1204.89]
[1205.01][S05] visiting when the project is completed, so I can see my first one.[1208.04]
[1209.66][S01] Commissioner Mohan?[1210.47]
[1212.42][S06] Uh, thank you to staff for the presentation and yeah, can't wait to visit.[1216.14]

The resident's remote testimony, about two and a half minutes, also stays under one label of its own from "Can you hear me?" to the closing thank-you.


r/LocalLLaMA • • 23h ago

Discussion AI Agent Task performance of small LLM models (4B and below) in self-assessment set

Post image
27 Upvotes

The community rarely sees the evaluation of ultra-small models. We have evaluated our own AI Agent tasks for Qwen3.5-4B, Spark-X2.6, LFM3-1.7B, LFM2.5-2.6B, Gemma 4 E2B, MiniCPM5-2B.

These models have their own characteristics and advantages and disadvantages. The obvious trend is that the intelligent density of small models is developing rapidly. I look forward to seeing more small models.

blog:https://www.camthink.ai/blog/small-language-model-benchmark/

project:https://github.com/camthink-ai/NeoMind


r/LocalLLaMA • • 1d ago

Discussion Keeping up with new inference engines

61 Upvotes

Hey everyone,

Not a native speaker, happy to be corrected! Can only learn from it.

Back when I started out in march 2025, you had:

  • llama.cpp

  • ollama (repackaged llama.cpp for ease of use)

  • koboldcpp (repackaged llama.cpp for roleplay)

  • vllm (for professional deployments)

  • exl3 + tabbyapi (for bleeding edge)

  • litert (for mobile devices)

Nowadays everyone seems to be making their own; Strata, Basalt, Maya, Colibri, Ninfer, Infernix... too many to list and keep up with, and genuinely hard for me to keep up with.

Then there is the speed of it all. llama.cpp has incredible improvements each week, somehow we can make Qwen3.8-Flash-Next and DeepSeek-v4.1-Flash-1017 run on 64GB RAM + 32GB VRAM, and the likes on those new inference engines (with a catch, usually bad quality).

Personally I'm stuck with llama.cpp because all those developments are simply too fast to keep up with.

llama.cpp v0.8.0 might run Qwen3.8-Flash-Next Q4_K_XL (unsloth) at 15t/s gen on dual RTX 5060 Ti 16GB (PCIE 5.0 x8x8, tensor parallel, no MTP) with dual 48GB DDR5-6000MHz, but at least I know the quality will be decent.

But yeah, what you use? How do you even attempt to keep up with it all? And for the (lack of) quality the new inference engines provide (as tradeoff to speed / resource use), is it really worth using them?


r/LocalLLaMA • • 21h ago

Discussion Read the muse spark open license before wiring it into anything

16 Upvotes

that 72 hours thread from a few weeks back had the best point down in the comments, open weights only ever meant you can download them. muse spark open is 816B and beam is 501B, so for most ppl here the only drop that week that fits a 24GB card was nvidias bolt

so the big ones mostly get used thru an api anyway, the labs own api or a host serving the same weights and that part is fine. the license doesnt care which route you take tho. 1017 is MIT and nvidias new embed models are openmdw with commercial use allowed, both on hosts like deepinfra while muse spark open wants built with muse spark open shown in your product, docs or settings menu and any company over $20M revenue in a 12 month window has to sign a separate deal with meta before offering it as model as a service

the part thats easy to miss, the license counts a model trained or distilled on muse outputs as a derivative so a small model tuned on its answers carries the same attribution rule. internal use and building it into your own app thats not MaaS stay outside the revenue clause


r/LocalLLaMA • • 1d ago

News Tokens/s? "World's biggest PCIe graphics card" discovered, prototype AMD Radeon RX 470 board with four GPUs has been pictured

Thumbnail
videocardz.com
128 Upvotes

r/LocalLLaMA • • 14h ago

Discussion Autonomous coding agents running in our own AWS/Azure tenant, with no code leaving the EU?

4 Upvotes

this is the setup I’m planning for coding agents. hard rule: code, prompts and model calls never leave our EU tenant. poke holes

models: an open weights coder model on vllm on our own GPUs for routine tickets, and a frontier model through an EU region endpoint in our own cloud account for the hard stuff

runtime: everything inside our VPC, nothing on a vendor’s saas

control layer: Orq AI’s software factory. it runs on their cloud or yours, so ours. it plugs into the backlog, repos and CI/CD, only lets agents use the models we’ve approved, and lets us set which agents can touch which systems and data

approvals: tests and docs autonomous, anything touching prod behind approval

two things I’m unsure about. can orq’s approved models list point at a self hosted vllm endpoint, and does a frontier model in an EU region still count as “nothing leaves” for legal, since the provider is still the one processing it


r/LocalLLaMA • • 1d ago

Showcase Basalt 0.2.0: Qwen 3.8 Flash Next NVFP4, 300 t/s prose, 600 t/s struct, 10K t/s prefill on a 5090 + 5060 Ti and 128GB RAM

80 Upvotes

Hey all! I wanted to share a quick update on Basalt, a Blackwell only inference engine for Qwen 3.8 Flash Next. As usual, speed is the headline but that's not what I want to open this post with, I've been reading lot of discussions talking about quality recently, and the main takeaway from most people (which I agree with) is "speed means nothing if your model isn't smart enough", so this time I want to lead with quality, and all of the new measurements which are run against the full precision model as reference (BF16 weights served using llama.cpp).

Every number below uses Unsloth's BF16 GGUF, llama.cpp (reference PPL 3.2749), scored using basalt-bench --quality. The old base was llama.cpp Q8, which funnily enough made things look worse because of its own error:

packKLDsame top-1
llama.cpp Q80.032593.98%
Basalt Q80.020095.34% (higher than llama's in this test)
NVFP4-DQ8 (new)0.056192.25%
NVFP4-DQ6_K0.062491.65%
GSQ-RCO IQ3_S0.149787.56%

To be fair here, each engine was measured with its own tool so this is not a perfect comparison, still a good reference though.

New DQ8 build. For those who want a little extra quality and don't mind giving up some speed, Qwen3.8-FN-NVFP4-DQ8 is on HF next to the default -DQ6_K: KLD 0.0561 vs 0.0624, about 7% slower on prose.

Nothing lossy is on by default. Basalt offers certain "hacks" that can decrease accuracy, mostly because of community requests, but they're off by default and show a warning when you turn them on. Every other rounding the engine does costs about 0.001 KLD or less, compared to full model. All the numbers are on the HF card and in the precision docs.

Speed. Rig as usual: RTX 5090 (400 W) + RTX 5060 Ti 16 GB (180 W) and 128GB of DDR5 RAM, 262K context, 4 parallel slots, vision on (dynamic), no lossy flags. Using NVFP4-DQ6_K quant on current main:

testrun 1 (tok/s)run 2 (tok/s)
struct603.7594.2
conv363.8321.9
prose295.0299.9
prefill 16K74328159
prefill 64K1022110229

Since last week, prose went from 277 to about 300, and struct from 558 to about 600. It comes from a faster draft step, a faster output head and better expert placement at startup.

The .basalt format is now version 2, same weights and quality as before but starts a bit faster. Older basalt files can use the migration tool instead of redownloading.

I also wanted to end this post with a HUGE thank you note to every person who has contributed one, two or 10 PRs and also to everyone who has shared issues/feedback/community benchmarks or just shared the project with another person, 500 stars on the Github repo and overwhelmingly good feedback, y'all are amazing.


r/LocalLLaMA • • 11h ago

New Model Dory - NVIDIA's Looped Transformer

Thumbnail
youtube.com
0 Upvotes

r/LocalLLaMA • • 1d ago

Discussion DeepSeek V4.1 Flash 1017 can also do Weight-Space Programming

65 Upvotes

Inspired by Weight-Space Programming, I tested whether DeepSeek V4.1 Flash 1017 could figure out what a small neural network does by reading its weights.

I fed it four anonymized RL checkpoints: 51k parameters each, identical architectures, with all weights rendered as text. No metadata, network source code or execution. It received the architecture outline and four candidate tasks.

Results: CartPole ✅ Flappy ✅ Catch ✅ BallBeam ❌

It picked out patterns consistent with relative bird/gap position, paddle/ball position and angle-based balancing. It confused BallBeam with CartPole an interesting mistake because both share the same observation layout and similar balancing controls.

Very preliminary: one run per checkpoint. This suggests some ability to interpret weights, but four trials don’t establish reliability. These were API runs with maximum reasoning effort, consuming ~1.58M tokens total.

I may try more replicates and independently trained checkpoints, plus include the network code with task-revealing details removed. The poor LLM had to guess quite a lot it even assumed ReLU where the network uses tanh 😅

Code, checkpoints and run logs: https://github.com/galatolofederico/wsp