LLaMA‑Factory ist eine Open-Source-Plattform, die sich auf das Feinabstimmen, Trainieren und Bereitstellen von großen Sprachmodellen (LLM/VLM) konzentriert. Es wurde von Yaowei Zheng u.a. auf der ACL 2024 veröffentlicht und ist auf arXiv ([gitee.com][1]) verfügbar. Das Projekt zeichnet sich durch folgende Merkmale aus:
Abdeckung von über hundert Modellen, einschließlich verschiedener Größen und Architekturen, von LLaMA und Phi bis hin zu Qwen2-VL, Gemma, DeepSeek usw.
Integration gängiger Trainingsprozesse: Vom Vortraining über SFT bis hin zum Training von Belohnungsmodellen und schließlich PPO/DPO-basiertem bestärkendem Lernen.
Echtzeit-Anzeige von Trainingsfortschritt, Metriken und Protokollen über Web UI (LLaMABoard), TensorBoard, Wandb usw.
Unterstützung für den Export des feinabgestimmten Modells im OpenAI API-Format und Implementierung paralleler Inferenz (vLLM) oder Aufbau eines Gradio-Frontends.
pip install llama-factory # Oder Installation durch Klonen von GitHub
CLI-Modus:
llama-factory train \
--model llama-13b \
--dataset mydata \
--finetuning_type lora \
## Weitere Parameter siehe offizielle Dokumentation
Web UI-Modus:
CUDA_VISIBLE_DEVICES=0 python src/train_web.py
Starten Sie LLaMABoard, um Trainings-Hyperparameter zentral einzustellen.
Das Projekt enthält über 60 Datensätze (data-Verzeichnis) und unterstützt auch benutzerdefinierte JSON-Dateien, die zentral in dataset_info.json
verwaltet werden.
Während des Trainings werden TensorBoard- und Wandb-Anzeigen automatisch unterstützt; MLflow, SwanLab und andere Überwachungs-Backends können ebenfalls angebunden werden.
Nach dem Training kann über die CLI oder ein Export-Skript direkt ein Bereitstellungspaket generiert werden, das parallele Inferenz und Gradio-Anzeige unterstützt.
LLaMA‑Factory ist ein funktionsreicher, einfach zu bedienender und technisch fortschrittlicher LLM-Feinabstimmungs-Framework. Egal, ob Sie Forscher oder Ingenieur sind, Sie können schnell eine große Anzahl von Open-Source-Modellen anpassen, trainieren und bereitstellen, ohne komplexen Code schreiben zu müssen. Es ist ein nützliches Werkzeug, um in den Bereich der LLM-Feinabstimmung einzusteigen.