llama.cpp : outil d'inférence efficace, supporte plusieurs matériels, facile à implémenter l'inférence LLM

Introduction générale

llama.cpp est une bibliothèque implémentée en C/C++ pur, conçue pour simplifier le processus d'inférence pour les grands modèles de langage (LLM). Elle prend en charge une large gamme de plates-formes matérielles, y compris Apple Silicon, NVIDIA GPU et AMD GPU, et fournit plusieurs options de quantification pour augmenter la vitesse d'inférence et réduire l'utilisation de la mémoire. L'objectif du projet est de parvenir à une inférence LLM de haute performance avec une configuration minimale pour les environnements locaux et en nuage.

llama.cpp:高效推理工具,支持多种硬件,轻松实现LLM推理llama.cpp:高效推理工具,支持多种硬件,轻松实现LLM推理

 

Liste des fonctions

  • Prise en charge de plusieurs plates-formes matérielles, y compris Apple Silicon, les GPU NVIDIA et les GPU AMD
  • Options de quantification des entiers de 1,5 à 8 bits
  • Prise en charge de plusieurs modèles LLM tels que LLaMA, Mistral, Falcon, etc.
  • Fournir une interface API REST pour faciliter l'intégration
  • Prise en charge du raisonnement mixte CPU+GPU
  • Fournir plusieurs langages de programmation, tels que Python, Go, Node.js, etc.
  • Fournir une variété d'outils et de supports d'infrastructure, tels que des outils de transformation de modèles, des équilibreurs de charge, etc.

 

Utiliser l'aide

Processus d'installation

  1. Entrepôt de clonage :
   git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
  1. Compiler le projet :
   make

Lignes directrices pour l'utilisation

transformation du modèle

llama.cpp fournit une variété d'outils pour convertir et quantifier les modèles afin qu'ils fonctionnent efficacement sur différents matériels. Par exemple, le modèle Hugging Face peut être converti au format GGML à l'aide de la commande suivante :

python3 convert_hf_to_gguf.py --model <model_name>

Exemple de raisonnement

Après la compilation, vous pouvez utiliser les commandes suivantes pour l'inférence :

./llama-cli -m models/llama-13b-v2/ggml-model-q4_0.gguf -p "你好,世界!"

Utilisation de l'API REST

llama.cpp fournit également un serveur HTTP compatible avec l'API OpenAI qui peut être utilisé pour les services d'inférence de modèles locaux. Démarrez le serveur :

./llama-server -m models/llama-13b-v2/ggml-model-q4_0.gguf --port 8080

L'interface Web de base est alors accessible via un navigateur ou en utilisant l'API pour les demandes d'inférence :

curl -X POST http://localhost:8080/v1/chat -d '{"prompt": "你好,世界!"}'

Fonction détaillée du déroulement des opérations

  1. Chargement du modèlePour ce faire, vous devez d'abord télécharger le fichier du modèle et le placer dans le répertoire spécifié, puis charger le modèle à l'aide de l'outil de ligne de commande.
  2. Configuration du raisonnementLes paramètres pertinents pour l'inférence, tels que la longueur du contexte, la taille du lot, etc., peuvent être définis via des fichiers de configuration ou des paramètres de ligne de commande.
  3. Intégration de l'APIL'interface API REST permet d'intégrer llama.cpp dans des applications existantes afin de mettre en place des services de raisonnement automatisés.
  4. l'optimisation des performancesLes résultats de l'étude sont les suivants : l'utilisation des options de quantification et des fonctions d'accélération matérielle peut améliorer de manière significative la vitesse et l'efficacité de l'inférence.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...