프로젝트 소개

ferrite는 GLM-5.3-Flash 모델을 위해 특별히 설계된 고성능 추론 엔진으로, Rust로 작성되었습니다. 이 엔진은 GatedDeltaNet 선형 주의, DSA 희소 주의, 그리고 밀집/MoE FFN 레이어를 결합한 하이브리드 아키텍처를 활용합니다. 주요 설계 목표는 컴파일 시간 모델 특수화와 정적 레이어 계획을 통해 전통적인 서빙 프레임워크와 관련된 런타임 오버헤드를 해결하는 것입니다. 핵심 아키텍처 특징은 다음과 같습니다: 1. **PDAF 분리**: Prefill, Decode, Attention, 그리고 FFN 단계는 전용 라우터와 정적 연산 그래프를 갖는 일급 시민으로 취급되어, 런타임 디스패치 오버헤드를 제거합니다. 2. **조합 가능한 병렬 처리**: 엔진은 텐서 병렬 처리(TP), 컨텍스트 병렬 처리(CP), 그리고 데이터 병렬 컨텍스트 병렬 처리(DCP)를 통합된 축 대수 시스템을 통해 지원합니다. 이를 통해 Q, Kv, 그리고 Head 축에 대한 유연한 3D 메시 구성이 가능하며, 이는 처리량과 지연 시간을 최적화하기 위해 조합될 수 있습니다. 3. **정확한 MHC와 GatedDeltaNet**: CPU 골든 표준에 대해 검증된 정확한 다중 헤드 연결(MHC) 잔차와 WYF 병렬 청크별 GatedDeltaNet 순환을 구현합니다. 4. **CUDA 최적화**: 엔진은 sm_100a/sm_103a 아키텍처용 맞춤형 CUDA 커널을 포함하며, 디코딩 중 연산 시퀀스 안정성을 보장하기 위한 CUDA 그래프 캡처 및 검증을 지원합니다. 이 프로젝트는 수치적 정확성을 강조하며, CPU 백엔드를 사용하여 다른 모든 백엔드를 검증하는 골든 표준으로 사용합니다. 현재 연속 배치, 추측 디코딩(MTP)을 지원하며, B300 GPU에서 추측 실행이 활성화된 디코딩 모드에서 64.8 tok/s의 성능을 달성했습니다. 코드베이스는 모듈식으로 구성되어 있으며, 타입, 모델 구성, 커널 백엔드, KV 관리, 배치, 스케줄링, 그리고 실행을 위한 별도의 크레이트가 있습니다.