LightLLM : un cadre léger et efficace pour raisonner et servir de grands modèles de langage

Derniers outils d'IAMise à jour il y a 4 mois Sharenet.ai
622 0
Trae

Introduction générale

LightLLM est un cadre d'inférence et de service basé sur Python pour le modèle du grand langage (LLM), connu pour sa conception légère, sa facilité de mise à l'échelle et ses performances efficaces. Le cadre s'appuie sur une variété d'implémentations open source bien connues, dont FasterTransformer, TGI, vLLM et FlashAttention, entre autres. lightLLM améliore considérablement l'utilisation du GPU et la vitesse d'inférence grâce à des techniques telles que la collaboration asynchrone, le batching dynamique et le parallélisme tensoriel pour un large éventail de modèles et de scénarios d'application.

LightLLM:高效的轻量级大语言模型推理和服务框架

 

Liste des fonctions

  • Collaboration asynchrone : Prise en charge des opérations asynchrones de découpage de mots, d'inférence de modèles et de dé-découpage afin d'améliorer l'utilisation du GPU.
  • Attention sans remplissage : prend en charge les opérations d'attention sans remplissage pour plusieurs modèles et traite les demandes présentant de grandes différences de longueur.
  • Traitement dynamique par lots : prend en charge la planification dynamique par lots des demandes.
  • FlashAttention : Augmentez la vitesse et réduisez l'empreinte mémoire du GPU avec FlashAttention.
  • Parallélisme tensoriel : Accélérer l'inférence sur plusieurs GPU en utilisant le parallélisme tensoriel.
  • Jeton Attention : mise en œuvre d'un mécanisme de gestion de la mémoire basé sur des jetons pour le cache KV avec zéro perte de mémoire.
  • Routeurs à haute performance : travailler avec Token Attention pour optimiser le débit du système.
  • Int8KV Cache : Augmentation de la capacité des jetons, presque un doublement.
  • Prise en charge de plusieurs modèles : BLOOM, LLaMA, StarCoder, ChatGLM2, etc.

 

Utiliser l'aide

Processus d'installation

  1. Installer LightLLM à l'aide de Docker :
   docker pull modeltc/lightllm
docker run -it --rm modeltc/lightllm
  1. Installer la dépendance :
   pip install -r requirements.txt

Utilisation

  1. Démarrer le service LightLLM :
   python -m lightllm.server
  1. Modèle de requête (exemple de console) :
   python -m lightllm.client --model llama --text "你好,世界!"
  1. Modèle de requête (exemple Python) :
   from lightllm import Client
client = Client(model="llama")
response = client.query("你好,世界!")
print(response)

Principales fonctions

  1. collaboration asynchroneLightLLM : LightLLM améliore considérablement l'utilisation du GPU en exécutant de manière asynchrone les opérations de segmentation, d'inférence de modèle et de dé-segmentation. Les utilisateurs n'ont qu'à lancer le service et le système se charge automatiquement de ces opérations.
  2. une capacité d'attention insuffisanteLightLLM : Lors du traitement de requêtes présentant de grandes différences de longueur, LightLLM prend en charge les opérations d'attention sans padding afin de garantir un traitement efficace. Aucune configuration supplémentaire n'est requise de la part de l'utilisateur et le système est automatiquement optimisé.
  3. Traitement dynamique par lotsLightLLM prend en charge la planification dynamique des lots, les utilisateurs peuvent définir les paramètres des lots par le biais du fichier de configuration, le système ajustera dynamiquement la politique des lots en fonction de la demande.
  4. FlashAttentionFlashAttention : En intégrant la technologie FlashAttention, LightLLM améliore la vitesse d'inférence et réduit l'empreinte mémoire du GPU. Les utilisateurs peuvent activer cette fonctionnalité dans le fichier de configuration.
  5. parallélisme tensorielLightLLM prend en charge le parallélisme tensoriel sur plusieurs GPU. Les utilisateurs peuvent définir le nombre de GPU et les paramètres de parallélisme via un fichier de configuration, et le système assignera automatiquement les tâches.
  6. Jeton d'attentionLightLLM : LightLLM met en œuvre un mécanisme de gestion de la mémoire basé sur des jetons pour le cache KV, ce qui garantit l'absence de gaspillage de mémoire. Il n'y a pas besoin de configuration supplémentaire de la part de l'utilisateur, le système gère la mémoire automatiquement.
  7. Routeur haute performanceLes routeurs haute performance de LightLLM fonctionnent avec Token Attention pour optimiser le débit du système. Les utilisateurs peuvent définir les paramètres de routage dans le fichier de configuration et le système optimisera automatiquement la politique de routage.
  8. Cache Int8KVLightLLM supporte le cache Int8KV pour augmenter la capacité des jetons, presque jusqu'au double. Les utilisateurs peuvent activer cette fonctionnalité dans le fichier de configuration, et le système ajustera automatiquement la stratégie de mise en cache.

Modèles pris en charge

LightLLM prend en charge une variété de modèles, y compris mais sans s'y limiter :

  • BLOOM
  • LLaMA
  • StarCoder
  • ChatGLM2
  • InternLM
  • Qwen-VL
  • Llava
  • Stablelm
  • MiniCPM
  • Phi-3
  • CohereForAI
  • DeepSeek-V2

Les utilisateurs peuvent sélectionner le modèle approprié en fonction de leurs besoins et le paramétrer en conséquence dans le fichier de configuration.

© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

aucun
Pas de commentaires...