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

AutoBe: 약한 로컬 LLM들이 AI 백엔드 생성기의 아키텍처를 어떻게 고쳤는가
Tools

AutoBe: 약한 로컬 LLM들이 AI 백엔드 생성기의 아키텍처를 어떻게 고쳤는가

AutoBe는 TypeScript, NestJS, Prisma를 사용하여 완전한 백엔드 애플리케이션을 생성하는 오픈소스 AI 에이전트입니다. 팀은 초기 100% 컴파일 성공이 유지 불가능한 코드를 생성한다는 사실을 발견한 후, 모듈식 생성으로 재구축하여 성공률을 40%로 떨어뜨렸고, qwen3-30b-a3b-thinking과 같은 약한 로컬 LLM을 사용하여 스키마 모호성을 디버그했습니다.

OpenClawRadar
CodeLedger: 오픈소스 Claude Code 플러그인이 토큰 사용량과 백그라운드 에이전트를 추적합니다
Tools

CodeLedger: 오픈소스 Claude Code 플러그인이 토큰 사용량과 백그라운드 에이전트를 추적합니다

CodeLedger는 Claude Code용 오픈소스 MCP 서버 플러그인으로, 프로젝트 간 토큰 사용량을 자동으로 추적하고 백그라운드 에이전트를 식별하며, 로컬 JSONL 세션 파일 분석을 기반으로 비용 최적화 권장 사항을 제공합니다.

OpenClawRadar
Tripsy, Claude용 MCP 서버 출시: 구조화된 API로 여행 관리
Tools

Tripsy, Claude용 MCP 서버 출시: 구조화된 API로 여행 관리

Tripsy의 공식 MCP 서버를 통해 Claude가 여행, 활동, 숙소, 교통, 비용 데이터를 직접 읽고 생성 및 업데이트할 수 있습니다. 설정은 Claude의 커스텀 커넥터를 통해 약 1분이면 완료됩니다.

OpenClawRadar
Maggy: 크로스 세션 메모리와 P2P 팀 학습을 갖춘 Claude Code 기반의 자율 엔지니어링 플랫폼
Tools

Maggy: 크로스 세션 메모리와 P2P 팀 학습을 갖춘 Claude Code 기반의 자율 엔지니어링 플랫폼

Maggy는 AI 코딩 도구 스펙트럼의 4단계에 위치합니다: 다중 모델 오케스트레이션, 세션 간 메모리, CI/리뷰에서의 프로세스 인텔리전스, P2P 팀 학습. 벤치마크에서 Claude 사용량을 83% 줄이고 단일 파이프라인 Claude Code가 놓친 7개의 보안 문제를 발견했습니다.

OpenClawRadar