Helldez/BigMoeOnEdge

Run MoE models bigger than your RAM. Frontier-size MoE on a 12 GB phone, lossless, on stock llama.cpp

해결하는 문제

BigMoeOnEdge는 스마트폰이나 CPU만 사용하는 PC처럼 RAM이 매우 제한된 기기에서 거대한 Mixture-of-Experts(MoE) 모델을 실행할 수 있게 합니다. 모델이 사용 가능한 시스템 메모리보다 클 때 일반적으로 OS 페이징/스와핑으로 인해 충돌하거나 극도로 느려지는 문제를 해결합니다. 플래시 스토리지를 메모리 계층의 일부로 취급함으로써 출력 품질을 잃지 않고 기기 RAM보다 몇 배 큰 모델을 실행할 수 있습니다.

작동 방식

이 엔진은 llama.cpp 공개 API 위에 구축되었으며 가중치 관리에 스트리밍 방식을 사용합니다. 전체 모델을 RAM에 로드하는 대신 필수 비전문가 가중치만 상주시키고, 생성되는 각 토큰에 필요한 특정 "전문가"를 필요한 순간에 플래시 스토리지에서 직접 읽습니다.

주요 기술 메커니즘은 다음과 같습니다:

  • 전문가 캐싱: 자주 사용되는 전문가를 RAM에 유지하여 스토리지 읽기를 줄입니다.
  • 병렬 I/O 레인: 여러 전문가 슬라이스를 동시에 읽어 플래시 스토리지 대역폭을 포화시킵니다.
  • 직접 I/O: OS 페이지 캐시를 우회하여 중복 메모리 사용을 방지합니다.
  • I/O와 연산 중첩: 현재 레이어가 아직 계산 중일 때 다음에 필요한 가중치를 미리 가져옵니다.
  • 행 수집 테이블: 조밀한 테이블(예: 토큰 임베딩)을 완전히 로드하지 않고 제한된 윈도우로 플래시에서 스트리밍합니다.

대상 사용자

최첨단 대형 MoE 모델(예: DeepSeek V4 Flash 또는 Qwen 시리즈)을 고급 GPU나 대용량 RAM 없이 엣지 기기(Android 스마트폰, 노트북)에서 실행하려는 개발자와 애호가.

하이라이트

  • RAM 독립적 실행: RAM이 12 GB에 불과한 기기에서도 모델(예: 284B 파라미터 모델)을 실행합니다.
  • 무손실 스트리밍: 출력은 모델을 메모리에 완전히 상주시켜 실행한 것과 바이트 단위로 동일합니다.
  • 폭넓은 호환성: llama.cpp가 지원하는 모든 양자화 형식, 토크나이저, 채팅 템플릿을 지원합니다.
  • NPU 가속: Snapdragon Hexagon NPU에서 선택적 프리필 가속.
  • 결정 모드: 단일 프리필로 객관식 문제에 답하는 전용 --decide 모드로, 느린 토큰 단위 디코딩을 우회합니다.
  • 다중 샤드 지원: 병합 단계 없이 다중 샤드 GGUF 파일을 기본적으로 읽습니다.

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트