Guide : Comment lancer Phi-2 sur un ordinateur avec 32GB de RAM
Introduction
Phi-2 est un modèle linguistique puissant qui nécessite un matériel suffisamment performant pour être lancé. Dans ce guide, nous allons vous montrer comment installer et lancer Phi-2 sur un ordinateur avec 32GB de RAM. Nous essaierons de couvrir toutes les étapes clés, de la préparation de l'environnement au lancement du modèle.
Prérequis
Avant de commencer l'installation, assurez-vous que votre système répond aux exigences suivantes :
- Système d'exploitation : Linux (Ubuntu 20.04/22.04 recommandé) ou Windows 10/11
- Processeur : Intel i7 ou plus récent, AMD Ryzen 7 ou plus récent
- Mémoire RAM : 32GB (64GB recommandés pour une meilleure performance)
- Carte graphique : NVIDIA RTX 3060 ou plus récente (RTX 4090 recommandée pour une meilleure performance)
- Espace disque : au moins 50GB d'espace libre
Installation de l'environnement
1. Installation de Python
Phi-2 nécessite Python 3.8 ou une version ultérieure. Vous pouvez l'installer à l'aide du gestionnaire de paquets :
sudo apt update
sudo apt install python3.8 python3.8-venv
2. Création d'un environnement virtuel
La création d'un environnement virtuel aidera à éviter les conflits avec d'autres paquets :
python3.8 -m venv phi2_env
source phi2_env/bin/activate
3. Installation des dépendances
Installez les paquets nécessaires :
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes
Téléchargement du modèle Phi-2
Vous pouvez télécharger le modèle Phi-2 à l'aide de la bibliothèque Hugging Face Transformers :
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", load_in_8bit=True)
Configuration de la mémoire
Pour un ordinateur avec 32GB de RAM, il est recommandé d'utiliser des optimisations de mémoire telles que la quantification en 8 bits :
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True,
offload_folder="offload",
offload_state_dict=True,
)
Lancement du modèle
Maintenant, vous pouvez lancer le modèle et le tester :
prompt = "Quel est le sens de la vie ?"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Optimisations
1. Utilisation de DeepSpeed
DeepSpeed est un outil pour optimiser la mémoire et les performances :
pip install deepspeed
2. Configuration de DeepSpeed
Créez un fichier ds_config.json :
{
"train_batch_size": "auto",
"gradient_accumulation_steps": "auto",
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": 1e-8,
"weight_decay": 0.01
}
},
"fp16": {
"enabled": "auto"
},
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"offload_param": {
"device": "cpu",
"pin_memory": true
}
}
}
3. Lancement avec DeepSpeed
from transformers import AutoModelForCausalLM, AutoTokenizer
import deepspeed
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, export=False)
ds_config = {
"train_batch_size": "auto",
"gradient_accumulation_steps": "auto",
"optimizer": {
"type": "AdamW",
"params": {
"lr": "auto",
"betas": "auto",
"eps": 1e-8,
"weight_decay": 0.01
}
},
"fp16": {
"enabled": "auto"
},
"zero_optimization": {
"stage": 3,
"offload_optimizer": {
"device": "cpu",
"pin_memory": true
},
"offload_param": {
"device": "cpu",
"pin_memory": true
}
}
}
model_engine, optimizer, _, _ = deepspeed.initialize(
model=model,
config=ds_config
)
Résumé
Lancer Phi-2 sur un ordinateur avec 32GB de RAM nécessite une préparation appropriée de l'environnement et l'application d'optimisations de mémoire. Dans ce guide, nous avons discuté des étapes clés telles que l'installation de Python, la création d'un environnement virtuel, le téléchargement du modèle et la configuration de la mémoire. Grâce à ces étapes, vous devriez être en mesure de lancer Phi-2 et de profiter de ses puissantes capacités.