요약
‘가중치를 읽고 써서 Qwen을 개선했다’는 Astra 글은 방법이 다른 실험을 한데 묶어 성과를 부풀렸습니다.
자연어 처리 라이브러리 spaCy를 만든 매슈 호니벌의 반박 글입니다. 화제가 된 원래 글은 GPT-6 Astra가 원시 가중치만 보고 신경망의 용도를 알아내고, Qwen3.5-0.8B의 수학 점수도 끌어올렸다고 소개했습니다.
왜 중요한가
- 많은 독자가 Astra가 Qwen의 가중치를 직접 읽고 고쳤다고 받아들였지만, 실제로는 파이썬 코드로 분석한 결과였습니다.
- 가중치를 맨눈으로 읽는 능력은 가중치가 1만 7천~17만여 개인 작은 신경망에서만 확인됐습니다.
- Qwen 결과는 가중치 독해가 아니라 Astra의 머신러닝 엔지니어링 실력을 보여 주는 증거로 읽어야 합니다.
핵심 내용
- 원래 글의 요약문은 모든 성과가 원시 가중치를 보는 것만으로 나온 것처럼 읽힌다고 지적했습니다.
- 도구 없이 가중치를 직접 읽은 실험은 게임·도형 판별과 멈춰 선 자동차 제어 신경망 수리, 이렇게 세 가지뿐이었습니다.
- Qwen 실험은 파이썬으로 가중치를 고치고 연습 문제로 모델을 최대 50번 돌려 보며 MATH-500 점수를 7.9%에서 48.1%로 올렸습니다.
- 처음부터 쓴 게임 신경망은 더 오래 학습한 PPO(강화학습 기법) 신경망에 세 게임 중 Breakout에서만 이겼다는 각주도 짚었습니다.
- 서로 다른 기법의 결과를 한 글에 묶으면 가중치 전반을 깊이 이해하는 능력이 있는 것처럼 보이지만, 그런 능력은 입증되지 않았다고 했습니다.
HN 반응
- 모델 해석 연구자라는 이용자는 Qwen 개선이 수학 실력이 아니라 추론이 끝없이 반복되는 문제를 고친 효과이며, 입문 수준의 기법이라고 짚었습니다.
- 원래 글을 끝까지 읽으면 알 수 있다는 반론도 있었지만, 앞선 토론의 열광적인 댓글을 보면 많은 이가 오해했다는 반박이 이어졌습니다.
저는 이 분야(기계적 해석가능성, mech interp 연구)에서 일하는데, 원 게시글이 오해를 부른다는 데 동의합니다. 연구에서 어느 정도 부풀리는 건 흔한 일이지만 이건 좀 지나칩니다.
우선 핵심 결과는 Qwen의 수학 실력을 높이는 것과는 아무 상관이 없고, 추론 루프를 줄여 줄 뿐입니다.
추론 루프는 단순한 문제입니다. 모델이 추론을 닫는
</think>토큰을 너무 낮은 확률로 생성하는 것이죠. LLM의 여러 구성 요소에 벡터를 더하는 단순한 스티어링(steering) 방식으로 고칠 수 있습니다( https://arxiv.org/abs/2503.22048 , https://arxiv.org/abs/2506.18167 등). Astra가 벡터를 찾는 데 쓴 방법은 사람이 쓰는 표준 절차(대조 분석)입니다. 이런 스티어링 벡터 만들기는 사람 연구자에게 사실상 "해석가능성 입문 프로젝트"의 표준 과제입니다.코딩을 할 줄 알고 LLM 내부 구조를 이해한다면 4~8시간이면 직접 할 수 있습니다. 소프트웨어 개발로 치면 디버거로 바이너리 패치를 하는 정도입니다. 최첨단 모델이 이걸 해낸다니 멋지긴 하지만, 사람도 어렵지 않게 하는 일이니 예상 밖의 일은 아닙니다.
알리바바는 이렇게 쉽게 고칠 수 있는 결함이 있다는 걸 알면서 왜 모델을 출시했을까요?
이 루프 문제는 학습을 바꿔서 고치기는 어렵습니까?
모델 튜닝은 블랙박스 같습니다.
쉽게 말하면 첫 번째 버튼을 누르면 두 번째 버튼이 튀어나오고, 두 번째를 누르면 세 번째가 튀어나오고, 세 번째를 누르면 첫 번째와 두 번째가 둘 다 튀어나오는 식입니다.
왜 그런지는 아무도 모르는데, 그냥 그렇게 됩니다.
그리고 사후 학습(post-training)을 하다 보면 과적합, 치명적 망각, 출력 루프 같은 문제가 전부 나타납니다.
균형 잡힌 결과를 얻으려면 모델의 능력을 최대한 끌어내는 대신 전반적인 성능을 목표로 할 수밖에 없습니다.
또 이런 문제를 정말로 몰랐을 가능성도 큽니다. 모델 평가는 정말 어렵고, 팀과 자원은 한정되어 있고, 세부적인 문제는 나중에야 발견되는 경우가 많으니까요.
스티어링이나 모델 가중치 로보토미는 보통 부작용이 엄청납니다. 결함 하나를 고치면 열 개가 새로 생기죠.
그만큼 쉬운 문제가 아니라서 그런 건 아닐까요? 오픈 모델을 양자화하고 파인튜닝하는 사람이 그렇게 많은데, 4~8시간짜리 작업이라는 말은 믿기지 않네요.
그리고 추론 성능이나 컨텍스트 크기를 크게 희생하지 않고 샘플링 설정만으로 루프 문제를 어떻게 고쳤는지 누가 올려 주신다면 정말 감사하겠습니다.
수학 결과는 저도 같은 인상이었어요.
그런데 실험 1번부터 5번까지는 어떻게 보세요? 가중치를 한 번에 직접 읽고 쓴다는 건 꽤 놀라워 보이는데요.
제 얘기를 하자면, 저는 학습과 관련된 개념은 많이 알고 있었지만 최근까지는 직접 해 보지 않고 거리를 두고 있었습니다.
몇 주 전에 가설을 하나 세웠습니다. 제가 git 커밋 메시지에 요구하는 기준이 있는데 요즘 LLM 대부분은 그걸 맞추기 어렵습니다. 작은 모델을 그 기준에 맞게 잘 쓰도록 만들 수 있지 않을까 하는 가설이었죠.
지난 4~5주 동안 전통적인 방식으로 학습을 했습니다. 여러 면에서 좋아지긴 했지만 제가 쓸 만한 수준까지는 안 됐습니다.
어제 이 글쓴이가 비판하는 그 기사를 읽고 번뜩 떠오른 게 있었습니다. 제가 겪던 문제를 학습 과정 없이 더 큰 LLM이 가중치를 직접 바꾸게 해서 풀 수 있을지도 모른다는 생각이었습니다.
지난 열두 시간쯤 동안 2주 넘게 한 것보다 더 많이 진전했습니다. 성능이 잘 나왔던 마지막 체크포인트 중 하나(전체 파인튜닝 + 결정 헤드/LoRA 변경 등)를 쓰고, 모델에게 어떤 레이어든 마음대로 바꿀 수 있게 맡겼습니다.
마지막 두 번의 행동은 이렇습니다. (a) 헤드 행렬에서 참가자 순서 방향 16개를 제거했더니 한 종류의 추론은 좋아지고 다른 종류는 나빠졌습니다. (b) 그중 하나를 복원하자 핵심적인 개선은 유지한 채 나빠진 부분이 되돌아왔습니다.
이런 건 학습을 몇 년, 아니 몇십 년 해 온 분들에게는 이미 알려진 얘기일 수 있지만, 저희 같은 많은 사람에게는 새롭습니다. 그래서 신이 납니다.
저는 몇 년째 학습과 파인튜닝을 해 왔는데도 여기 나온 아이디어는 새로웠습니다. 저도 지금 어떤 문제에서 돌파구를 찾아서 아주 들떠 있습니다.
아주 좁은 분류 작업이 하나 있는데, 그동안 Jev를 중심으로 구축해 왔습니다. Jev는 비용과 지연 시간이 훌륭하고 정확도도 꽤 좋아서 충분히 쓸 만하지만, 이 작업은 데이터를 외부로 보내는 게 영 마음에 걸렸습니다. Typesafe를 비판하려는 게 아니고, 작업 자체가 프라이버시와 관련된 성격이라서요. 그래서 LLM이 한 번에 가중치를 써 준 모델(모델 구조는 미리 신중하게 설계했습니다)이, 구조는 같지만 직접 학습한 모델과 견줄 만한지, 그리고 둘 다 Jev와 견줄 만한지 확인해 보기로 했습니다.
실험 초기라 결과는 이르지만, 노트북 GPU에서 돌아갈 만큼 작은 가중치로 이루어진 "바이브 튜닝" 분류기가 정확도와 지연 시간 면에서 Jev에 필적하는 것으로 보입니다. 학습시킨 모델들은 아직 의미 있는 결과가 나오는 단계에도 이르지 못했는데, MVP로 쓸 만한 게 벌써 생겼습니다.
예전부터 가능했거나 다른 분들에게는 뻔한 얘기였을지 몰라도, 이 방식이 이렇게까지 잘 통한다는 건 저에게는 전혀 뻔하지 않았습니다. 이 작업이 아주 좁게 정의된 것이라는 점은 강조해 두겠습니다. 그래도 이렇게 힘들이지 않고 모델을 만들 수 있다는 건 대단하고 흥미로운 발견이라고 생각합니다.
직접 만든 모델을 Laya나 Kev 같은 것들과도 벤치마크해 보셨는지 궁금해서요.
좋은 생각이에요! 실험에 추가해 볼게요.
목표와 충돌하지 않는다면 여기서 오픈소스로 공유해 주시면 정말 좋겠습니다!
요즘은 오픈소스가 쉽지 않은 시대지만, 이 분야를 잘 알고 비슷한 목표를 가진 사람들에게서 쓸 만한 기여를 한두 개쯤은 받으셔도 놀랍지 않을 겁니다.
git 커밋 메시지의 구체적인 기준이 무엇인지, 그리고 그 기준을 맞추지 못한 모델이 무엇이었는지 공유해 주실 수 있을까요?
보통은 AGENTS에서 그런 걸 처리할 수 있어야 합니다. 요즘 LLM 대부분이 SDLC 표준을 따르게 하는 데 문제가 있었다니 정말 의외입니다. 저는 컨벤셔널 커밋(conventional commits)을 아주 좋아합니다.
정말 그렇다면 좋겠습니다. 에이전트들은 어떻게든 규칙을 어길 방법을 찾아내고, 미래의 자기 자신에게 남기는 메시지를 적어 둡니다.
에이전트는 늘 어떤 식으로든 얼버무리는 표현, 모순, 앞날을 내다보는 문서화(시간이 지나면 낡아 버리는 것)를 git 메시지에 집어넣습니다.
저는 추가 관문(husky/pre-commit 훅)을 두면, 그게 제가 원하는 만큼 훌륭하지 않더라도, AI가 쓰는 글의 품질이 상당히 올라간다는 걸 알게 됐습니다.
그 관문이 썩 좋지 않은 데 따르는 대가는, 이제 에이전트가 검증기의 주장을 검증하는 데 시간을 더 쓴다는 겁니다. 실제로 보면 정말 웃깁니다.
이 최종 검증에는 로컬 모델을 쓰고 있는데, 그래서 성능이 썩 좋지 않은 면도 있습니다. 제가 직접 학습시키기로 한 이유도 그겁니다.
정말 재미있고 배울 게 많은 경험입니다. 저는 거의 모든 걸 만들어 보면서 배웁니다. 잘 되는 방식을 굳이 바꿀 이유가 없죠 :)
저는 Claude로는 말씀하신 것 같은 경험을 해 본 적이 없습니다. 오히려 제가 사 본 제품 중에 가장 믿을 만하다고 느꼈습니다. 빨리 익혔고, 문서를 읽었고, 잘 동작합니다.
제가 보기에 로컬 모델은 Claude와 전혀 비교가 안 됩니다. 저도 Qwen, DeepSeek, Minimax, Stepfun, Nemotron까지 써 봤고요. 어느 것도 Claude Fabel만큼 좋지 않았습니다.
AGENTS.md를 따르지 않는다면 정확히 어떤 모델을 쓰시는지 정말 궁금합니다. 2026년에 어떤 모델이 AGENTS.md에 분명하게 적어 둔 git 규칙 표준을 무시한다는 게 그저 놀라울 따름입니다.
저도 Claude가 제가 원하는 방식으로 글을 쓰게 하려고 해도, 자꾸 Claude 특유의 과장되고 어지러운 말투로 돌아가 버려서 안정적으로 맞추기가 거의 불가능하더라고요. 얼버무리는 표현이나 있지도 않을 미래의 예외 상황을 미리 걱정하는 것도 마찬가지고요.
프롬프트, 메모리, agents.md를 계속 만지작거리는 것보다, Claude 작업이 끝난 뒤에 Codex에게 글을 전부 다시 쓰게 하는 쪽이 훨씬 안정적이었어요. (어떤 부분에서는 Codex가 실제 구현을 그만큼 철저하게 하게 만들지 못하지만, 어쩔 수 없죠.)
네, 정말 그렇습니다.
제가 보기에는 가중치가 큰 모델의 컨텍스트에 들어가면 큰 모델이 가중치를 전부 읽으니 파이썬이 필요 없는 것 같습니다.
하지만 가중치가 컨텍스트에 들어가지 않으면 파이썬을 쓰고요.
어떻게 보면 너무 당연한 이야기 아닌가요? 가중치가 너무 많으면 전부 볼 수 없다는 거요. AI가 가중치의 일부만 보려고 파이썬을 쓰는 걸 두고 글쓴이가 깎아내릴 필요는 없다고 생각합니다. 그럴 수밖에 없잖아요?
저는 Astra가 가중치 20만 개짜리 작은 모델(멈춰 선 자동차)을 이해했다는 것만으로도 이미 충분히 놀랍습니다.
아니요, 그건 좋은 요약이 아닙니다.
모델이 가중치를 직접 보고 추론할 수 있는 건 행동과 가중치 값 사이에 꽤 선형적인 관계가 있을 때뿐입니다. 큰 모델에서는 전혀 그렇지 않습니다.
파이썬으로 모델의 문제를 디버깅하고 고치는 건 완전히 다른 일입니다. 파이썬 방식을 쓸 때는 가중치 값을 컨텍스트에 전혀 읽어 들이지 않습니다. 대신 가중치에 대한 진단 통계를 수집합니다. 머신러닝 연구자가 문제를 풀 때 하는 것과 똑같은 일을 하는 겁니다.
그래서 논문에는 서로 관련 없는 두 종류의 실험이 있는 셈입니다. 한 종류에서는 모델이 이미지를 읽듯이 가중치를 읽습니다. 사실 가중치를 시각화해 보면 이게 왜 되는지 꽤 분명하게 보입니다.
다른 종류의 실험에서는 모델이 ML 엔지니어링을 하기 위해 파이썬 코드를 쓰는 과제를 맡습니다. 가중치 데이터를 분석하고 다루는 파이썬 프로그램을 짜야 하죠. 어려운 코딩 문제이긴 하지만 결국 코딩 문제일 뿐입니다. 이런 과제에서 모델은 여러분이나 제가 가중치를 "보는" 것 이상으로 가중치를 "보지" 않습니다.
아, 더 분명하게 설명해 주셔서 감사합니다!
첫 번째 종류의 실험(컨텍스트에 들어가는 듯한 작은 신경망)만으로도 저는 사실 충분히 인상적입니다 :-)
그래도 맞아요, 그렇다면 이전 글을 둘로 나누거나 두 개의 섹션으로 나눴으면 좋았을 수도 있겠네요.
원 게시글을 읽은 사람이라면, 이 글쓴이가 지금 요약하는 내용을 분명하게 설명한 대목에 이르렀을 때 다 알 수 있는 얘기 아니었나요?
물론 제목과 맨 위의 짧은 요약만 읽으면 전체 그림을 놓친 채 돌아서게 되겠지만요.
제 생각에는 이쪽이 더 나은 반응입니다: https://news.ycombinator.com/item?id=50344861
어제 최상위 댓글이 "이건 미쳤다 [...] 충격이다"였던 걸 보면, 모두에게 그렇게 뻔한 얘기는 아니었다고 봅니다.
저는 코딩에 LLM을 쓰긴 하지만 모든 발전을 챙겨 보지는 않는 사람인데, 그래서 이 모든 게 더 피곤합니다. 최신 소식을 따라가야 한다는 생각이 계속 드는데, 모든 게 너무 과장되어 있으니 조금씩 나오는 업데이트를 읽어 봐야 의미가 없어 보이거든요.
글을 읽는 데는 댓글을 다는 것보다 시간이 더 들고, 댓글을 다는 데는 추천하는 것보다 시간이 더 듭니다. 그래서 HN 게시글의 전형적인 생애 주기는 이렇습니다. 사람들이 글을 읽지 않고 추천하고, 글을 읽지 않고 댓글을 달고, 글을 읽지 않고 댓글에 추천하고, 글을 읽지 않고 댓글에 답하다가, 한참 뒤에야 실제로 글을 읽은 사람들이 댓글에 나타나 이것저것 바로잡아 주고, 다른 사람들이 직접 읽는 수고를 덜어 주는 겁니다.
과장된 분위기에서 벗어나고 싶다면 https://news.ycombinator.com/newest 에서 추천도 댓글도 없는 글을 읽는 방법이 있습니다. 성공할 때도 있고 아닐 때도 있지만요.
무슨 수를 써서라도 IPO까지는 가야죠.
논문을 쓴 사람들은 MIT 대학원생이고, IPO를 하는 사람들이 아닙니다.
안타깝게도 AI 연구의 논문 발표 주기도 비슷한 유인 구조를 갖고 있습니다.
예를 들어 이런 조언은 드물지 않습니다: https://maxwellforbes.com/posts/your-paper-is-an-ad/
이력서도 광고입니다. 그렇다고 틀렸다는 뜻은 아니죠.
논문에 대한 댓글을 보면 사람들이 오해하고 있다는 게 꽤 분명합니다. 사람들은 이 방법이 Qwen의 가중치를 직접 읽어서 개선했다고 생각해요. 실제로는 그렇지 않았습니다. 가중치를 분석하고 고치는 프로그램을 작성했죠.
헷갈리는 건 원문 실험 중에 원시 가중치를 읽는 실험이 실제로 있다는 점이고, 초록(abstract)이 Qwen 실험도 그런 식으로 이루어진 것처럼 읽히도록 오해를 부르게 쓰여 있다는 점입니다.
저라면 오해했다고 하기보다, 기사에 뭐라고 쓰여 있든 이게 무슨 뜻인지 이미 자기 생각을 정해 놨다고 하겠어요. 제목은 오해를 부를 수 있겠지만, 원 기사는 꽤 공정합니다.
하지만 AI는 모든 일에 "프로그램을 작성"하잖아요? 파일을 편집하거나 보는 일도 보통 AI 에이전트가 파일을 직접 여는 게 아니라 셸에서 sed 스크립트 여러 개를 돌리는 식이고, 모든 작업이 거의 다 그렇습니다.
꼭 그렇지는 않습니다. 언어 모델은 순전히 추론만으로 어떤 일을, 그러니까 무언가를 알아내거나 판단하는 일을 할 수 있습니다. 컨텍스트 윈도우에 입력을 넣고 출력을 보면 되고, 프로그램을 만들거나 실행할 필요가 없습니다.
추론 모델이라면 더 나아가서 출력을 내기 전에 토큰을 잔뜩 더 생성하고 소비하게 할 수도 있습니다. 그래도 프로그램을 쓰거나 실행하는 건 아닙니다.
제가 이해하기로는 작은 신경망이 어떤 게임을 하도록 학습됐는지 알아내는 예시가 그런 방식입니다. 신경망의 가중치를 컨텍스트 윈도우에 넣으면, Astra가 외부 도구를 돌리지 않고 순전히 추론만으로 분석할 수 있었다는 거죠.
첫 문장의 엠대시(em dash)는 정말 직접 넣으신 건가요?