Home
Login

Ein No-Code/Low-Code-Framework für die Feinabstimmung und Bereitstellung großer Sprachmodelle, das die einheitliche und effiziente Feinabstimmung von über 100 LLMs/VLMs unterstützt.

Apache-2.0Python 52.6khiyouga Last Updated: 2025-06-18

💡 LLaMA‑Factory Projekt – Eine detaillierte Erklärung

I. Projektübersicht

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:

  • Unterstützung für über 100+ Modelle: Darunter LLaMA, LLaVA, Mistral, Qwen, ChatGLM, Phi und andere gängige und neue Modelle.
  • Zero-Code + Low-Code-Schnittstellen: CLI- und Web-UI-Modi (LLaMABoard), die gängige Trainingsprozesse abdecken und eine sehr geringe technische Einstiegshürde bieten.
  • Integration verschiedener effizienter Feinabstimmungsmethoden: Unterstützung für LoRA, QLoRA (2/4/8 Bit), Freezing, 16-Bit-Full-Parameter, FlashAttention‑2, Unsloth, RoPE Scaling usw.
  • Umfangreiche Optimierungsalgorithmen: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture‑of‑Depths, LoRA+, LoftQ, PiSSA usw.
  • Mehrere Trainingsmethoden: Vortraining, überwachtes Feintuning (SFT), Belohnungsmodellierung (RM), PPO/DPO/KTO/ORPO und andere Methoden des bestärkenden Lernens.
  • Mehrere Experimentüberwachungstools: Unterstützung für LlamaBoard, TensorBoard, Wandb, MLflow, SwanLab usw.
  • Kompatibilität mit Inferenz und Bereitstellung: Unterstützung für OpenAI API-ähnliche Bereitstellung, vLLM-basierte parallele Inferenz, Gradio UI und andere umfangreiche Inferenzoptionen.

II. Kernfunktionen und Highlights

1. Breite Modellunterstützung

Abdeckung von über hundert Modellen, einschließlich verschiedener Größen und Architekturen, von LLaMA und Phi bis hin zu Qwen2-VL, Gemma, DeepSeek usw.

2. Effiziente Feinabstimmungstechniken

  • LoRA / QLoRA: Unterstützung für Low-Bit-Quantisierungs-Adaptive-Feinabstimmung; 4-Bit-LoRA ist schneller in der Inferenz und benötigt weniger VRAM als herkömmliche Methoden.
  • Optimierte Operatoren: FlashAttention-2, Unsloth verbessern die Trainingsgeschwindigkeit und die VRAM-Auslastung.
  • RoPE Scaling: Erweiterung der Kontextlängen-Fähigkeit.

3. Training und bestärkendes Lernen

Integration gängiger Trainingsprozesse: Vom Vortraining über SFT bis hin zum Training von Belohnungsmodellen und schließlich PPO/DPO-basiertem bestärkendem Lernen.

4. Visualisierte Überwachung

Echtzeit-Anzeige von Trainingsfortschritt, Metriken und Protokollen über Web UI (LLaMABoard), TensorBoard, Wandb usw.

5. Inferenz- und Bereitstellungsfähigkeiten

Unterstützung für den Export des feinabgestimmten Modells im OpenAI API-Format und Implementierung paralleler Inferenz (vLLM) oder Aufbau eines Gradio-Frontends.


III. Anwendungsablauf & Schnelleinstieg

Installation / Start

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.


Datenvorbereitung

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.


Überwachung und Bewertung

Während des Trainings werden TensorBoard- und Wandb-Anzeigen automatisch unterstützt; MLflow, SwanLab und andere Überwachungs-Backends können ebenfalls angebunden werden.


Inferenz und Bereitstellung

Nach dem Training kann über die CLI oder ein Export-Skript direkt ein Bereitstellungspaket generiert werden, das parallele Inferenz und Gradio-Anzeige unterstützt.

V. Zusammenfassung

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.