ekzhang/resin

🧱 Experimental library for building inference engines

해결하는 문제

Resin은 사용자 정의 LLM 추론 엔진을 만들고자 하는 개발자에게 저수준 빌딩 블록 세트를 제공합니다. "올인원" 추론 엔진과 달리, 사전 패키지된 솔루션에 얽매이지 않고 새로운 모델이나 특정 하드웨어를 위한 특수 시스템을 구축할 수 있습니다.

작동 방식

Resin은 추론 프로세스를 고성능 Rust "엔진"과 모델별 러너의 두 부분으로 분리합니다. Rust 엔진은 배치 스케줄링, 캐시 메모리 관리, 메트릭과 같은 무거운 작업을 처리하고, 포워드 패스(실제 모델 로직)는 특정 하드웨어에 최적화된 커널로 작성합니다. 이 모듈식 설계를 통해 동일한 코어 스케줄링 로직을 사용하면서 CUDA, PyTorch, Apple Silicon(MLX)용 러너를 플러그인할 수 있습니다.

대상 사용자

이 프로젝트는 LLM 추론 시스템을 실험하거나 최적화하려는 개발자와 연구자를 대상으로 합니다. 일반적인 프로덕션 사용을 위해 설계되지 않았습니다. 바로 사용할 수 있는 프로덕션 엔진이 필요하다면 vLLM이나 SGLang과 같은 기존 도구를 권장합니다. Resin은 추론을 "해킹"하거나, 새로운 모델 지원을 개발하거나, 사용자 정의 하드웨어에서 성능 한계를 뛰어넘고자 하는 사람들을 위한 것입니다.

주요 특징

  • 모듈식 아키텍처: 배치 스케줄러를 모델별 포워드 패스와 분리합니다.
  • 고성능 코어: Rust 기반 스케줄러, 슬랩 기반 캐시 풀, 추측 디코딩 지원을 포함합니다.
  • 하드웨어 독립적: CUDA(그래프 지원 포함) 및 Apple Silicon(MLX 경유)을 포함한 다양한 백엔드를 지원합니다.
  • 성능 도구: 병목 현상 진단 및 성능 개선 검증을 돕는 내장 벤치마킹, 프로파일링, "자동 연구" 워크플로우가 포함됩니다.
  • 유연한 배포: OpenAI 및 Anthropic과 같은 일반적인 API와 호환되는 선택적 HTTP 서버가 포함됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트