요약
노트북에서 돌린 Qwen 3.8 27B가 가중치만 보고 신경망이 배운 게임 넷 중 셋을 맞혔습니다.
개발자 사이먼 윌리슨의 실험기입니다. 전날 화제가 된 논문 'Sparks of Weight-Space Programming'이 GPT-6 Astra가 신경망 가중치를 직접 읽고 쓴다고 주장하자, 작은 로컬 모델로도 되는지 확인해 봤습니다.
왜 중요한가
- 가중치를 읽는 능력이 최상위 대형 모델만의 것이 아니라 노트북용 27B 모델에서도 나타난다는 점을 보여 줍니다.
- 논문은 도구 없이 가중치를 읽는 능력과 코드로 다른 모델을 고치는 능력을 함께 다뤘는데, 윌리슨은 앞의 것만 떼어 시험했습니다.
- 한 문제에 한 시간 가까이 걸려, 논문을 둘러싼 과장된 해석에는 선을 그었습니다.
핵심 내용
- 10x10 격자판의 Breakout, Pong, Pac-Man, Freeway를 학습한 신경망의 가중치를 주고 도구 없이 어떤 게임인지 맞히게 했습니다.
- 4비트 양자화(모델을 압축해 용량을 줄이는 방식)로 약 17GB인 Qwen 3.8 27B를 LM Studio에서 돌렸습니다.
- Pac-Man, Pong, Breakout은 맞혔고 문제마다 46분에서 1시간 5분이 걸렸습니다.
- 가장 덜 알려진 Freeway는 Pac-Man과 비슷한 게임이라고 잘못 답했습니다.
- 윌리슨은 경험 많은 사람도 연필과 종이로 답에 이를 수 있다며, 소스 코드의 시대가 끝났다고 보기는 이르다고 했습니다.
HN 반응
- 여러 이용자가 Qwen 3.8 27B를 로컬 코딩에 쓰며 Claude Opus 4.6~4.8급이라고 칭찬했지만, 맥 개발 지식은 부족하다는 반론도 있었습니다.
- 프롬프트 파일 주소에 게임 이름이 들어 있어 답을 엿봤을 수 있다는 의심이 나왔지만, 그랬다면 추론이 훨씬 짧았을 것이라는 의견도 붙었습니다.
Qwen-3.8-27B는 지금까지 AI 분야에서 일어난 일 중 최고입니다.
상위 수준의 설계자나 의사결정자 역할을 기꺼이 맡을 생각이라면, 이 모델로 최첨단 모델과 같은 결과를 낼 수 있습니다. 테크 리드처럼 여기저기서 조금씩 방향만 잡아주면 모든 일이 끝납니다.
최첨단 모델에 돈을 내는 이유는 바로 그 상위 수준의 방향 설정 작업을 에이전트에게 맡기기 위해서입니다.
Qwen3.8-Flash_Next도 그 타이틀 후보에 올려야 합니다. 놀랄 만큼 좋습니다. 저는 두 모델을 다 씁니다. 다른 작업 때문에 머신의 메모리가 더 필요하면 27B를 돌리고, RAM을 훨씬 적게 써도 되면 QFN을 돌립니다(제 Strix Halo 박스에서 컨텍스트 262,144 기준으로 약 102GB를 씁니다). 제 하드웨어에서는 QFN이 꽤 더 빠릅니다. 초당 50토큰 정도 나옵니다. MTP를 켠 27B는 처음에 초당 22토큰쯤 나오다가 컨텍스트가 차오를수록 느려집니다. 둘 다 훌륭한 모델이지만, 제가 해본 코딩 프로젝트에서는 QFN이 조금 더 낫다고 봅니다. 그래도 둘 다 Claude Opus 4.6에서 4.8 사이와 대등하게 느껴집니다.
듣기로는 Qwen 4가 이번 주에 나올 수도 있다고 하고, 3.8-Flash-Next와 같은 아키텍처를 쓴다고 하니 (여러 LLM 서빙 도구가 이미 지원할 수 있을 겁니다) 소형 모델도 포함되길 바라고 있습니다. Qwen의 마지막 4B와 9B는 3.5 때 나온 것이었거든요.
저는 35b-a3b 버전이 정말 나왔으면 좋겠어요. 속도와 성능의 균형이 정말 좋거든요.
어디선가 믿을 만한 곳에서 이번 주 목요일(내일인가요?)이라고 본 기억이 나는데, 어디였는지는 기억이 안 납니다.
Apsara 컨퍼런스 발표나 계획된 '티어'0는 보셨겠죠? 4b / 9b는 쓰실 계획이 따로 있으신가요? 작은 모델에서는 과잉 사고(overthinking)가 좀 나아지면 좋겠네요.
가중치를 정말 공개한다면요.
Qwen 총책임자가 방금 4와 5도 계속 오픈으로 남을 거라고 확인해 줬습니다.
동감합니다. 저는 AI Pro R9700(32GB)에서 https://github.com/Niko1221/Strata 로 QFN을 돌리는데, Strix Halo보다 훨씬 빠릅니다. 컨텍스트가 작을 때는 보통 초당 90토큰 정도, 컨텍스트를 거의 다 쓸 때는 초당 70토큰까지 떨어집니다.
저는 3060ti에 RAM 48GB로 QFN I2 XS를 돌립니다. 컨텍스트 윈도우 200k에서 토큰이 대략 2배쯤 나오는데, 저한테는 충분합니다.
어... Strata는 그냥 llama cpp를 포크해서 UI만 더 화려하게 만든 거 아닌가요?
Strata는 MoE 전문가(expert) 오프로딩을 완전히 다르게 처리해서, QFN에서는 말도 안 되는 속도가 나옵니다.
QFN은 정말 터무니없어요. 제 모든 환경에서 27B보다 빠르고, 코딩부터 번역, 비전 관련 작업까지 제가 쓰는 용도에서는 항상 27B를 앞서요. 조금 나은 정도일 때도 있고 많이 나을 때도 있고요.
"앞선다"는 게 무슨 뜻이죠? 쓸데없이 복잡하게 만든다는 건가요?
능가한다는 뜻이에요. 적어도 제 경우에는 27B가 추론 단계에서 시간을 더 낭비하는 편이라 27B가 지나치게 복잡하게 굴기도 하고요. QFN이 그냥 더 잘해요. 눈대중으로 판단할 때도 있고, 번역 chrF++ 59.3 대 67.5처럼 수치로 잴 수 있을 때도 있고요.
구글에 따르면 outdo는 다른 사람보다 무언가를 더 잘한다, 또는 질이나 양이나 성능에서 누군가나 무언가를 능가한다는 뜻의 동사입니다.
소프트웨어 구성을 조금 더 자세히 알려주실 수 있나요? 로컬 AI 모델을 계속 써보고 있는데, ChatGPT나 Claude만큼 쉬운 건 하나도 못 만들고 애를 먹고 있습니다. 저는 스킬이 담긴 폴더가 하나 있고, ChatGPT와 Claude를 오가며 써도 둘 다 같은 일을 해줍니다. 로컬에서 그렇게 되는 걸 찾기가 힘드네요.
24G짜리 RTX4090 한 장으로 opencode를 통해 일반적인 코딩 작업을 할 때, Q4_K_M 양자화에서 KV 캐시를 약 200k 확보할 수 있습니다. 파일을 너무 많이 훑을 필요가 없는 작업이면 캐시 60k에 Q6_K를 씁니다. Q6_K는 정말 좋습니다.
Q4에서 Q6_K로 바꿨을 때 차이를 좀 더 자세히 알려주실 수 있나요? 솔직히 저는 컨텍스트 윈도우가 큰 쪽이 좋습니다. qwen이 결국엔 알아서 답을 찾아내는 것 같거든요. 파일을 많이 읽는 식으로 컨텍스트를 꽉 채우려 드는 게 보여서, 이득이 있다면 제 ninfer 포크 [0]에서 컨텍스트 윈도우를 줄이고 양자화를 덜 하는 쪽으로 실험해 볼 마음은 있습니다. 그런데 가끔은 과학이라기보다 예술에 가깝다는 생각이 들어요 :)
[0] https://github.com/tensorninja/ninfer-4090
뻔뻔한 홍보를 좀 하자면, 저는 작은 모델이 엇나갈 때 다시 제 궤도에 올려놓는 코딩 에이전트를 만들고 있습니다. 예를 들어 qwen-3.8-27b는 하려는 일을 써놓고는 멈춰서 차례를 사용자에게 넘기는 경우가 많더라고요. 그래서 "넛지(nudge)"를 잔뜩 구현했고, 목표 모드(그리고 어쩌면 오토파일럿)와 함께 쓰면 효과가 아주 좋습니다.
예시는 여기 있습니다: https://caudra.ai/gallery/#nudges
저도 같은 문제를 겪었지만 어느 정도 성공도 했습니다. 제가 동작시킨 방법을 간단히 글로 정리해 두었습니다.
https://joeldare.com/a-local-open-weight-model-builds-its-first-web-app
프롬프트를 기꺼이 손본다면 동작하게 만들 수 있다고 생각합니다.
그렇지만 솔직히 제 시간은, 이걸 손이 가지 않게 해주는 가벼운 최첨단 모델 요금제에 내는 월 20달러보다 가치가 있다고 봅니다.
그래도 앤트로픽이 다른 게임을 기반으로 한 게임을 막는 것 같은 일이 있으니 로컬이 성공하길 바랍니다.
그 결과물은 어떻게 검증하시나요?
아니면 검증도 Qwen-3.8-27B가 알아서 해주나요? 그렇다면 그게 맞다는 건 어떻게 확인하시죠?
결과물을 확인해 보고, 대체로 충분히 잘해낸다 싶으면 그냥 믿게 되는 겁니다.
개인적으로 Qwen3.8-27b는 제가 써보려 한 프로젝트에서는 실력을 입증하지 못했습니다. 네이티브 맥 개발 스택에 대해 내재된 지식이 많지 않은 것 같습니다.
그런 뜻으로 말씀하신 건 아니겠지만, 제게는 "감"이라는 말로 들립니다.
Harbor 같은 점수 평가 프레임워크를 쓰는 편이 낫지 않을까요?
저는 LLM에게 숙제를 내고 채점 기준표를 설계할 시간이 없습니다. 동료가 올린 PR을 평가하듯이 결과물을 평가합니다.
작은 모델에는 이런 트레이드오프가 원래 따라붙는 것 같습니다. 같은 시기의 큰 모델만큼 "똑똑"할 수는 있어도, 그만큼의 지식을 담을 수는 없으니까요.
결국 이게 나아갈 방향이라는 걸 시간이 지나면 알게 될 거라고 생각합니다. 내장된 지식은 가장 적고 가장 똑똑한 모델을 원하고, 지식은 외부에서 제공하거나 관심 있는 분야에 맞게 가중치에 병합하는 겁니다. 그러면 새 정보를 반영하려고 6개월마다 거대한 모델을 학습시킬 필요가 없죠.
Qwen 4(와 3.8-Flash-Next)에 들어간 n-gram 테이블이 바로 그 용도라고 생각합니다. 27b 변형에도 내려올지는 두고 봐야겠죠.
RAG 방식은 첫 토큰까지 걸리는 시간을 끔찍하게 만들 겁니다.
구체적으로 어떤 워크플로에서 첫 토큰까지의 시간이 치명적인가요? 보통 목표치는 얼마고, 어느 정도면 "안 된다"고 보시나요?
저는 LLM을 대화하듯 쓰는 편인데, 검색하고 요약하는 용도가 많고 설계 파트너로도 씁니다. 프리필(prefill)에 열두어 초보다 오래 걸리면 이 방식으로 쓰기가 아주 힘듭니다. 게다가 그건 추론 출력이 시작되기까지의 시간일 뿐이라서, 추론 강도에 따라서는 막 컴팩트한 컨텍스트에서 답을 받기까지 몇 분이 걸릴 수도 있습니다.
아주 멍청한 질문일 수 있는데요. LLM 도구가 URL을 프롬프트에 끼워 넣지는 않나요? 그리고 qwen이 URL을 알아낼 수 있는 "ps" 같은 호출을 쓰지는 않았나요?
편집증 같다는 건 압니다만, 정답이 모델이 접근할 수 있는 공간에 그렇게 "가깝게" 저장돼 있으면 찜찜한 기분이 듭니다.
다만 정말로 이런 식으로 부정행위를 했다면 추론 과정이 훨씬 짧았을 테고 가중치는 아예 다루지 않았을 것 같긴 합니다.
제가 놓친 걸 수도 있지만, Qwen 3.8이 Qwen 3.8의 가중치를 바꿀 수 있나요?
이전 Qwen 모델에는 행동 변화를 일으킨다고 오래전부터 알려진 뉴런이 많이 있습니다(가중치 하나만 바꿔서 악한 Qwen을 만든 사례를 보세요).
제 질문은 결국, 가중치를 실제로 이해하는 것과 비교해 학습으로 얻은 부분이 얼마나 되느냐입니다. 같은 세대의 모델은 그 세대를 해부한 자료로 학습되지 않았을 텐데요. 그리고 스티어링 벡터, J 공간, LoRA처럼 오래전부터 알려진 개념들은 여기에 얼마나 작용하는 걸까요?
이것으로 게임 학습 사례가 설명되지는 않는데, 그 사례들은 제가 보기에 아주 인상적입니다.