16GB 맥에서 35B 모델 돌리기: SSD 스트리밍으로 메모리 한계 넘기

오픈소스 프로젝트 ds4 런타임을 확장해 모델을 16GB M1 Pro 맥에서 돌리는 방법이 공개됐다. 이 모델의 Q4_K_S 양자화 버전은 용량이 약 20.8GB로, 16GB 메모리에는 통째로 올라가지 않는다. 이를 해결하기 위해 사용된 방식이 DS4로, 자주 쓰는 전문가(expert) 모듈만 제한된 크기의 메모리 캐시에 담아두고, 캐시에 없는 부분은 필요할 때마다 SSD에서 읽어오는 구조다.

이 모델은 MoE(, 여러 개의 전문 모듈 중 필요한 것만 골라 쓰는 구조) 방식이라 이런 스트리밍이 가능하다. 16GB M1 Pro에서 네 차례 측정한 중간값 기준으로, 프리필(입력 처리) 속도는 초당 15.04 토큰, 텍스트 생성 속도는 초당 9.77 토큰을 기록했다. 이 과정에서 메모리 압박은 정상 범위였고 스왑(디스크로 메모리를 밀어내는 현상)도 발생하지 않았다.

관련 런타임 코드, GGUF 파일 포맷 변환기, 벤치마크 상세 내역과 공개된 파일 링크가 저장소에 함께 올라와 있다. 아직 실험 단계이지만, 더 큰 사양의 맥이 아니라 실제 16GB 맥에서도 쓸 수 있는 수준이 됐다.

핵심 포인트

  • 모델(Q4_K_S 양자화, 약 20.8GB)을 16GB 맥에서 실행
  • DS4 방식: 자주 쓰는 전문가 모듈만 메모리에 캐시하고 나머지는 SSD에서 스트리밍
  • M1 Pro 16GB에서 프리필 초당 15.04토큰, 생성 초당 9.77토큰(4회 측정 중간값)
  • 측정 중 메모리 압박 정상, 스왑 발생 없음
  • 런타임 코드·GGUF 변환기·벤치마크·모델 파일 링크가 에 공개
원문 보기