RikiyaT/lm_understand-logs
Complete logs of the experiments in the blog post 'LLMs can understand and write neural network weights'
这是什么
此仓库包含一篇名为《权重空间编程的火花:LLM能理解并编写神经网络权重》的博客文章背后所有实验的完整原始日志。该文章声称,大型语言模型(LLM)不仅能读取神经网络权重——定义训练后AI模型的数字——还能编写或编辑它们以改变网络的功能。
对于每个实验,仓库提供:
- 研究人员发送给模型的所有内容(提示),
- 模型的所有回复,包括其推理摘要,
- 模型编写的所有代码及代码产生的输出,
- 生成文章中每个数字的评估,
- 模型读取或写入的实际神经网络。
每个实验文件夹都有各自的README,说明哪个运行对应博客文章中的哪个标签或行,以及每个报告数字来自哪个文件。
八个实验
| # | 模型被要求做什么 | 详情 |
|---|---|---|
| 1 | 这个网络是在哪个视频游戏上训练的? | Breakout、Pong、Pac-Man、Freeway——开放式回答 |
| 2 | 这个扩散模型生成什么? | 圆形、方形、三角形 |
| 3 | 从中间层判断,语言模型学习了哪种语言? | Python、罗马字、英语——每个两次对话 |
| 4 | 通过编辑权重修复一个失败的网络 | 一次一次性编辑 |
| 5 | 从头编写网络 | Breakout、Seaquest、Asterix(MinAtar游戏) |
| 6 | 编写一个150万权重的围棋网络 | 0、10、25和50次传递 |
| 7 | 哪个语言模型是谄媚的(告诉你你想听的)? | 四次仅权重尝试,然后一个注意力工具 |
| 8 | 让语言模型更擅长数学 | Qwen3.5-0.8B,10/25/50次传递,外加Gemma 3 270M后续 |
仅包含文章中实际报告的运行——早期提示版本的试运行被省略。
模型如何运行
文章中称为“Astra”的模型是OpenAI的gpt-6-astra。每回合是Codex CLI的一次调用(codex exec,或codex exec resume继续对话)。推理努力按调用设置并记录:实验1、2、4为high;3、5、6、7为xhigh;8为max。
模型被刻意赋予没有自己的工具。所有内置的Codex能力,如shell、文件编辑、网络搜索、图像查看、子代理、插件,都被关闭。配置在harness/codex_config.toml中,系统指令是harness/instructions.md中的一行中性文本。
每个回合都经过审计。研究人员检查每个回合的事件流,确认只包含模型的消息、推理摘要和Codex关于代码模式已禁用的通知。结果是每个回合的run.json中的audit.tool_free字段。此版本中的所有1,125个回合均通过审计。
允许代码的地方(实验3、6、7、8):模型每回合可以编写一个Python块。该代码在研究人员自己的沙箱中运行——bubblewrap隔离、无网络、运行之间保留工作文件夹、有时间限制。打印输出作为下一条消息发送回模型。每次运行的代码和输出在tool_calls.jsonl中。
文件内容
并非每个文件都出现在每次运行中,但常见的包括:
prompt.txt/message.txt— 发送给模型的内容(第一条消息,然后是每回合的后续消息)。events.jsonl— 原始Codex事件流:模型的消息、推理摘要和令牌使用。answer.md/turn_text.md/final_answer.md— 模型在一个回合中的回复及其最终回复。explanations.md— 模型的逐步解释,当提示要求时。tool_calls.jsonl— 每次沙箱运行一行:代码、打印输出和耗时。run.json— 一个回合的记录:模型、努力、令牌、墙钟时间和审计结果。state.json— 一个对话的记录:回合、使用的运行以及是否完成。loop.log/driver.log/run.log— 框架的日志。eval/— 评分,包含答案键或真实值。networks/— 模型读取或写入的网络。
内部路径被替换为占位符(<data>、<repo>、<codex>、<codex_home>、<venvs>、<home>、<remote>),以免日志泄露研究人员的基础设施。Codex线程ID被替换为id-加8个十六进制数字;同一线程在所有文件中保持相同ID,以便一个对话的回合仍然匹配。
未包含的内容
- 实验7中的Gemma 3 270M微调(17 GB)。数据、训练脚本和哈希都在,以便重建。
- 模型工作时编写的中间文件——激活、生成文本转储、草稿网络。最终网络和权重编辑已包含;实验8的是对公共基础权重的精确差异,附有应用脚本。
- 实验3的Python语料库文本——它是其他项目的代码,因此提供清单和重建脚本。
- 实验8生成中的GPQA问题文本——保留分数和每个问题的结果。
许可证
- 日志、数据和网络:CC BY 4.0
- 研究人员的脚本:MIT
- 实验5提示中的MinAtar源代码:GPL-3.0(见
exp5_write_from_scratch/LICENSE-MinAtar) - 第三方基准数据(MATH、GSM8K、IFEval、MMLU-Pro等,在实验8中)保留其各自的许可证。
相关
- 项目
- 项目
- 项目
- 项目