Sobre o projeto

ferrite é um motor de inferência de alto desempenho escrito em Rust, projetado especificamente para o modelo GLM-5.3-Flash. O motor utiliza uma arquitetura híbrida que combina atenção linear GatedDeltaNet, atenção esparsa DSA e camadas FFN densas/MoE. Seu principal objetivo de design é reduzir a sobrecarga de execução associada aos frameworks de serviço tradicionais, empregando especialização de modelo em tempo de compilação e planejamento estático de camadas. Características arquitetônicas principais incluem: 1. **Desagregação PDAF**: As fases de Prefill, Decode, Attention e FFN são tratadas como cidadãos de primeira classe, com um roteador dedicado e um grafo de operações estático, eliminando a sobrecarga de despacho em tempo de execução. 2. **Paralelismo Composável**: O motor suporta Paralelismo de Tensor (TP), Paralelismo de Contexto (CP) e Paralelismo de Contexto de Dados (DCP) por meio de um sistema unificado de álgebra de eixos. Isso permite configurações flexíveis de malha 3D (eixos Q, Kv e Head) que podem ser compostas para otimizar throughput e latência. 3. **MHC Exato e GatedDeltaNet**: Implementa resíduos de Multi-Head Connection (MHC) exatos e uma recorrência GatedDeltaNet por blocos paralela a WYF, verificada contra padrões de referência de CPU. 4. **Otimização CUDA**: O motor inclui kernels CUDA personalizados para arquiteturas sm_100a/sm_103a, com suporte para captura de grafo CUDA e verificação para garantir a estabilidade da sequência de operações durante a decodificação. O projeto enfatiza a correção numérica, usando um backend de CPU como padrão de referência para validar todos os outros backends. Atualmente, suporta batching contínuo, decodificação especulativa (MTP) e alcançou melhorias significativas de desempenho em GPUs B300, atingindo 64,8 tok/s no modo de decodificação com execução especulativa habilitada. A base de código é modular, com crates separadas para tipos, configuração de modelo, backends de kernel, gerenciamento de KV, batching, agendamento e execução.