| Fiche technique | |
|---|---|
| Type de produit : | Bibliothèque |
| Catégorie : | LLM (Inférence de modèles de langage) |
| Langage de programmation : | C++ |
| Auteur : | Georgi Gerganov |
| Licence : | MIT License |
| Date de publication : | 2023 à maintenant |
| Site Web : | https://github.com/ggml-org/llama.cpp |
Introduction
La bibliothèque llama.cpp est une implémentation en C/C++ permettant d'exécuter des modèles de langage de type LLaMA (Large Language Model Meta AI) de manière locale, efficace et indépendante de cadres d'application lourds comme TensorFlow ou PyTorch. Son objectif est de rendre l'inférence de modèles de grande taille accessible même sur des machines modestes, y compris sans GPU, en s'appuyant sur des optimisations très poussées, notamment via la bibliothèque GGML intégrée. Le code est conçu pour être portable et léger, avec un minimum de dépendances externes. Cela le rend particulièrement adapté à l'exécution sur des systèmes embarqués, des Raspberry Pi, des téléphones Android ou des ordinateurs personnels dépourvus de matériel de calcul avancé.
llama.cpp repose sur une structure modulaire et flexible. Il permet le chargement de modèles quantifiés dans un format optimisé appelé GGUF, regroupant les poids, les métadonnées et les instructions nécessaires à l'inférence. Grâce à cette approche, il est possible de réduire drastiquement la taille mémoire nécessaire et d'accélérer l'exécution, tout en conservant une bonne précision. De plus, le projet prend en charge un large éventail de modèles compatibles LLaMA, tels que Mistral, Falcon, Gemma ou Mixtral. Il intègre aussi plusieurs backends de calcul (CPU, CUDA, Metal, Vulkan, SYCL...), ce qui permet d'exploiter pleinement les capacités de différentes plateformes matérielles, que ce soit des microprocesseurs Apple Silicon, AMD, Intel ou NVIDIA.
Enfin, llama.cpp propose des outils pratiques pour les développeurs et chercheurs. On y trouve par exemple llama-cli pour exécuter des modèles en ligne de commande, llama-server pour créer une API locale compatible avec OpenAI, ou encore llama-bench pour tester les performances. Ce projet open source bénéficie d'une communauté très active et d'une documentation riche, ce qui facilite sa prise en main. Il est devenu un pilier de l'écosystème open LLM, en démocratisant l'usage local de l'intelligence artificielle générative. En résumé, llama.cpp représente un outil puissant et accessible pour quiconque souhaite expérimenter, développer ou déployer des modèles de langage sans infrastructure infonuagique.