KTransformers : moteur de performance pour l'inférence de grands modèles : accélération extrême, autonomisation flexible

Introduction générale

KTransformers : Un cadre Python de haute performance conçu pour briser le goulot d'étranglement de l'inférence de grands modèles. KTransformers est plus qu'un simple outil d'exécution de modèle, c'est un ensemble de moteurs d'optimisation des performances extrêmes et une plateforme d'habilitation d'interface flexible. KTransformers se consacre à l'amélioration de l'efficacité de l'inférence de grands modèles à partir de la base, en accélérant considérablement la vitesse d'inférence des modèles et en abaissant le seuil matériel grâce à l'optimisation avancée du noyau, à de puissantes stratégies de parallélisme (multi-GPU, attention éparse) et à d'autres technologies de base.

Au-delà de la simple exécution de modèles, KTransformers offre une gamme complète d'améliorations de performance et d'évolutivité des applications. Non seulement vous disposez d'une interface native compatible avec Transformers pour migrer en toute transparence vos projets existants, mais vous pouvez aussi facilement créer des applications conformes aux normes OpenAI et Ollama pour une intégration rapide dans tous les types d'applications. Nous fournissons également des ChatGPT Interface web stylisée permettant d'expérimenter et de tester rapidement les effets du modèle sans configuration fastidieuse.

KTransformers est conçu pour les utilisateurs qui exigent plus de performance. Que vous soyez un développeur à la recherche d'une vitesse de raisonnement optimale, un ingénieur ayant besoin de déployer efficacement des applications de grands modèles ou un utilisateur désireux d'expérimenter facilement des grands modèles de haute performance au niveau local, KTransformers vous fournit un support puissant pour libérer tout le potentiel des grands modèles afin de conduire des applications innovantes.

KTransformers:大模型推理性能引擎:极致加速,灵活赋能

 

Points forts :

  • Des performances extrêmes : Les optimisations au niveau du noyau et les stratégies parallèles apportentUn ordre de grandeur pour un raisonnement plus rapide.
  • Interfaces flexibles : Interfaces conformes à Transformers, API RESTful et interfaces web.Répondre aux besoins de différents scénarios d'application.
  • Largement compatible : Prise en charge de plusieurs GPU, de plusieurs architectures de CPU et de plusieurs macromodèles courants.S'adapter à une large gamme d'options matérielles et de modélisation.
  • La facilité d'utilisation va de pair avec la personnalisation : existantUne commodité prête à l'emploiÉgalement disponibleDe nombreuses options de configurationpour répondre aux besoins d'optimisation en profondeur des utilisateurs avancés.

 

Liste des fonctions

  • Transformateurs haute performance Interface compatible : fournit une interface entièrement compatible avec la bibliothèque Transformers.Migrez les projets existants sans frais et bénéficiez instantanément d'une amélioration des performances !.
  • Services d'API RESTful souples et faciles à utiliser Les normes de l'OpenAI et de l'Ollama sont respectées.Créer rapidement des services API évolutifsLes produits de l'entreprise sont conçus pour être facilement intégrés dans une variété d'applications et de plateformes.
  • Interface web de type ChatGPT prête à l'emploi Les services d'information et d'éducation : fournir une interface conviviale et interactive.Zéro code pour expérimenter et tester rapidement les performances du modèlepour faciliter la démonstration et la validation.
  • Moteur de calcul parallèle multi-GPU : : Exploiter la puissance de plusieurs GPUce qui améliore linéairement la vitesse d'inférence et réduit considérablement le temps de réponse.
  • Optimisation profonde des performances au niveau du noyau Les résultats de l'analyse de l'impact sur l'environnement sont présentés dans le tableau suivant : Utilisation de techniques avancées d'optimisation du noyau.Exploiter le potentiel du matériel informatique à partir de la baseet permet de réaliser un saut qualitatif dans la performance de l'inférence du modèle.
  • Cadre intelligent d'attention éparse : prise en charge du mécanisme d'attention éparse par bloc.Réduction significative de l'empreinte mémoireet permet un décodage efficace au niveau du processeur.Dépasser les goulets d'étranglement matériels.
  • Support écologique étendu pour les grands modèles Compatible avec InternLM, DeepSeek-Coder, etc.Une variété de grands modèles grand public (en expansion continue).Flexibilité dans le choix de la meilleure solution de modélisation.
  • Raisonnement local léger et performant Les services d'information et d'éducation : Pas besoin de matériel spécialisé coûteux.Des performances supérieures en matière d'inférence dans un environnement de bureau commun, ce qui abaisse le seuil d'utilisation.

 

Utiliser l'aide

montage

  1. entrepôt de clones : :
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
  1. Installation des dépendances : :
pip install -r requirements-local_chat.txt
  1. Installation des transformateurs K : :
python setup.py install

Pour commencer

  1. Modèles de chargement : :
from ktransformers import KTransformers
model = KTransformers(model_name="your_model_name")
  1. Exemple de raisonnement : :
input_text = "你好,KTransformers!"
output = model.infer(input_text)
print(output)
  1. Utiliser l'API RESTful Démarrer le service API :
python -m ktransformers.api

Envoyer une demande :

curl -X POST "http://localhost:8000/infer" -d '{"text": "你好,KTransformers!"}'

Fonctionnalités avancées

  • Support multi-GPU Modifier le fichier de configuration dans le répertoire racine du projet config.yamlPour améliorer la vitesse d'inférence, spécifiez les paramètres multi-GPU.
  • faible capacité d'attention Fichier de configuration dans le répertoire racine du projet config.yaml Ajout d'une configuration d'attention éparse pour optimiser l'utilisation de la mémoire, en particulier dans les environnements à ressources limitées.
  • inférence locale Fichier de configuration dans le répertoire racine du projet config.yaml Spécifiez les paramètres de mémoire et de mémoire vidéo pour une inférence efficace dans un environnement de bureau local, en prenant en charge 24 Go de VRAM et 150 Go de DRAM.

Détails de la configuration

  1. Configuration de plusieurs GPU Fichier de configuration : Editer le fichier de configuration config.yaml: :
gpu:
- id: 0 # GPU 设备索引 0
- id: 1 # GPU 设备索引 1
  1. Permettre une attention éparse Le fichier de configuration : Ajoutez-le dans le fichier de configuration :
attention:
type: sparse
  1. Paramètres de raisonnement locaux Spécifier les paramètres de la mémoire et de la mémoire vidéo dans le fichier de configuration :
memory:
vram: 24GB  # 显存限制 (GB),根据实际情况调整
dram: 150GB # 内存限制 (GB),根据实际情况调整
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

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