返回资讯中心
外部精选
软件工程
#开发者实时流

Astra 展示 LLM 直接读写神经网络权重的能力

来源标题:Astra can read and write weights to improve Qwen

研究显示,当前前沿大模型在自然语言目标下已能理解并编写神经网络权重。Astra 通过让 LLM 直接读写权重来改进 Qwen,打破了过去权重视为不可手工优化的惯例。这一方法可望替代依赖梯度优化的传统权重生成方式。

Hacker News 最新dbreunig2026/11/2 · 2 天前14 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

如果让你手工打造一个会下围棋的神经网络,你会怎么做?如果直接给你一组原始的神经网络权重,让你预测它的行为,你该从哪里下手?对几乎任何人来说,这都近乎不可能。

如今,权重的产生方式有三种:通过优化得到、由专门训练来写出权重的定制网络生成,或者由编译器从形式化程序编译而来。在这篇文章中,我们发现,当前这一代前沿 LLM 在原生使用自然语言的情况下,正开始在理解和构造面向自然语言目标的神经网络权重方面变得出奇地擅长。

几年来,我们一直在用 LLM 优化提示词以及围绕提示词构建的程序这类文本产物。最近,我们又进一步用它们来优化整套 harness,以及训练 ML 模型的训练代码和超参数。

我们常常为这些方法辩护,理由是:对于文本产物,我们并不知道其他有原则的爬山方法——这一点与更新可微神经网络的权重不同。毕竟,人类可以手工“优化”代码,所以让 LLM 来做这件事是合理的;但人类无法手工“优化”神经权重,因此这部分一直主要停留在符号算法的领域。

在这篇文章中,我们分享一些非常早期的结果,让我们有理由认为:推理驱动的优化这一范式,如今也正在降临到可微神经网络上。

在 Weight-Space Programming 中,一个通用 LLM 围绕某种自然语言规范,直接读写网络的权重(即不通过优化器,尤其不通过梯度下降),有时甚至完全没有环境反馈。

用自然语言“直接让”LLM 原生地在神经网络权重中找到某个隐藏特征或故障、修复该故障,或者从零写出一个新网络,正在成为可能。下面我们报告在这几方面取得的早期且令人兴奋的结果,先从小型网络开始,然后扩展到真实的语言模型:

我们首先做一个小规模实验,看看 LLM 能否理解连续的权重空间——它本质上就是一串数字。

在最初的实验中,我们用某种算法训练一些神经网络。如果 LLM 仅凭权重就能说出它的行为,那将非常令人兴奋。

我们用 PPO 训练神经网络策略来玩四款电脑游戏。这四个网络接收相同的输入通道、从相同的动作中选择,并且网络维度完全相同,因此除非读取权重,否则无法区分它们。

对于每个网络,我们将其原始权重作为 prompt 传给 Astra,并问:这个神经网络是在哪款游戏上训练的?即使没有告知候选游戏有哪些,Astra 仍然能为全部四个网络说出正确的游戏。这尤其令人兴奋,因为世界上有那么多游戏,Astra 本可能从中选择。

看起来,Astra 仅凭权重的特征就能推断出每个网络是为了玩哪款游戏而构建的。例如,每个输入通道的第一层权重集中在哪里(比如对 Breakout 来说,智能体的权重沿底行分布,也就是挡板),以及输出层能区分哪些动作。

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

我们训练扩散模型(DDPM)分别生成圆形、三角形和正方形的图像。然后我们问 Astra,它能否仅凭权重就判断这些 DDPM 被训练来生成什么。我们不允许使用工具,也不允许前向传播。

Astra 仅凭权重就能判断每个模型生成什么。它在输出层中找到了形状——每个隐藏单元的权重绘制出形状边缘的一小段,而它只绘制这些边缘。有趣的是,它把每个形状都画成轮廓,忽略了实际模型生成的是实心形状。这个错误某种程度上说明,它并不依赖计算前向传播,而是真的在读取权重的结构/几何。

现在,在上面两个实验中,Astra 并没有真正查看整个网络,只读取第一层或最后一层就能蒙混过关。对于更大的模型(尤其是语言模型)以及我们真正关心的问题来说,这不是一种可扩展的策略,因为它们处理和思考输入的过程往往发生在中间层。所以接下来,我们去掉第一层和最后一层,只把中间层留给 Astra。

我们训练三个小型语言模型(7.2M 参数)来预测下一个字符,分别基于 Python 代码、用字母(罗马字)书写的日语,以及英语。然后我们移除输入层和输出层,只把中间的四层 transformer block 交给 Astra。没有这两层,权重中没有任何信息说明哪个字符对应哪个,模型也无法在任何文本上运行。Astra 可以用 Python 分析权重,但不能在任何输入上运行网络或其任何层。

我们问:这个网络是在哪种语言上训练的,以及它的 24 个注意力头各自在做什么。Astra 在两次尝试中都为全部三个网络说出了正确的语言。它还找出了每一个复制头(induction head)——即让模型重复先前见过的文本的注意力头——并且没有把其他任何头误判为复制头。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →