Was macht Feinabstimmungs-Experte?
Verwenden Sie dieses Skill, wenn Sie LLMs feinabstimmen, benutzerdefinierte Modelle trainieren oder Grundmodelle an spezifische Aufgaben anpassen. Rufen Sie es auf für die Konfiguration von LoRA-/QLoRA-Adaptern, die Vorbereitung von JSONL-Trainingsdatensätzen, die Festlegung von Hyperparametern für Feinabstimmungsdurchläufe, Adaptertraining, Transferlernen, Feinabstimmung mit Hugging Face PEFT, OpenAI-Feinabstimmung, Anweisungs-Tuning, RLHF, DPO oder die Quantisierung und Bereitstellung feinabgestimmter Modelle. Auslösebegriffe sind: LoRA, QLoRA, PEFT, Feinabstimmung, Adapter-Tuning, LLM-Training, Modelltraining, benutzerdefiniertes Modell.
Verwendung
Dieser Skill wird aktiviert, wenn Sie Begriffe wie "Feinabstimmung", "LoRA", "Adapter" oder "Modelltraining" in Ihrer Anfrage verwenden. Er bietet Anleitung und Codebeispiele für die Feinabstimmung von LLMs unter Verwendung von Frameworks wie Hugging Face Transformers, PEFT und den OpenAI-APIs.
Unterstützte Techniken
- LoRA/QLoRA: Effiziente Adapterbasiertes Fine-Tuning mit geringem Speicherverbrauch.
- PEFT: Parameter-effizientes Fine-Tuning für große Modelle.
- OpenAI Fine-Tuning: Integration mit der OpenAI-Feinabstimmungs-API.
- RLHF/DPO: Reinforcement Learning from Human Feedback und Direct Preference Optimization.
- Anweisungs-Tuning: Training von Modellen, um Anweisungen genau zu befolgen.
- Quantisierung: Reduzierung der Modellgröße für effiziente Bereitstellung.
Beispielbefehle
# Beispiel für Feinabstimmung mit Hugging Face PEFT
train_peft_adapter --model-name "meta-llama/Llama-2-7b-hf" \
--dataset-path "./training_data.jsonl" \
--output-dir "./fine_tuned_model" \
--learning-rate 2e-4 \
--num-epochs 3
# Beispiel für JSONL-Datasets-Vorbereitung
import json
dataset = [
{"instruction": "Erkläre die Theorie der Relativität", "response": "Die Theorie der Relativität..."},
{"instruction": "Schreibe ein Gedicht über KI", "response": "In Silikonschichten, wo Daten fließen..."}
]
with open("training_data.jsonl", "w", encoding="utf-8") as f:
for item in dataset:
f.write(json.dumps(item) + "\n")
Konfiguration
Um diesen Skill optimal zu nutzen, müssen Sie möglicherweise Umgebungsvariablen für API-Schlüssel oder Modellkonfigurationen festlegen.
| Variable | Beschreibung |
|---|---|
OPENAI_API_KEY | API-Schlüssel für OpenAI-Feinabstimmung |
HF_TOKEN | Hugging Face Token für den Zugriff auf gated Modelle |
MODEL_NAME | Standardmodellname (optional) |
Fehlerbehebung
- Ungenügender Speicher: Verwenden Sie QLoRA oder Quantisierung, um den Speicherverbrauch zu reduzieren.
- Schlechte Konvergenz: Passen Sie die Lernrate an oder verwenden Sie eine Lernratenplaner.
- Datensatzformatierung: Stellen Sie sicher, dass das JSONL-Dataset die richtige Struktur hat (z.B. mit Feldern wie "instruction" und "response").