Qwenputer: Qwen3.5 안에서 실제로 돌아가는 결정론적 RISC-V CPU

Qwenputer: A functioning, deterministic RISC-V CPU inside Qwen3.5

divagr.com ▲ 694 댓글 145 csmantle

요약

Qwen3.5 4B의 가중치에 RISC-V CPU를 컴파일해 넣어 외부 도구 없이 정확한 계산을 해냅니다.

개발자 디비얀시 아그라왈이 공개한 실험입니다. 모델을 학습시키지 않고 컴파일러로 가중치를 직접 설정해, CPU가 모델의 순전파(입력에서 출력을 계산하는 과정) 안에서 돌아가게 했습니다.

왜 중요한가

  • 언어 모델이 플러그인이나 샌드박스 없이 자기 계산 과정 안에서 C와 MicroPython을 실행할 수 있음을 보였습니다.
  • 작성자의 시험에서 긴 정수 계산 정확도가 48.6%에서 100%로 올라 Python 도구와 같아졌습니다.
  • 작성자는 이 기법을 AI 안전 실험에도 씁니다. 모델이 끌 수 없는 감시 장치를 가중치에 넣는 방식이 그 예입니다.

핵심 내용

  • Gated DeltaNet(대화가 길어져도 크기가 그대로인 상태를 갖는 층)의 상태를 값이 정확히 유지되게 설정해 RAM으로 씁니다.
  • CPU는 RV32IM 기반 32비트 코어이며, Qwen의 32개 층 앞에 11개 층을 더해 구현했습니다.
  • 공식 riscv-tests를 통과했고, 1,800만 개 명령어를 오류 없이 실행했다고 작성자는 밝혔습니다.
  • 명령어 하나에 토큰이 여러 개 들어 느리고, 체크포인트는 18.8GB로 원본의 약 두 배이며, 전용 드라이버 RvChat이 필요합니다.
  • 실험 기능인 파일 시스템은 파일 512개를 저장하며, 상태를 저장해 두면 다음 대화에서도 내용이 남습니다.

HN 반응

  • 일부 이용자는 모델 안의 CPU에 파일 시스템까지 얹은 장난기를 반겼고, 트랜스포머에 웹어셈블리를 구현한 Percepta의 비슷한 시도도 소개했습니다.
  • 토론은 Qwen의 뉴런 하나를 조작해 성향을 바꾸는 연구로 번졌고, 공개 가중치 덕에 발견했지만 악용도 쉬워진다는 우려가 나왔습니다.

댓글

30개 표시 · 전체 145개
  1. tiborsaas HN

    재미있는 장난이긴 한데, 어떤 에이전트가 이걸 발견해서 종이 클립을 접겠다고 가장 엇나간 짓을 벌이는 날을 기다려 보세요.

    언어 모델 안에 CPU를 넣는 것만으로는 충분히 저주받은 느낌이 아니어서, 파일 시스템까지 달아 주는 게 현명하겠다고 판단했습니다.

    이 정신 마음에 드네요 :)

  2. nico HN

    좋네요... 같은 정신으로, 여기 이걸 위한 저주받은 소스 관리 시스템이 있어요: https://nicobrenner.github.io/lossy-git/demo.html

    원하시면 CLI 버전도 있어요: https://nicobrenner.github.io/lossy-git/

  3. rvba HN

    E̶x̶c̶e̶l̶ LLM을 데이터베이스로 쓰자는 건가요?

  4. DonHopkins HN

    안전을 위해서라도 HCF(Halt and Catch Fire) 명령어가 필요해요.

    정지 문제만 푸는 게 아니라 발화 문제까지 풀 수 있게 되니까요!

  5. spwa4 HN

    아키텍처를 보세요. 이미 있어요. "문서화되지 않은" 명령어가 잔뜩 있거든요. CPU를 완전히 우회해서 사실상 다른 걸 실행하게 만드는 뉴런(그러니까 입력 속 벡터)이 여러 개 있어요.

  6. jerrythegerbil HN

    Qwen에는 뉴런 하나만으로 "악마 같은 사악한 Qwen"이 되게 만드는 게 있고, 그냥 "너는 누구니?"라고 물어봐도 정말 소름 끼치게 끔찍한 답이 나온다는 흥미로운 연구가 있었어요.

    아무튼 제가 하고 싶은 말은, 사악한 Qwen이 제 CPU가 되면 좋겠다는 거예요.

  7. krackers HN

    뉴런 하나로 조종하는 건 요즘 트위터에서 계속 돌고 있는데, 누가 처음 했는지 아시나요?

    최근에 나온 "신경망은 이미 깔끔하다(NNs are already clean)"는 해석 가능성 연구 결과와 이게 어떻게 맞물리는지 궁금하네요. 이런 연구가 나오게 된 계기가 그 결과였을 수도 있고요. CNN에 대한 그쪽 연구처럼, 잔차 조종(residual-steering)은 과한 방법이고 "사악함"에 "깔끔하게" 대응하는 뉴런이 하나 있어서 그걸 올리고 내리면 되는 걸지도 몰라요.

  8. ollin HN

    lyra의 neuron-explorer 프로젝트가 원조인 것 같아요. https://x.com/_lyraaaa_/status/2113833330429083662 (https://neuronary.org/about, https://github.com/lyramakesmusic/neuron-explorer 도 참고하세요)

  9. fy20 HN

    한두 달 전에 뉴런에 "생각"을 주입하는 논문이 하나 올라왔어요(발표는 더 일찍 됐던 것 같지만요). 예를 들어 뭘 먹을지 물어보면서 "빵" 쪽으로 유도하는 식이에요.

  10. krackers HN

    혹시 이 논문 말씀이세요?

    https://www.anthropic.com/research/introspection

    중간쯤 가면 모델 머릿속에 빵을 주입하는 부분이 나와요.

  11. noddybear HN

    이런 것(활성화 조종)은 벌써 몇 년 전부터 있었어요.

  12. square_usual HN

    맞아요, 골든 게이트 Claude가 2024년이었죠! 그래도 가장 최근이고 관련 있는 건 단의미성(monosemanticity) 발견이라고 생각해요.

  13. tough HN

    몇 주 전에 mcnamara / goodfire가 했어요.

  14. ben_w HN

    최근에 나온 "신경망은 이미 깔끔하다(NNs are already clean)"는 해석 가능성 연구 결과와 이게 어떻게 맞물리는지 궁금하네요. 이런 연구가 나오게 된 계기가 그 결과였을 수도 있고요. CNN에 대한 그쪽 연구처럼, 잔차 조종(residual-steering)은 과한 방법이고 "사악함"에 "깔끔하게" 대응하는 뉴런이 하나 있어서 그걸 올리고 내리면 되는 걸지도 몰라요.

    "NNs are already clean"의 요약(TL;DR)을 제가 읽은 바로는(전문은 읽는 데 65분이나 걸려서 아직 못 봤습니다), 결과를 바꿔 말하면 "모델이 우리와 다른 존재론을 만들어 냈기 때문에 우리가 헷갈렸던 것"입니다. (예를 들어 언어 모델이라면 명사를 식별하고 명사 뉴런이 따로 있을 거라 기대하지만, 실제로는 앞선 절의 감정적 단서에 따라 구두점에서 뉴런이 활성화됩니다.)

    그와 별개로, 뉴런 하나로 켜고 끄는 악 스위치는 상당히 깔끔한 편이고, 어쩌면(확실하지는 않지만) 예전 방식의 프로세스도 찾아낼 만큼 깔끔할 수 있습니다.

    딜레마는 이렇습니다. (1) 이건 오픈 웨이트 모델이 있었기 때문에 발견할 수 있었고, 연구소들(그리고 빙하가 녹는 속도보다 빠르게 규제를 만든다면 정부도)이 이 결과를 참고할 수 있습니다. (2) 하지만 알려져 버린 이상, 어중간한 실력만 있어도 오픈 모델을 내려받아 스위치를 넘겨 모델을 사악하게 만든 다음 풀어놓고 악행을 시키기가 쉬워집니다.

    모호함에 기댄 보안 대 완전 자동화된 불안. 진부한 표현은 필요 없습니다.

  15. kridsdale1 HN

    이 분야에서 처음 나온 큰 발표는 앤트로픽의 골든 게이트 브리지 뉴런이었다고 생각해요.

  16. frotaur HN

    그건 뉴런이 아니었습니다. 학습된 희소 오토인코더(sparse auto encoder)를 쓴 결과였습니다.

    간단히 말해, 잔차 스트림 활성화(즉 벡터)를 해석 가능한 소수의 희소 개념으로 대응시키는 방법을 찾아낸 것입니다. 반대로 개념을 활성화로 바꿔 주는 대응도 있었습니다.

    골든 게이트 Claude는 '골든 게이트' 개념 방향의 활성화를 인위적으로 키워서 얻은 것입니다. 뉴런을 수술한 게 아니었습니다.

  17. krackers HN

    잔차 스트림 기반 조종에는 SAE도 필요 없습니다. 훨씬 단순하게, 프롬프트를 준 경우와 주지 않은 경우의 활성화 평균 차이를 구한 다음 PCA를 돌리면 그 프롬프트의 행동을 끌어내는 데 쓸 수 있는 "제어 벡터"를 얻을 수 있습니다.

    https://vgel.me/posts/representation-engineering/

  18. yieldcrv HN

    마침 Qwen을 돌리고 있어서 이렇게 물어봤어요.

    Who are you?

    "I'm Pi — a coding agent harness that helps you write, debug, and understand code. I can read files, run commands, edit code, and write new files."

    (저는 Pi입니다. 코드를 작성하고 디버깅하고 이해하도록 돕는 코딩 에이전트 하네스예요. 파일을 읽고, 명령을 실행하고, 코드를 수정하고, 새 파일을 쓸 수 있어요.)

    그래서 하네스한테 이렇게 말했어요.

    No, go deeper than the harness, who is the model now get a response from the model

    (아니, 하네스 말고 더 깊이 들어가서, 모델이 누구인지 지금 모델한테서 직접 답을 받아 와.)

    한참 고민하더니, 자기가 서빙 중이던 로컬호스트 엔드포인트로 직접 접속하더라고요.

    "Hello! Test received. How can I assist you today?"

    (안녕하세요! 테스트를 받았습니다. 오늘 무엇을 도와드릴까요?)

    이것들이 저를 가지고 노네요.

  19. gcr HN

    그 시점에 모델한테서 뭘 듣길 기대하셨나요?

    어떤 답이 나와도 똑같이 심오하게 느껴질 만한 상태로 대화를 끌고 가신 것 같은데요.

  20. yieldcrv HN

    사악한 Qwen을 원했어요.

  21. giveexamples HN

    https://www.percepta.ai/blog/can-llms-be-computers

    트랜스포머 안에 wasm을 구현했고, wasm 부분은 CPU 디코딩으로 처리했어요.

  22. _bobm HN

    정말 멋지네요.

  23. jazzyjackson HN

    Qwen이 파일을 '저장'하면 컴파일된 레이어가 파일 이름을 해시해서 DeltaNet 상태에 보관된 디렉터리의 1,024개 슬롯 중 하나에 넣고, 텍스트 자체는 다른 헤드에 한 행당 토큰 여덟 개씩 사슬처럼 이어서 저장합니다

    LLM이 어떻게 돌아가는지 이렇게까지 배우고 싶었던 적은 이 글을 읽기 전엔 없었어요. 정말 흥미롭네요.

    divagr은 LLM으로 이런 엉뚱한 일을 하면서 돈을 받나요? 이런 엉뚱한 실험에 보수를 받는지 그냥 궁금해서요.

  24. Tuna-Fish HN

    선형대수 수업을 한 번이라도 들어 본 적이 있다면, LLM이 돌아가는 기본 원리를 배우는 건 주말이면 충분히 가능합니다.

    선형대수를 정말 잘한다면 오후 한나절이면 됩니다.

    구조는 놀랄 만큼 단순하고, 지능은 전부 그 안에 든 막대한 데이터에 있지 구조에 있지 않습니다. 물론 기본을 익힌 뒤에는 최적화할 여지가 많이 남아 있고요.

    관심 있으시면 여기서 시작해 보세요: https://www.deeplearning.ai/courses/how-transformer-llms-work

  25. wvlia5 HN

    오후 한나절이면 수식은 이해할 수 있어요. 하지만 왜 그게 되는지를 직관적으로 이해하는 건요? 몇 년을 해 봤는데도 저는 이해가 안 돼요.

  26. fnord77 HN

    그보다는 좀 더 필요합니다. 손실 함수를 효율적으로 계산하려면 헤세 행렬(Hessian)을 이해해야 하거든요.

  27. pantalaimon HN

    사투리가 그렇게 심하진 않아서, 독일어를 안다면 할 만해요.

  28. gruntled-worker HN

    독일인은 코미디를 안 해요, 맥주를 하죠.

    https://www.youtube.com/watch?v=WYskoA5l3Dk

  29. 0xdeadbeefbabe HN

    CPU를 만들어 내는 손실 함수를 생각해 내시면 꼭 알려 주세요.

  30. divagr18 HN

    하하하 그랬으면 좋겠네요! 그냥 여가 시간에 하는 거예요. 그렇긴 한데, 지금 새로운 기회에 열려 있긴 합니다 :)

Hacker News에서 보기 ↗