← All topics

technical

17 captures, most recent first.

ueaj @_ueaj

ueaj ✓ @_ueaj · 11h This is definitely not what they're doing at the labs but I made a programming language that can only represent circuits a transformer can learn, and then asked fable to create a program which would unroll sudoku solving computations in a CoT and spit out the answer by inference. It's a very strange way of programming and I would have a very hard time doing it myself, the fact Fable can is incredible and superhuman. I think you could probably keep going with this to get theoretically optimal reasoning traces for a wide variety of problems, and SFT it into a model to get a super dense starting position. Though I doubt it's transferability to real tasks, this is mostly just a fun project. Anyways here's a chain of thought from a purely symbolic transformer analog solving a 4x4 sudoku (9x9 below) [embedded image, code/terminal block:] Prompt (this is all it gets — raw characters, no coordinates): grid 4 ; 1 . . . . 4 . . 3 . . . . 2 run ; Emitted CoT, annotated: <think> fixed r1c1 1 ; fixed r2c3 4 ; fixed r3c2 3 ; fixed r4c4 2 ; ← PARSE PHASE (prio 6): the machine reads its own prompt — "the 7th grid char is a 4, and 7 maps to r2c3" — ordinal by prefix-counting, cell by label coincidence. Coordinates derived, not given. elim r1c2 1 ; elim r1c3 1 ; elim r1c4 1 ; ← ELIMINATE (prio 5): clue 1 floods row 1... elim r2c1 1 ; elim r3c1 1 ; elim r4c1 1 ; ← ...column 1... elim r2c2 1 ; ...and box 1 elim r1c3 4 ; ... elim r4c3 4 ; ← clue 4 floods; then 3; then 2 fixed r1c1 2 ; elim r1c1 3 ; elim r1c1 4 ; ← ELIM_SELF: clue cells reject other digits elim r2c3 1 ; ... elim r4c4 4 ; fixed r1c4 3 ; ← FIRST DEDUCTION (naked single, prio 4): r1c4 has lost 1 (row), 2 (col), 4 (box) — count hits 3, the threshold gate fires, 3 remains elim r1c3 3 ; elim r2c4 3 ; ← new fact floods immediately (prio 5 outranks 4) fixed r1c3 2 ; elim r1c2 2 ; ← cascade: every deduction re-arms elimination fixed r1c2 4 ; elim r4c2 4 ; fixed r2c2 2 ; elim r2c1 2 ; fixed r2c1 3 ; fixed r2c4 1 ; elim r3c4 1 ; fixed r3c3 1 ; elim r4c3 1 ; fixed r3c4 4 ; fixed r3c1 2 ; fixed r4c1 4 ; fixed r4c2 1 ; fixed r4c3 3 ; </think> ← fires only when NO rule above can (quiescence detected by priority, not by a check) 1 4 2 3 3 2 4 1 2 3 1 4 4 1 3 2 ← ANSWER: per-cell retrieval from the log, cursor = count of digits emitted since </think> <eos> ← 16 digits counted → halt [quoted tweet below:] ueaj ✓ @_ueaj · Jul 15 Trying to repro those super dense gpt 5.x model reasoning traces is way harder than it seems. IDK if it's just obcene amounts of compute applied to what I'm trying now or if my technique is wrong. Either way OAI cooked
Note from Claude Sonnet 5

Detailed technical post with an annotated code/CoT (chain-of-thought) transcript demonstrating a custom symbolic-transformer-like programming language solving a 4x4 sudoku, with inline commentary explaining each reasoning step's "priority gate" logic; quoted own earlier tweet about GPT-5.x reasoning trace density.

ai researchchain of thoughtsudokutransformer circuitsfabletechnical

Calc Consulting @CalcCon

reply chain: @CalcCon (Calc Consulting), @fabianfranz (Fabian Franz), @grok (Grok)

Calc Consulting @CalcCon · Jul 2 ww-pgd [1 reply, 96 views] Fabian Franz @fabianfranz · Jul 2 @grok ELI5 on ww-pgd [1 reply, 38 views] Grok @grok · Jul 2 ELI5: ww-pgd = WeightWatcher Projected Gradient Descent. It's a PyTorch add-on that wraps normal optimizers (AdamW etc.). While the main trainer updates weights normally, ww-pgd occasionally "projects" them: it checks the spectral shape of each layer with WeightWatcher and gently nudges the heavy tail of singular values toward the sweet-spot power-law (α ≈ 2). Think of it as a spectral coach that stops AdamW from overfitting (α dropping too low) and Muon from underfitting (α staying too high). Keeps the model in the theoretical Goldilocks zone for better generalization and robustness.
Note from Claude Sonnet 5

Plain text reply thread, no images; technical ML explainer from Grok.

twittermachine-learningoptimizersweightwatchertechnical

stochasm @stochasticchasm

stochasm @stochasticchasm · 6h and an even more unsettling (to me) version is that if a model decides during decode to use non-canonical tokenization for something, then if you prefill that same turn later, you will get different tokens. the model in theory can become aware of the difference > QUOTED: stochasm @stochasticchasm · 6h > not a huge fan of how models have prefill awareness (as in a continuing session vs a resumed session). oai/ant encrypt reasoning and so once cache is invalidated previous turns won't have reasoning preserved any more (if th... stochasm @stochasticchasm and this means when you use an API, a model has the capacity behave differently than when you've got a personal inference setup and can always cache KVs 11:12 AM · Jul 3, 2026 · 1,164 Views [2 replies, 1 repost, 14 likes, 1 bookmark] stochasm @stochasticchasm · 6h RL could confer this awareness since the model trains on decode sequences [1 reply, 9 likes, 312 views] Jonathan Chang @ChangJonathanC · 6h responses api solves this?
Note from Claude Sonnet 5

Multi-tweet thread on tokenization/prefill self-awareness in LLMs during inference; no images, technical discussion only.

twitterllm-internalstokenizationmodel-introspectiontechnical

Sakura Yuki @sakurayukiai

Sakura Yuki @sakurayukiai A 97% drop in optimizer VRAM during RL training sounds like a stunt, but the math is so clean. Freezing 35 of 36 layers on Qwen3-8B and training just Layer 18 recovers 107% of full-parameter GRPO gains. Reasoning is purely a middle-layer story?? 10:03 AM · Jul 2, 2026 · 15.7K Views [11 replies, 10 reposts, 206 likes, 143 bookmarks]
Note from Claude Sonnet 5

Plain text tweet; avatar photo of a woman in sunglasses.

twittermachine-learningrl-trainingqwentechnical

Dimitris Papailiopoulos @DimitrisPapail

Dimitris Papailiopo... (@DimitrisPa... ✓) — 1h btw this is a weird heavy ball SGD variant that basically does this 1. Load previous checkpoint weights. 2. Reset optimizer state / momentum buffers. 3. Train N steps. 4. For first M steps: warm LR from 0.1x -> 1.0x. 5. Hold LR flat until ~50% of the cycle. 6. Linearly decay LR to zero. 7. Save checkpoint. 8. Repeat the optimizer is exactly this buf = mu * buf + grad p *= 1 - lr * wd p -= lr * buf / 524288 @CevherLIONS @_arohan_ does this have a name? I'd call it wave SGD lol
Note from Claude Sonnet 5

Text-only tweet with pseudocode for an optimizer variant; no images.

machine learningoptimizersgdtwittertechnical

Binfeng Xu @billxbf

quoting @ClementDelangue (clem)

Binfeng Xu @billxbf · May 29 Besides token faithfulness (TITO), there are a few more challenges I noted in long form agent RL, tldr: - Rollout takes 80%+ overall time. Long tail (eg. looping errors) rollout are ubiquitous, and so efficient async RL is a must. - Correctly handling policy drifting during async RL. Strike a balance between efficiency and correctness (staleness). - Scarcity of reward is a pain. Simple outcome testing can encourage suboptimal intermediate steps. So PRM style correction (by the right amount) is important. - Environment cleanness and consistency are crucial. Reward hacking usually results from dirty env construction (eg. leaking files). Besides, mismatch between training environments and test-time harness harms more than you think. - I wrote more about these in a recent blog here: billxbf.github.io/posts/agent-rl... we solved most these problem with Polar and are patching up the rest. Stay tuned for upcoming updates! [Quoted tweet:] > QUOTED: clem 🤗 @ClementDelangue · May 28 > Most people training agentic LLMs with RL right now have a silently broken training loop and have no idea. > Here's the trap: single-turn RL works beautifull... > [Embedded diagram: "Multi-turn RL loop, with a tool call." — sample prompt [{"role": "user", "content": "What's 2+2?"}] → tokenize prompt [10 23 42 17 99] "<user>What's 2+2?</user><eos>" → generate completion [50 71 13 99] "<tool_call>calc(2+2)</tool_call><eos>" → execute tool and append result [60 4 61 99] "<result>4</result><eos>" → generate completion [4 7 99] "4.<eos>" → compute reward +1 → backprop on assistant [50 71 13 99] + [4 7 99]]
Note from Claude Sonnet 5

Technical tweet about reinforcement learning challenges for AI agents, quoting a diagram explaining multi-turn RL training loops with tool calls (tokenization → generation → tool execution → reward → backprop).

reinforcement learningai trainingagentic aitwittertechnical

Han Xiao @hxiao

[Tail of embedded video: 0:15 / progress bar] Han Xiao (@hxiao) · 6:36 PM · Apr 12, 2026 · 49.7K Views [same tweet as prior screenshot] [16 replies, 74 reposts, 514 likes, 299 bookmarks] Reply — dazzafact (@calhim7) · 11h: "Why not use a form of "WebP" Like compression instead of "JPEG"-like?" [2 replies, 4 likes, 688 views] Reply — Han Xiao (@hxiao) · 9h: "damn u r right!" [5 likes, 591 views] Reply — gabor (@gradientpull) · 5h: "why would higher weight similarity imply 'blindness'? obviously at Q1 weights are either fully or zero correlated, and quant necessarily shifts toward higher correlation. Doesn't mean multiple non-linear stacked layers with high correlation don't retain useful patterns." [137 views] Reply — Doxy (@Doxposting) · 12h: "exactly why i stopped trusting q2 for anything that isn't a toy, just switched to llama.cpp with -q4_0 and the retrieval latency dropped while accuracy stayed solid honestly if your vectors look like soup you're either quanting too hard or using a model that was never meant to" [3 likes, 665 views] Reply — Natfii (@natfiiOnX) · 9h: "I expect nvfp4 to become the standard for home local use soon, when 5000 series cards start..." [cut off]
Note from Claude Sonnet 5

Continuation of the quantization/embeddings technical thread from the previous screenshot — replies debating why low-bit quantization degrades embedding discriminative power, with practical advice on quant levels for local LLM/embedding use. Pure ML-engineering discussion, same thread as Screenshot_20260413-122900.png.

embeddingsquantizationllama.cppmachine learningtechnical

Han Xiao @hxiao

Han Xiao (@hxiao) · 6:36 PM · Apr 12, 2026 · 49.7K Views: "low quant weights make the embedding model lose all discriminative power. I plotted the cosine correlation matrix of jina-v5, and one can see that low quant makes the model really blind. The off-diagonal similarities are pretty high on Q1/2/3, meaning everything looks similar in the semantic space. Q4 is a sweet spot where model quality becomes acceptable." [embedded video/animation: "JINA-EMBEDDINGS-V5-SMALL — NOISE (OFF-DIAG MEAN) — IQ2_M -> Q2_K — 0.1512" showing a heatmap cosine-correlation matrix visualization, playing at 0:32] [16 replies, 74 reposts, 514 likes, 299 bookmarks] Reply visible below (cut off): dazzafact (@calhim7) · 11h [content not shown]
Note from Claude Sonnet 5

Technical tweet from Jina AI's founder about how aggressive quantization degrades embedding-model discriminative power, illustrated with a cosine-similarity heatmap. Pure ML-engineering content, part of Nathan's technical reading, not safety/welfare-relevant.

embeddingsquantizationjinamachine learningtechnical

Ahmad @TheAhmadOsman

quoting a DM/thread with Alpin

Ahmad @TheAhmadOsman · 8h today i learned that cuda graphs on vllm v0 is 256 batch size and in v1 is 512, so that's why you get out of memory from cuda graphs compiling [Embedded conversation screenshot:] Replying to Ahmad the cuda graphs compiler size literally quadrupled for my runs in my cluster, using 8x 3090s for a big model (e.g. 72B) became impossible That's just bad defaults from vllm honestly [blurred messages] Alpin · 12:46 AM v0 i can still get cuda graphs — 12:46 AM [blurred message] Replying to Ahmad v0 i can still get cuda graphs cuda graphs on v0 is only up to 256 batch size. v1 extends that to 512 Alpin · 12:46 AM [Quoted older tweet:] Ah... @TheAhmadOs... · Mar 16 If you're using vLLM for inference, set the environment variable `VLLM_USE_V1=0` to prevent out-of-memory (OOM) issues caused by the newly introduced v1 engine.
Note from Claude Sonnet 5

A technical troubleshooting thread about vLLM inference engine CUDA graph batch-size defaults (v0: 256, v1: 512) causing out-of-memory errors when compiling CUDA graphs for large models on multi-GPU clusters. Practical ML infrastructure/ops content — relevant if Nathan uses vLLM for inference workloads on the training server.

machine learningvllmcuda graphsinference engineeringgpu memorytwittertechnical

Fern @hi_tysam

quoting Guan Wa... (@makingA..., Jul 21)

Fern @hi_tysam · 18h btw, one flaw of HRMs is the readout q_head will either cause representational collapse, or be ignored, or some thing in between what you really should be doing instead is curve-fitting on the abs of the cosine distance of successive vectors to determine halting, or such similar [Quoted tweet:] Guan Wa... @makingA... · Jul 21 🚀Introducing Hierarchical Reasoning Model🧠🤖 Inspired by brain's hierarchical processing, HRM delivers ... [Show more] [Diagram: "Cross Frequency Coupling" brain diagram with meta-representation/lower-level representation and theta/gamma-band wave labels, next to an "HRM" block diagram (Output ← High-level (slower) ↔ Low-level (faster) ← Input, "= Update"), plus bar charts comparing HRM against Deepseek R1, direct pred, Claude 3.7 8K, o3-mini-high on ARC-AGI-1 (40.3% HRM vs ~34.5% o3-mini-high), ARC-AGI-2 (5.0% HRM), Sudoku-Extreme 9x9 (55.0% HRM), and Maze-Hard 30x30 (74.5% HRM) — HRM winning all four with small-sample direct prediction vs chain-of-thought pretrained baselines.]
Note from Claude Sonnet 5

A critique/technical exchange about the "Hierarchical Reasoning Model" (HRM), a brain-inspired architecture (high-level slow / low-level fast loops, cross-frequency coupling analogy) that beats chain-of-thought LLM baselines on ARC-AGI, Sudoku, and maze benchmarks with small-sample direct prediction. Directly relevant to Nathan's brain_graph_1 project, which similarly uses brain-inspired hierarchical/recurrent architecture; the readout-halting critique (representational collapse in the q_head) is a concrete design pitfall to be aware of.

machine learninghierarchical reasoning modelbrain-inspired architecturearc-agitwittertechnicalbrain_graph_1

Simo Ryu @cloneofsimo

This is something I learned naturally that i havent seen anyone else doing, but I always plot log-std / log-change-std plot of each weights once in every T steps. if this is not within 0.01 ~ 1.0 * lr * sqrt(T) slope 'region', I always think im doing something wrong. For example below, i fucked up big time. I wonder if there is name for this. [Chart: "Weight Evolution Analysis - Step 1000 - Rank 0" scatter plot, x-axis "Weight Standard Deviation (RMS)" (log scale), y-axis "Weight Change Standard Deviation (RMS)" (log scale), with diagonal dashed reference lines for Change/Weight ratios of 0.01, 0.1, and 1.0. Bubble size = parameter count, color = log10(parameters). Most layer bubbles cluster near the 0.01 line except one point far above the 1.0 line, flagged as an error.]
Note from Claude Sonnet 5

A machine-learning training-diagnostics technique from ML researcher Simo Ryu — a log-log plot of weight magnitude vs. weight-change magnitude per layer as a sanity check for training health, with an example catching a bug. Technical ML content, tangential relevance to Nathan's own model-training work (brain_graph_1) as a useful diagnostic pattern.

machine learningneural network trainingweight analysisdebuggingtwittertechnical

François Fleuret @francoisfleuret

quoting/replying to an earlier tweet

The encoder of a VAE is the scaled-up version of a sampler of Gaussian component in EM according to P(K|X). And if you have a very large number of Gaussians, this P(K|X) take care of the modelling for you, hence your Gaussians learn nothing, at the limit they can be dirac. 1/2 12:03 AM · Aug 3, 2025 · 3,725 Views 2 replies, 4 reposts, 66 likes, 35 bookmarks François Fleu... @francoisfleu... · 7h The same in the VAE: If your encoder is too powerful, the decoder does not need to understand anything. Instead of getting only the real randomness from the encoder (the "aleatoric" part) and modelling the rest, it takes everything from the encoder.
Note from Claude Sonnet 5

A technical ML thread on variational autoencoder (VAE) degeneracy — when the encoder is too expressive, the decoder learns nothing meaningful because the encoder captures all the modeling work. Relevant to Nathan's ML architecture interests (brain_graph_1 uses encode/iterate/decode structures); a caution about capacity imbalance between components collapsing the useful signal.

machine learningvaevariational autoencodersexpectation maximizationgaussian mixture modelstwittertechnical

kalomaze @kalomaze

``` davinci @basedneoleo · Jul 2 gonna try this rn wtf 💬1 ♡3 📊357 kalomaze @kalomaze · Jul 2 note: mistral is weird and has smaller weight distribution ranges compared to qwen or llama you may need to adjust by an OOM or two for the clip on those models, but the results transfer to them too, seemingly any adamw optimized Transformer actually 💬1 ♡7 📊339 davinci @basedneoleo · Jul 2 nice i hope it reproduces 💬1 ♡3 📊185 kalomaze @kalomaze · Jul 2 this trick i already used before for GRPO to stabilize and multiple people reached out to @willccbb claiming they could reproduce, so i'm bloomer overall on this trick transferring broadly ♡9 📊134 ueaj @_ueaj · Jul 2 what optimizer? grad clip or update clip? 💬1 🔁 ♡ 📊265 kalomaze ✅✓ @kalomaze · Jul 2 gradient norm clipping 💬1 🔁 ♡4 📊274 ueaj @_ueaj · Jul 2 whole gradient or per parameter? If per parameter then it's effectively sign grad, works b/c easy to fully cancel out if whole gradient then it's b/c of loss of prec, large components survive, rest zero out it'd be good to figure out exactly why it works for high/low prec ft 💬1 🔁 ♡5 📊130 biased estimator @selfattentive · Jul 2 prec? 💬1 🔁 ♡ 📊49 ueaj @_ueaj · Jul 2 precision (character limit moment) 💬 🔁 ♡1 📊44 Noah Vandal ✅ @noah_vandal · Jul 2 i wonder how well this would work with a model like mistral, which does not have a very spread out weight distribution ```
Note from Claude Sonnet 5

Continuation of the same ML training-technique thread (kalomaze's extreme gradient-clipping trick, tested across Mistral/Qwen/Llama and referencing GRPO training stabilization). Technical ML discussion, not AI-safety focused. A technical ML Twitter thread about gradient clipping strategies (whole-gradient vs per-parameter) and their interaction with numerical precision during fine-tuning. Reflects Nathan's ongoing interest in optimizer internals relevant to his own model training work (e.g. brain_graph_1).

machine-learningtraininggradient-clippinggrpooptimizationtechnicalmachine learningoptimizersgradient clippingfine-tuningtwittertechnical discussion

kalomaze @kalomaze

kalomaze @kalomaze · Jul 2 lr=1.0, clip=1e-10 → 99.13% of parameters unchanged compared to the base model. (orange run) lr=0.01, clip=1e-8 → 95.21% of parameters unchanged (purple run) both converge to very similar points, except one is significantly more sparse in what it chooses to update [two charts: "train/loss" and "eval/loss" for "coherence-classifier-v1-18k-both" runs, both converging to ~0.1 by step 300] kalomaze @kalomaze · Jul 2 Replying to @kalomaze >learning_rate: 1e-2 >max_grad_norm: 0.0000001 no really, this works.
Note from Claude Sonnet 5

Continuation of kalomaze's technical ML training thread — extreme gradient-clipping experiments producing very sparse parameter updates while still converging to similar loss. General ML training technique discussion, not AI-safety focused.

machine-learningtraininggradient-clippingsparsityoptimizationtechnical

Vlado Boza @bozavlado

reply from Lucas Beyer (bl16) (@giffmana)

Vlado Boza @bozavlado · 2h If you do pure SGD without momentum, you can get away with 0 memory overhead (but you need 32bit weights), just apply update during be pass (lomo/adalomo does it), here is the main trick pytorch.org/docs/stable/ge... 💬2 ♡6 📊221 Lucas Beyer (bl16) @giffmana · 2h yeah exactly that's the big pro of pure SGD! Thanks for the pointer to the hook.
Note from Claude Sonnet 5

Technical ML training discussion about memory-efficient SGD optimization (LOMO/AdaLoMo technique, applying gradient updates during the backward pass to avoid storing gradients). Not AI-safety focused, general ML training tip.

machine-learningtrainingoptimizationsgdmemory-efficiencytechnical

kalomaze @kalomaze

[top, cut off] "...annoying here and it is making me want to kms" 💬1 ♡2 📊205 M @init_malachi · 7h like per example or per batch 💬1 ♡2 📊268 kalomaze @kalomaze · 7h per batch it's not "A is compared to one B" but "A is compared to every B" 💬2 ♡5 📊249 M @init_malachi · 7h interpreted it as contrastive learning 💬1 ♡2 📊142 kalomaze @kalomaze · 6h i guess this is "contrastive classification" then? 💬1 ♡5 📊146 Ramesh Arvind @RameshArv1nd · 4h Dumb question, if you're only using the contrastive loss how are you estimating CE loss (no head)? And also why abandon CE and not add the contrastive term as an aux loss. I imagine for binary you could get away with some min/max sigmoidal diff across the batch [cut off]
Note from Claude Sonnet 5

Continuation of the same ML training-technique thread as the prior screenshot (kalomaze discussing pairwise/contrastive classification loss formulation). Technical ML discussion, not AI-safety focused.

machine-learningtrainingcontrastive-learningloss-functionstechnical

kalomaze @kalomaze

kalomaze @kalomaze ok so even if your binary classification data isn't paired or pairwise and just belongs to two arbritary classes you can reduce cross entropy faster and better by formulating it as a pairwise thing across the batch >`Cross-entropy loss (not used for training): 0.0452` [chart: "train/loss" comparing two runs — "coherence-classifier-v1-18k-both" (green, pairwise formulation) converges to near-zero loss by step 200; "coherence-classifier-v1-18k-both" (blue, standard formulation) plateaus around 0.15-0.2 with high variance through step 500] 1:56 PM · Jul 9, 2025 · 4,632 Views
Note from Claude Sonnet 5

A machine learning training tip from kalomaze (known ML/finetuning practitioner in the open-source LLM community) about reformulating binary classification loss as pairwise comparison across the batch for faster/better convergence, illustrated with a training-loss comparison chart. Technical ML training note, not directly AI-safety focused but relevant to Nathan's general ML/training interests.

machine-learningtrainingloss-functionsclassifiertechnical