Modelltrainings-Leitfaden erweitert: Einführung in LLaMA-Factory
Einfach ausgedrückt ist LLaMA-Factory derzeit das beliebteste und benutzerfreundlichste "Full-Process Fine-Tuning Toolkit" in der Large-Model-Industrie.
Wird gerendert...
Einfach ausgedrückt, ist **LLaMA-Factory** derzeit die beliebteste und am einfachsten zu bedienende **"Full-Stack-Fine-Tuning-Toolbox"** in der Industrie für große Modelle. Wenn man das Training eines Modells mit dem Kochen vergleicht, entspricht das Schreiben von Code selbst (Transformers-Bibliothek) dem Schmieden von Töpfen und dem Anpflanzen von Gemüse von Grund auf; während LLaMA-Factory wie eine **vollautomatische Integrationsküche** ist. Sie kapselt den komplexen Code der unteren Ebene ein, sodass Sie lediglich die "Daten" hineingeben und durch Klicken und Auswählen in der Benutzeroberfläche alle Arbeiten von der **inkrementellen Vorabtrainierung (PT)** über die **Instruktions-Feinabstimmung (SFT)** bis hin zur **Ausrichtung (DPO)** erledigen können.
## Kernwerte (Warum nutzen Techniker es?)
1. **Vollständig integriert:** Unterstützt fast alle gängigen Open-Source-Modelle (Qwen, Llama, Baichuan, Yi, Mistral, Gemma usw.).
2. **End-to-End:** Umfasst:
- **PT** (inkrementelle Vorabtrainierung)
- **SFT** (überwachte Feinabstimmung)
- **RLHF/DPO** (Ausrichtung auf menschliche Präferenzen)
- **Evaluation** (Modellbewertung)
- **Export** (Modellzusammenführung und -export)
3. **Speichereffizient:** Integriert verschiedene speichersparende Technologien wie **LoRA, QLoRA, DeepSpeed, GaLore** usw. Eine 24G-Grafikkarte der 4090 kann die Feinabstimmung von 7B- oder sogar 13B-Modellen durchführen.
4. **Visualisierung:** Bietet eine Webschnittstelle namens **LLaMA Board**, in der Sie Parameter direkt im Browser anpassen und Loss-Kurven anzeigen können.
## Trainingsablauf (am Beispiel der PT-inkrementellen Vorabtrainierung)
In LLaMA-Factory müssen Sie keine komplexen Python-Trainingsskripte schreiben, sondern hauptsächlich eine **YAML-Konfigurationsdatei** ändern oder über die **WebUI** arbeiten.
### 1. Umgebungsvorbereitung
```Bash
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .[metrics,bitsandbytes,qwen]
```
### 2. Datenvorbereitung
Sie müssen Ihre reinen Textkorpora in das Verzeichnis `data/` legen und in `dataset_info.json` registrieren.
Für **PT (inkrementelle Vorabtrainierung)** ist das Datenformat normalerweise sehr einfach:
```JSON
[
{"file_name": "your_corpus.txt"}
]
```
### 3. Starten der WebUI (der intuitivste Weg)
```Bash
llamafactory-cli webui
```
Öffnen Sie dann `localhost:7860` im Browser:
- **Trainingsphase:** Wählen Sie `Pre-Training` (Vorabtraining).
- **Modellpfad:** Geben Sie Ihr Basismodell ein (z. B. `Qwen/Qwen2.5-7B`).
- **Trainingsmethode:** Wählen Sie `LoRA` oder `Full`.
- **Lernrate:** Stellen Sie sie auf `1e-5` ein.
- **Starten:** Klicken Sie auf "Training starten", und der Treiber wird automatisch im Hintergrund aufgerufen.
### 4. Starten über die Kommandozeile (empfohlen für Produktionsumgebungen)
Erstellen Sie eine Datei `train_pt.yaml` mit folgendem Inhalt:
```YAML
### Kernparameter
stage: pt # Phase ist Vorabtraining
model_name_or_path: qwen/Qwen2.5-7B
dataset: your_custom_data # Entspricht Ihrem registrierten Datensatz
cutoff_len: 1024 # Textabschneidelänge
### Trainingstechniken
finetuning_type: lora # Verwenden Sie LoRA, um Speicher zu sparen
lora_target: all # Feinabstimmung für alle linearen Schichten
### Hyperparameter
learning_rate: 0.00002
num_train_epochs: 3.0
per_device_train_batch_size: 4
gradient_accumulation_steps: 4
```
Führen Sie dann aus:
```Bash
llamafactory-cli train train_pt.yaml
```
## Welche Probleme löst LLaMA-Factory?
1. **Vermeidet komplizierten Code:** Sie müssen sich nicht mit `model.backward()`, `optimizer.step()` oder Deadlock-Problemen der verteilten Schulung (Distributed Data Parallel) auf niedriger Ebene befassen.
2. **Vereinheitlicht das Datenformat:** Es bietet einen Standard. Solange Sie Ihre Daten in sein JSON-Format konvertieren, können sie an alle Modelle angepasst werden.
3. **Ein-Klick-Zusammenführung:** Für die trainierten LoRA-Gewichte (Zehn MB) bietet es eine Funktion `export_model`, mit der Sie sie mit dem ursprünglichen Modell zu einem vollständigen Modell (mehrere GB) zusammenführen können, das Sie direkt bereitstellen können.
## Zusammenfassung
**LLaMA-Factory ist derzeit das effizienteste "Modelltrainingsgerüst".** Ihre beste Vorgehensweise ist:
1. **Verwenden Sie den PT-Modus von LLaMA-Factory**, um die Rohdaten Ihres Geschäftsszenarios einzuspeisen.
2. **Verwenden Sie den SFT-Modus von LLaMA-Factory**, um die von Ihnen zuvor erwähnten Daten für begleitende Dialoge einzuspeisen.
3. **Verwenden Sie schließlich GGUF oder Safetensors, die es exportiert**, um sie bereitzustellen.Kommentar
Melde dich an, um Kommentare anzuzeigen und zu veröffentlichen
Zur Anmeldung