학습된 AI에서 결함이 발견되었을 때, 일반적으로는 데이터나 학습 방법을 검토하여 추가 학습을 진행합니다. 그런데 2026년 11월, 대규모 언어 모델(LLM)에 모델 내부의 수치를 조사하게 하고 그 일부를 수정함으로써, 같은 문장을 반복하여 답변하는 문제를 개선했다는 보고서가 공개되었습니다. 모델을 학습시키는 코드를 생성할 뿐만 아니라, 학습을 통해 얻어진 '가중치(weight)' 자체에도 LLM이 직접 손을 댄 것입니다. Sparks of Weight-Space Programming
이 보고서는 오랫동안 이어져 온 'AI 개발 자동화' 연구의 새로운 도달점으로 간주됩니다. 네트워크 구조를 찾는 연구, 데이터를 전달하면 예측 모델을 만들어주는 AutoML 제품 등이 있었고, 그 다음 단계에는 코드를 작성하고 실험 결과를 읽어 다음 안을 시도하는 LLM 에이전트가 있습니다.
본 기사에서 전하고자 하는 바는, AI의 역할이 후보를 선택하는 것에서, 실험을 진행하고, 학습 메커니즘을 설계하며, 모델 내부를 수정하는 것으로 확장되고 있다는 점입니다. 각 단계에서 무엇이 가능해지고, 무엇을 확인해야 하는지를 연구와 제품 양면에서 살펴보겠습니다.
※본 기사는 2026년 11월 4일까지 공개된 논문, 기술 보고서, 공식 제품 자료를 기반으로 합니다. 소개하는 성능 수치는 각 자료의 보고값이며, 필자가 모델을 재학습하여 추시한 값이 아닙니다.
예를 들어, 과거 판매 데이터로부터 다음 달 매출을 예측하는 모델을 만든다고 가정해 보겠습니다. 목적이 정해져 있어도 개발자가 선택할 것은 매우 많습니다. 어떤 데이터를 사용할지, 결측된 값을 어떻게 처리할지, 어떤 모델을 사용할지, 어느 정도까지 학습시킬지, 어떤 지표로 좋고 나쁨을 판단할지 등이 그것입니다.
신경망(Neural Network)을 사용한다면, 그 구조도 선택해야 합니다. 몇 개의 층으로 할지, 각 층을 얼마나 크게 할지, 층과 층 사이를 어떻게 연결할지에 따라 표현 가능한 계산이나 필요한 메모리가 달라집니다. 이 구조를 '아키텍처(Architecture)'라고 부릅니다.
구조가 결정된 후에는 가중치를 학습합니다. 가중치는 입력된 정보를 어떻게 조합하여 다음 층으로 전달할지를 결정하는 수치입니다. 일반적인 학습에서는 예측의 오차를 측정하고, 그 오차가 작아지는 방향으로 가중치를 조금씩 업데이트합니다.
이 두 가지를 분리하면 자동화의 차이가 명확해집니다. 네트워크 형태를 선택하는 것과, 그 안의 수치를 결정하는 것은 관련되어 있지만 별개의 작업입니다.
| 개발에서 결정할 것 | 자동화 예시 | 본 기사의 대표 사례 |
|---|
| 어떤 데이터나 특징을 사용할지 | 전처리, 특징량 생성, 학습 데이터 생성 | auto-sklearn, Self-Instruct |
| ... | | |
'AI로 AI를 만든다'는 말은 이 표의 서로 다른 작업들을 통틀어 지칭합니다. 어디를 AI에 맡겼는지 확인하는 것만으로도 연구의 참신함과 실용적인 의미를 파악하기 쉬워집니다.
먼저, 각 기술이 담당하는 범위를 나열해 보겠습니다. 이들은 병용할 수 있습니다. 예를 들어, LLM 에이전트가 AutoML을 호출하고 그 결과를 분석하는 구성도 생각해 볼 수 있습니다.
| 기술 | 주로 선택하거나 만드는 것 | 개선을 확인하는 방법 |
|---|
| NAS | 신경망의 구조 | 후보를 학습시키고 검증용 데이터로 비교 |
| ... | | |
이들은 여러 연구 계통에서 발전해 왔으며, 아래에서는 자동화 대상별로 정리하여 살펴보겠습니다.
네트워크 구조의 자동 설계를 대표하는 연구가 Neural Architecture Search, 약칭 NAS입니다.
2016년에 공개되어 국제 학회 ICLR 2017에서 발표된 Zoph와 Le의 연구에서는, 한 신경망이 다른 네트워크의 구조를 제안합니다. 제안된 모델을 실제로 학습시키고, 가중치 학습에는 사용하지 않는 검증용 데이터로 성능을 측정하며, 그 성적을 이용해 구조를 제안하는 쪽도 개선해 나갑니다. 강화학습(RL)을 활용한 NAS 원논문
학습 메커니즘으로 사용된 것이 바로 강화학습입니다. 여기서 보상(Reward)은 제안된 모델의 성능에 해당합니다. 좋은 모델로 이어지는 구조를 점차 쉽게 제안할 수 있도록 만드는 것입니다.
이 메커니즘은 다음과 같은 반복 과정으로 이해할 수 있습니다.
그림 1: 강화학습형 NAS에서, 구조의 제안과 가중치 학습. 후보 모델의 가중치를 학습하는 처리와 다음 구조를 제안하는 쪽의 업데이트는 별개의 처리입니다.
네트워크 자동 설계에는 더욱 이전부터 축적된 역사도 있습니다. 2002년 NEAT 등, 후보의 변이(Mutation)와 선택을 반복하는 진화 계산(Evolutionary Computation)에 의해 구조와 가중치를 변화시키는 연구가 선행했습니다. 2010년대의 NAS는 딥러닝의 주요 과제였던, 인간이 설계한 구조와 경쟁할 수 있는 규모로 나아간 점에 의의가 있습니다. NEAT 원논문
NAS의 어려움은 구조 후보를 평가하기 위해 모델을 학습시켜야 한다는 점입니다. 후보가 많아질수록 계산 비용도 기하급수적으로 늘어납니다.
이에 NASNet은 작은 데이터셋에서 반복적으로 사용할 수 있는 구성 요소를 찾아내고, 이를 쌓아 올려 큰 문제에 응용했습니다. ENAS는 여러 후보 간에 가중치를 공유함으로써, 각 모델을 처음부터 학습시키는 비용을 줄였습니다. (NASNet, ENAS)
DARTS는 구조를 선택하는 문제를 연속적인 수치 조정으로 근사했습니다. 여러 연산을 혼합한 상태에서 각각의 사용 정도를 학습하고 최종적으로 구조를 결정합니다. 오차를 줄이는 방향을 계산하여 수치를 조정하는 경사법(Gradient Descent)을 가중치 학습에 더해, 구조 탐색에도 적용하기 쉽게 만들었습니다. (DARTS)
| 기법 | 계산 비용 절감 방식 | 최종 모델에서 검증할 사항 |
|---|
| NASNet | 작은 문제에서 찾은 구성 요소를 큰 문제로 전용 | 데이터나 모델 규모가 바뀌어도 유효한지 추적 |
| ... | | |
다만, 탐색 속도를 높이기 위한 근사에는 확인해야 할 점들이 있습니다. 가중치를 공유했을 때 좋았던 후보라도, 그 구조만을 독립적으로 재학습한다고 해서 반드시 좋은 결과를 보장하는 것은 아닙니다. 따라서 탐색 중의 성능과 최종적으로 사용할 모델의 성능을 분리하여 평가할 필요가 있습니다. (NAS 연구 평가에 관한 지침)
모델을 스마트폰에서 사용한다면, 정확도 외에도 응답 시간이나 메모리 사용량이 중요합니다. 계산 복잡도의 지표가 비슷하더라도 실제 기기에서는 같은 속도가 나오지 않을 수 있습니다.
MnasNet은 기기 상에서 측정한 지연 시간을 탐색 과정에 통합했습니다. EfficientNet은 탐색된 기준 모델을 대상으로 깊이(depth), 너비(width), 입력 이미지 해상도를 균형 있게 확장하는 방법을 제시했습니다. (MnasNet, EfficientNet)
이러한 연구들은 구조적 참신성뿐만 아니라, 제한된 자원으로 필요한 성능을 충족시키는 것 또한 중요하게 다룹니다. 이러한 관점은 연구 성과를 제품화하는 단계와도 연결됩니다.
NAS와 병행하여 발전해 온 분야가 바로 기계 학습의 개발 과정을 자동화하는 AutoML입니다.
2013년에 발표된 Auto-WEKA는 학습 알고리즘 선택과 그 설정 조정(Hyperparameter Tuning)을 통합적으로 다루었습니다. 2015년의 auto-sklearn은 전처리 과정이나 모델 탐색에 과거 데이터셋에서 얻은 경험적 지식 및 여러 모델을 결합하는 방법을 도입했습니다. 이들 모두 대표적인 강화학습 기반 NAS보다 앞선 연구입니다. (Auto-WEKA, auto-sklearn)
이러한 역사로 볼 때, AutoML은 NAS만을 기원으로 하는 기술이 아닙니다. 모델 선택, 설정 최적화(Hyperparameter Optimization), 특징 처리(Feature Processing), 구조 탐색 등 여러 연구 분야가 합류해 온 영역입니다.
예를 들어 매출 예측의 경우, 신경망을 복잡하게 만드는 것보다 결정 트리(Decision Tree)를 사용하는 모델이나 여러 예측 결과를 조합하는 방식이 더 좋을 수 있습니다. AutoGluon-Tabular는 이러한 다중 모델 결합을 중시한 AutoML의 대표적인 예입니다. (AutoGluon-Tabular 원논문)
이러한 탐색의 기본 형태는 검증 시 오차가 가장 작아지는 설정을 선택하는 문제로 나타낼 수 있습니다. 여기서는 성능을 손실(Loss)의 크기로 비교한다고 가정합니다.
\lambda^* = \operatorname*{arg\min}_{\lambda \in \Lambda} L_{\mathrm{val}}\!(\operatorname{Train}(D_{\mathrm{train}};\lambda))\n```
$\lambda$는 전처리/모델/학습률 등의 설정 조합이며, $\Lambda$는 그 후보 전체를 의미합니다. $\operatorname{Train}$은 학습 데이터 $D_{\mathrm{train}}$으로 모델을 학습시키는 과정이고, $L_{\mathrm{val}}$은 학습 후의 모델을 검증 데이터로 평가한 손실(Loss)입니다. $\lambda^*$는 이 손실을 최소화하는 설정값입니다. 수식의 의미는 **'설정을 선택한다 → 학습시킨다 → 다른 데이터로 점수를 매긴다'**를 반복하는 것입니다. 실제로는 예산이 제한되어 있기 때문에, 모든 후보를 다 조사하기보다는 유망한 설정을 찾아냅니다.
2018년에 발표된 Google Cloud AutoML은 기계 학습 전문 지식이 부족한 기업에게도 자체 데이터에 맞는 모델 개발을 제공하는 것을 목표로 했습니다. (Google Cloud AutoML 발표)
사용자 입장에서 중요한 것은, 데이터를 가져와 시간 및 비용의 상한선을 지정하고, 후보들의 성능을 비교하며, 선택된 모델을 애플리케이션에서 사용할 수 있는 상태까지 이르는 일련의 작업 과정을 진행할 수 있다는 점입니다.
현재 출시된 제품이나 라이브러리들 역시 이러한 개발 과정 전반을 다양한 범위에서 지원하고 있습니다.
제품・라이브러리 | 주로 지원하는 기능
---|---
Google Cloud의 AutoML | 이미지 및 표 형식 데이터를 사용하는 모델의 학습과 활용 공식 자료
...
AWS Autopilot에서는 모델을 만든 처리 과정을 확인할 수 있는 노트북도 생성할 수 있습니다. 자동화된 부분을 전문가가 이해하고 필요에 따라 손댈 수 있다는 점 역시 실용적인 가치입니다. Autopilot 설계를 설명한 논문
연구에서는 정확도의 향상이 주목받기 쉽지만, 제품에서는 실패하더라도 작업을 계속할 수 있는 것, 동일한 처리를 재실행할 수 있는 것, 운용처로 가져갈 수 있는 것이 필수적입니다. AutoML의 제품화는 자동 탐색을 개발 도구로 사용할 수 있는 형태로 정비하는 과정이었습니다.
기존의 탐색 방식에서는 인간이 준비한 후보나 설정 범위 내에서 좋은 조합을 찾는 방법이 널리 사용되어 왔습니다. LLM은 여기에 코드 생성 및 수정 능력을 가져옵니다.
예를 들어, “층의 수를 늘린다”는 설정 변경 외에도, 층들 간의 연결 방식을 바꾸거나 새로운 연산을 코드로 결합할 수 있습니다. 또한, 실행 오류나 학습 로그를 읽고 다음에 시도해 볼 변경 사항을 고안할 수 있습니다.
GENIUS는 GPT-4에게 구조와 성능을 보여주면서 다음 후보를 제안하게 했습니다. LLMatic은 네트워크를 정의하는 코드를 LLM으로 수정하고, 성능과 후보의 다양성을 고려하는 탐색과 결합합니다. GENIUS, LLMatic
코드와 로그를 다룰 수 있게 되면서, “메모리 부족을 해소한다”, “학습이 불안정해지는 원인을 조사한다”와 같은 요구사항도 구체적인 변경으로 연결될 수 있습니다. 탐색의 대상이 구조 선택에서 개발 중인 문제에 대한 대처로까지 확장되는 것입니다.
물론, 코드로 작성할 수 있는 것과 학습하여 성능이 올라가는 것은 별개입니다. LLM이 다룰 수 있는 범위가 넓어진 만큼, 실행해 확인하는 과정의 중요성도 커지고 있습니다.
이러한 능력을 모델 개발의 일련 작업에 통합하는 연구도 진행되고 있습니다.
MLZero는 이미지나 문장 등 여러 종류를 포함하는 멀티모달 데이터 이해부터 코드 생성, 실행, 수정까지 다룹니다. 구현은 AutoGluon Assistant로 공개되어 있으며, LLM이 기존 머신러닝 도구를 사용하는 구성의 구체적인 예시가 됩니다. 다만, 공식적으로는 연구용 코드로 위치 지어지고 있습니다. MLZero 논문, AutoGluon Assistant
2026년의 autoresearch는 이 개념을 간결한 형태로 보여줍니다. 에이전트가 소형 LLM의 학습 코드를 변경하고, 한 번 5분간 학습을 진행하며, 성능이 좋으면 변경 사항을 남기고 그렇지 않으면 되돌려 다음 안을 시도합니다. 인간은 `program.md`에 연구 방침을 기술합니다. autoresearch 공식 리포지토리
이러한 실험 루프에서는 LLM 에이전트와 학습 프로그램이 서로 다른 역할을 담당합니다.
**그림 2: LLM 에이전트에 의한 실험 진행.** 이 구성에서는, 가중치(weight)의 학습은 실행처 프로그램이 맡고, LLM은 그 프로그램과 실험의 진행 방식을 변경합니다.
한 번의 시간을 고정하면, 단순히 오래 학습했기 때문에 좋아졌는지, 아니면 동일한 시간을 효율적으로 사용할 수 있게 되었는지를 비교하기 쉽습니다. 하지만 짧은 학습으로 좋은 변경 사항이 장시간 학습에서도 좋다고 할 수는 없습니다. 작은 실험 결과를 대규모 개발로 연결하는 검증은 계속 필요합니다.
더 큰 실험 루프의 예시가 ASI-Arch입니다. 입력 내 정보를 참조하는 계산을 효율화하는 “선형 어텐션(Linear Attention)” 구조를 개발합니다. 2026년 10월 개정판에서는 1,773회의 실험을 진행했으며, GPU 가동 시간을 합쳐 약 2만 시간에 달하는 탐색이 보고되었습니다. 가설을 코드로 만들고, 학습 결과를 분석하며, 그 경험으로부터 다음을 생각하는 과정을 길게 지속한 것이 특징입니다. ASI-Arch 개정판
또한, Google DeepMind의 AlphaEvolve는 LLM에 의한 코드 생성과 후보 선택을 결합하여 알고리즘을 탐색합니다. 학습 처리 효율화 등에 활용이 보고되었으며, 2026년 7월에는 Google Cloud에서 일반 제공도 발표되었습니다. AlphaEvolve 논문, 일반 제공 발표
학습 처리가 빨라지면 같은 예산으로 더 많은 실험을 할 수 있습니다. 이처럼 AI로 AI를 만드는 노력은 모델 자체의 설계뿐만 아니라, 개발에 사용되는 계산이나 작업의 효율화까지 확장되고 있습니다.
모델의 성능은 구조만으로는 결정되지 않습니다. 학습 중에 무엇을 좋은 결과로 간주하고 어떻게 가중치를 변경하느냐에 따라서도 달라집니다.
그 중심에 있는 것이 바로 손실 함수(Loss Function)입니다. 손실 함수는 모델의 출력이 바람직한 결과와 얼마나 떨어져 있는지를 수치화하는 것입니다. 이른바, 학습의 채점 방식에 해당합니다.
DiscoPOP 연구에서는 LLM이 답변의 선호도를 학습시키기 위한 손실 함수를 제안하고, 이를 구현하며, 그 함수로 훈련한 결과를 보고 개선합니다. 다른 모델의 학습에도 사용할 수 있는 새로운 학습 방법을 만드는 것이 이 연구의 목표입니다. (DiscoPOP 논문)
학습 방법을 자동으로 설계하려는 시도는 LLM을 사용하지 않는 방법으로도 진행되어 왔습니다. 예를 들어 Lion은 가중치 업데이트 방식을 프로그램으로서 탐색하여 얻어진 최적화기입니다. 최적화기란 가중치의 업데이트를 담당하는 알고리즘을 의미합니다. LLM을 이용한 방식은 이 흐름에 기존 지식이나 실험 설명을 활용하는 새로운 제안 수단을 더하고 있습니다. (Lion 논문)
역할을 구분하기 위해 기본적인 경사 하강법(gradient descent)에 의한 업데이트를 식으로 나타내면 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
\theta_{t+1} = \theta_t - \eta_t\nabla_{\theta}L(\theta_t)
여기서 $\theta_t$는 시점 $t$의 가중치, $L$은 손실 함수(loss function), $\nabla_{\theta}L$은 손실이 증가하는 방향을 나타내는 기울기(gradient), $\eta_t$는 업데이트의 크기를 결정하는 학습률(learning rate)입니다. 손실을 줄이는 방향으로, 학습률로 정해진 크기만큼 가중치를 움직입니다. **손실 함수의 설계는 '무엇을 작게 할 것인가'에 해당하며, 최적화기의 설계는 '어떻게 가중치를 움직일 것인가'에 해당합니다.** Lion과 같은 업데이트 규칙은 이 단순한 식과는 다르지만, 이러한 구분은 공통적입니다.
실험이 끝난 후 다음 설정을 생각하는 것을 넘어, 한 번의 학습이 진행되는 도중에 개입하는 방법도 등장하고 있습니다.
2026년 10월에 발표된 Reactive Optimizers라는 기술 보고서에서는 LLM이 학습 중인 상태를 관측하여 가중치 업데이트 규칙을 코드로 다시 작성합니다. 학습이 불안정해졌거나, 개선이 멈췄을 때 그 자리에서 대응하는 메커니즘입니다. (Reactive Optimizers)
예를 들어, 보통은 개발자가 로그를 보고 '이 부분의 학습률을 바꿔야겠다'고 판단하던 작업을 에이전트가 담당합니다. 인간이 처음에 정한 절차를 끝까지 수행할 뿐만 아니라, 학습 상황에 맞춰 그 절차 자체를 변경하는 것입니다.
여기서는 대상 모델의 기울기 계산은 계속 사용됩니다. LLM이 최적화기의 움직임을 생각하고, 실제 가중치 업데이트는 수치 계산으로 진행합니다. 이는 LLM의 추론(inference)과 기존 학습 알고리즘을 결합하는 역할 분담입니다.
다만, 이 보고서에는 단 한 번만 실행한 실험도 많이 포함되어 있습니다. 서로 다른 초기값에서의 재현성이나, 대규모 분산 학습에 대한 대응 등 실용화에 필요한 확인은 남아있습니다. (해당 보고서의 실용성과 한계 설명)
AI가 만들 대상은 구조나 학습 코드에만 국한되지 않습니다. 학습에 사용하는 교재도 만들 수 있습니다.
지식 증류(Knowledge Distillation)에서는, 선생님 역할을 하는 모델의 출력을 사용하여 학생 역할을 하는 모델을 학습시킵니다. 큰 모델이나 여러 모델의 예측으로부터 운영하기 쉬운 모델을 육성하는 방법입니다. (지식 증류 대표 논문)
Self-Instruct에서는, LLM에게 지침과 답변 예시를 생성하게 한 후, 사용할 수 없는 예나 유사한 예는 제외하고 추가 학습에 이용합니다. 어떤 문제를 내고 무엇을 정답으로 가르칠 것인지 하는 작업에도 AI가 참여하는 것입니다. (Self-Instruct)
다만, 교재를 대량으로 생성할 수 있다는 것과 좋은 교재를 만들 수 있는 것은 다릅니다. 선생님의 오류가 섞여 있지는 않은지, 유사한 문제에 치우치지는 않았는지, 실제로 학습시키고 싶은 능력과 연결되는지를 확인할 필요가 있습니다. 자동화하는 대상이 바뀌어도, 좋은 성과를 고르는 평가 과정은 필수적입니다.
지금까지 언급된 많은 방법들에서는 AI가 구조나 교재, 학습 방법을 생각하고, 그 이후의 훈련에서 가중치가 결정되었습니다. 서두에 소개한 Weight-Space Programming은 범용 LLM이 그 자체의 가중치를 읽고 쓸 수 있다는 보고서입니다.
가중치를 생성하거나 직접 변경하는 것 자체는 이전부터 연구되어 왔습니다. 2016년에 공개된 HyperNetworks는 한 네트워크에서 다른 네트워크의 가중치를 생성합니다. ROME은 모델의 특정 사실에 대한 출력을 바꾸기 위해 내부의 가중치를 편집합니다. (HyperNetworks, ROME)
기존 모델을 결합하는 방법도 있습니다. Sakana AI의 진화적 모델 병합(evolutionary model merging)에서는 서로 다른 강점을 가진 모델들의 가중치나 실행 경로를 탐색을 통해 조합합니다. 일본어 처리와 수학 등 여러 능력을 활용하려는 시도가 보고되었습니다. (진화적 모델 병합 관련 논문)
이러한 축적 위에서 Weight-Space Programming은 **가중치의 읽기/쓰기에만 특화되어 훈련된 모델이 아니라, 범용 LLM의 추론을 사용하여 목적에 맞는 변경을 생각할 수 있는 가능성**을 보여주었습니다.
Takehi 씨 등의 보고서에는 가중치(Weight)로부터 모델의 특성을 읽어내는 실험, 기존 모델을 수정하는 실험, 그리고 새로운 가중치를 만드는 실험이 포함되어 있습니다. 이는 Weight-Space Programming의 초기 보고서입니다.
**모델을 읽는 실험 (Reading Experiments)**
읽기 실험에서는 Python 코드, 로마자 일본어, 영어로 각각 학습한 소형 언어 모델(Small Language Model)을 준비했습니다. LLM에는 입력층과 출력층을 통과시키지 않고, 중간층의 가중치만을 Python으로 분석합니다. 이 과정에서 모델에 입력을 넣어 작동시키는 것은 금지된 조건이었음에도 불구하고, 학습된 문장 유형을 식별할 수 있었다고 보고했습니다. (언어 모델 읽기 실험)
**모델을 수정하는 실험 (Modification Experiments)**
수정 실험에는 언덕을 오르지 못하고 멈추는 자동차 제어 모델이 사용되었습니다. LLM에게 가중치, 환경 설명, 그리고 실패한 움직임 기록을 제공합니다. 이를 통해 출발 가속 동작으로 이어지는 가중치 변경을 만들었고, 별도의 1,024회 테스트에서 성공했다고 보고했습니다. 대상은 하나의 과제였지만, 실패에 대한 설명을 바탕으로 수치 변경까지 시도했다는 점이 흥미로운 결과입니다. (자동차 제어 모델 수정 실험)
**모델의 가중치를 만드는 실험 (Generation Experiments)**
또한 간단한 게임에서는 규칙과 소스 코드, 그리고 입출력 형식으로부터 작동하는 네트워크의 가중치를 단 한 번의 응답으로 생성해내는 실험도 진행하고 있습니다. 이 경우, 게임의 규칙을 미지의 환경에서 학습하는 것이 아니라, 주어진 사양(Specification)을 네트워크 계산으로 구현한다고 이해하면 쉽습니다. (게임 가중치 생성 실험)
이러한 실험들에서 허용되는 계산 방식은 일률적이지 않습니다. 도구를 사용하지 않고 텍스트의 가중치를 읽는 경우도 있고, Python을 이용해 행렬을 분석하는 경우도 있습니다. 'LLM이 가중치를 이해했다'라는 문장 뒤에는 이러한 조건 차이가 존재합니다.
| 실험 | LLM에 대한 주요 입력 | 요구되는 출력 | 결과 해석 시 핵심 사항 |
|---|---|---|---|
| 소형 언어 모델 읽기 | 입출력층을 제외한 가중치, 분석용 Python | 학습된 문장 유형 식별 | 모델을 작동시키지 않고 식별했는지 여부 |
| ... | | | |
상표는 본문에서 소개된 세 가지 실험을 정리한 것입니다. 식별(Identification), 기존 동작 수정(Modification), 사양으로부터의 생성(Generation)에서는 보여주는 능력이 다릅니다.
실용적인 대상으로서 주목할 만한 것은 약 8억 개의 파라미터를 가진 언어 모델인 Qwen3.5-0.8B에 대한 편집입니다.
이 실험에서는 모델이 생각을 문장으로 만들며 답변할 때, 같은 내용을 반복하는 문제가 있었습니다. 생성 가능한 길이를 모두 사용해도 답에 도달하지 못하는 상황이었습니다.
편집을 담당하는 LLM에는 GPT-6 Astra를 사용하고, 가중치를 다루는 Python 환경, 연습용 문제, 그리고 횟수를 제한한 평가 도구를 제공했습니다. 일반적인 학습이나 경사 하강법(Gradient Descent)은 금지한 상태에서, 어디를 변경해야 개선될 수 있을지 조사하도록 했습니다. (Qwen 편집 실험 절차)
최종 편집에서는 두 개의 레이어 일부로부터 반복 루프와 관련 있다고 추정되는 성분들을 제거했습니다. 변경된 요소는 약 13만 개로, 모델 전체의 약 0.016%에 해당합니다. (공개 모델 카드)
가중치에서 특정 방향의 성분을 빼내는 연산은 투영(Projection)을 사용하여 표현할 수 있습니다. 하나의 가중치 벡터 $w$와 길이가 1인 방향 벡터 $u$로 기본 형태를 나타내면 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
w' = w - u(u^{ op}w), ext{ } u^{ op}u = 1
$u^{ op}w$는 가중치 $w$가 방향 $u$에 얼마나 많이 놓여 있는지를 나타내는 내적입니다. 이 방향의 성분 $u(u^{ op}w)$를 빼주면, 직교하는 성분을 남길 수 있습니다. 이 공식은 연산의 의미를 보여주는 기본 형태이며, 편집 대상 레이어나 방향을 선택하는 진단 과정은 포함하지 않습니다. 이번 최종 편집에서는 두 개의 레이어에서 각각 64개의 열이 선택되었습니다. (최종 편집 기록)
50회의 평가 호출을 사용한 탐색에서는 다음 결과가 보고되었습니다.
| 평가 항목 | 편집 전 | 편집 후 | 차분 (편집 후 − 편집 전) |
|---|---|---|---|
| MATH-500: 수학 문제 정답률 ↑ | 7.9% | 48.1% | +40.2 포인트 |
| ... | | | |
수치는 공개된 실험 결과를 기반으로 합니다. 편집 전후는 동일한 생성 설정으로 비교했습니다. 또한, MATH-500에서는 한 문제당 4회 생성한 답변 전체의 정답률을 사용하며, 4번 중 하나라도 정답이면 성공으로 간주하는 지표가 아닙니다. (평가 코드)
↑은 높은 것이 좋은 지표이고, ↓는 낮은 것이 좋은 지표입니다. 차분은 표 값에서 계산된 백분율의 차이이며, 예를 들어 7.9%에서 48.1%로의 변화는 '40.2 포인트 상승'으로 표현합니다.
정답률과 지시 추종 개선 폭을 동일한 0~100% 축에 나열하면 다음과 같습니다.
**그림 3: 50회의 평가 호출을 사용한 탐색으로 얻은 편집 결과.** 위 표와 동일한 보고 값을 시각화했습니다. 평가 항목마다 문제나 채점 방법이 다르기 때문에, 각 항목의 편집 전후를 비교하기 위한 그래프입니다. 실험 결과
큰 개선이지만, 여기서 확인된 점들을 신중하게 파악할 필요가 있습니다. 이 결과는 모델에게 수학적 지식을 새롭게 가르쳤다기보다는, 반복을 통해 답변하지 못했던 상태를 바로잡고, 원래 학습했던 능력을 출력으로 연결시켰다고 해석하는 것이 적절해 보입니다. 수학 외의 지시 추종에서도 개선된 것은 이러한 관점과 일치합니다.
같은 보고서에서는 반복 루프가 적은 Gemma 3 270M에 대해서도 수학 성적을 개선하려고 시도했습니다. 그러나 큰 개선은 얻지 못했습니다. Gemma 추가 실험
또한, 사용자에게 맞추어 학습한 모델을 구별하는 실험에서는 가중치(weight)만 보는 조건에서는 실패했습니다. 어떤 입력 부분을 참조하고 있는지 보여주는 attention 정보까지 관측할 수 있게 하자 식별할 수 있었다고 보고했습니다. 맞춰주는 모델 식별 실험
따라서, 현재로서는 “LLM이라면 가중치를 보고 어떤 능력이라도 자유롭게 고칠 수 있다”라고 생각하는 것은 이릅니다. 특정 결함을 제거하는 것과 아직 갖추지 못한 기술을 습득시키는 것 사이에는 간극이 있습니다.
계산 비용(computational cost)에 대해서도 실험의 용어를 확인해야 합니다. Qwen 실험에서 말하는 “50회”는 모델을 단순히 50번만 실행했다는 의미가 아닙니다. 한 번의 평가 호출로 최대 512문제까지 답변을 생성할 수 있을 정도로, 방대한 계산이 이루어지고 있습니다. 가중치를 업데이트하는 일반적인 학습 과정을 생략하더라도, 진단과 평가를 위한 계산은 필요합니다. 평가 호출 정의
그럼에도 불구하고, 모델을 수정할 선택지가 늘어난 것 자체에는 의미가 있습니다. 데이터를 추가하여 재학습시키는 방법 외에도, 내부 계산을 조사하고 원인 가설을 세우며 국소적인 수정을 시도하는 방법이 보이기 시작했기 때문입니다. 공개 로그(public log)나 편집 후 모델(edited model)을 사용하여 무엇이 일어났는지 더 검증할 수 있다는 점 역시 이 보고서의 가치입니다. 공개 로그, 공개 모델
AI에 의한 개발 보고서를 읽을 때, 가장 먼저 확인하고 싶은 것은 ‘무엇과 무엇을 비교했는가’입니다.
NAS(Neural Architecture Search)에서는 단순한 무작위 탐색만으로도, 조기에 가능성이 낮은 후보를 중단하는 등의 기교를 통해 강력한 기준이 될 수 있음이 입증되었습니다. 고도의 탐색기를 사용했다는 사실만으로는 좋은 방법이라고 할 수 없습니다. 동일 구조의 후보, 학습 방법, 예산으로 비교할 필요가 있습니다. NAS에서의 무작위 탐색과 재현성 연구
LLM을 사용하는 방법에서도 마찬가지입니다. 생성에 실패한 후보를 제외하고 계산하지 않았는지, 좋은 결과가 나올 때까지 시도를 추가하지 않았는지, 비교 대상이 충분히 조정되었는지를 통해 결과의 의미가 달라집니다.
더 나아가, 시도 과정에서 여러 번 참조하는 검증용 데이터와 마지막에 한 번만 사용하는 테스트 데이터를 분리하는 것이 중요합니다. 채점 결과를 반복적으로 보면서 개선한다면, 그 채점 대상에만 적응할 가능성이 있기 때문입니다. NAS의 평가 지침
| 데이터 용도 | 사용 장면 | 역할 |
|---|---|---|
| 학습용 | 후보 모델을 학습시킬 때 | 가중치를 업데이트하는 재료 |
| ... |
이는 용도의 구분입니다. 구체적인 분할 방법은 과제에 맞춰야 합니다. 예를 들어 다음 달 매출 예측의 경우, 미래 데이터를 학습 측에 섞지 않도록 시간 순서도 지켜야 합니다.
두 번째는 비용 범위입니다. 대상 모델을 학습시키는 GPU 시간뿐만 아니라, 아이디어를 구상하는 LLM 이용료, 후보 평가, 실패한 실행, 최종 확인에도 비용이 발생합니다.
| 비용 발생 지점 | 계산할 항목 예시 |
|---|---|
| 제안/진단 | LLM의 입력·출력, 가중치나 로그 분석 |
| ... |
한편, 개발자의 작업 시간이 줄어들거나, 한 번 발견한 학습 방법을 다수의 모델에 재사용할 수 있게 된다면 큰 가치가 될 수 있습니다. 단지 한 번의 실험이 저렴했는지뿐만 아니라, 개발 전체 과정에서 무엇을 절약할 수 있는지를 봐야 합니다.
평가 연구 역시 이러한 방향으로 나아가고 있습니다. MLE-bench는 75개의 Kaggle 과제를 사용하여 에이전트가 기계 학습 개발 작업을 진행할 수 있는지 측정합니다. 2026년 10월에 공개된 FrontierML에서는 21개의 과제로, 훈련이나 데이터에 사용할 자금을 변경하여 추가 예산을 성능으로 바꿀 수도 있는지 평가하고 있습니다. MLE-bench, FrontierML
이러한 메커니즘은 단발적으로 좋은 코드를 작성하는 능력에서, 제한된 자원으로 개발을 진행하는 능력으로 평가 대상이 확장되고 있음을 보여줍니다.
세 번째는 발견한 개선이 어디까지 확산되는가입니다.
소형 모델의 짧은 학습에서 효과적이었던 구조가 대형 모델의 긴 학습에서도 반드시 좋은 것은 아닙니다. 특정 데이터에서 유효했던 손실 함수(Loss function)가 다른 분야에서도 유효한지는 직접 시도해 보아야 합니다. 가중치(Weights)를 국소적으로 수정하는 경우에도, 목표 성능이 향상되었을 때 다른 언어나 긴 입력에 대한 대응 능력을 저하시키지 않았는지 확인하고 싶습니다.
이러한 검증 과정까지 자동화할 수 있는지가 다음 과제가 됩니다. AI가 좋은 아이디어를 제시할 뿐만 아니라, 그 아이디어를 독립적으로 재실행하여 다양한 조건에서 검증할 수 있는 메커니즘이 필요한 것입니다.
NAS(Neural Architecture Search), AutoML, LLM을 이용한 실험, 가중치 직접 편집 등을 통해 살펴보면, AI 개발의 자동화에는 공통적인 흐름이 있습니다. 인간이 선택하던 항목들을 후보군으로 제시하고, 실제로 테스트하며, 그 결과로부터 다음 단계를 추론하는 과정을 점차 기계에 맡겨왔습니다.
한편으로는, 무엇을 개선하고 싶은지, 어떤 데이터를 사용해야 하는지, 무엇을 성공으로 간주할지는 개발의 핵심 영역으로 남아 있습니다. 매출 예측이라면 과거 수치와 일치하는 것뿐만 아니라 미래 수요 변화에 대응할 수 있는지가 문제가 됩니다. 언어 모델이라면 벤치마크 정답률 외에도 사용자 지침을 준수하는지, 필요한 시간과 비용 내에서 작동하는지도 중요합니다.
실제 개발에서는 여러 도구를 조합하는 구성도 고려될 수 있습니다. 예를 들어, LLM이 문제를 정리하여 코드를 만들고, Optuna와 같은 전용 툴이 수치 설정을 탐색하며, 일반적인 최적화기(Optimizer)가 가중치를 학습하는 식의 역할 분담입니다. 각자가 잘하는 작업을 담당하게 됩니다. (Optuna 공식 자료)
만약 가중치를 직접 편집하는 방법이 사용 가능해진다면, 여기에 진단 및 국소 수정이라는 선택지가 추가됩니다. 다만, 좋은 편집안을 채택하기 위해서는 변경 전후를 비교하고 부작용을 조사하며, 필요하다면 원래 상태로 되돌릴 수 있도록 하는 것이 필수적입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70