Leitfaden: Wie man Phi-2 auf einem Computer mit 32GB RAM startet
Einführung
Phi-2 ist ein leistungsstarkes Sprachmodell, das eine entsprechend leistungsfähige Hardware zum Starten erfordert. In diesem Leitfaden zeigen wir, wie man Phi-2 auf einem Computer mit 32GB RAM installiert und startet. Wir werden versuchen, alle wichtigen Schritte abzudecken, von der Vorbereitung der Umgebung bis zum Starten des Modells.
Voraussetzungen
Stellen Sie vor der Installation sicher, dass Ihr System die folgenden Anforderungen erfüllt:
- Betriebssystem: Linux (empfohlen Ubuntu 20.04/22.04) oder Windows 10/11
- Prozessor: Intel i7 oder neuer, AMD Ryzen 7 oder neuer
- Arbeitsspeicher: 32GB (empfohlen 64GB für bessere Leistung)
- Grafikkarte: NVIDIA RTX 3060 oder neuer (empfohlen RTX 4090 für bessere Leistung)
- Speicherplatz: mindestens 50GB freier Speicherplatz
Installation der Umgebung
1. Installation von Python
Phi-2 erfordert Python 3.8 oder eine neuere Version. Sie können es mit dem Paketmanager installieren:
sudo apt update
sudo apt install python3.8 python3.8-venv
2. Erstellung einer virtuellen Umgebung
Die Erstellung einer virtuellen Umgebung hilft, Konflikte mit anderen Paketen zu vermeiden:
python3.8 -m venv phi2_env
source phi2_env/bin/activate
3. Installation der Abhängigkeiten
Installieren Sie die erforderlichen Pakete:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers accelerate bitsandbytes
Herunterladen des Phi-2-Modells
Sie können das Phi-2-Modell mit der Hugging Face Transformers-Bibliothek herunterladen:
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)
Konfiguration des Speichers
Für einen Computer mit 32GB RAM wird die Verwendung von Speicheroptimierungen wie 8-Bit-Quantisierung empfohlen:
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
load_in_8bit=True,
offload_folder="offload",
offload_state_dict=True,
)
Starten des Modells
Jetzt können Sie das Modell starten und es testen:
prompt = "Was ist der Sinn des Lebens?"
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))
Optimierungen
1. Verwendung von DeepSpeed
DeepSpeed ist ein Tool zur Optimierung von Speicher und Leistung:
pip install deepspeed
2. Konfiguration von DeepSpeed
Erstellen Sie eine Datei 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. Starten mit 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
)
Zusammenfassung
Das Starten von Phi-2 auf einem Computer mit 32GB RAM erfordert eine entsprechende Vorbereitung der Umgebung und die Anwendung von Speicheroptimierungen. In diesem Leitfaden haben wir die wichtigsten Schritte besprochen, wie die Installation von Python, die Erstellung einer virtuellen Umgebung, das Herunterladen des Modells und die Speicherkonfiguration. Mit diesen Schritten sollten Sie in der Lage sein, Phi-2 zu starten und seine leistungsstarken Fähigkeiten zu nutzen.