Spite 소개
요약
Spite는 다양한 커스텀 추론 엔진을 하나의 시스템으로 통합하는 비전입니다. 사용자가 특정 카드와 모델에 맞춰 최적화된 커널과 설정을 직접 디자인하고 컴파일할 수 있게 합니다. 모든 레이어(모델, GPU 아키텍처, 연산)가 독립적인 모듈로 교체 가능하여 유연성을 극대화합니다.
핵심 포인트
- 모든 모델은 독립적인 모듈로 관리되어 새로운 변형 추가가 용이함.
- GPU별 최적 커널을 분리하여 RTX 4090, RX 7900 XTX 등 각 장비의 특성을 활용 가능.
- 병목 연산만 개별적으로 튜닝할 수 있어 효율적인 성능 개선이 가능함.
- 샘플러, 토크나이저 등 모든 하위 시스템은 플러그인 레지스트리 방식으로 교체 가능함.
Spite는 제가 구상한 비전입니다. 특정 카드나 설정에 맞춰 설계된 수많은 커스텀 추론 엔진들을 하나의 시스템으로 통합할 수 있다면 어떨까요? 사용자는 자신의 환경을 위해 커널과 최적화를 직접 디자인할 수 있습니다. 자신이 사용할 카드와 원하는 모델만을 위해 컴파일하면 됩니다.
Spite는 단 하나의 규칙 위에 구축되었습니다: 모든 레이어는 다른 어떤 레이어도 건드리지 않고 교체 가능합니다.
이것이 추상적으로 들릴 수 있으니, 실제로는 다음과 같은 의미를 가집니다:
모든 모델은 독립적인 모듈입니다
커널들은 계열과 변형별로 그룹화됩니다: kernels/llama/llama4/, kernels/deepseek/v4/, kernels/qwen/qwen3_5/, kernels/mistral/mistral4/, kernels/gemma/gemma4/. 새로운 모델 변형을 추가한다는 것은 새로운 <family>/<model>/ 폴더를 추가하는 것을 의미합니다. 기존 모델에 대해서는 아무것도 변경되지 않습니다. 디스패처(dispatcher)가 자동으로 찾아냅니다.
모든 GPU는 독립적인 모듈입니다
kernels/llama/llama4/sm_89/는 kernels/llama/llama4/rdna3/와 완전히 분리되어 있습니다. RTX 4090 커널은 FP8 텐서 코어를 사용할 수 있습니다. RX 7900 XTX 커널은 96MB의 Infinity Cache를 활용할 수 있습니다. Apple M4 커널은 Neural Engine을 사용할 수 있습니다. 각각은 모든 것을 처리해야 하는 약화된(watered-down) 커널이 아니라, 자신을 빠르게 만드는 요소를 갖게 됩니다.
모든 연산은 독립적으로 튜닝 가능합니다
커널이 모든 것을 구현할 필요는 없습니다. 어텐션(attention)만 최적화하는 커널은 FFN과 rms_norm에 폴백(fallback)을 맡깁니다. 사용자는 병목 현상을 일으키는 단 하나의 연산만 튜닝하면 됩니다. 나중에 누군가 FFN을 개선하더라도, 두 가지 개선 사항 모두 자동으로 쌓입니다—디스패처가 각 GPU의 각 연산에 대해 가장 좋은 사용 가능한 커널을 선택합니다.
모든 하위 시스템은 교체 가능합니다
샘플러(sampler), 토크나이저(tokenizer), KV 캐시 백엔드, 오프로드 정책 등 모두 플러그인 레지스트리입니다. 특정 모델이나 작업에 대한 사용자 정의 샘플러를 등록하면 엔진이 이를 사용합니다. 메모리가 제한된 배포 환경을 위한 사용자 정의 KV 캐시를 등록하면 스케줄러가 이를 사용합니다. 포크(fork)할 필요가 없습니다.
let engine = EngineBuilder::new()
.with_sampler(PluginKey::for_model("llama4"), Box::new(MyGreedySampler))
.with_cache(PluginKey::default(), Box::new(PagedKvCache::new(vram)))
...
모든 컴포넌트는 독립적으로 사용 가능
Spite는 Rust 워크스페이스입니다. 전체 서버 스택을 가져오지 않고도 로더만, 스케줄러만, 또는 커널 개발을 위한 ABI 타입만 사용할 수 있습니다. 필요한 부분들로 원하는 것을 구축하세요.
아직 매우 초기 단계이지만, 사람들이 기여해 주시면 좋겠습니다.
https://github.com/giveen/spite
submitted by /u/giveen
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기