본문으로 건너뛰기
피드

애플 실리콘 맥에서 젬마 4 26B를 램 2GB로 돌리는 오픈소스 엔진 등장

ai-ml 약 9분
vote
0
댓글
북마크

TurboFieldfare는 Gemma 4 26B-A4B 모델을 애플 실리콘 맥에서 약 2GB 메모리로 실행하는 Swift와 Metal 기반 런타임이다. 전체 14.3GB 모델을 메모리에 올리지 않고 공유 코어와 KV 캐시만 유지한 뒤, 토큰마다 필요한 전문가 가중치만 SSD에서 스트리밍하는 방식이 핵심이다.

  • 1

    Gemma 4 26B-A4B를 약 2GB 메모리 예산으로 실행

  • 2

    8GB M2 맥북 에어에서 5.1-6.3토큰/초 측정

  • 3

    24GB M5 Pro에서 31-35토큰/초 측정

  • 4

    모델 전체 14.3GB를 메모리에 올리지 않고 필요한 전문가 가중치만 SSD에서 스트리밍

  • 5

    Swift, Metal, SwiftUI, AppKit으로 맥 앱, CLI, OpenAI 호환 로컬 서버 제공

26B 모델을 2GB 메모리 예산에 욱여넣은 프로젝트

  • TurboFieldfare는 Gemma 4 26B-A4B instruction 모델을 애플 실리콘 맥에서 약 2GB RAM으로 돌리는 커스텀 런타임임

    • 전체 모델 설치 크기는 약 14.3GB지만, 이걸 통째로 메모리에 올리지 않음
    • 메모리에는 1.35GB짜리 공유 코어와 FP16 KV cache를 두고, 토큰마다 필요한 전문가 가중치만 SSD에서 읽어옴
    • 타깃은 애플 실리콘 맥이고, 검증 기준은 8GB M2 맥북 에어임
  • 이게 가능한 이유는 Gemma 4 26B-A4B가 MoE 구조라서임

    • 총 파라미터는 26B지만 토큰당 활성화되는 파라미터는 약 3.88B 수준임
    • 모든 전문가를 매번 쓰는 게 아니라 router가 고른 top-8 전문가만 필요함
    • TurboFieldfare는 바로 이 “필요한 전문가만 읽는다”는 점을 SSD 스트리밍으로 밀어붙임

중요

> 핵심 수치는 이거임. 8GB M2 맥북 에어에서 26B급 모델을 약 2GB 메모리로 올리고, decode 5.1-6.3토큰/초를 측정했다.

  • 구현은 Swift와 Metal로 직접 짠 네이티브 런타임임
    • MLX나 llama.cpp를 감싼 래퍼가 아니라 모델 특화 런타임임
    • Swift 라이브러리, 네이티브 맥 앱, CLI, 디코드 서비스, OpenAI 호환 로컬 서버, 스트리밍 repack 설치 도구를 제공함
    • macOS 26, Metal 4, Swift 6.2 이상이 필요하고 arm64 전용임

성능과 제약

  • 벤치마크는 꽤 솔직하게 “참고점이지 상한선은 아니다”라고 못박고 있음

    • 8GB M2 맥북 에어에서는 decode 5.1-6.3토큰/초
    • 24GB M5 Pro에서는 decode 31-35토큰/초
    • 프롬프트 길이, 생성 길이, 페이지 캐시 상태, 하드웨어에 따라 처리량이 달라짐
  • 모델 가중치는 꽤 공격적으로 압축되어 있음

    • MLX affine 4-bit, group 64 가중치를 사용함
    • router는 8-bit, shared expert와 routed expert는 4-bit임
    • 4K KV cache와 약 2GB 가중치 메모리 사용을 기준으로 설명됨
  • 기능 범위는 텍스트 전용임

    • 이미지, 오디오, 비디오는 지원하지 않음
    • 맥 앱과 CLI는 사용자 메시지, 모델 메시지, 선택적 시스템 지시를 지원함
    • 로컬 서버는 함수 도구 선언을 받을 수 있지만, 실제 도구 실행은 클라이언트가 승인하고 실행해야 함

⚠️주의

> 로컬 서버는 127.0.0.1:8080/v1에 뜨고 원격 인증이나 TLS가 없음. 문서에서도 loopback에만 두라고 명시함.

설치 흐름도 꽤 개발자스럽다

  • 첫 실행 때는 모델을 다운로드하고 .gturbo 포맷으로 다시 패킹함

    • 앱에서 Download를 누르면 고정된 Hugging Face revision에서 필요한 byte range를 가져옴
    • 전체 원본 체크포인트를 디스크에 한 번 더 만들지 않고, 도착하는 대로 .gturbo 레이아웃에 repack함
    • 다운로드는 약 15GB, 최종 설치는 약 14.3GB이며 manifest와 파일 해시 검증을 통과해야 완료로 인정됨
  • CLI와 앱은 같은 .gturbo 모델 디렉터리를 사용함

    • 맥 앱으로 설치했다면 기본 경로는 scratch/gemma4.gturbo임
    • CLI는 --messages-file로 chat message 배열을 받아 앱과 같은 방식으로 포맷팅함
    • --prompt는 raw completion용이고, instruction-response 대화에는 --messages-file을 쓰는 식으로 구분됨
  • 로컬 OpenAI 호환 서버도 제공함

    • Chat Completions, 스트리밍, function tool declaration, single-prefix prompt reuse를 지원함
    • 기존 OpenAI API 클라이언트나 로컬 코딩 도구와 붙여보기 좋지만, 지원 API는 부분집합임

내부 구조가 진짜 흥미로운 부분

  • 각 transformer layer에서 Metal은 attention과 router를 resident weight로 계산함

    • CPU는 router가 고른 top-8 expert ID를 받아 각 layer의 16-slot LFU cache를 기준으로 miss를 계획함
    • miss가 나면 bounded parallel pread로 SSD에서 Metal-visible buffer로 전문가 가중치를 채움
    • 그동안 Metal은 resident shared-expert branch를 계산하고, 이후 shared output과 routed output을 합침
  • prefill과 decode도 SSD 스트리밍에 맞게 설계되어 있음

    • prompt prefill은 최대 128토큰 chunk로 처리해서 한 번 가져온 expert가 여러 row에 쓰이게 함
    • generation은 토큰 하나씩 routed layer loop를 반복함
    • installer도 같은 원칙으로 원격 range를 바로 .gturbo에 repack해서 shard나 tensor 전체를 staging하지 않음
  • KV 저장도 모델 구조에 맞춰 나눠둠

    • 25개 sliding-window layer는 bounded circular storage를 사용함
    • 5개 full-attention layer는 linear storage를 사용함
    • decode attention은 normalized K와 V 경로를 분리한 exact split-K/V 방식이라고 설명됨

기술 맥락

  • 이 프로젝트의 핵심 선택은 “큰 모델을 줄인다”가 아니라 “지금 필요한 가중치만 가져온다”예요. Gemma 4 26B-A4B가 MoE 구조라서 토큰마다 모든 전문가를 쓰지 않는다는 점을 시스템 설계로 끌고 온 거죠.

  • 왜 SSD 스트리밍을 택했는지도 명확해요. 8GB 맥에서는 14.3GB 모델을 통째로 메모리에 올리는 순간 게임이 끝나니까, 공유 코어와 KV cache만 메모리에 남기고 routed expert는 필요할 때 읽는 방식으로 메모리 병목을 피한 거예요.

  • Metal을 직접 쓴 이유도 단순 취향만은 아니에요. router, attention, quantized GEMV, MoE 계산을 모델 구조에 맞춰 촘촘하게 제어해야 SSD 읽기와 GPU 계산을 겹칠 수 있거든요. 범용 런타임 위에서 이 정도로 특정 모델에 맞춘 스케줄링을 하기는 쉽지 않아요.

  • LFU expert cache가 들어간 것도 중요해요. 매 토큰마다 SSD를 무작정 읽으면 지연이 커지니까, layer마다 16-slot cache를 두고 자주 쓰는 expert를 남겨서 읽기 비용을 줄이려는 거예요.

  • 실무 제품으로 바로 쓰기보다는 온디바이스 추론 설계 사례로 보는 게 좋아요. 메모리가 작은 클라이언트 기기에서 MoE 모델을 굴릴 때, 양자화만으로 안 되는 구간을 I/O 스케줄링과 캐시 설계로 풀 수 있다는 걸 보여주거든요.

온디바이스 LLM의 병목이 “연산”만이 아니라 “가중치를 어디에 두고 언제 가져오느냐”라는 걸 잘 보여주는 프로젝트다. 실사용 제품이라기보다 연구성 해킹에 가깝지만, 8GB 맥에서 26B급 MoE 모델을 굴리는 설계 자체가 꽤 공유각임.

댓글

댓글

댓글을 불러오는 중...

ai-ml

앤드루 응, 1대1 AI 학습 회사 ‘런벡터’ 시작

앤드루 응이 AI 기반 1대1 학습 경험을 만들겠다며 런벡터를 공개했어. 단순 챗봇이 답을 대신 주는 방식이 아니라, 학습 경로를 같이 짜고 개인별 이해도에 맞춰 끝까지 따라붙는 튜터를 목표로 함.

ai-ml

부산대, AWS·엔비디아·네이버와 실전형 AI 인재 키우는 부트캠프 운영

부산대가 AWS 코리아, 엔비디아, 네이버커넥트재단과 함께 여름계절학기 AI 부트캠프를 운영했음. 100여 명의 학생이 24개 팀으로 참여해 클라우드 배포, 딥러닝, 생성형 AI 서비스 구현, 데모데이 기술 검증까지 경험했음.

ai-ml

제주 소형 AI 데이터센터부터 동물병원 AI 리포트까지, 국내 클라우드 업계 소식 모음

과기정통부와 NIPA가 제주 소형 AI 데이터센터 구축 과제를 선정했고, 인투CNS는 동물병원 진료 대화를 AI 리포트로 바꾸는 기술 특허를 등록했어. 포티투마루는 생성AI 인재 양성 사업 성과를 공유하며 산학 연계 사례를 내놓을 예정이야.

ai-ml

SK텔레콤, 6880억 파라미터 독자 AI 모델 A.X K2 공개

SK텔레콤이 독자 AI 파운데이션 모델 A.X K2를 허깅페이스에 공개했다. 작년 A.X K1보다 추론 성능을 크게 끌어올렸고, 제조·국방·바이오·게임 같은 실제 적용 사례도 같이 밀고 있다.

ai-ml

BC카드, 금융권 AI 플랫폼 BCGPT WebUI 오픈소스로 공개

BC카드가 자체 개발한 AI 통합 플랫폼 BCGPT WebUI를 오픈소스로 공개했다. 문서 검색, 질의응답, 콘텐츠 생성 기능을 제공하며, 금융권 핵심 AI 플랫폼을 오픈소스로 공개한 첫 사례라고 설명했다.