원문 캡처 · github.com
원문 캡처 · github.com

carmen은 Apple Silicon용 GPU 커널을 AI가 작성하면 여러 입력으로 정확성을 시험하고, 실제 Mac에서 모델 실행 속도까지 측정하는 도구다. 제작자는 일반적인 단일 입력 검사가 놓친 버그 75개를 carmen이 모두 찾아냈다고 보고했지만, 개별 커널의 개선이 큰 모델의 속도를 높이지는 못했다고 밝혔다.

Apple Silicon Mac에서 다음 명령으로 설치하고 실행할 수 있다. 모델 속도 측정과 carmen에 포함된 커널 사용에는 API 키가 필요하지 않다. 새 커널을 생성할 때만 Anthropic API 키가 필요하다.

text
pip install carmen-kernels # or: uv tool install carmen-kernels
carmen # the app
carmen speedup # Qwen 2.5 0.5B, stock vs carmen's kernels, on your Mac (no API key)
carmen speedup qwen0.5b qwen3b # several models in turn, then one table side by side
carmen levers qwen3b # speculative decoding, KV cache quantization, 3-bit weights vs stock (no API key)
carmen key # only to cook new kernels: paste an Anthropic key once, saved for you only

carmen은 Claude가 작성한 Metal 커널을 시험하고, 정확하면서 가장 빠른 커널을 남겨 개선하는 방식으로 작동한다. 제작자는 테스트 자체의 신뢰성을 확인하기 위해 정상 커널에 현실적인 버그 75개를 심었다. carmen의 테스트는 75개를 모두 잡았고, 일반적인 단일 입력 검사는 40개를 잡았다. Claude가 테스트에만 맞춰 커널을 작성하지 않도록 일부 테스트 입력은 숨긴다. 커널 속도는 MLX와 비교해 측정한 뒤 실제 모델에서도 다시 확인한다. 테스트 방식 설명

제작자가 M4 MacBook Pro(메모리 16GB)에서 측정한 결과에 따르면, masked softmax는 MLX가 세 단계로 처리하던 작업을 하나의 융합 커널로 실행해 1.82배 빨라졌다. 반면 애플이 이미 최적화한 행렬 곱셈과 어텐션에서는 carmen 커널이 더 느렸다.

커널MLX 처리 방식carmen 처리 방식속도 향상
masked softmax커널 3개융합 커널 1개1.82×
add + rmsnorm커널 2개융합 커널 1개1.41×
matmul애플 최적화 커널커널 1개0.93×
attention애플 최적화 커널커널 1개0.54×

실제 모델에서는 개선 폭이 작거나 속도가 떨어졌다. M4의 메모리 대역폭이 약 94GB/s여서 모델 가중치를 읽는 속도가 병목이 되기 때문이다. 제작자는 Qwen 2.5 0.5B에서 carmen 커널이 1.02배 속도를 냈고, 1.5B와 3B에서는 각각 0.93배, 0.95배였다고 보고했다. 3B 측정은 Mac이 더 바쁜 상태에서 진행됐지만, 속도 비교는 같은 조건에서 실행한 결과끼리 했다고 설명했다.

Qwen 2.5 4-bitMLXcarmen속도 향상가능한 최고 속도(추정)
0.5B214 tok/s220 tok/s1.02× [1.01–1.02]~337 tok/s
1.5B94 tok/s87 tok/s0.93× [0.93–0.95]~108 tok/s
3B44 tok/s†42 tok/s0.95× [0.93–0.97]~53 tok/s

큰 모델에서 더 효과가 있었던 방법은 carmen이 새로 만든 커널이 아니라 mlx-lm에 이미 있는 추측 디코딩(speculative decoding)이었다. 작은 모델이 다음 단어 몇 개를 예측하면 큰 모델이 한 번에 확인하는 방식이다. Qwen 3B의 8k 토큰 프롬프트에서는 속도가 44.5에서 66.0 tok/s로 올라 1.48배가 됐다. 7B에서는 개선 폭이 더 작았으며, 8-bit KV 캐시 양자화는 속도를 낮췄다. 4-bit KV 캐시는 Qwen 출력을 깨뜨렸다. 상세 측정과 조건은 carmen 저장소에서 확인할 수 있다.

제작자는 커널 단독 성능이 실제 모델 성능을 보장하지 않으며, 신뢰할 수 있는 측정값을 얻는 데 커널 작성보다 더 많은 작업이 들었다고 정리했다. 새 커널 생성과 평가 방법을 포함한 안내는 저장소 문서에 있다.