# BaseRT: Apple Silicon에서 Native Metal로 LLM 추론 처리량의 새 기준을 세운 방법
요약
Apple Silicon(M 시리즈)에서 LLM을 추론할 때 가장 널리 쓰이는 런타임은 llama.cpp와 MLX다. 두 도구 모두 성숙하고 사용하기 쉽지만, 둘 다 Apple Metal GPU API 위에 범용 추상 계층을 올려서 동작한다. 2026년 7월 arXiv에 발표된 BaseRT(arXiv:2607.00501)는 Metal을 직접 호출하는 전용 커널 퓨전과 Unified Memory 토폴로지 인식을 통해, 기존 런타임 대비 디코드 처리량을 최대 1.56배, 프리필 처리량을 최대 1.78배 개선했다고 보고했다. 이 챕터는 왜 기존 추상 계층이 Apple Silicon에서 성능 손실을 내는지, BaseRT가 그 틈새를 어떻게 메우는지를 구체적으로 살핀다.
왜 Apple Silicon은 기존 런타임에서 성능 손실이 생기는가
Unified Memory 아키텍처의 특성
Apple Silicon의 핵심 설계 결정은 CPU, GPU, Neural Engine이 물리적으로 같은 DRAM 풀을 공유한다는 점이다. CPU가 텐서를 준비하면 별도 복사 없이 GPU 커널이 즉시 접근할 수 있다. 이론적으로는 GPU-전용 메모리를 가진 서버 GPU보다 메모리 대역폭 활용이 유리하다.
그러나 실제 런타임 구현에서 이 구조를 완전히 활용하려면 메모리 접근 패턴을 Metal의 캐시 계층과 타일 크기에 맞춰 세밀하게 조율해야 한다. llama.cpp와 MLX는 다양한 하드웨어를 지원하는 범용 추상화를 제공하므로, Apple Silicon 전용 최적화를 끝까지 밀어붙이기가 구조적으로 어렵다.
기존 런타임의 두 가지 한계
1. Metal 커널 퓨전 제한
llama.cpp는 GGML 계산 그래프 위에 Metal 백엔드를 얹는 구조다. 여러 연산이 별도 커널로 분리 실행되면 각 커널 간 MTLCommandBuffer 제출 오버헤드가 누적된다. 특히 디코드 단계에서 배치 크기(batch=1)의 작은 텐서 연산이 반복되면 이 오버헤드가 실제 연산 시간에 비해 상대적으로 커진다.
2. Metal 디스패치 전략 불일치
MLX는 편의성 높은 배열 연산 API를 제공하지만, Metal 쉐이더에서 쓰레드 그룹 크기와 SIMD 레인 배치를 어떻게 잡느냐에 따라 성능이 2배 이상 달라진다. 범용 프레임워크는 가장 안전한 기본값을 택하지만, 그 기본값이 특정 모델의 레이어 형상(layer shape)에 항상 최적이지는 않다.
BaseRT의 접근 방식
BaseRT는 범용 프레임워크를 우회하고 Metal 셰이더를 모델별로 직접 작성·퓨전한다. 핵심 설계 결정은 세 가지다.
1. 레이어 형상 기반 커널 선택
LLM의 트랜스포머 블록에는 반복되는 연산 패턴이 있다: QKV 프로젝션, Softmax, 행렬-벡터 곱(decode 단계), 행렬-행렬 곱(prefill 단계). BaseRT는 각 모델의 헤드 수, 숨겨진 차원(hidden dim), KV 헤드 수를 파라미터로 받아 해당 형상에 최적화된 Metal 커널을 컴파일 타임에 선택한다.
예를 들어 디코드 단계에서 배치=1인 행렬-벡터 곱 커널은, SIMD 그룹 32개가 가중치 행(weight row) 하나를 나누어 처리하는 방식으로 레지스터 재사용을 최대화한다.
2. Unified Memory 직접 매핑
BaseRT는 가중치 버퍼를 Metal의 MTLBuffer storageMode:.shared(CPU/GPU 공유 메모리)로 할당하고, LTX 형식(QKV 가중치를 인터리브 배열로 저장)으로 미리 변환한다. 이 레이아웃은 디코드 시 KV 헤드 접근 패턴에 맞게 설계되어 캐시 라인 경계를 넘는 접근을 줄인다.
3. 커맨드 버퍼 일괄 제출
여러 작은 연산을 묶어 하나의 MTLCommandBuffer로 인코딩한 뒤 한 번에 GPU에 제출한다. 이를 통해 커널 간 동기화 오버헤드와 스케줄러 지연을 절감한다.
아키텍처 다이어그램
(llama.cpp / MLX)
(GGML / Array API)
(분리 실행, 범용 크기)
개별 제출
커널 자동 선택
(Unified Mem 최적화)
일괄 제출
벤치마크 결과
논문은 M3 Pro와 M4 Pro 디바이스에서 Qwen3, Llama 3.2, Gemma 4 모델 패밀리를 Q4/Q8 양자화로 테스트했다.
디코드 처리량 (tokens/s, 배치=1)
| 모델 | llama.cpp | MLX | BaseRT | vs llama.cpp | vs MLX |
|---|---|---|---|---|---|
| Llama-3.2-3B Q4 (M4 Pro) | 98 | 105 | 148 | +1.51× | +1.41× |
| Qwen3-7B Q4 (M4 Pro) | 72 | 80 | 112 | +1.56× | +1.40× |
| Gemma-4-9B Q4 (M4 Pro) | 61 | 70 | 88 | +1.44× | +1.26× |
| Qwen3-30B-A3B Q4 (M4 Pro) | 42 | 48 | 65 | +1.55× | +1.35× |
수치는 논문 Table 2에서 발췌한 근사값임. 정확한 값은 논문 원문을 참조.
프리필 처리량 (tokens/s, 프롬프트 길이별)
Qwen3-30B-A3B Q4 모델을 기준으로 프롬프트 길이 512~8192 토큰 범위에서 BaseRT는 MLX 대비 최대 1.78배 높은 프리필 처리량을 기록했다. 긴 프롬프트일수록 배치 행렬 연산 비중이 커지며 퓨전 커널의 효과가 두드러진다.
양자화 형식 지원
BaseRT는 Q2~FP16 총 여덟 가지 양자화 형식을 지원한다.
- Q2/Q3: 메모리 사용량이 가장 작지만 품질 손실이 크다. 저사양 디바이스나 초대형 모델을 탑재하기 위한 목적.
- Q4: 가장 많이 사용되는 균형점. BaseRT가 가장 집중적으로 최적화한 형식.
- Q8: FP16에 가까운 품질. 파인튜닝 결과를 그대로 평가할 때 유용.
- FP16: 참조 구현. 전체 정밀도가 필요한 연구 목적.
운영자 관점: 어디에 쓸 수 있나
BaseRT의 성능 이득은 특히 다음 시나리오에서 의미 있다.
엣지·온디바이스 추론
Mac Mini나 MacBook에서 7B~30B 모델을 로컬 추론 서버로 운영할 때 처리량이 직접 응답 레이턴시에 영향을 준다. 동일 하드웨어에서 1.5배 빠른 디코드는 동시 요청 처리 능력을 높인다.
코딩 어시스턴트 파이프라인
Qwen3-30B-A3B(MoE 아키텍처)는 활성 파라미터 3B 수준의 연산량으로 30B급 품질을 내는 모델이다. BaseRT에서 65 tokens/s 디코드가 가능하다면, 스트리밍 코드 생성 시 체감 속도가 크게 개선된다.
연구·벤치마킹
Q2~FP16 전 범위를 단일 런타임으로 지원하므로, 양자화 단계별 품질-속도 트레이드오프 실험에 일관된 환경을 제공한다.
한계와 열린 질문
범용성 제한: BaseRT는 현재 논문에서 평가한 모델 아키텍처(Qwen3, Llama 3.2, Gemma 4 패밀리)에 집중되어 있다. 새로운 아키텍처를 추가하려면 레이어 형상별 커널을 별도로 구현해야 한다.
배치 처리 성능: 배치=1 디코드에서 이득이 가장 크다. 서버 환경에서 여러 사용자를 동시에 처리하는 연속 배칭(continuous batching) 시나리오는 다른 최적화 경로가 필요하다.
M5 Neural Accelerator 확장: 동일 팀이 후속 논문(arXiv:2607.19438)에서 Apple M5의 Neural Engine을 트랜스포머 KV 어텐션 단계에 활용하는 방향을 탐색했다. 운영 실적은 아직 검증되지 않았다.
Open question: BaseRT가 오픈소스로 공개되거나 llama.cpp/MLX와 통합되어 일반 개발자가 쉽게 사용할 수 있게 될지는 현재 불분명하다.
요약 체크리스트
- [ ] Apple Silicon에서 LLM을 추론할 때 llama.cpp·MLX와의 처리량 차이 원인을 이해했다.
- [ ] Metal 커널 퓨전과 Unified Memory 직접 매핑이 성능에 미치는 영향을 파악했다.
- [ ] 디코드 1.56×, 프리필 1.78× 수치가 어떤 조건(모델, 하드웨어, 양자화)에서 측정됐는지 확인했다.
- [ ] Q4 양자화가 가장 집중적으로 최적화된 이유와 온디바이스 배포 시 의미를 이해했다.
- [ ] 범용성 한계(아키텍처별 커널 작성 필요)를 고려해 실제 도입 여부를 판단할 수 있다.
References
- arXiv:2607.00501 — BaseRT: Best-in-Class LLM Inference on Apple Silicon via Native Metal: https://arxiv.org/abs/2607.00501
- arXiv:2607.19438 — BaseRT: Advancing Best-in-Class LLM Inference with Apple M5 Neural Accelerators: https://arxiv.org/abs/2607.19438
- Apple Developer Documentation — Metal Programming Guide: https://developer.apple.com/documentation/metal
- llama.cpp GitHub Repository: https://github.com/ggerganov/llama.cpp
- MLX — Apple Machine Learning Research: https://github.com/ml-explore/mlx