Deltafin은 네 개의 SSD를 사용하여 M1 Max MacBook Pro에서 Kimi K3 (2.8T)을 초당 1토큰으로 실행
빠른 요약
Deltafin은 M1 Max MacBook Pro에서 네 개의 SSD에서 미자르지 않은 2.8조 파라미터 Kimi K3 모델을 스트리밍하고, 모델의 전문가 라우팅이나 출력 품질을 희생하지 않고 약 초당 1토큰 (정적 상태에서 0.29토큰/초)의 속도에 도달합니다.
Deltafin이 하는 일
Deltafin은 완전히 자르지 않은 Kimi K3 MoE 모델(2.78T 파라미터, 약 1.45TB의 전문가 가중치)을 실행하는 단일 바이너리 Rust 런타임입니다. 필요에 따라 디스크에서 각 전문가 가중치를 스트리밍하며, 어텐션 트렁크는 int8 상태로 유지합니다. 바이너리는 K3 자체가 모든 토큰을 결정하도록 강제하며, 드래프트 모델의 단축 방식은 최종 출력을 변경할 수 없습니다.
- 정확한 품질 – 저자 제공 참조 프롬프트와 토큰 수준에서 완전히 일치하는 출력
- 모델 압축 없음 – 가중치는 공개된 MXFP4 정밀도 그대로 사용; 어텐션 트렁크만 int8로 사용되며, 이는 상류에서 이미 비비트 정확도가 아닌 것으로 간주됨
- 스트리밍 아키텍처 – 네 개의 Thunderbolt 5 SSD 케이스를 통해
pread+F_NOCACHE로 각 (레이어, 전문가)당 17.5MiB 파일을 읽음
M1 Max MacBook Pro에서의 벤치마크 결과
| 지표 | 값 | 해석 |
|---|---|---|
| 정적 상태 디코딩 속도 | 0.2901토큰/초 (초당 3.447초) | 이전 0.2847토큰/초 릴리스보다 약 1.9% 향상 |
| 단기 실행 속도 (128토큰) | 1.13토큰/초 | 캐시가 뜨거워서 장기 평균보다 높음 |
| 17토큰 벤치마크에서의 중앙값 속도 | 0.96토큰/초 | 상류에서 보고된 저자 참조값 0.684토큰/초에 근접 |
| 첫 토큰까지의 시간 (512토큰 프롬프트) | 약 6.3분 | 프리필이 주요 비용; 읽기 증폭 계수 ≈6.2배 |
역사적 진행 상황은 저장소 경로 최적화(예: 요청 및 프리페치 큐 분리, 장치 간 읽기 균형)로 인한 급속한 성능 향상을 보여줍니다. 저자는 네 가지 특정 수정이 총 속도 향상의 약 43%를 기여했다고 언급합니다.
저장소 서브시스템 작동 방식
- 네 개의 SSD는 Thunderbolt 5 케이스를 통해 연결되며, 각각 전문가 파일의 일부를 저장합니다.
- 읽기 경로: 전용 스레드 풀(기본 16개 스레드)이 OS 페이지 캐시 오염을 방지하기 위해
pread호출과F_NOCACHE를 사용합니다. - 프리페치: 원래 구현은 고정된 디렉터리 순서를 따라가며 모든 읽기가 단일 케이스에 집중되었습니다. Deltafin은 이제 프리페치를 가장 예상 완료 시간이 길 것인 장치로 배분하여 병렬성을 향상시킵니다.
- 복제: 핫 전문가를 두 개의 드라이브에 중복 저장할 수 있으며, 복제본 간 읽기 분할로 약 10%의 처리량 향상이 가능합니다.
- 감시 도구: 동반 프로젝트인 ARGODRIVE 레포는 각 드라이브가 어떤 전문가를 제공했는지 기록하는 10ms 단위의 디바이스 읽기 모니터링 및 장벽 추적 기능을 제공합니다.
설치 및 사용법
1. 바이너리 설치
git clone https://github.com/gavamedia/deltafin.git
cd deltafin
cargo build --locked --release
2. 모델 준비
- 전체 주거 모델 (가장 빠름)
./target/release/deltafin setup --full # 약 1.7TB의 가중치 다운로드 - 스트리밍 모드 (더 낮은 디스크 사용량)
./target/release/deltafin setup --stream # 약 215GB로 시작, 필요 시 전문가 가중치 요청
3. 프롬프트 실행
./target/release/deltafin run --chat \
--prompt "Saturn의 세 개 가장 큰 위성은 무엇인가요?"
--stats를 추가하면 토큰별 시간을 확인할 수 있으며, --max-new N을 사용하면 생성 토큰 수를 제한할 수 있습니다.
4. OpenAI 호환 API로 제공
./target/release/deltafin serve --host 127.0.0.1 --port 8000
서버는 /v1/chat/completions, /v1/completions, /v1/models를 구현하며, 엄격한 입력 검증과 스트리밍 SSE 출력을 지원합니다.
선택적 Qwen 추가 기능
Deltafin은 작은 Qwen 모델(0.6B/1.7B)을 로드하여 원시 연속 텍스트를 드래프트할 수 있습니다. 이후 K3가 드래프트를 검증하여 17토큰 완성에서 2.7배의 속도 향상을 달성하면서도 동일한 출력 ID를 유지합니다. 설치는 다음과 같이 수행합니다:
./target/release/deltafin setup-qwen
이 기능은 디스크에 약 4.3GiB를 추가하며, 채팅 모드에서는 가속화되지 않습니다.
Hacker News 댓글에서의 커뮤니티 인사이트
- 실용성에 대한 회의론 – 여러 사용자가 6분에 가까운 프리필 시간이 대부분의 실시간 사용 사례에 부적합하다고 지적함
- 하드웨어에 대한 호기심 – 더 빠른 SSD(예: Intel Optane)가 처리량을 향상시킬지 묻는 질문이 있었으며, 저자의 측정 결과는 이미 명확한 드라이브 수 래더(57% → 78% → 92% → 100%의 네 드라이브 속도)를 보여줌
- 확장 가능성 제안 – 다른 MoE 모델(예: GLM-Flash)에도 이 접근법을 적용할 수 있다는 제안이 있었으며, 스트리밍 전문가 기술의 보편적 적용 가능성을 시사함
- README 비판 – 여러 사용자가 문서가 정보량이 낮다고 느꼈으나, 저자는 나중에 성능 세부 정보와 실패한 구성 목록을 추가하여 다른 사용자가 결과를 재현하는 데 도움을 주었습니다.
저자가 여전히 도움을 요청하는 부분
- 전문가 중심 프리필 스케줄링 – 각 레이어당 전문가를 한 번만 읽고, 라우팅된 모든 행을 함께 처리하면 6.2배의 프리필 증폭을 1배로 줄일 수 있음
- 다른 하드웨어에서의 검증 – Apple Silicon이 아닌 플랫폼에서도 관측된 드라이브 래더 스케일링이 유지되는지 확인 필요
왜 이 것이 중요한가
소비자 하드웨어에서 2.8조 파라미터 MoE 모델을 실행하는 것은 저장소 중심 스트리밍이 최전선 AI 연구와 개인 컴퓨팅 접근성 사이의 격차를 메울 수 있음을 보여줍니다. 원시 디코딩 속도가 보통이지만, 이 실험은 읽기 경로 경합, 프리페치 균형, 전문가 복제와 같은 구체적인 엔지니어링 병목을 드러내며, 서버든 엣지 장치든 대규모 MoE 배포에 적용 가능한 통찰을 제공합니다.
라이선스 및 출처
- Deltafin 코드: MIT 라이선스
- Kimi K3 가중치, DSpark 체크포인트, 선택적 Qwen 체크포인트는 상류 라이선스를 유지
- 이 프로젝트는 Moonshot AI와 독립적이며, 어떤 기업과도 관계가 없습니다.
Sources
관련
- 프로젝트
- Dispatch
- Dispatch
- Dispatch
- Dispatch