본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 25. 16:57

가위바위보, 실리콘: 한 웹 개발자가 위성 해킹과 AI 에이전트를 사용하여 Frontier AI에 대해 터무니없는 질문을 던진 방법

요약

웹 개발자가 AI 에이전트와의 협업을 통해 거대 언어 모델(LLM)의 메모리 효율성을 높이는 실험적 아키텍처를 설계한 과정을 다룹니다. MoE 모델의 특성을 활용해 필요한 가중치만 실시간으로 로드하는 방식을 탐구합니다.

핵심 포인트

  • MoE 모델의 비활성 파라미터를 활용한 메모리 최적화 아이디어 제시
  • AI 에이전트를 활용하여 저수준 C++ 엔지니어링 문제를 해결하는 협업 방식
  • 소비자용 하드웨어에서 Frontier AI를 로컬로 실행하기 위한 도전
  • 전문 지식이 부족한 개발자도 에이전트를 통해 복잡한 시스템 구현 가능

이것은 학술 연구 논문이 아닙니다. 저는 결코 시스템 엔지니어가 아닙니다. 저는 독학한 풀스택 (Full-stack) 웹 개발자입니다. GitHub가 GPU 커널 최적화나 저수준 메모리 관리 (Low-level memory management)가 아닌, 프론트엔드와 웹 스택 (Web stacks)으로 가득 찬 그런 종류의 개발자 말입니다. 이것은 단지 아마도 성공해서는 안 되었을 실험에 관한 호기심 많은 빌더 (Builder)의 일기이며, 부디 C++와 프로세서 (Processors)를 알고 있기를 바라는 AI 에이전트 (AI agent)와 함께 작성되었습니다. 왜냐하면 저는 모르기 때문입니다 😅.

1. 내가 해결할 자격이 없었던 문제

실리콘 밸리에는 버킷 (Bucket) 문제가 있습니다.

**2,350억 개의 파라미터 (Parameters)**를 가진 Qwen3-235B와 같은 현대적인 Frontier AI 모델을 실행하려면, 업계에서는 그 거대한 수학적 산 전체를 RAM에 동시에 담고 있어야 한다고 말합니다. bfloat16 정밀도 (Precision) 기준으로, 이는 대략 470 GB의 메모리입니다. 운이 좋은 날이라면, 고사양 Mac Studio가 192 GB를 탑재하여 출하됩니다. 표준 MacBook은요? 16에서 48 GB입니다.

결론을 내릴 자격이 있는 모든 이들이 내린 결론은 다음과 같습니다: 소비자용 하드웨어에서는 Frontier AI를 로컬에서 실행할 수 없다. 클라우드 GPU를 빌려라.

나를 괴롭혔던 점: Mixture of Experts (MoE) 모델에서는, 2,350억 개의 파라미터 중 95% 이상이 매 밀리초마다 완전히 침묵 상태입니다. 철학에 관한 토큰 (Token)에 대해서는 수학 전문가들이 작동하지 않습니다. 코드에 관한 토큰에 대해서는 시 전문가들이 작동하지 않습니다. 가중치 (Weights)는 차가운 돌덩이와 같습니다. 표준 런타임 (Runtimes)은 만약을 대비해 그 모든 것을 RAM에 보관합니다.

저는 시스템 아키텍트 (Systems architect)가 아닙니다. 고성능 컴퓨팅 (High-performance computing)에 대한 배경 지식도 없습니다. 저의 일상적인 업무는 API, 웹 스택 (Web stacks), 그리고 가공되지 않은 실리콘 (Raw silicon)과 대화하기보다는 시스템을 오케스트레이션 (Orchestrate)하는 종류의 코드입니다. 하지만 저를 떠나지 않는 질문이 하나 있었습니다:

만약 작동하는 것만 로드하고, 작동하기 직전에 로드한다면 어떻게 될까?

저는 어떻게 답해야 할지 몰랐습니다. 그래서 도움을 요청했습니다.

2. 가교로서의 AI 에이전트

이것이 어떻게 만들어졌는지에 대해 완전히 솔직해지고 싶습니다.

저는 AI 에이전트와 대화를 시작하며 제 아이디어를 말했습니다. 제가 원하는 형태를 설명했습니다. 순진한 질문들을 던졌습니다. 에이전트는 C++ 코드를 작성했습니다. 저는 포인터 (pointers)와 메모리 할당 (memory allocations)을 이해하려고 애쓰며 그 코드를 읽었습니다. 상황이 너무 복잡해지면 반박했습니다. 에이전트는 수정했습니다. 우리는 반복 (iterate)했습니다.

이 글을 쓰는 목적은 작업의 가치를 깎아내리려는 것이 아닙니다. 여기에는 실제적이고, 무서울 정도로 낮은 수준의 엔지니어링 (low-level engineering)이 존재하며, 저는 세션을 거듭할수록 이를 조금씩 더 이해하고 있습니다. 하지만 우리가 도달한 아키텍처 (architecture)는 제가 _호기심과 방향성_을 제공하고, 에이전트가 _구현의 깊이 (implementation depth)_를 제공한 협업을 통해 나타난 결과물임을 솔직하게 밝히고 싶습니다. 제 GitHub 프로필이 진실을 말해줍니다. 저는 질문을 가졌고, 기계와 대화함으로써 정규 교육 과정을 넘어 그 질문을 추구할 방법을 찾아낸 웹 개발자일 뿐입니다.

제가 기여할 수 있었던 것은 순수 컴퓨터 과학 (computer science) 교육이 때때로 가로막는 바로 그 지점이었습니다. 저는 "분명히 불가능한" 질문을 던지는 것을 두려워하지 않았습니다. 왜냐하면 그것이 불가능해야 한다는 사실을 알 만큼 충분히 알지 못했기 때문입니다.

3. 옆을 바라본 위성 전문가

저의 기술적 영감은 실리콘 밸리의 그 누구도 바라보지 않았을 곳에서 왔습니다.

Ing. Filippo Biondi는 2022년 MDPI 저널 _Remote Sensing_에 _"Synthetic Aperture Radar Doppler Tomography Reveals Details of Undiscovered High-Resolution Internal Structure of the Great Pyramid of Giza" (합성 개구 레이더 도플러 토모그래피가 기자의 대피라미드 내부의 미발견된 고해상도 구조 상세를 밝혀내다)"_라는 제목의 논문을 발표했습니다. 그것은 순수한 천재성의 산물이며, 그 _기저에 깔린 물리적 직관 (underlying physical intuition)_이 제 상상력을 사로잡았습니다.

아이디어는 다음과 같습니다:

전자기파 (Electromagnetic waves)는 바위를 뚫고 지하로 들어갈 수 없습니다. 그것은 우회해야 할 제약 사항이 아니라, 물리 법칙입니다. SAR 위성은 지구 궤도를 돌며 마이크로파 레이더 펄스 (microwave radar pulses)로 지표면을 비추지만, 그 펄스는 단단한 돌에 부딪혀 튕겨 나갑니다.

하지만 Biondi는 기발한 기술을 사용했습니다. 전자기파 (EM wave)가 피라미드의 외벽을 타격할 때, 그것은 음향 포논 (acoustic phonons) — 즉, 돌을 통해 전파되는 기계적 소리 진동을 생성합니다. 돌은 표면 타격에 반응하여 _진동_하며, 피라미드의 내부 기하학적 구조가 그 진동을 변조합니다.

위성은 암석 내부를 볼 수 없습니다. 하지만 **도플러 기술 (Doppler technique)**과 몇 가지 **푸리에 변환 (Fourier transforms)**을 사용하여, Biondi는 되돌아오는 포논에 의해 발생하는 서브 나노미터 단위의 표면 변위를 측정했습니다. 그는 이러한 포논 측정값을 사용하여 **단층 촬영 이미지 (Tomographic images)**를 얻었으며, 피라미드 내부의 모든 3D 정보를 2D 평면에 아름답게 투영하여 포착했습니다.

SAR 위성  
 │ │  마이크로파 펄스 (암석을 투과할 수 없음) ▼┌──────────────────────────────────────────┐  
│  피라미드 표면                          │  
...

물리적 장벽과 싸우는 것을 멈추십시오. 대신 그 장벽이 신호에 _어떤 영향을 주는지_를 측정하십시오.

나는 내 실험을 Biondi의 연구와 비교하는 것이 아닙니다. 그는 내가 평가할 수 없는 일을 수행하고 있는 엔지니어입니다. 하지만 그의 프레임워크 — 암석 내부를 볼 수 없다면, 암석을 쳤을 때 암석이 내는 소리를 측정하라 — 는 LLM 메모리 문제에 내가 필요로 했던 정확한 멘탈 모델 (mental model)이 되었습니다.

4. 번역: LLM을 위한 음향 스트리밍 (Acoustic Streaming)

Biondi의 방법을 언어 모델 추론 문제로 번역하는 것은 놀라울 정도로 직접적입니다:

지진학적 개념S-MoE 대응 개념
깊은 암석 지층NVMe SSD에 차갑게 저장된 235B 모델 가중치
...

통찰은 이것입니다: 모델의 어떤 부분이 다음에 활성화될지 알기 위해 모델 전체를 읽을 필요는 없습니다. 모델의 조밀한 백본(dense backbone) — 임베딩 (embeddings), 어텐션 레이어 (attention layers), 라우팅 게이트 (routing gates) — 에 대해 가벼운 순전파 (forward pass)를 실행하면, 해당 라우팅 게이트가 확률적으로 다음 몇 개의 토큰에 대해 FFN의 어떤 전문가(expert) 열이 곧 작동할지를 알려줄 것입니다.

이것이 Surface Scout입니다. 이것은 제가 별도로 학습시킨 모델이 아닙니다. 라우팅된 전문가 가중치 (routed expert weights)를 제외한 타겟 모델 자체의 밀집 부분 (dense parts) — 즉, 통합 메모리 (Unified Memory)에서 영구적으로 실행되는 모든 부분입니다. 이 라우팅 게이트 행렬 (routing gate matrices)은 결과적으로 포논 맵 (phonon map) 역할을 하는 로짓 (logits)을 생성합니다. 이는 전체 모델이 곧 필요로 하게 될 것에 대한 구조적 지문 (structural fingerprint)입니다.

5. 나타난 시스템

S-MoE (Seismic Mixture of Experts)는 이 실험의 결과물입니다. AI 에이전트와 공동 설계되었으며, Metal 컴퓨팅 백엔드를 사용하여 C++로 구축된 이 시스템은 Apple Silicon Mac에서 실행됩니다.

이 시스템은 세 가지 동시 스트림으로 작동합니다:

The Sculptor (오프라인, 1회 실행)

Python 스크립트 (shatter_moe.py)는 지원되는 모든 MoE 모델을 가져와 두 개의 아티팩트 (artifacts)로 분리합니다:

  • The Vault (.smoe): 모든 라우팅된 전문가 블록 (routed expert blocks). Direct I/O를 위해 공격적으로 양자화 (quantised)되었으며 16 KB 하드웨어 경계에 맞춰 페이지 정렬 (page-aligned)되었습니다.
  • The Scout (.scout.safetensors): RAM에 상주하는 밀집 백본 (dense backbone) — 임베딩 (embeddings), 어텐션 (attention), 노름 (norms), 라우팅 게이트 (routing gates).

The Scout (항상 실행 중)

매 토큰 단계마다, Scout는 현재 토큰에 대해 완전한 순전파 (forward pass)를 수행합니다. 라우팅 게이트 출력은 다음 K개 토큰 동안 모든 MoE 레이어에서 어떤 전문가들이 활성화될지에 대한 예측을 생성합니다. 이 포논 맵 (phonon map)은 Streamer에게 전달됩니다.

The Streamer + Metal Kernel (동시 실행)

Scout의 예측에 따라, 백그라운드 I/O 스레드는 F_NOCACHE 옵션과 함께 pread() 호출을 실행하여 OS 페이지 캐시 (page cache)를 완전히 우회합니다. 그리고 예측된 전문가 블록 (expert blobs)을 통합 메모리 (Unified Memory) 내의 사전 할당된 페이지 정렬 링 버퍼 (page-aligned ring buffer)로 직접 로드합니다. Metal GPU 커널은 해당 링 버퍼를 읽고, GPU 레지스터 공간에서 압축된 가중치를 직접 디코딩하는 융합된 역양자화-곱셈 (fused dequant-multiply)을 통해 FFN 연산을 실행합니다.

세 스트림은 동시에 실행됩니다. GPU는 한 단계 전에 로드된 전문가를 실행합니다. Streamer는 지금으로부터 한 단계 후에 필요한 전문가를 로드합니다. Scout는 지금으로부터 K단계 후에 필요한 전문가를 예측합니다. 어떤 스레드도 다른 스레드를 기다리지 않습니다.

시스템이 절대 어기지 않는 세 가지 규칙이 있습니다:

  • 런타임 힙 할당 금지 (No runtime heap allocations). 토큰 생성 루프 내부에서 malloc, new, std::vector::resize 사용은 금지됩니다. 모든 버퍼는 시작 시점에 미리 할당됩니다.
  • 직접 I/O만 허용 (Direct I/O only). 모든 볼트(vault) 파일 디스크립터에 F_NOCACHE를 적용합니다. SSD → DMA → RAM 과정을 거치며, OS 복사(copy)는 발생하지 않습니다.
  • 원자적 동기화만 허용 (Atomic synchronisation only). OS 뮤텍스(mutex)를 사용하지 않습니다. 블로킹(blocking)도 없습니다. I/O 스레드와 GPU 스레드는 구조적으로 서로를 차단할 수 없게 설계되었습니다.

6. 모델 불가지론적 진화 (The Model-Agnostic Evolution)

이 시스템은 처음에는 단일 모델인 DeepSeek-MoE-16B(빠른 테스트를 위해 충분히 작은 16B 파라미터 모델)에 맞춰 하드코딩되었습니다. 하지만 원래의 질문은 특정 모델 하나에 관한 것이 아니었습니다. 핵심은 이 *접근 방식(approach)*이 확장 가능한가(scale)였습니다.

AI 에이전트와 몇 주간 협업하며, 저는 엔진 전체를 모델 불가지론적 (model-agnostic) 방식으로 리팩토링했습니다. 이제 S-MoE를 특정 모델의 Scout 파일로 지정하면, 부팅 시 텐서 헤더(tensor header)를 읽어 다음 항목들을 자동으로 감지합니다:

  • 은닉 차원(Hidden dimension), 어휘 사전 크기(vocabulary size), FFN 중간 차원(FFN intermediate dimension)
  • MoE 레이어 수, 레이어당 전문가(experts) 수
  • 레이어 0이 밀집 MLP(dense MLP, DeepSeek 스타일)인지 또는 전체 MoE 레이어(Qwen 스타일)인지 여부

엔진은 이에 맞춰 스스로 형태를 재구성합니다. 재컴파일도, 설정 파일도 필요 없습니다.

현재 타겟은 Qwen3-235B-A22B-Instruct-2507입니다. 이는 진정한 프런티어(frontier) 모델로, 2,350억 개의 파라미터를 보유하고 있으며, 순전파(forward pass)당 220억 개의 활성 파라미터를 사용하고, MoE 레이어당 128개의 전문가를 가지며, Apache 2.0 라이선스를 따릅니다. 다운로드 용량은 400GB에 달합니다. 보통 25만 달러 규모의 GPU 클러스터가 필요할 것으로 예상되는 종류의 모델입니다.

지금 제 MacBook에서 다운로드 중입니다.

7. 민주적 주장 (The Democratic Claim)

과장하지 않도록 주의하고 싶습니다. S-MoE는 실험입니다. 아직 불완전합니다. Scout의 예측은 완벽하지 않으며, 이는 Streamer가 가끔 놓치게 되어 시스템이 스핀 웨이트(spin-wait)하게 됨을 의미합니다. 양자화(quantisation)는 오차를 유발합니다. 235B 모델을 실행하는 16GB Mac에서의 처리량(throughput)은 느릴 것입니다. 아마 몇 초에 토큰 하나 정도일 것입니다.

하지만 제가 책임지고 내세울 수 있는 주장은 다음과 같습니다:

16 GB Mac과 512 GB Mac은 동일한 출력을 생성할 것입니다. 다만 512 GB Mac이 더 빠르게 생성할 것입니다.

속도는 하드웨어에 따라 확장됩니다. 지능은 저하되지 않습니다.

MacBook Air를 사용하는 사용자와 Mac Pro를 사용하는 사용자는 동일한 2,350억 개의 파라미터 (parameters)를 갖게 됩니다. 동일한 지식, 동일한 추론 깊이, 동일한 모델을 가집니다. 한 명은 더 오래 기다릴 뿐입니다. 둘 다 답을 얻습니다.

이것은 대중을 위해 만들어진 더 작고, 증류(distilled)되었으며, 지능이 낮아진 모델이 아닙니다. 하드웨어가 허용하는 속도로 전달되는 진짜 모델입니다.

제가 이것을 만든 이유는 Frontier AI를 둘러싼 메모리 벽 (memory wall)이 부분적으로는 물리적이고 부분적으로는 인위적이라고 믿기 때문입니다. 즉, 이는 자연 법칙이 아니라 아무도 의문을 제기하지 않았던 소프트웨어적 가정의 결과입니다.

저는 CPU에서 불과 3인치 떨어진 곳에 위치한 NVMe로 그 외에 무엇을 할 수 있는지 질문을 던진 웹 개발자입니다. AI 에이전트가 제가 그것을 알아낼 수 있도록 도와주었습니다.

산은 이미 진동하고 있습니다. 당신은 그저 귀를 기울이기만 하면 됩니다.

_S-MoE는 MIT 라이선스 하에 오픈 소스로 제공됩니다. 코드, 철학, 그리고 실수까지 모두 공개되어 있습니다: github.com/melasistema/s-moe.

_Luca Visciola와, (제가 못하기 때문에) 부디 C++ 및 저수준 프로그래밍 (low level programming)을 알고 있기를 바라는 AI 에이전트가 제작했습니다 😅.

감사의 글: 지진파 토모그래피 (seismic tomography) 개념은 SAR 기반 지하 이미징에 관한 Ing. Filippo Biondi의 출판된 연구를 실험적이고 철학적으로 번역한 것입니다. 그의 방법론과 그것을 기자 고원 (Giza Plateau)에 적용한 것은 그의 천재성이지 제 것이 아닙니다. 저는 단지 언어 모델 (language models)의 문제를 해결하기 위해 그의 직관을 빌렸을 뿐입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0