Présentation du projet
Le dépôt llama-modchip propose une chaîne d’inférence CPU‑only capable de charger le modèle DeepSeek‑V4‑Flash de 284,33 B dans une machine équipée de 64 GiB de RAM. Le modèle, qui occupe habituellement 76,87 GiB en mémoire, est réduit à 56,56 GiB sur disque et consomme entre 57,61 GiB et 58,9 GiB de VmRSS lorsqu’il est exécuté avec un contexte de 256 K tokens. Cette réduction permet d’éviter les erreurs d’out‑of‑memory (OOM) rencontrées sur des systèmes Linux limités à 64 GiB.
Techniques de compression et d’optimisation
La diminution de taille repose sur plusieurs algorithmes combinés : une compression analytique Analytical SwiGLU‑H2 Second‑Order Hessian, le transcodage Fractal‑64 (format Q2_0, 3,75 bits‑per‑weight) et une stratégie de 4‑Level Register exploitant les registres ZMM AVX‑512BW. Le système utilise également le Whole‑Model Tiling avec des caches L1D (32 KB), L2 (1 MB) et L3 (64 MB), ainsi qu’une méthode de L₂‑Quadrature MoE Pruning pour éliminer les experts redondants. Ces couches de compression sont appliquées sans modification du code source du modèle, mais nécessitent des kernels personnalisés pour les types de tenseur GGML_TYPE_Q2_0 (identifiant 40).
Performances observées
Sur un processeur Zen 5 à 16 cœurs, le modèle 30 B MoE (NVIDIA‑Nemotron‑3.5‑30B‑A3B) occupe 14,35 GiB et atteint un débit de 25,0 à 60,4 tokens / s. Des plateformes plus puissantes, comme le Threadripper, atteignent 111,6 tok/s, tandis que le Graviton3 d’AWS (ARM64) délivre 44,97 tok/s. Le pipeline intègre un moteur de recherche de type Stockfish‑PVS v2 (1,64 MiB) et un routeur RouteCrack L2/L3 Drafter avec un taux d’acceptation de 96,4 %. Le module « Zero‑API Claude Code » supprime le goulot d’étranglement de 45 s lié à la réévaluation du prompt en utilisant un rétablissement de KV en /dev/shm (18,9 ms pour Nemotron‑30B, 13,1‑32,6 ms pour DeepSeek‑284B).
git clone https://github.com/synchopate/llama-modchip.git
cd llama-modchip
./modchip chatCompatibilité et limites
Les modèles Fractal‑64 utilisent des tenseurs BF16‑scale Gray‑coded (type 40) qui ne sont pas reconnus par les implémentations standard de llama.cpp, Ollama ou LM Studio. L’accès nécessite le binaire fourni avec la version 2.4.0 ou l’exécutable llama-server-modchip-linux-x86_64, qui ne dépend d’aucune bibliothèque dynamique. Cette contrainte limite l’interopérabilité avec les pipelines existants, mais garantit une exécution stable sur les architectures x86‑64 supportant AVX‑512BW. En l’absence de GPU, la latence de décodage reste supérieure à celle des solutions GPU, même si les taux de tokens sont proches des performances GPU sur certaines configurations.