Treten Sie unserer WeChat- oder NPU-Benutzergruppe bei.
[ Englisch | 中文 ]
Die Feinabstimmung eines großen Sprachmodells kann so einfach sein wie ...
Wählen Sie Ihren Weg:
Colab : https://colab.research.google.com/drive/1eRTPn37ltBbYsISy9Aw2NuI2Aq5CQrD9?usp=sharing
PAI-DSW : Llama3-Beispiel | Qwen2-VL-Beispiel
Lokaler Computer : Bitte beachten Sie die Verwendung
Dokumentation (WIP) : https://llamafactory.readthedocs.io/zh-cn/latest/
Aktuelle Aktivitäten:
18.10.2024-30.11.2024 : Erstellen Sie einen persönlichen Reiseführer-Bot mit PAI+LLaMA Factory. [Webseite]
Notiz
Mit Ausnahme der oben genannten Links handelt es sich bei allen anderen Websites um nicht autorisierte Websites Dritter. Bitte verwenden Sie sie sorgfältig.
Merkmale
Benchmark
Änderungsprotokoll
Unterstützte Modelle
Unterstützte Trainingsansätze
Bereitgestellte Datensätze
Erfordernis
Erste Schritte
Projekte mit LLaMA Factory
Lizenz
Zitat
Anerkennung
Verschiedene Modelle : LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Qwen2-VL, Yi, Gemma, Baichuan, ChatGLM, Phi usw.
Integrierte Methoden : (kontinuierliches) Vortraining, (multimodales) überwachtes Feintuning, Belohnungsmodellierung, PPO, DPO, KTO, ORPO usw.
Skalierbare Ressourcen : 16-Bit-Volloptimierung, Freeze-Tuning, LoRA und 2/3/4/5/6/8-Bit-QLoRA über AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ.
Erweiterte Algorithmen : GaLore, BAdam, Adam-mini, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ, PiSSA und Agent Tuning.
Praktische Tricks : FlashAttention-2, Unsloth, Liger Kernel, RoPE-Skalierung, NEFTune und rsLoRA.
Experimentiermonitore : LlamaBoard, TensorBoard, Wandb, MLflow usw.
Schnellere Inferenz : API im OpenAI-Stil, Gradio-Benutzeroberfläche und CLI mit vLLM-Worker.
Im Vergleich zum P-Tuning von ChatGLM bietet das LoRA-Tuning von LLaMA Factory eine bis zu 3,7-mal schnellere Trainingsgeschwindigkeit mit einem besseren Rouge-Score bei der Aufgabe zur Werbetextgenerierung. Durch die Nutzung der 4-Bit-Quantisierungstechnik verbessert QLoRA von LLaMA Factory die Effizienz des GPU-Speichers weiter.
Trainingsgeschwindigkeit : Die Anzahl der während des Trainings pro Sekunde verarbeiteten Trainingsbeispiele. (bs=4, cutoff_len=1024)
Rouge-Score : Rouge-2-Score für den Entwicklungssatz der Werbetextgenerierungsaufgabe. (bs=4, cutoff_len=1024)
GPU-Speicher : Spitzenauslastung des GPU-Speichers beim quantisierten 4-Bit-Training. (bs=1, cutoff_len=1024)
Wir verwenden pre_seq_len=128
für das P-Tuning von ChatGLM und lora_rank=32
für das LoRA-Tuning von LLaMA Factory.
[24.10.09] Wir haben das Herunterladen vorab trainierter Modelle und Datensätze vom Modelers Hub unterstützt. Informationen zur Verwendung finden Sie in diesem Tutorial.
[24.09.19] Wir unterstützen die Feinabstimmung der Qwen2.5- Modelle.
[24.08.30] Wir unterstützen die Feinabstimmung der Qwen2-VL- Modelle. Vielen Dank an die PR von @simonJJJ.
[24.08.27] Wir unterstützen Liger Kernel . Versuchen Sie enable_liger_kernel: true
für ein effizientes Training.
[24.08.09] Wir unterstützen den Adam-Mini- Optimierer. Siehe Anwendungsbeispiele. Vielen Dank an die PR von @relic-yuexi.
[24.07.04] Wir unterstützen kontaminationsfreies Packtraining. Verwenden Sie neat_packing: true
um es zu aktivieren. Vielen Dank an die PR von @chuan298.
[24.06.16] Wir unterstützen den PiSSA -Algorithmus. Siehe Anwendungsbeispiele.
[24.06.07] Wir haben die Feinabstimmung der Qwen2- und GLM-4 -Modelle unterstützt.
[24.05.26] Wir haben den SimPO -Algorithmus für das Präferenzlernen unterstützt. Siehe Anwendungsbeispiele.
[24.05.20] Wir haben die Feinabstimmung der Modelle der PaliGemma -Serie unterstützt. Beachten Sie, dass es sich bei den PaliGemma-Modellen um vorab trainierte Modelle handelt. Sie müssen sie zur Chat-Vervollständigung mit paligemma
Vorlage verfeinern.
[24.05.18] Wir haben den KTO -Algorithmus für das Präferenzlernen unterstützt. Siehe Anwendungsbeispiele.
[24.05.14] Wir haben Training und Inferenz auf den Ascend NPU-Geräten unterstützt. Einzelheiten finden Sie im Installationsabschnitt.
[24.04.26] Wir haben die Feinabstimmung der multimodalen LLMs LLaVA-1.5 unterstützt. Siehe Anwendungsbeispiele.
[24.04.22] Wir haben ein Colab-Notebook zur Feinabstimmung des Llama-3-Modells auf einer kostenlosen T4-GPU bereitgestellt. Zwei von Llama-3 abgeleitete Modelle, die mit LLaMA Factory verfeinert wurden, sind bei Hugging Face erhältlich. Weitere Informationen finden Sie unter Llama3-8B-Chinese-Chat und Llama3-Chinese.
[24.04.21] Wir haben Mixture-of-Depths gemäß der Implementierung von AstraMindAI unterstützt. Siehe Anwendungsbeispiele.
[24.04.16] Wir haben den BAdam- Optimierer unterstützt. Siehe Anwendungsbeispiele.
[24.04.16] Wir haben das Langsequenztraining von unsloth unterstützt (Llama-2-7B-56k innerhalb von 24 GB). Es erreicht 117 % Geschwindigkeit und 50 % Speicher im Vergleich zu FlashAttention-2, weitere Benchmarks finden Sie auf dieser Seite.
[24.03.31] Wir haben ORPO unterstützt. Siehe Anwendungsbeispiele.
[24.03.21] Unser Paper „LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models“ ist bei arXiv verfügbar!
[24.03.20] Wir unterstützen FSDP+QLoRA , das ein 70B-Modell auf 2x24-GB-GPUs verfeinert. Siehe Anwendungsbeispiele.
[24.03.13] Wir haben LoRA+ unterstützt. Siehe Anwendungsbeispiele.
[24.03.07] Wir haben den GaLore- Optimierer unterstützt. Siehe Anwendungsbeispiele.
[24.03.07] Wir haben vLLM für schnellere und gleichzeitige Inferenz integriert. Probieren Sie infer_backend: vllm
aus, um eine Inferenzgeschwindigkeit von 270 % zu erzielen.
[24.02.28] Wir unterstützen gewichtszerlegtes LoRA ( DoRA ). Versuchen Sie use_dora: true
, um das DoRA-Training zu aktivieren.
[24.02.15] Wir haben die von LLaMA Pro vorgeschlagene Blockerweiterung unterstützt. Siehe Anwendungsbeispiele.
[24.02.05] Modelle der Qwen1.5-Serie (Qwen2-Betaversion) werden in LLaMA-Factory unterstützt. Weitere Informationen finden Sie in diesem Blogbeitrag.
[24.01.18] Wir haben die Agentenoptimierung für die meisten Modelle unterstützt und das Modell durch Feinabstimmung mit dataset: glaive_toolcall_en
mit Werkzeugnutzungsfähigkeiten ausgestattet.
[23.12.23] Wir haben die Implementierung von unsloth unterstützt, um die LoRA-Optimierung für die Modelle LLaMA, Mistral und Yi zu verbessern. Versuchen Sie das Argument use_unsloth: true
um den Unsloth-Patch zu aktivieren. In unserem Benchmark erreicht es eine Geschwindigkeit von 170 % . Weitere Informationen finden Sie auf dieser Seite.
[23.12.12] Wir haben die Feinabstimmung des neuesten MoE-Modells Mixtral 8x7B in unserem Framework unterstützt. Hardwareanforderungen finden Sie hier.
[23.12.01] Wir haben das Herunterladen vorab trainierter Modelle und Datensätze vom ModelScope Hub unterstützt. Informationen zur Verwendung finden Sie in diesem Tutorial.
[23.10.21] Wir haben den NEFTune- Trick zur Feinabstimmung unterstützt. Versuchen Sie es mit dem Argument neftune_noise_alpha: 5
um NEFTune zu aktivieren.
[23.09.27] Wir haben unterstützt shift_attn: true
um „Shift Short Attention“ zu aktivieren.
[23.09.23] Wir haben MMLU-, C-Eval- und CMMLU-Benchmarks in dieses Repo integriert. Siehe Anwendungsbeispiele.
[23.09.10] Wir haben FlashAttention-2 unterstützt. Versuchen Sie das Argument flash_attn: fa2
um FlashAttention-2 zu aktivieren, wenn Sie RTX4090-, A100- oder H100-GPUs verwenden.
[23.08.12] Wir haben die RoPE-Skalierung unterstützt, um die Kontextlänge der LLaMA-Modelle zu erweitern. Versuchen Sie es mit rope_scaling: linear
Argument im Training“ und rope_scaling: dynamic
Argument bei der Inferenz“, um die Positionseinbettungen zu extrapolieren.
[23.08.11] Wir haben die DPO-Schulung für anweisungsgesteuerte Modelle unterstützt. Siehe Anwendungsbeispiele.
[23.07.31] Wir haben das Streaming von Datensätzen unterstützt. Versuchen Sie es mit streaming: true
und max_steps: 10000
arguments“, um Ihren Datensatz im Streaming-Modus zu laden.
[23.07.29] Wir haben bei Hugging Face zwei mit Anleitung abgestimmte 13B-Modelle veröffentlicht. Weitere Informationen finden Sie in diesen Hugging Face Repos (LLaMA-2 / Baichuan).
[23.07.18] Wir haben eine All-in-one-Web-Benutzeroberfläche für Training, Bewertung und Schlussfolgerung entwickelt. Probieren Sie train_web.py
aus, um Modelle in Ihrem Webbrowser zu optimieren. Vielen Dank an @KanadeSiina und @codemayq für ihre Bemühungen bei der Entwicklung.
[23.07.09] Wir haben FastEdit ⚡? veröffentlicht, ein benutzerfreundliches Paket zur effizienten Bearbeitung des Faktenwissens großer Sprachmodelle. Bitte folgen Sie FastEdit, wenn Sie interessiert sind.
[23.06.29] Wir haben ein reproduzierbares Beispiel für das Training eines Chat-Modells mithilfe von Datensätzen zur Befolgung von Anweisungen bereitgestellt. Weitere Informationen finden Sie in Baichuan-7B-sft.
[23.06.22] Wir haben die Demo-API an das OpenAI-Format angepasst, sodass Sie das fein abgestimmte Modell in beliebige ChatGPT-basierte Anwendungen einfügen können.
[23.06.03] Wir unterstützen quantisiertes Training und Inferenz (auch bekannt als QLoRA ). Siehe Anwendungsbeispiele.
Modell | Modellgröße | Vorlage |
---|---|---|
Baichuan 2 | 7B/13B | baichuan2 |
BLOOM/BLOOMZ | 560M/1.1B/1.7B/3B/7.1B/176B | - |
ChatGLM3 | 6B | chatglm3 |
Befehl R | 35B/104B | zusammenhängen |
DeepSeek (Code/MoE) | 7B/16B/67B/236B | tiefseek |
Falke | 7B/11B/40B/180B | Falke |
Gemma/Gemma 2/CodeGemma | 2B/7B/9B/27B | Gemma |
GLM-4 | 9B | glm4 |
InternLM2/InternLM2.5 | 7B/20B | Praktikant2 |
Lama | 7B/13B/33B/65B | - |
Lama 2 | 7B/13B/70B | Lama2 |
Lama 3-3.2 | 1B/3B/8B/70B | Lama3 |
LLaVA-1.5 | 7B/13B | llava |
LLaVA-NeXT | 7B/8B/13B/34B/72B/110B | llava_next |
LLaVA-NeXT-Video | 7B/34B | llava_next_video |
MiniCPM | 1B/2B/4B | cpm/cpm3 |
Mistral/Mixtral | 7B/8x7B/8x22B | Mistral |
OLMo | 1B/7B | - |
PaliGemma | 3B | Paligemma |
Phi-1,5/Phi-2 | 1,3B/2,7B | - |
Phi-3 | 4B/7B/14B | Phi |
Pixtral | 12B | Pixtral |
Qwen (1-2,5) (Code/Mathe/MoE) | 0,5B/1,5B/3B/7B/14B/32B/72B/110B | qwen |
Qwen2-VL | 2B/7B/72B | qwen2_vl |
StarCoder 2 | 3B/7B/15B | - |
XVERSE | 7B/13B/65B | xverse |
Yi/Yi-1,5 (Code) | 1,5B/6B/9B/34B | yi |
Yi-VL | 6B/34B | yi_vl |
2 Yuan | 2B/51B/102B | Yuan |
Notiz
Für die „Basis“-Modelle kann das template
aus default
, alpaca
, vicuna
usw. ausgewählt werden. Achten Sie jedoch darauf, die entsprechende Vorlage für die „Anleitung/Chat“-Modelle zu verwenden.
Denken Sie daran, beim Training und bei der Inferenz die GLEICHE Vorlage zu verwenden.
Eine vollständige Liste der von uns unterstützten Modelle finden Sie unter Constants.py.
Sie können template.py auch eine benutzerdefinierte Chat-Vorlage hinzufügen.
Ansatz | Vollständiges Tuning | Freeze-Tuning | LoRA | QLoRA |
---|---|---|---|---|
Vortraining | ✅ | ✅ | ✅ | ✅ |
Überwachte Feinabstimmung | ✅ | ✅ | ✅ | ✅ |
Belohnungsmodellierung | ✅ | ✅ | ✅ | ✅ |
PPO-Schulung | ✅ | ✅ | ✅ | ✅ |
DPO-Schulung | ✅ | ✅ | ✅ | ✅ |
KTO-Schulung | ✅ | ✅ | ✅ | ✅ |
ORPO-Schulung | ✅ | ✅ | ✅ | ✅ |
SimPO-Schulung | ✅ | ✅ | ✅ | ✅ |
Tipp
Die Implementierungsdetails von PPO finden Sie in diesem Blog.
Wiki-Demo (en)
RefinedWeb (de)
RedPajama V2 (de)
Wikipedia (de)
Wikipedia (zh)
Pile (de)
SkyPile (zh)
FineWeb (de)
FineWeb-Edu (de)
Der Stapel (de)
StarCoder (de)
Identität (en&zh)
Stanford Alpaka (de)
Stanford Alpaka (zh)
Alpaka GPT4 (en&zh)
Glaive-Funktionsaufruf V2 (en&zh)
LIMA (de)
Guanaco-Datensatz (mehrsprachig)
BELLE 2M (zh)
BELLE 1M (zh)
BELLE 0,5M (zh)
BELLE Dialog 0,4M (zh)
BELLE Schulmathematik 0,25M (zh)
BELLE Multiturn Chat 0,8M (zh)
UltraChat (de)
OpenPlatypus (de)
CodeAlpaca 20k (en)
Alpaka CoT (mehrsprachig)
OpenOrca (de)
SlimOrca (de)
MathInstruct (de)
Firefly 1,1M (zh)
Wiki-QA (en)
Web-QA (zh)
WebNovel (zh)
Nektar (de)
deepctrl (en&zh)
Werbegenerierung (zh)
ShareGPT Hyperfiltered (en)
TeilenGPT4 (en&zh)
UltraChat 200k (en)
AgentInstruct (en)
LMSYS Chat 1M (en)
Evol Instruct V2 (en)
Cosmopedia (de)
STEM (zh)
Ruozhiba (zh)
Neo-sft (zh)
WebInstructSub (de)
Magpie-Pro-300K-Filtered (de)
Magpie-ultra-v0.1 (en)
LLaVA gemischt (en&zh)
Pokemon-gpt4o-captions (en&zh)
Assistent öffnen (de)
Dolly 15k (de)
Alpaka GPT4 (de)
OpenSchnabeltier (de)
Evol Instruct (de)
Delphin (de)
Booksum (de)
Airoboros (de)
Ultrachat (de)
DPO gemischt (en&zh)
UltraFeedback (de)
RLHF-V (de)
VLFeedback (de)
Orca DPO-Paare (de)
HH-RLHF (en)
Nektar (de)
Orca-DSB (de)
KTO gemischt (en)
Einige Datensätze erfordern vor der Verwendung eine Bestätigung. Wir empfehlen daher, sich mit diesen Befehlen mit Ihrem Hugging Face-Konto anzumelden.
pip install --upgrade Huggingface_hub Huggingface-Cli-Anmeldung
Obligatorisch | Minimum | Empfehlen |
---|---|---|
Python | 3.8 | 3.11 |
Fackel | 1.13.1 | 2.4.0 |
Transformatoren | 4.41.2 | 4.43.4 |
Datensätze | 2.16.0 | 2.20.0 |
beschleunigen | 0,30,1 | 0,32,0 |
peft | 0.11.1 | 0,12,0 |
trl | 0.8.6 | 0.9.6 |
Optional | Minimum | Empfehlen |
---|---|---|
CUDA | 11.6 | 12.2 |
Deepspeed | 0,10,0 | 0,14,0 |
Bits und Bytes | 0,39,0 | 0,43,1 |
vllm | 0.4.3 | 0,5,0 |
Flash-Atn | 2.3.0 | 2.6.3 |
* geschätzt
Verfahren | Bits | 7B | 13B | 30B | 70B | 110B | 8x7B | 8x22B |
---|---|---|---|---|---|---|---|---|
Voll | AMPERE | 120 GB | 240 GB | 600 GB | 1200 GB | 2000 GB | 900 GB | 2400 GB |
Voll | 16 | 60 GB | 120 GB | 300 GB | 600 GB | 900 GB | 400 GB | 1200 GB |
Einfrieren | 16 | 20 GB | 40 GB | 80 GB | 200 GB | 360 GB | 160 GB | 400 GB |
LoRA/GaLore/BAdam | 16 | 16 GB | 32 GB | 64 GB | 160 GB | 240 GB | 120 GB | 320 GB |
QLoRA | 8 | 10 GB | 20 GB | 40 GB | 80 GB | 140 GB | 60 GB | 160 GB |
QLoRA | 4 | 6 GB | 12 GB | 24 GB | 48 GB | 72 GB | 30 GB | 96 GB |
QLoRA | 2 | 4 GB | 8 GB | 16 GB | 24 GB | 48 GB | 18 GB | 48 GB |
Wichtig
Die Installation ist obligatorisch.
git clone -- Depth 1 https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factory pip install -e ".[Taschenlampe, Metriken]"
Zusätzliche Abhängigkeiten verfügbar: Torch, Torch-NPU, Metriken, Deepspeed, Liger-Kernel, Bitsandbytes, HQQ, EETQ, GPTQ, AWQ, AQLM, VLLM, Galore, Badam, Adam-Mini, Qwen, Modelscope, OpenMind, Qualität
Tipp
Verwenden Sie pip install --no-deps -e .
um Paketkonflikte zu lösen.
Wenn Sie quantisiertes LoRA (QLoRA) auf der Windows-Plattform aktivieren möchten, müssen Sie eine vorgefertigte Version der bitsandbytes
-Bibliothek installieren, die CUDA 11.1 bis 12.2 unterstützt. Bitte wählen Sie die entsprechende Release-Version basierend auf Ihrer CUDA-Version aus.
pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
Um FlashAttention-2 auf der Windows-Plattform zu aktivieren, müssen Sie die vorkompilierte flash-attn
Bibliothek installieren, die CUDA 12.1 bis 12.2 unterstützt. Bitte laden Sie entsprechend Ihren Anforderungen die entsprechende Version von flash-attention herunter.
Um LLaMA Factory auf Ascend NPU-Geräten zu installieren, geben Sie bitte zusätzliche Abhängigkeiten an: pip install -e ".[torch-npu,metrics]"
. Darüber hinaus müssen Sie das Ascend CANN Toolkit und die Kernel installieren. Bitte folgen Sie dem Installations-Tutorial oder verwenden Sie die folgenden Befehle:
# Ersetzen Sie die URL entsprechend Ihrer CANN-Version und Ihren Geräten. # Installieren Sie das CANN Toolkitwget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-toolkit_8 .0.RC1.alpha001_linux-"$(uname -i)".run bash Ascend-cann-toolkit_8.0.RC1.alpha001_linux-"$(uname -i)".run --install# install CANN Kernelswget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run bash Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run --install# set env variablessource /usr/local/Ascend/ascend-toolkit/set_env.sh
Erfordernis | Minimum | Empfehlen |
---|---|---|
KANN | 8.0.RC1 | 8.0.RC1 |
Fackel | 2.1.0 | 2.1.0 |
Fackel-npu | 2.1.0 | 2.1.0.post3 |
Deepspeed | 0,13,2 | 0,13,2 |
Denken Sie daran, ASCEND_RT_VISIBLE_DEVICES
anstelle von CUDA_VISIBLE_DEVICES
zu verwenden, um das zu verwendende Gerät anzugeben.
Wenn Sie das Modell auf NPU-Geräten nicht ableiten können, versuchen Sie, do_sample: false
in den Konfigurationen festzulegen.
Laden Sie die vorgefertigten Docker-Images herunter: 32 GB | 64 GB
Einzelheiten zum Format der Datensatzdateien finden Sie unter data/README.md. Sie können Datensätze entweder auf dem HuggingFace-/ModelScope-/Modelers-Hub verwenden oder den Datensatz auf die lokale Festplatte laden.
Notiz
Bitte aktualisieren Sie data/dataset_info.json
um Ihren benutzerdefinierten Datensatz zu verwenden.
Verwenden Sie die folgenden 3 Befehle, um die LoRA -Feinabstimmung , Inferenz bzw. Zusammenführung des Llama3-8B-Instruct-Modells auszuführen.
llamafactory-cli Zugbeispiele/train_lora/llama3_lora_sft.yaml llamafactory-cli chat examples/inference/llama3_lora_sft.yaml llamafactory-cli-Exportbeispiele/merge_lora/llama3_lora_sft.yaml
Weitere Informationen zur erweiterten Verwendung (einschließlich verteilter Schulung) finden Sie unter „examples/README.md“.
Tipp
Verwenden Sie llamafactory-cli help
um Hilfeinformationen anzuzeigen.
llamafactory-cli webui
Für CUDA-Benutzer:
cd docker/docker-cuda/ Docker komponieren -d Docker Compose Exec Lamafactory Bash
Für Ascend NPU-Benutzer:
cd docker/docker-npu/ Docker komponieren -d Docker Compose Exec Lamafactory Bash
Für AMD ROCm-Benutzer:
cd docker/docker-rocm/ Docker komponieren -d Docker Compose Exec Lamafactory Bash
Für CUDA-Benutzer:
docker build -f ./docker/docker-cuda/Dockerfile --build-arg INSTALL_BNB=false --build-arg INSTALL_VLLM=false --build-arg INSTALL_DEEPSPEED=false --build-arg INSTALL_FLASHATTN=false --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:latest .docker run -dit --gpus=all -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./data:/app/data -v ./output:/app/output -p 7860:7860 -p 8000:8000 --shm-size 16G --name Lamafactory Lamafactory:neueste docker exec -it llamafactory bash
Für Ascend NPU-Benutzer:
# Wählen Sie das Docker-Image in Ihrer Umgebungdocker build -f ./docker/docker-npu/Dockerfile --build-arg INSTALL_DEEPSPEED=false --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:latest .# Ändern Sie „Gerät“, wenn Ihr Ressourcendocker -dit ausführt -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./data:/app/data -v ./output:/app/output -v /usr/local/dcmi:/usr/local/dcmi -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /usr/local/Ascend/driver:/usr/local/Ascend/driver -v /etc/ascend_install.info:/etc/ascend_install.info -p 7860:7860 -p 8000:8000 --device /dev/davinci0 --device /dev/davinci_manager --device /dev/devmm_svm --device /dev/hisi_hdc --shm-size 16G --name Lamafactory Lamafactory:neueste docker exec -it llamafactory bash
Für AMD ROCm-Benutzer:
docker build -f ./docker/docker-rocm/Dockerfile --build-arg INSTALL_BNB=false --build-arg INSTALL_VLLM=false --build-arg INSTALL_DEEPSPEED=false --build-arg INSTALL_FLASHATTN=false --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:latest .docker run -dit -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./data:/app/data -v ./output:/app/output -v ./saves:/app/saves -p 7860:7860 -p 8000:8000 --device /dev/kfd --device /dev/dri --shm-size 16G --name Lamafactory Lamafactory:neueste docker exec -it llamafactory bash
hf_cache
: Hugging Face-Cache auf dem Host-Computer nutzen. Neu zuweisbar, wenn bereits ein Cache in einem anderen Verzeichnis vorhanden ist.
ms_cache
: Ähnlich dem Hugging Face-Cache, jedoch für ModelScope-Benutzer.
om_cache
: Ähnlich dem Hugging Face-Cache, jedoch für Modelers-Benutzer.
data
: Platzieren Sie Datensätze in diesem Verzeichnis des Host-Computers, damit sie auf der LLaMA Board-GUI ausgewählt werden können.
output
: Legen Sie das Exportverzeichnis auf diesen Speicherort fest, damit auf das zusammengeführte Ergebnis direkt auf dem Hostcomputer zugegriffen werden kann.
API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml
Tipp
Besuchen Sie diese Seite für das API-Dokument.
Beispiele: Bildverständnis | Funktionsaufruf
Wenn Sie Probleme beim Herunterladen von Modellen und Datensätzen von Hugging Face haben, können Sie ModelScope verwenden.
export USE_MODELSCOPE_HUB=1 # `set USE_MODELSCOPE_HUB=1` für Windows
Trainieren Sie das Modell, indem Sie eine Modell-ID des ModelScope Hub als model_name_or_path
angeben. Eine vollständige Liste der Modell-IDs finden Sie im ModelScope Hub, z. B. LLM-Research/Meta-Llama-3-8B-Instruct
.
Sie können Modelers Hub auch zum Herunterladen von Modellen und Datensätzen verwenden.
export USE_OPENMIND_HUB=1 # `set USE_OPENMIND_HUB=1` für Windows
Trainieren Sie das Modell, indem Sie eine Modell-ID des Modelers Hub als model_name_or_path
angeben. Eine vollständige Liste der Modell-IDs finden Sie im Modelers Hub, z. B. TeleAI/TeleChat-7B-pt
.
Um Gewichtungen und Verzerrungen zum Protokollieren experimenteller Ergebnisse zu verwenden, müssen Sie den Yaml-Dateien die folgenden Argumente hinzufügen.
report_to: wandbrun_name: test_run # optional
Legen Sie WANDB_API_KEY
beim Starten von Schulungsaufgaben auf Ihren Schlüssel fest, um sich mit Ihrem W&B-Konto anzumelden.
Wenn Sie ein Projekt haben, das integriert werden soll, kontaktieren Sie uns bitte per E-Mail oder erstellen Sie eine Pull-Anfrage.
Wang et al. ESRL: Effizientes, auf Stichproben basierendes Verstärkungslernen für die Sequenzgenerierung. 2023. [arxiv]
Yu et al. Offene, geschlossene oder kleine Sprachmodelle zur Textklassifizierung? 2023. [arxiv]
Wang et al. UbiPhysio: Unterstützen Sie die tägliche Leistungsfähigkeit, Fitness und Rehabilitation mit Handlungsverständnis und Feedback in natürlicher Sprache. 2023. [arxiv]
Luceri et al. Nutzung großer Sprachmodelle zur Erkennung von Einflusskampagnen in sozialen Medien. 2023. [arxiv]
Zhang et al. Linderung von Halluzinationen großer Sprachmodelle durch induzierte Halluzinationen. 2023. [arxiv]
Wang et al. Kennen Sie Ihre Bedürfnisse besser: Auf dem Weg zu einem strukturierten Verständnis der Anforderungen von Vermarktern mit analogem Denken und erweiterten LLMs. KDD 2024. [arxiv]
Wang et al. CANDLE: Iterative Konzeptualisierung und Instanziierungsdestillation aus großen Sprachmodellen für vernünftiges Denken. ACL 2024. [arxiv]
Choi et al. FACT-GPT: Erweiterung der Faktenprüfung durch Anspruchsabgleich mit LLMs. 2024. [arxiv]
Zhang et al. AutoMathText: Autonome Datenauswahl mit Sprachmodellen für mathematische Texte. 2024. [arxiv]
Lyu et al. KnowTuning: Wissensbewusste Feinabstimmung für große Sprachmodelle. 2024. [arxiv]
Yang et al. LaCo: Bereinigung großer Sprachmodelle durch Layer-Collaps. 2024. [arxiv]
Bhardwaj et al. Sprachmodelle sind Homer Simpson! Sichere Neuausrichtung fein abgestimmter Sprachmodelle durch Aufgabenarithmetik. 2024. [arxiv]
Yang et al. Verbesserung der Erzeugung empathischer Reaktionen durch Erweiterung von LLMs mit kleinen empathischen Modellen. 2024. [arxiv]
Yi et al. Generierung trifft auf Verifizierung: Beschleunigung der Inferenz großer Sprachmodelle durch intelligente parallele Autokorrektur-Dekodierung. ACL 2024-Ergebnisse. [arxiv]
Cao et al. Kopfweise gemeinsam nutzbare Aufmerksamkeit für große Sprachmodelle. 2024. [arxiv]
Zhang et al. Verbesserung der Mehrsprachigkeitsfähigkeiten großer Sprachmodelle durch Selbstdestillation aus ressourcenreichen Sprachen. 2024. [arxiv]
Kim et al. Effiziente und effektive Erweiterung des Wortschatzes hin zu mehrsprachigen großen Sprachmodellen. 2024. [arxiv]
Yu et al. KIEval: Ein wissensbasiertes interaktives Bewertungsrahmenwerk für große Sprachmodelle. ACL 2024. [arxiv]
Huang et al. Schlüsselpunktgesteuerte Datensynthese mit ihrer Verbesserung des mathematischen Denkens. 2024. [arxiv]
Duan et al. Negative Negative: Ausrichtung ohne menschliche positive Proben durch Verteilungsdispräferenzoptimierung. 2024. [arxiv]
Xie und Schwertfeger. Stärkung der Robotik mit großen Sprachmodellen: osmAG-Kartenverständnis mit LLMs. 2024. [arxiv]
Wu et al. Große Sprachmodelle sind parallele mehrsprachige Lernende. 2024. [arxiv]
Zhang et al. EDT: Verbesserung der Generierung großer Sprachmodelle durch entropiebasierte dynamische Temperaturabtastung. 2024. [arxiv]
Weller et al. FollowIR: Evaluieren und Lehren von Information Retrieval-Modellen zur Befolgung von Anweisungen. 2024. [arxiv]
Hongbin Na. CBT-LLM: Ein chinesisches Großsprachenmodell für die Beantwortung von Fragen zur psychischen Gesundheit auf der Basis kognitiver Verhaltenstherapie. COLING 2024. [arxiv]
Zan et al. CodeS: Natural Language to Code Repository über Multi-Layer Sketch. 2024. [arxiv]
Liu et al. Umfangreicher Selbstkontrast ermöglicht eine rückkopplungsfreie Ausrichtung des Sprachmodells. 2024. [arxiv]
Luo et al. BAdam: Eine speichereffiziente Trainingsmethode mit vollständigen Parametern für große Sprachmodelle. 2024. [arxiv]
Du et al. Chinese Tiny LLM: Vorabtraining eines chinesisch-zentrierten großen Sprachmodells. 2024. [arxiv]
Ma et al. Parametereffiziente quasi-orthogonale Feinabstimmung mittels Givens-Rotation. ICML 2024. [arxiv]
Liu et al. Dynamische Generierung von Persönlichkeiten mit großen Sprachmodellen. 2024. [arxiv]
Shang et al. Wie weit sind wir beim Verständnis des reduzierten Binärcodes mithilfe großer Sprachmodelle gekommen? 2024. [arxiv]
Huang et al. LLMTune: Beschleunigen Sie die Abstimmung von Datenbankknöpfen mit großen Sprachmodellen. 2024. [arxiv]
Deng et al. Text-Tupel-Tabelle: Auf dem Weg zur Informationsintegration bei der Text-zu-Tabelle-Generierung durch globale Tupelextraktion. 2024. [arxiv]
Acikgoz et al. Hippokrates: Ein Open-Source-Framework zur Weiterentwicklung großer Sprachmodelle im Gesundheitswesen. 2024. [arxiv]
Zhang et al. Kleine Sprachmodelle benötigen starke Verifikatoren, um das Denken selbst zu korrigieren. ACL 2024-Ergebnisse. [arxiv]
Zhou et al. FREB-TQA: Ein feinkörniger Benchmark zur Robustheitsbewertung für die Beantwortung von Tabellenfragen. NAACL 2024. [arxiv]
Xu et al. Große Sprachmodelle für Cybersicherheit: Eine systematische Literaturübersicht. 2024. [arxiv]
Dammu et al. „Sie sind unkultiviert“: Aufdeckung verdeckter Schäden und sozialer Bedrohungen in LLM-generierten Gesprächen. 2024. [arxiv]
Yi et al. Ein Sicherheits-Neuausrichtungs-Framework durch subraumorientierte Modellfusion für große Sprachmodelle. 2024. [arxiv]
Lou et al. SPO: Mehrdimensionale Präferenzsequentielle Ausrichtung mit impliziter Belohnungsmodellierung. 2024. [arxiv]
Zhang et al. Aus weniger mehr herausholen: Große Sprachmodelle sind gute spontane mehrsprachige Lernende. 2024. [arxiv]
Zhang et al. TS-Align: Ein Rahmenwerk für die Zusammenarbeit zwischen Lehrern und Schülern zur skalierbaren iterativen Feinabstimmung großer Sprachmodelle. 2024. [arxiv]
Zihong Chen. Satzsegmentierung und Satzzeichensetzung basierend auf XunziALLM. 2024. [Papier]
Gao et al. Das Beste aus beiden Welten: Auf dem Weg zu einem ehrlichen und hilfreichen großen Sprachmodell. 2024. [arxiv]
Wang und Song. MARS: Benchmarking der metaphysischen Denkfähigkeiten von Sprachmodellen mit einem Multitasking-Bewertungsdatensatz. 2024. [arxiv]
Hu et al. Rechengrenzen der Low-Rank Adaptation (LoRA) für transformatorbasierte Modelle. 2024. [arxiv]
Ge et al. Zeitkritische Wissensbearbeitung durch effiziente Feinabstimmung. ACL 2024. [arxiv]
Tan et al. Peer Review als Multi-Turn- und Long-Context-Dialog mit rollenbasierten Interaktionen. 2024. [arxiv]
Lied et al. Turbo Sparse: Erreichen der LLM-SOTA-Leistung mit minimalen aktivierten Parametern. 2024. [arxiv]
Gu et al. RWKV-CLIP: Ein robuster Lerner für die Darstellung von Vision und Sprache. 2024. [arxiv]
Chen et al. Weiterentwicklung werkzeuggestützter großer Sprachmodelle: Integration von Erkenntnissen aus Fehlern in Inferenzbäumen. 2024. [arxiv]
Zhu et al. Sind große Sprachmodelle gute Statistiker? 2024. [arxiv]
Li et al. Kennen Sie das Unbekannte: Eine unsicherheitsempfindliche Methode zur Optimierung von LLM-Anweisungen. 2024. [arxiv]
Ding et al. IntentionQA: Ein Benchmark zur Bewertung der Kaufabsichtsverständnisfähigkeiten von Sprachmodellen im E-Commerce. 2024. [arxiv]
Er et al. COMMUNITY-CROSS-INSTRUCT: Unbeaufsichtigte Befehlsgenerierung zur Ausrichtung großer Sprachmodelle auf Online-Communitys. 2024. [arxiv]
Lin et al. FVEL: Interaktive formale Verifikationsumgebung mit großen Sprachmodellen mittels Theorembeweis. 2024. [arxiv]
Treutlein et al. Zusammenhänge: LLMs können aus unterschiedlichen Trainingsdaten auf latente Strukturen schließen und diese verbalisieren. 2024. [arxiv]
Feng et al. SS-Bench: Ein Maßstab für die Generierung und Bewertung sozialer Geschichten. 2024. [arxiv]
Feng et al. Selbstkonstruierte Kontextdekompilierung mit feinkörniger Ausrichtungsverbesserung. 2024. [arxiv]
Liu et al. Große Sprachmodelle für die manschettenlose Blutdruckmessung anhand tragbarer Biosignale. 2024. [arxiv]
Iyer et al. Erkundung der ressourcenschonenden Übersetzung mit LLMs: Die Einreichung der Übersetzungsaufgabe AmericasNLP 2024 durch die University of Edinburgh. AmericasNLP 2024. [Papier]
Li et al. Kalibrierung von LLMs mit Präferenzoptimierung auf Gedankenbäumen zur Generierung von Begründungen bei der Bewertung wissenschaftlicher Fragen. 2024. [arxiv]
Yang et al. Finanzwissen Großes Sprachmodell. 2024. [arxiv]
Lin et al. DogeRM: Ausstattung von Belohnungsmodellen mit Domänenwissen durch Modellzusammenführung. 2024. [arxiv]
Bako et al. Bewertung der semantischen Profilierungsfähigkeiten von LLMs für natürlichsprachliche Äußerungen in der Datenvisualisierung. 2024. [arxiv]
Huang et al. RoLoRA: Feinabstimmung rotierter ausreißerfreier LLMs für eine effektive Quantisierung der Gewichtsaktivierung. 2024. [arxiv]
Jiang et al. LLM-Zusammenarbeit zum automatischen Wissenschaftsjournalismus für die breite Öffentlichkeit. 2024. [arxiv]
Inouye et al. Angewandtes Autotuning auf LoRA-Hyperparameter. 2024. [Papier]
Qi et al. Forschung zum Informationsgenerierungssystem Tibetan Tourism Viewpoints basierend auf LLM. 2024. [arxiv]
Xu et al. Kurskorrektur: Sicherheitsausrichtung mithilfe synthetischer Präferenzen. 2024. [arxiv]
Sun et al. LAMBDA: Ein großer modellbasierter Datenagent. 2024. [arxiv]
Zhu et al. CollectiveSFT: Skalierung großer Sprachmodelle für chinesische medizinische Benchmarks mit kollektiven Anweisungen im Gesundheitswesen. 2024. [arxiv]
Yu et al. Korrektur negativer Verzerrungen in großen Sprachmodellen durch Ausrichtung negativer Aufmerksamkeitswerte. 2024. [arxiv]
Xie et al. Die Kraft personalisierter Datensätze: Förderung des Schreibens chinesischer Aufsätze für die Grundschule durch gezielte Feinabstimmung des Modells. IALP 2024. [Papier]
Liu et al. Instruct-Code-Llama: Verbesserung der Fähigkeiten des Sprachmodells bei der Codegenerierung auf Wettbewerbsebene durch Online-Feedback von Richtern. ICIC 2024. [Papier]
Wang et al. Cybernetic Sentinels: Enthüllung des Einflusses der Auswahl von Sicherheitsdaten auf die Modellsicherheit bei der überwachten Feinabstimmung. ICIC 2024. [Papier]
Xia et al. Verstehen der Leistung und Abschätzen der Kosten der LLM-Feinabstimmung. 2024. [arxiv]
Zeng et al. Wahrnehmen, reflektieren und planen: Entwerfen eines LLM-Agenten für eine zielgerichtete Stadtnavigation ohne Anweisungen. 2024. [arxiv]
Xia et al. Verwendung eines vorab trainierten Sprachmodells für eine genaue ESG-Vorhersage. FinNLP 2024. [Papier]
Liang et al. I-SHEEP: Selbstausrichtung des LLM von Grund auf durch ein iteratives Selbstverbesserungsparadigma. 2024. [arxiv]
StarWhisper : Ein großes Sprachmodell für die Astronomie, basierend auf ChatGLM2-6B und Qwen-14B.
DISC-LawLLM : Ein großes Sprachmodell, das auf den chinesischen Rechtsbereich spezialisiert ist und auf Baichuan-13B basiert, ist in der Lage, juristisches Wissen abzurufen und zu begründen.
Sunsimiao : Ein großes Sprachmodell, das auf den chinesischen medizinischen Bereich spezialisiert ist und auf Baichuan-7B und ChatGLM-6B basiert.
CareGPT : Eine Reihe großer Sprachmodelle für den chinesischen medizinischen Bereich, basierend auf LLaMA2-7B und Baichuan-13B.
MachineMindset : Eine Reihe großer MBTI Personality-Sprachmodelle, die in der Lage sind, jedem LLM 16 verschiedene Persönlichkeitstypen basierend auf unterschiedlichen Datensätzen und Trainingsmethoden zu verleihen.
Luminia-13B-v3 : Ein großes Sprachmodell, das auf die Generierung von Metadaten für eine stabile Verbreitung spezialisiert ist. [Demo]
Chinese-LLaVA-Med : Ein multimodales großes Sprachmodell, das auf den chinesischen medizinischen Bereich spezialisiert ist und auf LLaVA-1.5-7B basiert.
AutoRE : Ein Beziehungsextraktionssystem auf Dokumentebene, das auf großen Sprachmodellen basiert.
NVIDIA RTX AI Toolkit : SDKs zur Feinabstimmung von LLMs auf Windows-PCs für NVIDIA RTX.
LazyLLM : Eine einfache und langsame Möglichkeit zum Erstellen von LLM-Anwendungen mit mehreren Agenten und unterstützt die Modellfeinabstimmung über LLaMA Factory.
RAG-Retrieval : Eine vollständige Pipeline für die Feinabstimmung, Inferenz und Destillation des RAG-Retrieval-Modells. [Blog]
Dieses Repository ist unter der Apache-2.0-Lizenz lizenziert.
Bitte befolgen Sie die Modelllizenzen, um die entsprechenden Modellgewichte zu verwenden: Baichuan 2 / BLOOM / ChatGLM3 / Command R / DeepSeek / Falcon / Gemma / GLM-4 / InternLM2 / Llama / Llama 2 (LLaVA-1.5) / Llama 3 / MiniCPM / Mistral /Mixtral/Pixtral / OLMo / Phi-1.5/Phi-2 / Phi-3 / Qwen / StarCoder 2 / XVERSE / Yi / Yi-1,5 / Yuan 2
Wenn diese Arbeit hilfreich ist, zitieren Sie sie bitte wie folgt:
@inproceedings{zheng2024llamafactory, title={LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models}, Autor={Yaowei Zheng und Richong Zhang und Junhao Zhang und Yanhan Ye und Zheyan Luo und Zhangchi Feng und Yongqiang Ma}, Buchtitel={ Tagungsband der 62. Jahrestagung der Association for Computational Linguistics (Band 3: Systemdemonstrationen)}, Adresse={Bangkok, Thailand}, Herausgeber={Association for Computational Linguistics}, Jahr={2024}, url={http://arxiv.org/abs/2403.13372}}
Dieses Repo profitiert von PEFT, TRL, QLoRA und FastChat. Vielen Dank für ihre wunderbaren Arbeiten.