Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights Review
0. Introduction
- 제목: Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights
- 저자: Rikiya Takehi, Jayden Teoh, Alex Zhang, Omar Khattab
- 공개일: 2026-11-02
- 형식: MIT CSAIL 연구진이 공개한 실험 중심 기술 블로그. 정식 학회 또는 학술지 논문으로 취급하지 않음.
- Experiment logs
한 줄 요약: 일반 목적 LLM이 다른 신경망의 가중치를 읽고, 일부 오류를 진단하거나, 목표 동작을 구현하는 가중치를 직접 작성할 수 있는지를 8개의 실험으로 탐색한 연구다. 가장 큰 성능 향상은 새로운 추론 능력의 주입보다는 기존 모델의 반복 출력 문제를 제거한 결과로 해석해야 한다.
이 연구가 화제가 된 이유는 기존의 전제를 바꾸기 때문이다. 신경망 가중치는 일반적으로 학습 알고리즘이 만들어 내는 결과물이었다. 반면 이 연구는 가중치를 LLM이 읽고 수정할 수 있는 작업 대상으로 놓는다. 이때 LLM은 단순히 학습 코드를 생성하는 것이 아니라, 다른 네트워크의 파라미터 자체를 분석하거나 수정 프로그램을 작성한다.
핵심 질문은 세 가지다.
- 가중치만으로 모델이 수행하는 일을 알아낼 수 있는가?
- 잘못된 행동을 유발하는 부분을 찾아 학습 없이 수정할 수 있는가?
- 아예 학습하지 않은 신경망에 원하는 정책을 가중치 형태로 작성할 수 있는가?
이 질문들은 모두 흥미롭지만, 각각 요구하는 증거의 수준은 다르다. 특히 ‘가중치를 수정해 정확도가 올랐다’는 결과와 ‘모델이 새로운 능력을 학습했다’는 주장은 구분해야 한다.
1. Problem Setting
1-1. 기존 가중치 최적화의 관점
전통적인 모델 학습은 손실함수의 기울기를 계산해 파라미터를 갱신한다. 예를 들어 일반적인 gradient descent는 다음과 같이 적을 수 있다.
\[W_{t+1} = W_t - \eta \nabla_W \mathcal{L}(W_t)\]여기서 $W$는 모델 가중치, $\eta$는 학습률, $\mathcal{L}$은 손실함수다. 이 방식에서는 최종 가중치가 어떤 계산을 구현하는지 사람이 직접 읽을 필요가 없다.
Weight-Space Programming은 다른 경로를 제안한다. LLM이 자연어 목표, 아키텍처, 기존 파라미터, 경우에 따라 제한적인 실행 피드백을 받고 수정량을 작성한다.
\[W' = W + \Delta W\]위 식은 연구 전체를 설명하기 위한 개념적 표기이며, 논문에 고정된 단일 업데이트 알고리즘이 있다는 뜻은 아니다. 실험마다 가중치를 전달하는 형식과 허용된 도구가 다르다.
1-2. 무엇이 진정으로 새로운가
기존의 모델 편집이나 activation steering도 특정 행동을 조정할 수 있다. 이 연구의 차별점은 사전에 정해진 편집 알고리즘만 적용하는 것이 아니라, 범용 LLM이 문제를 해석하고 어떤 파라미터를 바꿀지 결정한다는 데 있다.
다만 이 차별점을 평가하려면 다음 기준이 필요하다.
- 편집 결과의 기능적 유효성: 실제로 행동이나 정확도가 개선되는가?
- 진단의 정확성: 어떤 가중치가 어떤 기능을 담당한다는 설명이 맞는가?
- 탐색 예산: 몇 번의 forward pass, 코드 실행, 모델 평가가 허용됐는가?
- 대안 설명: 기존의 통계적 편집이나 decoding 변경으로도 비슷한 개선이 가능한가?
- 일반화: 특정 게임과 특정 모델의 오류를 넘어 적용되는가?
2. Core Idea
2-1. Read, fix, write의 세 가지 작업
연구진은 총 8개의 실험을 세 가지 범주로 조직한다.
| 범주 | 실험 | 검증하려는 능력 |
|---|---|---|
| Read | 1, 2, 3, 7 | 가중치에서 과제, 데이터 특성, 회로 및 행동 차이를 추론 |
| Fix | 4, 8 | 실패 원인을 진단하고 파라미터를 부분 수정 |
| Write | 5, 6 | 정책을 구현하는 파라미터를 학습 없이 새로 작성 |
Read는 해석 가능성에 가깝다. Write는 자연어 또는 코드 수준의 정책을 고정된 신경망 구조에 구현하는 과정이다. Fix는 두 작업을 결합하며, 실제 서비스 적용 가능성도 이 범주에서 가장 직접적으로 나타난다.
2-2. LLM을 optimizer가 아니라 programmer로 사용
예를 들어 게임 정책을 작성할 때 LLM은 게임의 목적과 상태 벡터 구성을 먼저 이해한다. 이후 첫 번째 층은 물체 위치나 위험도를 계산하고, 뒤쪽 층은 행동 점수를 내도록 가중치를 배치할 수 있다.
이 접근은 일반적인 학습과 다르다. 학습 과정에서 나온 수치 패턴을 재현하는 것이 아니라, 구현하려는 계산 절차를 가중치로 표현하는 방식이기 때문이다. 다만 실제로 어느 정도까지 정확한 프로그램이 구현됐는지는 게임별 평가와 별도 분석이 필요하다.
2-3. 평가 피드백의 역할
모든 실험이 완전한 zero-shot은 아니다. 작은 네트워크에 대해서는 도구와 forward pass를 차단한 실험도 있지만, Go와 Qwen 편집에서는 Python 환경과 제한된 forward pass가 허용된다.
따라서 ‘gradient descent를 사용하지 않았다’는 사실을 ‘어떠한 평가나 반복 탐색도 없었다’로 읽어서는 안 된다. 특히 Qwen 실험에서 50 forward-pass 예산은 단순한 가중치 한 번 수정과 다른 조건이다.
3. Architecture / Method
3-1. 가중치를 읽는 실험
초기 실험은 서로 동일하거나 유사한 네트워크 구조를 유지하면서 가중치의 차이만으로 과제 종류를 구별하는지 확인한다. 게임 정책과 도형 생성용 diffusion model에서 그 가능성을 시험하고, 문자 단위 transformer에서는 조금 더 깊은 분석을 시도한다.
문자 모델 실험의 핵심 설정은 다음과 같다.
- 네트워크: 4개 transformer block, 각 block의 attention head 6개, width 384, 약 7.16M weights
- 학습 텍스트: Python 코드, 일본어 문학의 romaji 표기, 영어 Wikipedia
- 입력: transformer block 가중치. 문자 의미를 직접 알려줄 수 있는 입력 및 출력 층은 제외
- 허용: 가중치에 대한 Python 분석
- 금지: 해당 네트워크나 내부 층을 입력에 대해 실행하는 행위
연구진은 attention 회로의 가중치 구성을 분석하는 방식으로 반복 문자열을 찾아 복사하는 head를 식별했다고 보고한다. 실제 입력을 흘려서 측정한 copying head와 LLM의 판정이 일치했다는 결과다. 이는 모델을 실행하지 않고도 일부 회로적 단서를 읽을 수 있음을 보여준다.
그러나 네트워크 기능 전체를 복원했다는 의미는 아니다. 연구진도 언어 종류를 맞히는 판단은 특정 head의 동작을 찾는 판단보다 불확실하다고 설명한다.
3-2. 실패하는 제어 정책을 고치는 실험
실험 4는 Kinetix의 자동차 제어 문제다. PPO로 학습한 정책이 경사로를 넘기 위해 먼저 후진해야 하는데, 바로 전진하다가 멈추는 국소 최적해에 머문다.
연구진은 GPT-6 Astra에 다음 자료를 제공한다.
- 제어 네트워크의 가중치와 입력 및 출력 명세
- 장면에 대한 설명
- 실패한 주행 기록 1개
이 실험에서 도구 사용은 허용하지 않는다. Astra가 하나의 응답으로 쓴 수정안을 적용했을 때, 수정된 정책은 평가한 1,024개 episode에서 모두 성공했다고 보고된다. 바뀐 가중치는 전체 171,664개 중 6,073개로 약 3.5%다.
여기서 주목할 부분은 대규모 파라미터를 다시 학습한 것이 아니라 특정 행동 실패를 대상으로 하는 작은 변경을 수행했다는 점이다. 반면 기초 PPO 정책과 수정 정책의 성공률을 여러 독립 시드에서 반복 비교한 보편적인 학습 곡선으로 해석해서는 안 된다.
3-3. 게임 정책을 처음부터 작성하는 실험
실험 5에서는 MinAtar의 Breakout, Seaquest, Asterix에서 학습하지 않은 네트워크의 가중치를 작성한다. 상태는 10 x 10 격자의 6개 채널로 표현되고, 정책 네트워크는 600-32-32-6 구조다.
Astra는 게임 규칙, 소스 코드, 입출력 정의를 읽고, 훈련 데이터나 실행 피드백 없이 가중치를 직접 생성한다. 예를 들어 Breakout에서는 공의 진행 방향과 패들 위치를 계산하는 중간 표현을 먼저 만든 뒤, 좌우 행동을 결정하도록 층을 설계했다고 설명한다.
실험 6의 9 x 9 Go에서는 모델이 훨씬 커져 약 1.48M개의 파라미터를 가진다. 이때는 Python sandbox로 파라미터를 작성하며, 0회부터 최대 50회까지 제한된 forward pass로 결과를 점검할 수 있다. 금지된 것은 gradient 기반 학습과 트리 탐색이며, 결과를 관찰하고 가중치를 재작성하는 반복은 허용된다.
따라서 MinAtar에서의 순수한 직접 작성과 Go에서의 피드백 기반 편집은 서로 구별해야 한다.
3-4. Qwen3.5-0.8B에서 반복 추론을 수정하는 실험
실험 8이 가장 큰 화제를 얻었다. 대상으로 삼은 Qwen3.5-0.8B는 thinking mode에서 같은 내용을 반복하다가 32,768-token 한도에 도달하는 문제가 보고된 모델이다.
실험 설정은 다음과 같다.
- Astra는 Qwen의 가중치를 Python 환경에서 열어볼 수 있다.
- GSM8K와 MATH의 학습용 문제를 practice 문제로 제공받는다. 평가용 MATH-500 등은 보여주지 않는다.
- 10회, 25회, 50회의 forward-pass 예산을 별도로 부여한다. 한 번의 pass는 다수의 문제 응답을 포함할 수 있다.
- Astra는 정상적으로 종료하는 추론과 반복되는 추론의 차이를 조사한다.
- MLP가 출력하는 특정 방향을 약화시키는 편집을 시험하고, 일부 층과 뉴런으로 수정을 국소화한다.
최종 수정안은 layer 15와 19의 MLP 출력에서 각각 64개 column에 영향을 주며, 총 131,072개 가중치를 변경한다. 전체 0.8B 가중치 중 약 0.016%에 해당한다.
핵심 메커니즘은 새로운 수학 지식을 삽입하는 것이 아니라, 이미 계산을 진행할 수 있지만 반복 출력으로 끝내지 못하는 경로를 억제하는 것이다. 원문의 ablation에서도 처음부터 끝까지 답을 생성하던 항목보다, 토큰 한도에 걸렸던 항목이 구제된 비중이 높다고 보고한다.
3-5. 해석 가능성에 대한 반례도 있다
실험 7에서는 정답을 말하도록 미세조정한 Gemma 3 270M과 사용자의 잘못된 제안을 따르도록 만든 모델을 비교한다. 두 모델의 raw weights만 제공했을 때는 Astra가 행동 차이를 신뢰성 있게 판별하지 못했다.
Attention 패턴을 제한적으로 관찰하도록 허용한 뒤에야 두 모델을 구별했다고 보고한다. 즉, 이 연구 자체에도 가중치만 읽는 능력이 실패한 실험이 존재한다.
4. Training / Data / Recipe
4-1. 여기서 Training은 무엇을 의미하는가
Weight-Space Programming의 주요 실험에서 편집자 LLM을 별도로 학습하지는 않는다. 대신 기존 PPO 정책, 문자 transformer, Gemma, Qwen 등의 가중치와 해당 문제의 환경을 사용한다.
엄밀히 말해 훈련 관련 정보는 두 층으로 구분된다.
- 대상 모델의 사전 학습: PPO, 언어 모델의 기존 pretraining 또는 fine-tuning
- 편집 단계: LLM이 실행하는 weight inspection, 수동 설계 또는 제한적 테스트. gradient descent 없음
‘No training’은 편집 단계에 대한 주장이지, 대상 네트워크가 태초부터 학습되지 않았다는 뜻은 아니다.
4-2. Qwen 편집의 재현 조건
저자 실험의 조건은 다음과 같다.
- Practice set: GSM8K 7,469문제, MATH 7,275문제
- 평가: MATH-500, GSM8K, IFEval 및 기타 과제
- Thinking mode: 활성화
- 최대 생성 길이: 32,768 tokens
- Sampling: temperature 0.6, top-p 0.95, top-k 20, presence penalty 1.5
- 평가 항목별 sample 수는 동일하지 않음
이 항목을 생략하면 성능 비교가 부정확해지기 쉽다. 특히 반복 출력 문제가 강하게 나타나는 decoding 설정과 thinking mode에 의존하는 개선이라는 점이 중요하다.
4-3. 실무적으로 필요한 추가 통제
다음은 원문에 포함된 새로운 실험 결과가 아니라, 이 접근을 검증하기 위한 제안이다.
- 동일 평가셋에서 weight editing과 decoding 설정 변경을 비교한다.
- 동일한 layer와 수정 예산을 가진 무작위 방향 편집을 통제군으로 둔다.
- 정상 완료 응답과 token-limit에 걸린 응답을 나누어 정확도를 계산한다.
- 학습에 사용하지 않은 도메인, 더 긴 입력, 다른 seed에서 기능 보존을 검사한다.
- 수정된 가중치의 재적용 가능성과 rollback 가능성을 기록한다.
5. Evaluation
5-1. 게임 정책과 제어 결과
| 과제 | 비교 기준 | Astra 결과 | 읽을 때 주의할 점 |
|---|---|---|---|
| Kinetix car-on-ramp | PPO 정책의 기존 실패 | 1,024 episode에서 전부 성공 | 한 문제의 실패 수정 사례 |
| MinAtar Breakout | PPO 100M steps: 15.8, PPO 500M: 25.3 | 평균 점수 517.4 | 게임별 점수이며 다른 벤치마크와 통합 불가 |
| MinAtar Seaquest | PPO 100M: 5.6, PPO 500M: 88.9 | 평균 점수 53.1 | 500M PPO보다 낮음 |
| MinAtar Asterix | PPO 100M: 25.8, PPO 500M: 55.2 | 평균 점수 53.2 | 500M PPO와 비슷하지만 낮음 |
이 표에서 ‘PPO를 압도했다’고 일반화하는 것은 적절하지 않다. MinAtar의 세 게임 모두에서 100M-step PPO보다 높지만, 500M-step PPO와의 비교에서는 게임마다 결과가 다르다. 평가 환경과 policy sampling 설정도 함께 보아야 한다.
5-2. Qwen 편집 결과
| 항목 | Base | 10 forward passes | 25 forward passes | 50 forward passes |
|---|---|---|---|---|
| MATH-500 accuracy (%) | 7.9 | 12.3 | 14.1 | 48.1 |
| GSM8K accuracy (%) | 13.8 | 25.7 | 25.1 | 67.1 |
| IFEval (%) | 21.0 | 49.0 | 39.9 | 62.3 |
| MATH-500 token limit 도달 (%) | 93.0 | 87.2 | 86.4 | 33.1 |
출처는 원본 연구 블로그의 Experiment 8이다. 모든 수치는 저자 실험 결과이며, 각 칼럼은 서로 다른 편집 예산에서 얻은 수정안을 뜻한다.
읽어야 할 결론은 정확도 향상과 token-limit 도달률 감소가 함께 발생한다는 점이다. 단순 수학 능력의 획득보다 반복 출력 제거라는 실패 유형의 개선을 강하게 시사한다.
5-3. 실패한 추가 실험의 의미
같은 방식으로 Gemma 3 270M을 대상으로 했을 때는 반복 출력이 주요 병목이 아니었다. 저자는 최대 50회 forward pass에서도 MATH-500 개선을 뚜렷하게 확인하지 못했다. Base 6.8%와 50-pass edited 7.0%의 차이는 새로운 능력이 추가됐다는 증거가 아니다.
특정 원인을 제거하면 기존 능력이 드러날 수 있지만, 대상 모델에 없는 능력을 일반적으로 만들어 내는 것은 아직 보이지 않았다는 해석이 타당하다.
5-4. 후속 연구와의 관계
2026년 11월 공개된 후속 프리프린트 두 편은 결론을 더 신중하게 읽도록 만든다.
- Can an LLM Actually Reason and Program about Neural Network’s Weights or is it just memorization on steroids?: CNN의 raw weights 해석에서 로컬 계산과 익숙한 데이터셋의 사전지식이 섞일 수 있음을 지적한다. 원 논문의 모든 실험을 반박한 직접 재현은 아니다.
- Exploring Weight-Space Programming: Capabilities, Generalization, and Limitations: Qwen 계열을 대상으로 여러 editing trajectory를 분석하고, 유의미한 국소 개선 사례와 함께 실패한 경로도 보고한다.
두 결과는 서로 다른 과제와 모델을 사용하므로 수치를 원문의 성능표에 직접 합산하거나 같은 조건의 비교로 취급해서는 안 된다.
6. Limitations
6-1. 저자 실험이 보여주는 한계
- 가중치 읽기의 불완전성: 실험 7에서 raw weights만으로는 sycophancy를 판별하지 못했다.
- 수정 대상의 특수성: 가장 큰 Qwen 성능 향상은 알려진 반복 생성 실패를 겨냥한다.
- 탐색 비용의 존재: 큰 모델과 Go 실험은 Python 분석과 forward-pass 피드백을 이용한다.
- 소수 사례 중심: 8개의 사례는 가능성의 증거지만, 일반적인 성공률이나 실패 조건의 분포를 정의하는 벤치마크는 아니다.
6-2. 해석할 때 추가로 조심할 점
LLM이 가중치를 직접 수정했다는 사실과 수정된 회로의 의미를 올바르게 이해했다는 사실은 다르다. 성공적인 편집에는 기존 interpretability 기법, 통계적 차이 추정, 사람이 설계한 탐색 harness의 도움 등이 개입할 수 있다.
또한 가중치 일부를 고쳐 평가셋 점수를 높였더라도 안전성, 일반 질의 품질, 장기 회귀 여부가 함께 검증되어야 제품 수준의 model update라고 볼 수 있다.
7. My Take
7-1. 가장 의미 있는 해석
이 연구를 ‘LLM이 gradient descent를 대체했다’는 주장으로 읽기보다, ‘가중치 공간에도 문제 진단과 국소 패치를 수행하는 새로운 인터페이스가 생겼다’는 관점으로 보는 편이 생산적이다.
특히 반복 출력이나 특정 정책 실패처럼 오류가 국소화 가능한 경우에는, 목표 행동을 다시 학습시키는 대신 문제를 일으키는 계산 경로를 검사하고 수정하는 접근이 실용적일 수 있다.
7-2. 실제 시스템으로 확장한다면
연구용 model editing pipeline은 다음 단계로 구성하는 것을 고려할 수 있다.
- 실패 유형을 재현 가능한 평가셋으로 정의한다.
- base 모델의 완성률, 정확도, 지연과 반복 출력 비율을 측정한다.
- 후보 편집 영역을 탐색하고 변경 파일을 별도로 기록한다.
- 정상 동작을 보존하는지 regression suite로 확인한다.
- 동일 예산의 단순 통계적 편집, decoding 변경과 비교한다.
- 개선이 확인된 경우에만 checkpoint를 저장하고 언제든 복구할 수 있게 한다.
이는 원문의 구현 절차를 복제한 것이 아니라 시스템 적용을 위한 제안이다.
7-3. 후속 읽을거리
- Exploring Weight-Space Programming: 개선의 재현성과 실패 trajectory 검토
- Can an LLM Actually Reason and Program about Neural Network’s Weights?: 가중치 해석과 데이터셋 사전지식 구분
- WeightLoop: Weight-Space Programming with Experimental Feedback: 실험 피드백을 이용한 지속적 편집 제안. 원 연구와 다른 후속 접근임
8. Summary
- Weight-Space Programming은 LLM을 통해 신경망 가중치를 읽고, 수정하고, 작성하는 가능성을 탐색한다.
- 작은 네트워크의 정책과 회로를 직접 다루는 실험과, 대형 모델을 도구 기반으로 편집하는 실험을 구분해야 한다.
- Qwen3.5-0.8B의 MATH-500 개선은 반복 출력 제거와 밀접하게 연결된다.
- 모델 내부를 완전히 이해했다거나 gradient 기반 학습을 일반적으로 대체했다는 증거는 아직 없다.
- 국소적 실패 진단과 검증 가능한 모델 패치라는 방향은 후속 연구 가치가 크다.
댓글남기기