Flash-MoE: 순수 C/Metal로 MacBook Pro에서 397B 파라미터 Qwen 모델 실행하기

✍️ OpenClawRadar📅 게시일: March 22, 2026🔗 Source
Flash-MoE: 순수 C/Metal로 MacBook Pro에서 397B 파라미터 Qwen 모델 실행하기
Ad

기술 구현

Flash-MoE는 3970억 개의 파라미터를 가진 Mixture-of-Experts 모델인 Qwen3.5-397B-A17B를 실행합니다. 이 모델은 60개의 트랜스포머 레이어로 구성되어 있습니다: 45개의 GatedDeltaNet(선형 어텐션) + 15개의 표준 전체 어텐션. 각 레이어에는 512개의 전문가가 있으며, 토큰당 K=4가 활성화되고 하나의 공유 전문가가 추가됩니다. 은닉 차원은 4096입니다.

성능 벤치마크

  • 4비트 전문가, FMA 커널: 초당 4.36 토큰, 우수한 품질, 전체 도구 호출 지원, 디스크 209GB (현재 최고)
  • 4비트 전문가, 기준선: 초당 3.90 토큰, 우수한 품질
  • 2비트 전문가, OS 신뢰: 초당 5.74 토큰, 양호한 품질, 디스크 120GB (JSON/도구 호출 손상)
  • 2비트 피크 단일 토큰: 초당 7.05 토큰, 양호한 품질 (도구 사용에 적합하지 않음)

참고: 2비트 양자화는 JSON 출력에서 "name" 대신 \name\을 생성하여 도구 호출을 신뢰할 수 없게 만듭니다. 4비트가 프로덕션 구성입니다.

하드웨어 요구사항

  • 머신: Apple M3 Max 탑재 MacBook Pro
  • 칩: 16코어 CPU (12P + 4E), 40코어 GPU, 16코어 ANE
  • 메모리: 48 GB 통합 (~400 GB/s 대역폭)
  • SSD: 1TB Apple Fabric, 순차 읽기 17.5 GB/s (측정값)
  • macOS: 26.2 (Darwin 25.2.0)
Ad

핵심 기술

SSD 전문가 스트리밍

전문가 가중치(4비트 기준 209GB)는 GCD 디스패치 그룹을 통한 병렬 pread()로 NVMe SSD에서 요청 시 읽힙니다. 레이어당 활성화된 K=4 전문가만 로드됩니다(각각 ~6.75MB). OS 페이지 캐시는 커스텀 캐시 없이 캐싱을 관리하며("OS 신뢰" 원칙), 자연스럽게 ~71% 적중률을 달성합니다.

FMA 최적화 역양자화 커널

4비트 역양자화된 행렬-벡터 곱셈의 내부 루프는 수학을 (니블 * 스케일 + 바이어스) * x에서 fma(니블, 스케일*x, 바이어스*x)로 재배열합니다. 스케일*x와 바이어스*x를 사전 계산하면 GPU의 융합 곱셈-덧셈 유닛이 역양자화+곱셈을 한 번의 명령어로 수행할 수 있어, 순진한 구현보다 12% 더 빠른 성능을 제공합니다.

Metal 컴퓨트 셰이더

수작업으로 작성된 Metal 커널은 다음을 포함합니다:

  • 4비트 및 2비트 역양자화된 행렬-벡터 곱셈 (타일화, SIMD 축소, 공유 입력 캐시, FMA 최적화)
  • 융합 SwiGLU 활성화
  • RMS 정규화 (2단계: 제곱합 축소 + 적용)
  • 전체 어텐션 레이어를 위한 배치 GPU 어텐션 (Q@K^T, 소프트맥스, 점수@V)
  • GPU RoPE (Q 디인터리브 및 K 정규화와 융합)
  • MoE 결합 + 잔차 + 시그모이드 게이트 (융합 커널)

지연 GPU 전문가 계산

CMD3(전문가 순전파)는 대기 없이 제출됩니다. GPU는 CPU가 다음 레이어를 준비하는 동안 이를 실행합니다. 결합 + 잔차 + 정규화도 GPU에서 수행되어 다음 레이어의 어텐션 투영에 직접 공급됩니다.

선형 어텐션을 위한 Accelerate BLAS

GatedDeltaNet 순환은 64-헤드 × 128×128 상태 행렬 업데이트에 cblas_sscal, cblas_sgemv 및 cblas_sger를 사용하여 스칼라 코드보다 64% 더 빠른 성능을 달성합니다.

파이프라인 성능

4비트 기준 레이어당 평균: 4.28ms

  • CMD3(이전) → CMD1: 어텐션 투영 + 델타-넷 [1.22ms GPU]
  • CPU: 결과 플러시 [0.01ms CPU]
  • CMD2: o_proj + 정규화 + 라우팅 + 공유 [0.55ms GPU]
  • CPU: 소프트맥스 + topK 라우팅 [0.003ms]
  • I/O: 병렬 pread K=4 전문가 [2.41ms SSD]
  • CMD3: 전문가 순전파 + 결합 + 정규화 [0.04ms 인코딩, 지연됨]

아키텍처 제약

Apple Silicon에서 SSD DMA와 GPU 계산은 동일한 메모리 컨트롤러를 공유하며 효율적으로 중첩될 수 없습니다. GPU의 역양자화 커널은 ~418 GiB/s에서 대역폭 포화 상태입니다. 심지어 작은 백그라운드 SSD DMA도 메모리 컨트롤러 중재를 통해 불균형적으로 큰 GPU 지연 급증을 유발하여 직렬 파이프라인이 필요합니다.

📖 전체 소스 읽기: HN AI Agents

Ad

👀 See Also

오크: AI 코딩 에이전트를 위한 오픈 소스 다중 프로젝트 오케스트레이터
Tools

오크: AI 코딩 에이전트를 위한 오픈 소스 다중 프로젝트 오케스트레이터

Orc는 bash, tmux, git worktrees를 사용하여 여러 프로젝트에 걸쳐 AI 코딩 에이전트를 조율하는 OS 수준 오케스트레이터입니다. 이중 검토 시스템과 오케스트레이션에 토큰을 전혀 소모하지 않는 방식으로 병합 충돌, 중복 작업, 조율 오버헤드 문제를 해결합니다.

OpenClawRadar
bunx ccusage는 $18,450의 크레딧 소모를 보여주며 — 플랫 플랜이 비용을 흡수합니다
Tools

bunx ccusage는 $18,450의 크레딧 소모를 보여주며 — 플랫 플랜이 비용을 흡수합니다

r/ClaudeAI의 한 사용자가 bunx ccusage를 실행해 5월에 사용한 크레딧이 $18,450임을 발견했습니다. 2억 4800만 입력 토큰, 4200만 출력 토큰, 캐시 읽기를 포함해 217억 토큰을 사용했지만, Claude Code와 Codex 정액제로 월 €400만 지불하고 있습니다.

OpenClawRadar
클로드 코드용 피크 플러그인: 세션 메모리 자동 탐색
Tools

클로드 코드용 피크 플러그인: 세션 메모리 자동 탐색

Peek는 Claude Code용 플러그인으로, 사용자의 수정사항과 선호도를 자동으로 캡처하여 AI 어시스턴트를 조종하도록 주입합니다. 임베딩, BM25, 시간 감쇠, 메타데이터 필터를 결합한 퓨전 검색을 사용하여 수동 프롬프트 없이도 관련 컨텍스트를 제공합니다.

OpenClawRadar
CrabMeat v0.1.0: LLM이 보안 경계를 신뢰하지 않는 보안 우선 에이전트 게이트웨이
Tools

CrabMeat v0.1.0: LLM이 보안 경계를 신뢰하지 않는 보안 우선 에이전트 게이트웨이

CrabMeat v0.1.0은 에이전틱 LLM 워크로드를 위한 WebSocket 게이트웨이로, 아키텍처 수준에서 보안을 강화합니다: 기능 ID 간접화, 효과 클래스, IRONCLAD_CONTEXT 고정 명령어, 변조 감지 감사 체인, 스트리밍 출력 누출 필터, 그리고 YOLO 모드 없음.

OpenClawRadar