Décomposition par opérateur
Cette page démonte le corpus opérateur par opérateur : ce que fait chacun, combien de modèles l’utilisent, qui l’a livré en premier en poids ouverts, et où se trouve la preuve — le champ exact du config.json, plus l’article original s’il existe.
Opérateurs d’attention
| Opérateur | Mécanisme et sens | Modèle | Premier adoptant en poids ouverts | Preuve |
|---|---|---|---|---|
| MHA | Chaque tête de requête possède sa paire clé/valeur : expressivité maximale, cache KV maximal. | 10 | GPT-2 (2019-02) | num_attention_heads = num_key_value_heads · arXiv:1706.03762 |
| GQA | Les têtes de requête partagent les têtes KV par petits groupes — l’essentiel de la qualité MHA pour une fraction du cache. | 46 | Llama 2 70B (2023-07) | num_key_value_heads < num_attention_heads · arXiv:2305.13245 |
| MQA | Toutes les têtes de requête partagent une seule tête KV : cache minimal, léger coût en qualité. | 3 | DeepSeek-V4-Flash (2026-04) | num_key_value_heads = 1 · arXiv:1911.02150 |
| MLA | Les clés/valeurs sont projetées dans un latent de rang faible plus une petite clé RoPE découplée ; le cache rétrécit d’un ordre de grandeur. | 21 | DeepSeek-V2 (2024-05) | kv_lora_rank · arXiv:2405.04434 |
| SWA | Chaque token n’observe qu’une fenêtre glissante récente ; cache et coût croissent linéairement avec le contexte. | 12 | Mistral 7B (2023-09) | sliding_window · arXiv:2310.06825 |
| Linear attention (hybrid) | Couches d’attention linéaire récurrentes à mémoire quasi constante, entrecoupées d’une minorité de couches complètes. | 0 | — | linear_attn_config / layer types |
Feed-forward et MoE
| Opérateur | Mécanisme et sens | Modèle | Premier adoptant en poids ouverts | Preuve |
|---|---|---|---|---|
| MoE | Le FFN devient un réseau de nombreux experts ; un routeur active le top-k par token, découplant capacité et calcul. | 55 | DeepSeekMoE 16B (2024-01) | n_routed_experts · num_experts_per_tok · arXiv:2401.06066 |
| SwiGLU / SiLU | Unités linéaires gateuses avec SiLU — meilleure qualité par paramètre que des blocs GELU/ReLU simples. | 70 | LLaMA 1 7B (2023-02) | hidden_act = silu · arXiv:2002.05202 |
Normalisation et position
| Opérateur | Mécanisme et sens | Modèle | Premier adoptant en poids ouverts | Preuve |
|---|---|---|---|---|
| RMSNorm | Normalisation par racine carrée de la moyenne des carrés, sans centrage : moins cher et stable à grande échelle. | 73 | LLaMA 1 7B (2023-02) | rms_norm_eps · arXiv:1910.07467 |
| RoPE | Encode la position relative en tournant les paires Q/K ; extrapolation naturelle avec le contexte. | 58 | Mistral 7B (2023-09) | rope_theta · arXiv:2104.09864 |
| YaRN long-context | Remet à l’échelle le spectre de fréquences de RoPE pour étirer la fenêtre de contexte bien au-delà du pré-entraînement. | 0 | — | rope_scaling.rope_type = yarn · arXiv:2309.00071 |
Inférence et précision
| Opérateur | Mécanisme et sens | Modèle | Premier adoptant en poids ouverts | Preuve |
|---|---|---|---|---|
| Multi-Token Prediction | Des têtes supplémentaires légères prédisent plusieurs tokens futurs par passage et accélèrent le décodage. | 39 | DeepSeek-V3 (2024-12) | num_nextn_predict_layers · arXiv:2412.19437 |
| FP8 training | Poids et activations en flottant 8 bits : environ la moitié de la mémoire et des matmuls plus rapides à l’échelle frontière. | 18 | DeepSeek-V3 (2024-12) | torch_dtype / quantization_config |
Note de méthode
L’adoption est décidée mécaniquement depuis le config.json livré (la colonne preuve nomme les champs exacts). « Premier adoptant » désigne la plus ancienne version en poids ouverts du corpus ; les précédents non ouverts sont traités sur la page Articles.