Neue Trainingsmethoden für Qwen2-VL-Modelle in der LLaMA-Factory

Kategorien:
No items found.
Freigegeben:
September 2, 2024

Einführung in die Unterstützung von DPO/ORPO/SimPO-Training für Qwen2-VL-Modelle bei LLaMA-Factory

Entwicklung und Fortschritte bei der LLaMA-Factory

Die LLaMA-Factory, bekannt für ihre innovativen Ansätze in der Künstlichen Intelligenz, hat kürzlich die Unterstützung für das Training von Qwen2-VL-Modellen mithilfe von Direct Preference Optimization (DPO), ORPO und SimPO bekannt gegeben. Diese neuen Methoden nutzen das Reinforcement Learning from Human Feedback (RLHF) mit dem RLHF-V-Datensatz, um die Leistung und Anpassungsfähigkeit von Sprachmodellen weiter zu verbessern.

Was ist Reinforcement Learning from Human Feedback (RLHF)?

RLHF ist eine Methode, die in der Feinabstimmung großer Sprachmodelle wie GPT-4 oder Claude eingesetzt wird. Ziel ist es, die Modellantworten besser an menschliche Erwartungen anzupassen. Dies geschieht durch die Erstellung einer Belohnungsfunktion, die das Modell anleitet, qualitativ hochwertige und relevante Antworten zu generieren. Eine wesentliche Herausforderung dabei ist es, das Modell so zu trainieren, dass es nicht zu stark von der ursprünglichen Modellstruktur abweicht und sinnvolle Texte erzeugt.

Direct Preference Optimization (DPO) im Vergleich zu Proximal Policy Optimization (PPO)

Traditionell wird RLHF durch den Einsatz eines Belohnungsmodells erreicht, das das Hauptmodell anleitet, hoch bewertete Antworten häufiger zu generieren und gering bewertete Antworten seltener. Diese Methode verwendet eine zusätzliche Referenzmodellkomponente, um sicherzustellen, dass das Hauptmodell nicht zu stark von der ursprünglichen Struktur abweicht. Dies geschieht oft durch die Einführung einer KL-Strafe. DPO hingegen verzichtet auf das Belohnungsmodell und optimiert das Hauptmodell direkt anhand von Präferenzdaten. Diese Methode nutzt eine analytische Umwandlung der Belohnungsfunktion in eine optimale RL-Politik, die es ermöglicht, die RL-Verlustfunktion direkt auf das Referenzmodell anzuwenden. Dies vereinfacht den Optimierungsprozess erheblich und erfordert keine komplizierte RL-basierte Feinabstimmung.

Wie trainiert man mit DPO?

Das Training mit DPO erfordert mehrere Schritte: - Ein supervisiertes Feinabstimmung (SFT)-Schritt - Das Annotieren von Daten mit Präferenzlabels - Das Trainieren eines Belohnungsmodells auf den Präferenzdaten - Den RL-Optimierungsschritt Die TRL-Bibliothek bietet Unterstützung für alle diese Schritte. Mit DPO entfällt jedoch die Notwendigkeit eines Belohnungsmodells und der RL-Optimierung, da die Präferenzdaten direkt zur Optimierung verwendet werden können.

Experiment mit Llama v2

Ein bemerkenswertes Experiment war die Feinabstimmung des Llama v2 Modells mit der DPO-Methode. Hierbei wurde das Modell zunächst mit dem QLoRA-Verfahren auf den SFT-Daten feinabgestimmt. Die Feinabstimmung erfolgte in einer 4-Bit-Quantisierung, was den Speicherbedarf reduziert und die Effizienz erhöht. Nach der SFT-Phase wurde das Modell mit der DPO-Methode weiter optimiert. Hierbei wurden sowohl das Hauptmodell als auch das Referenzmodell aus der vorherigen SFT-Phase verwendet. Die Modelle wurden mit LoRa-Adaptern geladen und in einem 4-Bit-Konfigurationsmodus trainiert.

Schlussfolgerung

Die Einführung von DPO und anderen Optimierungsmethoden für Qwen2-VL-Modelle bei der LLaMA-Factory stellt einen bedeutenden Fortschritt in der Feinabstimmung großer Sprachmodelle dar. Diese Methoden vereinfachen den Optimierungsprozess und ermöglichen es, Modelle effizienter und effektiver zu trainieren. Bibliographie: https://huggingface.co/blog/dpo-trl https://huggingface.co/blog/stackllama https://github.com/hiyouga/LLaMA-Factory/issues/1829 https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/train_lora/llama3_lora_dpo.yaml https://github.com/hiyouga/LLaMA-Factory/releases https://github.com/hiyouga/LLaMA-Factory/blob/main/src/llamafactory/train/dpo/trainer.py https://github.com/PKU-Alignment/safe-rlhf/blob/main/README.md https://github.com/hiyouga/LLaMA-Factory/issues/4727
Was bedeutet das?