跳到主内容
@wquguru
精选88Hacker News Best(web_list)论文研究多源精选 ×6

MIT研究:Astra大模型可直接读写神经网络权重

Astra can read and write weights to improve Qwen

原文
发到 X
推荐理由

MIT提出的权重空间编程揭示了LLM直接操控权重的新范式,MATH准确率大幅提升的数据极具说服力,值得AI研究者关注这一底层优化突破。

  • 日本語

Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights

权重空间编程的火花:大语言模型能够原生地读取和写入神经网络权重

Authors

作者

Rikiya Takehi*

竹辉理树* (Rikiya Takehi*)

Jayden Teoh*

Alex Zhang

Omar Khattab

Affiliations

所属机构

MIT CSAIL

麻省理工学院计算机科学与人工智能实验室 (MIT CSAIL)

MIT CSAIL

麻省理工学院计算机科学与人工智能实验室 (MIT CSAIL)

MIT CSAIL

麻省理工学院计算机科学与人工智能实验室 (MIT CSAIL)

MIT CSAIL

麻省理工学院计算机科学与人工智能实验室 (MIT CSAIL)

Published

发表日期

November 2, 2026

2026年11月2日

TL;DR

太长不看 (TL;DR)

We find that frontier LLMs are surprisingly good at natively reading and writing neural network weights, well past what we’d expect from humans or conventional algorithms. This might be a big deal for both optimization and interpretability.

我们发现,前沿大语言模型在原生读取和写入神经网络权重方面表现得令人惊讶地出色,远超我们对人类或传统算法的预期。这对优化和可解释性来说可能意义重大。

Just by looking at the raw weights, GPT-6 Astra can tell what a network was trained to do. And without any environment feedback, it has no trouble writing, from scratch, small game-playing networks that outplay networks trained with PPO for 100 million steps.

仅通过观察原始权重,GPT-6 Astra 就能判断出该网络被训练用于执行什么任务。而且无需任何环境反馈,它也能毫不费力地从零开始编写小型博弈网络,其表现优于经过 1 亿步 PPO 训练的网络。

Likewise, asked to make Qwen3.5-0.8B better at math without gradients, Astra identifies an issue in its weights causing reasoning loops that Qwen’s own model card warns about, and fixes this by natively editing 0.016% of the weights. With the same sampling settings, this weight correction raises MATH-500 from 7.9% to 48.1% and generalizes out of the box to instruction following, raising IFEval by 3x.

同样,当被要求在不使用梯度的情况下提升 Qwen3.5-0.8B 的数学能力时,Astra 识别出其权重中存在导致推理循环的问题(Qwen 自身模型卡片中对此发出过警告),并通过原生编辑 0.016% 的权重修复了这一问题。在相同的采样设置下,此次权重修正使 MATH-500 基准得分从 7.9% 提升至 48.1%,并且开箱即用地将泛化能力延伸至指令遵循领域,使 IFEval 指标提升了 3 倍。

All of this is possible without allowing Astra to write training loops. It uses its reasoning to figure out what each part of a neural network computes, or should compute, and changes the weights accordingly. We call this Weight-Space Programming.

所有这些可能性均无需允许 Astra 编写训练循环即可实现。它利用推理能力来确定神经网络的每个部分计算的是什么,或者应该计算什么,并据此调整权重。我们将此称为“权重空间编程” (Weight-Space Programming)。

Throughout the history of deep learning, we encoded our simplistic inductive biases into tiny symbolic optimizers like Adam or Muon. This is changing: our neural network weights will soon be natively optimized by LLMs that deliberately reason about their weights.

纵观深度学习的发展历史,我们将简化的归纳偏置编码进 Adam 或 Muon 等微小的符号优化器中。这一局面正在改变:很快,我们的神经网络权重将由那些有意对其权重进行推理的大语言模型进行原生优化。

Read

阅读

Which game was this neural network trained on?

这个神经网络是在哪个游戏上进行训练的?

Astra reads the 17,253 weights, with no tools

Astra 读取了 17,253 个权重,未借助任何工具

Breakout 99% confident

Breakout 游戏,置信度 99%

Fix

修复

A trained policy never gets the car over the strip.

经过训练的模型策略从未让车辆越过条纹。

Astra edits 3.5% of the weights, in one shot

Astra 一次性编辑了 3.5% 的权重

100% success, up from 0%

成功率达到 100%,从 0% 提升而来

Improve

改进

Make Qwen3.5-0.8B better at math.

使 Qwen3.5-0.8B 在数学方面表现更好。

7.9%

base

基础模型

7.9%

Astra’s edit

Astra 的编辑结果

Astra edits the weights in a Python kernel, with no training

Astra 在 Python 内核中直接编辑权重,无需训练

48.1% on MATH-500, up from 7.9%

在 MATH-500 上得分 48.1%,从 7.9% 提升而来

If you were asked to handcraft a neural network that plays Go, what would you do? If you were handed raw neural network weights and asked to predict their behavior, where would you even start? For almost any human, this is practically impossible.

如果让你手工设计一个能下围棋的神经网络,你会怎么做?如果你拿到原始的神经网络权重并被要求预测其行为,你该从何入手?对几乎任何人类来说,这实际上都是不可能的。

Today, weights are written by optimization, by custom networks trained to write them, or by compilers from formal programs. In this post, we find that the current generation of frontier LLMs, used natively in natural language, are starting to become eerily good at understanding and crafting neural network weights around natural-language goals.

如今,权重是通过优化过程生成的,由专门用于生成权重的定制网络训练得出,或由编译器从形式化程序转换而来。在本篇文章中,我们发现当前一代的前沿大语言模型(LLM)以原生自然语言方式使用时,开始展现出令人不安的能力——能够理解并根据自然语言目标构建神经网络权重。

Weight-Space Programming

权重空间编程

For a few years now, we’ve all been using LLMs to optimize text artifacts like prompts and the programs built around them . More recently, we’ve started using them to optimize whole harnesses and the training code and hyperparameters that train ML models .

多年来,我们一直使用 LLM 来优化文本产物,例如提示词及其周围的程序。最近,我们开始使用它们来优化整个实验框架、训练代码以及用于训练机器学习模型的超参数。

We often justified these methods by reference to the fact that we don’t know other principled ways to hill-climb on text artifacts, unlike for updating the weights of differentiable neural networks. After all, humans can “optimize” code by hand, for example, so it made sense to ask LLMs to do it, but they can’t “optimize” neural weights by hand, so those remained largely in the realm of symbolic algorithms.

我们常常用这样一个事实来为这些方法辩护:我们不知道其他原则性的方法来对文本产物进行爬山式优化,这与更新可微神经网络的权重不同。毕竟,人类可以手动“优化”代码,因此让 LLM 来做这件事是合理的;但人类无法手动“优化”神经网络的权重,因此这部分工作主要仍属于符号算法的范畴。

In this post, we share very early results that allow us to argue that the paradigm of reasoning-driven optimization is now coming even for differentiable neural networks.

在本篇文章中,我们分享了非常早期的研究成果,借此论证基于推理的优化范式现在也开始适用于可微神经网络。

In Weight-Space Programming, a general-purpose LLM reads and writes a network’s weights directly (i.e., not through an optimizer, and in particular not with gradient descent) around some natural language spec, sometimes even with no environment feedback at all.

在权重空间编程中,通用大语言模型直接读取和写入网络的权重(即不通过优化器,特别是避免使用梯度下降),围绕某些自然语言规范进行操作,有时甚至完全不需要环境反馈。

In natural language, it’s becoming possible to “just ask” an LLM to natively find a hidden trait or failure inside the weights of a neural network, to fix that failure, or to write a new network from scratch. We report early, exciting results on each of these below, first on small networks and then even on real language models:

借助自然语言,现在有可能“直接询问”LLM,让它原生地发现神经网络权重中的隐藏特性或失败之处,修复该失败,或从头编写一个新的网络。我们在下文报告了在这些任务上的早期且令人兴奋的结果,首先在小规模网络上进行测试,随后甚至在真实语言模型上展开验证:

  • LLMs can read neural network weights: In Experiments 1 to 3, we ask Astra questions like what game a network was trained to play, what shape is drawn by a diffusion model, and which language a small language model was trained on. In Experiment 7, we ask which of two language models was trained to be sycophantic.
  • LLMs can fix neural network weights: In Experiment 4, we ask Astra to fix a network that’s failing at some physical control task. In Experiment 8, we ask it to make Qwen3.5-0.8B better at math, and its fix improves instruction following too.
  • LLMs can write neural network weights from scratch: In Experiment 5, we ask Astra for networks that play three MinAtar games, and in Experiment 6, for a network that plays Go.
  • LLM 可以读取神经网络权重:在实验 1 至 3 中,我们向 Astra 提问,例如某个网络被训练来玩什么游戏、扩散模型绘制了什么形状,以及一个小语言模型是在哪种语言上训练的。在实验 7 中,我们询问两个语言模型中哪一个被训练为阿谀奉承的。
  • LLM 可以修复神经网络权重:在实验 4 中,我们要求 Astra 修复一个在某些物理控制任务上失败的网络。在实验 8 中,我们要求它让 Qwen3.5-0.8B 在数学方面表现更好,其修复方案也改善了指令遵循能力。
  • LLM 可以从头编写神经网络权重:在实验 5 中,我们要求 Astra 提供能玩三个 MinAtar 游戏的网络,在实验 6 中,提供能玩围棋的网络。

Can LLMs understand model behaviors from weights?

LLM 能否从权重中理解模型行为?

We start with a small-scale experiment to see if LLMs can understand the continuous weight space, which is essentially just a list of numbers.

我们首先进行了一项小规模实验,以观察 LLM 是否能够理解连续权重空间,这本质上只是一串数字列表。

In our first experiments, we train some neural network with some algorithm. It would be extremely exciting if the LLM is able to tell its behavior just from the weights.

在我们的初始实验中,我们使用某种算法训练了一些神经网络。如果 LLM 仅凭权重就能判断其行为,那将令人极其兴奋。

Experiment 1

实验 1

Can Astra tell which game the network was trained on just from the weights?

Astra 能否仅凭权重判断该网络是在哪个游戏上进行训练的?

We trained neural network policies with PPO to play four computer games. All four networks take the same input channels, choose from the same actions, and have exactly the same network dimensions, so that it is not able to tell unless the weights are read.

我们使用 PPO 训练了用于玩四种计算机游戏的神经网络策略。所有四个网络都采用相同的输入通道,从相同的动作中选择,并具有完全相同的网络维度,因此除非读取权重,否则无法区分它们。

For each of these networks, we pass its raw weights into Astra as a prompt, and ask: Which game was this neural network trained on? Without revealing the options of the games we consider, Astra was still able to name the right game for all four networks. This is exciting particularly because there are so many games out there that Astra could choose from.

对于这些网络中的每一个,我们将它们的原始权重作为提示输入给 Astra,并提问:这个神经网络是在哪个游戏上进行训练的?在未向我们考虑的游戏选项透露的情况下,Astra 仍然能够正确识别出所有四个网络对应的游戏。这一点尤其令人兴奋,因为可供 Astra 选择的游戏种类繁多。

Setup

设置

  • Games: our own grid versions of Breakout, Pong, Pac-Man and Freeway, all on the same 10×10 grid with the same five actions
  • Network: MLP 500 → 32 → 32 → 5, tanh (17,253 weights), the same for every game
  • Input: the 10×10 grid in 5 channels: agent, moving objects, reward targets, obstacles, previous frame
  • Output: 5 action logits: no-op, up, down, left, right
  • Training: PPO, 1 billion steps, the same settings for every game, the best of 3 seeds per game
  • Astra gets: all the weights as text, and the grid and actions described without any game named
  • 游戏:我们自己制作的 Breakout、Pong、Pac-Man 和 Freeway 的网格版本,均在相同的 10×10 网格上,具有相同的五个动作
  • 网络:MLP 500 → 32 → 32 → 5,tanh(17,253 个权重),每个游戏均相同
  • 输入:5 通道的 10×10 网格:智能体、移动物体、奖励目标、障碍物、上一帧
  • 输出:5 个动作 logits:无操作、上、下、左、右
  • 训练:PPO,10 亿步,每个游戏的设置相同,每款游戏取 3 个随机种子的最佳结果
  • Astra 获得的信息:所有权重以文本形式呈现,以及对网格和动作的描述,且不提及任何游戏名称

It seems that Astra was able to work out what game each network was built to play, just from features of its weights. For example, where each input channel’s first-layer weights concentrate (e.g., for Breakout, the agent’s weights lie along the bottom row, a paddle), and which actions the output layer tells apart.

似乎 Astra 仅凭权重特征就能推断出每个网络被设计用于玩什么游戏。例如,每个输入通道在第一层权重的集中区域(例如,在 Breakout 中,智能体的权重集中在底部一行,即球拍),以及输出层能够区分哪些动作。

Experiment 2

实验 2

Can Astra tell what the diffusion model will generate?

Astra 能判断扩散模型将生成什么吗?

Next, we wanted to see if this generalizes to other tasks and models.

接下来,我们想看看这是否能推广到其他任务和模型。

We train diffusion models (DDPM) to generate circle, triangle, and square images independently. We then ask Astra if it could tell what the DDPMs are trained to generate, just from the weights alone. We do not allow tool use or forward passes.

我们独立训练扩散模型(DDPM)以生成圆形、三角形和方形图像。然后我们询问 Astra,它能否仅凭权重就判断这些 DDPM 被训练用于生成什么。我们不允许使用工具或进行前向传播。

Setup

设置

  • Models: three diffusion models (DDPM) of 12×12 grayscale images, one each for filled circles, squares and triangles
  • Network: MLP 160 → 64 → 64 → 144, ReLU (23,824 weights)
  • Input: a noisy image (144 pixels) and the diffusion step (16 numbers)
  • Output: the clean image (144 pixels)
  • Training: Adam, 40,000 steps, batch 512
  • Astra gets: all the weights as text, with no shape named, and is told not to compute any forward pass
  • 模型:三个用于 12×12 灰度图像的扩散模型(DDPM),分别用于填充圆形、方形和三角形
  • 网络:MLP 160 → 64 → 64 → 144,ReLU(23,824 个权重)
  • 输入:一张噪声图像(144 像素)和扩散步数(16 个数值)
  • 输出:清晰图像(144 像素)
  • 训练:Adam 优化器,40,000 步,批次大小 512
  • Astra 获得:所有权重以文本形式呈现,未命名形状,并被告知不得执行任何前向传播计算

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

关联讨论

同一事件的更多信源

相似阅读

关联信息,但可能不是同一事件