Inference Unlimited

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 :

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.

Język: FR | Wyświetlenia: 8

← Powrót do listy artykułów