Allgemeine Einführung
LLaMA-Factory ist ein einheitlicher und effizienter Rahmen für die Feinabstimmung, der die flexible Anpassung und das effiziente Training von über 100 großen Sprachmodellen (LLMs) unterstützt. Die eingebaute LLaMA-Board-Webschnittstelle ermöglicht es den Nutzern, Modelle fein abzustimmen, ohne Code schreiben zu müssen. Das Framework integriert eine Vielzahl fortschrittlicher Trainingsmethoden und praktischer Tipps, um die Trainingsgeschwindigkeit und die GPU-Speicherauslastung deutlich zu verbessern.
Funktionsliste
- Unterstützung mehrerer ModelleUnterstützung für LLaMA, LLaVA, Mistral, Qwen und andere mehrsprachige Modelle.
- Mehrere AusbildungsmethodenUmfasst das Trimmen des gesamten Volumens, das Einfrieren, LoRA, QLoRA, usw.
- effizienter AlgorithmusIntegration von GaLore, BAdam, Adam-mini, DoRA und anderen fortgeschrittenen Algorithmen.
- praktisches KönnenUnterstützung für FlashAttention-2, Unsloth, Liger Kernel, und mehr.
- Experimentelle ÜberwachungBietet Überwachungswerkzeuge wie LlamaBoard, TensorBoard, Wandb, MLflow und mehr.
- schnelle InferenzBietet OpenAI-ähnliche APIs, Gradio UI und CLI-Schnittstellen.
- Unterstützung von DatensätzenUnterstützung für das Herunterladen von vortrainierten Modellen und Datensätzen von HuggingFace, ModelScope und anderen Plattformen.
Hilfe verwenden
Ablauf der Installation
- Klonen Sie den Projektcode:
git clone --tiefe 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Fabrik
- Installieren Sie die Abhängigkeit:
pip install -e ". [torch,metrics]"
Zu den optionalen Abhängigkeiten gehören: torch, torch-npu, metrics, deepspeed, liger-kernel, bitsandbytes, und weitere.
Vorbereitung der Daten
Bitte beachten Sie daten/README.md
Erfahren Sie mehr über das Dataset-Dateiformat. Sie können Datensätze auf dem HuggingFace / ModelScope / Modelers Hub verwenden oder Datensätze auf Ihre lokale Festplatte laden.
Schnellstart
Verwenden Sie die folgenden Befehle, um LoRA auszuführen, um Llama3-8B-Instruct-Modelle abzustimmen, zu analysieren und zusammenzuführen:
llamafactory-cli train Beispiele/train_lora/llama3_lora_sft.yaml
llamafactory-cli chat beispiele/inferenz/llama3_lora_sft.yaml
llamafactory-cli export Beispiele/merge_lora/llama3_lora_sft.yaml
Für eine erweiterte Verwendung siehe Beispiele/README.md
.
Verwendung der LLaMA Board GUI
Die Feinabstimmung erfolgt über die von Gradio bereitgestellte LLaMA Board GUI:
llamafactory-cli webui
Docker-Bereitstellung
Für CUDA-Benutzer:
cd docker/docker-cuda/
docker compose up -d
docker compose exec llamafactory bash
Für Ascend NPU-Benutzer:
cd docker/docker-npu/
docker compose up -d
docker compose exec llamafactory bash
Für AMD ROCm-Benutzer:
cd docker/docker-rocm/
docker compose up -d
docker compose exec llamafactory bash
API-Bereitstellung
Inferenz mit OpenAI-ähnlichen APIs und vLLM:
API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml
Besuchen Sie diese Seite für die API-Dokumentation.
Modelle und Datensätze herunterladen
Wenn Sie Probleme beim Herunterladen von Modellen und Datensätzen von Hugging Face haben, können Sie ModelScope verwenden:
export USE_MODELSCOPE_HUB=1
Trainieren Sie ein Modell, indem Sie die Modell-ID des ModelScope Hub angeben, z. B. LLM-Forschung/Meta-Llama-3-8B-Instruct
.
Aufzeichnung von Versuchsergebnissen mit W&B
Um die Ergebnisse eines Experiments mit Weights & Biases aufzuzeichnen, fügen Sie der yaml-Datei die folgenden Parameter hinzu:
wandb.
Projekt: "Ihr_Projekt_name"
Einheit: "Ihr_Einheit_Name"