Home
Login

Boîte à outils de modèles de langage de grande taille haute performance, prenant en charge le pré-entraînement, le réglage fin et le déploiement de plus de 20 modèles.

Apache-2.0Python 12.3kLightning-AI Last Updated: 2025-06-18

LitGPT - Boîte à outils de modèles de langage de grande taille haute performance

Aperçu du projet

LitGPT est une boîte à outils open source pour les grands modèles de langage développée par Lightning AI, offrant plus de 20 solutions de pré-entraînement, de fine-tuning et de déploiement à grande échelle de modèles de langage de grande taille haute performance. Ce projet est basé sur Lightning Fabric et étend Lit-LLaMA et nanoGPT, en se concentrant sur la fourniture de capacités de formation et de déploiement de LLM de niveau entreprise.

Caractéristiques principales

✅ Caractéristiques de niveau entreprise

  • Licence Apache 2.0 - Prend en charge une utilisation illimitée au niveau de l'entreprise
  • Convivial pour les développeurs - Implémentation en un seul fichier sans couche d'abstraction, facile à déboguer
  • Optimisation des performances - Conçu pour des performances maximales, une réduction des coûts et une accélération de la formation
  • Recettes validées - Recettes de formation/fine-tuning hautement optimisées testées à l'échelle de l'entreprise

✅ Caractéristiques techniques avancées

  • Implémentation à partir de zéro - Tous les modèles sont écrits à partir de zéro, sans couche d'abstraction, contrôle total
  • Flash Attention v2 - La dernière optimisation du mécanisme d'attention
  • Prise en charge multi-GPU - Implémentation via le parallélisme de données entièrement fragmentées (FSDP)
  • Optimisation de la mémoire - Déchargement CPU optionnel et prise en charge TPU/XLA
  • Techniques de quantification - Prise en charge des nombres à virgule flottante 4 bits, des entiers 8 bits et de la double quantification
  • Fine-tuning efficace en termes de paramètres - Prise en charge de LoRA, QLoRA, Adapter et Adapter v2

Modèles pris en charge

LitGPT prend en charge plus de 20 modèles de langage de grande taille courants, notamment :

Principales familles de modèles

  • Série Llama - Llama 3, 3.1, 3.2, 3.3 (paramètres 1B-405B)
  • CodeGemma - Modèle 7B spécialement conçu pour la génération de code
  • Série Gemma - Modèles open source de Google
  • Série Mistral - Incluant Mistral 7B et Mixtral, etc.
  • Série Phi - Petits modèles efficaces de Microsoft
  • Série Qwen - Modèles multilingues d'Alibaba
  • DeepSeek R1 - Le dernier modèle d'inférence

Modèles spéciaux

  • Série Falcon - Modèles haute performance développés par TII
  • StableLM - Modèle de langage stable de Stability AI
  • TinyLlama - Variante Llama légère
  • SmolLM - Petit modèle de Hugging Face

Fonctionnalités principales

1. Démarrage rapide

from litgpt import LLM
llm = LLM.load("microsoft/phi-2")
text = llm.generate("Fix the spelling: Every fall, the family goes to the mountains.")
print(text)

2. Fine-tuning du modèle

Prise en charge de plusieurs méthodes de fine-tuning :

  • Fine-tuning complet - Entraînement de tous les paramètres
  • Fine-tuning LoRA - Fine-tuning d'adaptation de faible rang
  • QLoRA - Fine-tuning LoRA quantifié
  • Fine-tuning Adapter - Fine-tuning de la couche d'adaptateur

Exemple de commande :

litgpt finetune microsoft/phi-2 \
  --data JSON \
  --data.json_path my_custom_dataset.json \
  --data.val_split_fraction 0.1 \
  --out_dir out/custom-model

3. Pré-entraînement du modèle

Prise en charge de l'entraînement à partir de zéro et de la poursuite du pré-entraînement :

litgpt pretrain EleutherAI/pythia-160m \
  --tokenizer_dir EleutherAI/pythia-160m \
  --data TextFiles \
  --data.train_data_path "custom_texts/" \
  --train.max_tokens 10_000_000 \
  --out_dir out/custom-model

4. Déploiement du modèle

Prise en charge du déploiement en un clic en tant que service Web :

# Déployer un modèle pré-entraîné
litgpt serve microsoft/phi-2

# Déployer un modèle personnalisé
litgpt serve out/custom-model/final

5. Évaluation du modèle

Prise en charge de plusieurs benchmarks d'évaluation :

litgpt evaluate microsoft/phi-2 --tasks 'truthfulqa_mc2,mmlu'

6. Chat interactif

litgpt chat microsoft/phi-2

Avantages techniques

Optimisation des performances

  • Vitesse d'inférence optimisée - Spécialement optimisée pour une inférence rapide
  • Prise en charge de la quantification - Réduit l'empreinte mémoire
  • Fonctionnement GPU à faible mémoire - Prise en charge des environnements à ressources limitées
  • Extension de niveau production - Prise en charge de 1 à 1000+ GPU/TPU

Optimisation de la mémoire et du calcul

  • Entraînement en précision mixte - Prise en charge du mélange FP16, BF16, FP32
  • Points de contrôle de gradient - Réduit l'utilisation de la mémoire
  • Déchargement CPU - Traitement des modèles très volumineux
  • Entraînement distribué - Prise en charge multi-nœuds multi-GPU

Entraînement configuré

LitGPT fournit des fichiers de configuration YAML validés, couvrant différents scénarios d'entraînement :

litgpt finetune \
  --config https://raw.githubusercontent.com/Lightning-AI/litgpt/main/config_hub/finetune/llama-2-7b/lora.yaml

Scénarios d'application

Recherche et développement

  • Recherche sur les modèles - Fournit un code lisible et facile à modifier
  • Expérimentation d'algorithmes - Prise en charge de la mise en œuvre rapide des dernières idées de recherche
  • Tests de référence - Processus d'évaluation de modèles standardisé

Applications d'entreprise

  • Modèles personnalisés - Fine-tuning de modèles pour des scénarios commerciaux spécifiques
  • Déploiement en production - Déploiement de services de modèles de niveau entreprise
  • Optimisation des coûts - Réduction des coûts de calcul grâce à la quantification et à l'optimisation

Éducation et apprentissage

  • Convivial pour les débutants - Structure de code claire et documentation détaillée
  • Enseignement pratique - Processus complet de la formation au déploiement
  • Formation à la recherche - Fournit aux chercheurs des outils de base fiables

Écosystème communautaire

Prise en charge de projets connus

  • Projet SAMBA - Modèle d'espace d'état hybride développé par Microsoft basé sur LitGPT
  • TinyLlama - Petit modèle de 300 M de paramètres entraîné à l'aide de LitGPT
  • Défi NeurIPS 2023 - Boîte à outils officielle du défi d'efficacité LLM

Communauté open source active

  • Mises à jour continues - Ajout régulier de nouveaux modèles et fonctionnalités
  • Contributions de la communauté - Bienvenue aux développeurs de tous niveaux
  • Documentation détaillée - Tutoriels complets et documentation API

Installation et utilisation

Installation de base

pip install 'litgpt[all]'

Installation à partir du code source

git clone https://github.com/Lightning-AI/litgpt
cd litgpt
pip install -e '.[all]'

Flux d'utilisation de base

  1. Sélectionner un modèle - Choisir parmi plus de 20 modèles pris en charge
  2. Préparer les données - Utiliser des ensembles de données intégrés ou des données personnalisées
  3. Configurer l'entraînement - Utiliser des configurations prédéfinies ou des paramètres personnalisés
  4. Exécuter l'entraînement - Pré-entraîner ou fine-tuner le modèle
  5. Déployer le modèle - Déployer en tant que service de production
  6. Évaluer le modèle - Utiliser des benchmarks standard

Documentation technique

LitGPT fournit une documentation technique complète, notamment :

  • Guide de démarrage rapide - Tutoriel complet de 0 à LitGPT
  • Tutoriel de fine-tuning - Inclut des instructions détaillées pour LoRA, QLoRA et Adapter
  • Guide de pré-entraînement - Processus complet d'entraînement de modèles à partir de zéro
  • Documentation de déploiement - Meilleures pratiques pour le déploiement en environnement de production
  • Optimisation des performances - Gestion des erreurs OOM et astuces d'optimisation de la mémoire
  • Déploiement dans le cloud - Guide d'utilisation de TPU et des plateformes cloud

Résumé

LitGPT est une boîte à outils de modèles de langage de grande taille complète et performante, adaptée à divers scénarios d'application, de la recherche à la production. Avec sa philosophie de conception d'implémentation à partir de zéro et sans couche d'abstraction, elle offre aux utilisateurs une flexibilité et un contrôle maximum, tout en garantissant un fonctionnement efficace dans diverses conditions matérielles grâce à de riches techniques d'optimisation et options de configuration. Que ce soit pour les chercheurs en IA, les développeurs d'entreprise ou les apprenants, chacun peut trouver dans LitGPT une solution adaptée à ses besoins.