Inference Unlimited

Guida: Come avviare Phi-2 su un computer con 32GB di RAM

Introduzione

Phi-2 è un potente modello linguistico che richiede hardware adeguatamente potente per essere avviato. In questa guida mostreremo come installare e avviare Phi-2 su un computer con 32GB di RAM. Cercheremo di coprire tutti i passaggi chiave, dalla preparazione dell'ambiente all'avvio del modello.

Prerequisiti

Prima di iniziare l'installazione, assicurati che il tuo sistema soddisfi i seguenti requisiti:

Installazione dell'ambiente

1. Installazione di Python

Phi-2 richiede Python 3.8 o versione successiva. Puoi installarlo utilizzando il gestore di pacchetti:

sudo apt update
sudo apt install python3.8 python3.8-venv

2. Creazione di un ambiente virtuale

Creare un ambiente virtuale aiuterà ad evitare conflitti con altri pacchetti:

python3.8 -m venv phi2_env
source phi2_env/bin/activate

3. Installazione delle dipendenze

Installa i pacchetti necessari:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes

Scaricamento del modello Phi-2

Puoi scaricare il modello Phi-2 utilizzando la libreria 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)

Configurazione della memoria

Per un computer con 32GB di RAM si consiglia di utilizzare ottimizzazioni della memoria come la quantizzazione a 8 bit:

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    load_in_8bit=True,
    offload_folder="offload",
    offload_state_dict=True,
)

Avvio del modello

Ora puoi avviare il modello e testarlo:

prompt = "Qual è il senso della vita?"
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))

Ottimizzazioni

1. Utilizzo di DeepSpeed

DeepSpeed è uno strumento per ottimizzare la memoria e le prestazioni:

pip install deepspeed

2. Configurazione di DeepSpeed

Crea un file 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. Avvio con 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
)

Riassunto

Avviare Phi-2 su un computer con 32GB di RAM richiede una corretta preparazione dell'ambiente e l'applicazione di ottimizzazioni della memoria. In questa guida abbiamo discusso i passaggi chiave come l'installazione di Python, la creazione di un ambiente virtuale, il download del modello e la configurazione della memoria. Grazie a questi passaggi dovresti essere in grado di avviare Phi-2 e godere delle sue potenti capacità.

Język: IT | Wyświetlenia: 6

← Powrót do listy artykułów