À propos du projet
ggml est une bibliothèque de tenseurs pour l'apprentissage automatique écrite en C/C++ pur, avec l'objectif annoncé d'être simple, portable et efficace avec une configuration minimale. C'est la fondation tensorielle derrière des projets tels que llama.cpp.
Caractéristiques principales décrites dans le README :
- Implémentation en C/C++ pur sans dépendances externes.
- Prise en charge multiplateforme : x86, ARM, RISC-V, LoongArch, PowerPC, s390x et WebAssembly.
- Noyaux optimisés SIMD pour x86, ARM et RISC-V.
- Large prise en charge des backends couvrant les environnements CPU, GPU, NPU et navigateur.
- Quantification entière de 2 bits à 8 bits, plus les formats de micro-échelle MXFP4 et NVFP4.
- Zéro allocation mémoire pendant l'exécution.
Pour démarrer, il suffit de compiler depuis les sources avec CMake :
```bash
git clone https://github.com/ggml-org/ggml
cd ggml
mkdir build && cd build
cmake ..
cmake --build . --config Release -j 8
```
Un exemple minimal et entièrement commenté couvrant la multiplication matricielle est disponible dans examples/simple.
La documentation référencée par le projet comprend la spécification du format de fichier GGUF, une introduction à ggml publiée sur Hugging Face, et une page wiki GGML tips and tricks.
Pour les contributions à la bibliothèque ggml principale, y compris le système de build CMake, le README demande aux contributeurs d'ouvrir une pull request dans le dépôt llama.cpp à la place, afin que les modifications bénéficient de plus de visibilité, de tests et de relecture.
Le projet est publié sous licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.