https://preview.redd.it/260fkihtk3zh1.png?width=2400&format=png&auto=webp&s=a80b6861abdeee3c9a4e705b6ad9b337be005722 안녕하세요 여러분, 저는 Kapitsa의 기여자 중 한 명인 Ye입니다. Kapitsa는 Qwen, Nemotron, Flint, Clover 모델을 로컬에서 실행하도록 Apple Silicon에 특화된 오픈소스 추론 엔진입니다. 저희가 직접 작성한 Metal 커널 덕분에 각 칩과 각 모델에 맞게 최적화할 수 있습니다.
https://github.com/nace-ai/kapitsa/
최신 업데이트 버전인 0.2.26이 출시되었습니다. 지난 M5 Max 수치 이후로, Flash-Next 180B는 프롬프트 읽기 속도가 46% 빨라졌고, 27B 모델은 작성 속도가 8% 빨라졌으며, DiffuSpace의 Clover 35B가 카탈로그에 추가되었습니다.
Kapitsa는 또한 SSD 오프로딩을 사용하여 Qwen Flash-Next 180B를 실행합니다. RAM에 담지 못하는 경우, 전문가(experts)들이 SSD에서 스트리밍되어 작동하며, 이로 인해 48 GB MacBook Pro에서 61 tok/s의 속도로 구동됩니다. 다음은 M5 Max와 128 GB가 장착된 2026 MacBook Pro 16에서의 엔드투엔드(end-to-end) 수치입니다: 여섯 가지 목표(밀집(dense), MoE, 하이브리드 Mamba-2 MoE 및 블록 확산 MoE)를 1K 컨텍스트부터 최대 32K까지 테스트했으며, 각 경우에 가장 빠른 엔진과 비교했습니다. 사용해 보세요 (모든 Apple Silicon Mac; 본 게시물의 모델: 35b, 27b, flash-next, bolt, flint, clover): brew install nace-ai/tap/kapitsa kapitsa serve --model 35b # localhost의 OpenAI 및 Anthropic API를 사용하려면 kapitsa opencode --model 35b # 또는 claude, codex, pi kapitsa bench # 자체 Mac을 벤치마킹하려면
https://preview.redd.it/r1t8d4jtk3zh1.png?width=2400&format=png&auto=webp&s=6f707ed68fe883ddf206de9e30e5f94cef4bd738
1K 컨텍스트부터 최대 32K까지.
32K 컨텍스트 길이에서 35B 모델은 여전히 초당 175 토큰(tok/s)을 기록하며, Flash-Next는 거의 성능 저하가 없습니다(90에서 78로). https://preview.redd.it/hxod2sktk3zh1.png?width=2400&format=png&auto=webp&s=9703ef7d4356cac43d685cf5e284a60a51764786 https://preview.redd.it/b2wqfimtk3zh1.png?width=2400&format=png&auto=webp&s=fd2da7b94e354af519fde41fbdaede61aa6df883 다른 엔진들과 비교했을 때, 동일한 Mac 환경에서 각 모델에 대해 다음 성능을 보였습니다: 35B 모델에서는 Splash가 1.23배, Bolt에서는 oMLX가 2.2배, Flint에서는 rec이 1.18배, 27B 모델에서는 mlx-serve가 1.12배의 속도 향상을 보여주었습니다. Flash-Next는 mlx-serve와 동률이며, Splash는 두 Qwen 모델에서 여전히 프롬프트 읽기(reads prompts) 속도가 더 빠르고, Mac 환경에서 Clover를 구동하는 다른 방법은 없습니다. https://preview.redd.it/zpjhe6otk3zh1.png?width=2400&format=png&auto=webp&s=2bf9bbc25c8231fcc1376e9f9efcf8d024914cea 버전 및 플래그가 포함된 모든 셀: benchmarks. 원본 실행 결과: results. 왜 빠른가: KFlash는 작성자의 추측을 하나의 체인(chain)으로 검증하고 첫 번째 오류에서 멈춥니다. 반면, KFlash는 동일한 8행 패스(8-row pass) 내에서 작성자가 제시한 후보들의 최적 우선 트리(best-first tree)를 검증하며, 목표가 동의하는 가장 긴 가지(longest branch)를 유지합니다. https://preview.redd.it/sle8vzptk3zh1.png?width=1200&format=png&auto=webp&s=c2e4afec6cad457c34108beab8824353c0123514 Apple 실리콘에 적합한 세 가지 특징: 거의 빈 행(Nearly free rows). Apple GPU는 8행 타일(8-row tiles)로 작동하므로, 밀집된 모델의 경우 8행 검증은 약 하나의 디코딩 단계 비용의 1.1~1.25배가 소요됩니다. Mac에 맞게 크기 조정됨(Sized per Mac). 각 트리는 해당 Mac에서 측정된 예산(budget)을 기준으로 사이클별로 크기가 결정됩니다: 행당 GPU 시간 수, 그리고 작성자가 스스로 승인한 내용과 비교하는 위치별 보정(calibration)이 포함됩니다. 시드 정확성(Seed-exact). 추측은 오직 목표 자체가 일반 디코딩의 난수(random number)를 사용하여 샘플링한 토큰과 일치할 경우에만 받아들여지므로, 샘플링된 응답은 동일한 시드를 가진 일반 샘플링이 작성하는 내용입니다. 기고 및 측정: 벤치마크 결과를 보내주세요. 여러분의 Mac에서 동일한 테스트를 실행하고 커뮤니티 결과에 추가해 주세요.
3~15분이 소요됩니다: brew install nace-ai/tap/kapitsa를 설치하고, brew install gh && gh auth login을 실행합니다. (주석: 결과는 GitHub 풀 리퀘스트로 전송됩니다.)
kapitsa bench --submit을 실행합니다. 모델을 선택하면, 무언가를 보내기 전에 질문이 나옵니다. 실행되는 동안은 플러그인(앱)을 연결하고 무거운 앱들을 닫아주세요.
마지막에 한 번 질문이 나옵니다. 'Enter'를 누르면 결과가 사용자의 GitHub 포크(fork)에서 풀 리퀘스트로 전송되며, 나머지 데이터는 Mac에 보관됩니다. 전송되는 내용은 약 2KB 크기이며, 사용자의 Mac 모델, 칩(chip), RAM, macOS 버전 및 숫자 정보만 포함하고, 일련번호(serial number), 사용자 이름 또는 경로(path)는 제외됩니다. (정확히 무엇이 전송될지 보려면 --dry-run을 추가하세요.)
GitHub가 없으신가요? 여기에 출력되는 숫자들을 댓글로 붙여넣어 주세요.
마지막으로 질문이 있습니다. 동일한 시드(seed) 하에서 트리가 검증된 샘플링(tree-verified sampling)이 일반 샘플링(plain sampling)과 토큰별로 일치하는 이전 연구를 알고 계신가요? 저희가 인용할 수 있도록 알려주세요.
저희는 SpecInfer, Medusa, EAGLE-2, 그리고 Sequoia를 인용합니다.
제출자: /u/DotaMate [링크] [댓글]