Files
2026-09-09 15:02:15 +02:00

35 lines
2.0 KiB
Markdown

Bibliothèque pour l'utilisation de systèmes quantifiés (avec déquant à la volée) pour PyTorch.
### Fonctions principales (attendues) :
- Kernels de Quant/DeQuant pour GPU
- GEMM (avec backward) en Q4_1 (plus tard d'autres quant)
- Optimiseurs avec APIs adaptées, agnostiques à la quant
- SGD custom avec compression géométrique 2 bits/poids
### Avancement/roadmap :
- [ ] Apprentissage de Triton en profondeur
- [ ] Système de détection du matériel au premier démarrage dans l'env
- [ ] Kernels de **Quant/DeQaunt en Q4_1**
- [ ] **GEMM fussionnée** avec une **DeQuant depuis Q4_1**
- [ ] Réécriture de AdamW avec les API des quant pour update des poids et autres
- [ ] *optionnel* : Réécriture de Muon avec les APIs de quant (plus adapté pour les LLM)
- [ ] Implémentation d'`embedding` et autres composants utiles aux LLM
- [ ] Ajout FP8 pour les calculs des kernels
- [ ] Implémentation du **SGD avec compression géometrique** (2 bits/poids)
- [ ] *optionnel* : Post-entraînement d'un **Qwen3 0.6b/1.7b** en **Q4_1** + calculs en **FP8 (ou FP16)** + **SGD 2bits** (sur une RTX 4080)
Ce dernier point validera tout, avant de passer à la suite, l'ajout des quantifications se fera après (Q2_K en premier).
### Détails importants :
- La quantficiation Q4_1 est exactement la même que dans **llama.cpp** en implémentation **1:1** pour permettre pré/post entraînement directement en quantification.
- Les kernels de **fused-GEMM** font une GEMM traditionnelle mais où le chargement des données (pointeurs **I/J**) se fait avec déquantification immédiate avant la **dot** (peut changer de logique). Les activations (ReLU, ReLU² et autres, sauf Softmax) ne seront pas codées pour le moment.
- Une implémentation dans un moteur d'inférence compatible (ex: vLLM) n'est pas du tout prévue et l'objectif n'est pas d'entraîner des modèles mais seulement de développer les outils.
- Un papier sur le SGD 2bits/poids est prévu en utilisant des principes de corrections géométriques dans le temps....
---
readme v1.1