Rejoignez notre groupe d'utilisateurs WeChat ou NPU.
[ Anglais | 中文]
Affiner un grand modèle de langage peut être aussi simple que...
Choisissez votre chemin :
Colab : https://colab.research.google.com/drive/1eRTPn37ltBbYsISy9Aw2NuI2Aq5CQrD9?usp=sharing
PAI-DSW : Exemple Llama3 | Exemple Qwen2-VL
Machine locale : veuillez vous référer à l'utilisation
Documentation (WIP) : https://llamafactory.readthedocs.io/zh-cn/latest/
Activités récentes :
2024/10/18-2024/11/30 : Créer un bot de guide touristique personnel en utilisant PAI+LLaMA Factory. [site web]
Note
À l’exception des liens ci-dessus, tous les autres sites Web sont des sites Web tiers non autorisés. Veuillez les utiliser avec précaution.
Caractéristiques
Référence
Journal des modifications
Modèles pris en charge
Approches de formation prises en charge
Ensembles de données fournis
Exigence
Commencer
Projets utilisant LLaMA Factory
Licence
Citation
Reconnaissance
Différents modèles : LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Qwen2-VL, Yi, Gemma, Baichuan, ChatGLM, Phi, etc.
Méthodes intégrées : pré-formation (continue), mise au point supervisée (multimodale), modélisation de récompense, PPO, DPO, KTO, ORPO, etc.
Ressources évolutives : réglage complet 16 bits, réglage figé, LoRA et QLoRA 2/3/4/5/6/8 bits via AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ.
Algorithmes avancés : GaLore, BAdam, Adam-mini, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ, PiSSA et Agent tuning.
Astuces pratiques : FlashAttention-2, Unsloth, Liger Kernel, RoPE scaling, NEFTune et rsLoRA.
Moniteurs d'expérimentation : LlamaBoard, TensorBoard, Wandb, MLflow, etc.
Inférence plus rapide : API de style OpenAI, interface utilisateur Gradio et CLI avec travailleur vLLM.
Comparé au P-Tuning de ChatGLM, le réglage LoRA de LLaMA Factory offre une vitesse de formation jusqu'à 3,7 fois plus rapide avec un meilleur score Rouge sur la tâche de génération de texte publicitaire. En tirant parti de la technique de quantification 4 bits, QLoRA de LLaMA Factory améliore encore l'efficacité de la mémoire GPU.
Vitesse d'entraînement : le nombre d'échantillons d'entraînement traités par seconde pendant l'entraînement. (bs=4, cutoff_len=1024)
Rouge Score : Score Rouge-2 sur l'ensemble de développement de la tâche de génération de texte publicitaire. (bs=4, cutoff_len=1024)
Mémoire GPU : utilisation maximale de la mémoire GPU dans l'entraînement quantifié 4 bits. (bs=1, cutoff_len=1024)
Nous adoptons pre_seq_len=128
pour le P-Tuning de ChatGLM et lora_rank=32
pour le réglage LoRA de LLaMA Factory.
[24/10/09] Nous avons pris en charge le téléchargement de modèles et d'ensembles de données pré-entraînés à partir du Modelers Hub . Voir ce tutoriel pour l'utilisation.
[24/09/19] Nous prenons en charge le réglage fin des modèles Qwen2.5 .
[24/08/30] Nous prenons en charge le réglage fin des modèles Qwen2-VL . Merci aux relations publiques de @simonJJJ.
[24/08/27] Nous supportons Liger Kernel . Essayez enable_liger_kernel: true
pour une formation efficace.
[24/08/09] Nous supportons l'optimiseur Adam-mini . Voir des exemples d'utilisation. Merci aux relations publiques de @relic-yuexi.
[24/07/04] Nous soutenons les formations emballées sans contamination. Utilisez neat_packing: true
pour l'activer. Merci aux relations publiques de @chuan298.
[24/06/16] Nous prenons en charge l'algorithme PiSSA . Voir des exemples d'utilisation.
[24/06/07] Nous avons pris en charge le réglage fin des modèles Qwen2 et GLM-4 .
[24/05/26] Nous avons pris en charge l'algorithme SimPO pour l'apprentissage des préférences. Voir des exemples d'utilisation.
[24/05/20] Nous avons soutenu le réglage fin des modèles de la série PaliGemma . Notez que les modèles PaliGemma sont des modèles pré-entraînés, vous devez les affiner avec le modèle paligemma
pour terminer le chat.
[24/05/18] Nous avons pris en charge l'algorithme KTO pour l'apprentissage des préférences. Voir des exemples d'utilisation.
[24/05/14] Nous avons pris en charge la formation et l'inférence sur les appareils Ascend NPU. Consultez la section d'installation pour plus de détails.
[24/04/26] Nous avons pris en charge le réglage fin des LLM multimodaux LLaVA-1.5 . Voir des exemples d'utilisation.
[24/04/22] Nous avons fourni un notebook Colab pour affiner le modèle Llama-3 sur un GPU T4 gratuit. Deux modèles dérivés de Llama-3 affinés à l'aide de LLaMA Factory sont disponibles sur Hugging Face, consultez Llama3-8B-Chinese-Chat et Llama3-Chinese pour plus de détails.
[24/04/21] Nous avons pris en charge Mixture-of-Depths selon l'implémentation d'AstraMindAI. Voir des exemples d'utilisation.
[24/04/16] Nous avons supporté l'optimiseur BAdam . Voir des exemples d'utilisation.
[24/04/16] Nous avons pris en charge la formation en séquence longue d' Unsloth (Llama-2-7B-56k dans les 24 Go). Il atteint 117 % de vitesse et 50 % de mémoire par rapport à FlashAttention-2. D'autres tests peuvent être trouvés sur cette page.
[24/03/31] Nous avons soutenu ORPO . Voir des exemples d'utilisation.
[24/03/21] Notre article « LlamaFactory : Unified Efficient Fine-Tuning of 100+ Language Models » est disponible sur arXiv !
[24/03/20] Nous avons pris en charge FSDP+QLoRA qui affine un modèle 70B sur des GPU de 2x24 Go. Voir des exemples d'utilisation.
[24/03/13] Nous avons supporté LoRA+ . Voir des exemples d'utilisation.
[24/03/07] Nous avons supporté l'optimiseur GaLore . Voir des exemples d'utilisation.
[24/03/07] Nous avons intégré vLLM pour une inférence plus rapide et simultanée. Essayez infer_backend: vllm
pour profiter d'une vitesse d'inférence de 270 % .
[24/02/28] Nous avons pris en charge la LoRA décomposée en poids ( DoRA ). Essayez use_dora: true
pour activer la formation DoRA.
[24/02/15] Nous avons pris en charge l'extension de bloc proposée par LLaMA Pro. Voir des exemples d'utilisation.
[24/02/05] Les modèles de la série Qwen1.5 (version bêta Qwen2) sont pris en charge dans LLaMA-Factory. Consultez cet article de blog pour plus de détails.
[24/01/18] Nous avons pris en charge le réglage des agents pour la plupart des modèles, en équipant le modèle d'outils utilisant des capacités en affinant avec dataset: glaive_toolcall_en
.
[23/12/23] Nous avons soutenu l'implémentation d' unsloth pour améliorer le réglage LoRA pour les modèles LLaMA, Mistral et Yi. Essayez use_unsloth: true
argument pour activer le patch anti-sloth. Il atteint une vitesse de 170 % dans notre benchmark, consultez cette page pour plus de détails.
[23/12/12] Nous avons pris en charge le réglage fin du dernier modèle MoE Mixtral 8x7B dans notre framework. Voir la configuration matérielle requise ici.
[23/12/01] Nous avons pris en charge le téléchargement de modèles et d'ensembles de données pré-entraînés à partir du ModelScope Hub . Voir ce tutoriel pour l'utilisation.
[23/10/21] Nous avons pris en charge l'astuce NEFTune pour un réglage fin. Essayez neftune_noise_alpha: 5
arguments pour activer NEFTune.
[23/09/27] Nous avons soutenu shift_attn: true
argument pour activer le déplacement de l'attention courte.
[23/09/23] Nous avons intégré les benchmarks MMLU, C-Eval et CMMLU dans ce repo. Voir des exemples d'utilisation.
[23/09/10] Nous avons pris en charge FlashAttention-2 . Essayez flash_attn: fa2
pour activer FlashAttention-2 si vous utilisez des GPU RTX4090, A100 ou H100.
[23/08/12] Nous avons pris en charge la mise à l'échelle RoPE pour étendre la longueur du contexte des modèles LLaMA. Essayez rope_scaling: linear
lors de la formation et rope_scaling: dynamic
lors de l'inférence pour extrapoler les intégrations de position.
[23/08/11] Nous avons soutenu la formation DPO pour les modèles adaptés aux instructions. Voir des exemples d'utilisation.
[23/07/31] Nous avons pris en charge le streaming d'ensembles de données . Essayez streaming: true
et max_steps: 10000
arguments pour charger votre ensemble de données en mode streaming.
[23/07/29] Nous avons publié deux modèles 13B adaptés aux instructions chez Hugging Face. Voir ces Hugging Face Repos (LLaMA-2 / Baichuan) pour plus de détails.
[23/07/18] Nous avons développé une interface utilisateur Web tout-en-un pour la formation, l'évaluation et l'inférence. Essayez train_web.py
pour affiner les modèles dans votre navigateur Web. Merci @KanadeSiina et @codemayq pour leurs efforts dans le développement.
[23/07/09] Nous avons publié FastEdit ⚡?, un package facile à utiliser pour éditer efficacement les connaissances factuelles de grands modèles de langage. Veuillez suivre FastEdit si vous êtes intéressé.
[23/06/29] Nous avons fourni un exemple reproductible de formation d'un modèle de discussion à l'aide d'ensembles de données suivant les instructions, voir Baichuan-7B-sft pour plus de détails.
[23/06/22] Nous avons aligné l'API de démonstration sur le format OpenAI où vous pouvez insérer le modèle affiné dans des applications arbitraires basées sur ChatGPT .
[23/06/03] Nous avons pris en charge la formation et l'inférence quantifiées (alias QLoRA ). Voir des exemples d'utilisation.
Modèle | Taille du modèle | Modèle |
---|---|---|
Baichuan 2 | 7B/13B | baichuan2 |
BLOOM/BLOOMZ | 560M/1,1B/1,7B/3B/7,1B/176B | - |
ChatGLM3 | 6B | chatglm3 |
Commande R | 35B/104B | adhérer |
Recherche approfondie (Code/MoE) | 7B/16B/67B/236B | recherche profonde |
Faucon | 7B/11B/40B/180B | faucon |
Gemma/Gemma 2/CodeGemma | 2B/7B/9B/27B | gemme |
GLM-4 | 9B | glm4 |
StagiaireLM2/StagiaireLM2.5 | 7B/20B | stagiaire2 |
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 | lave |
LLaVA-NeXT | 7B/8B/13B/34B/72B/110B | llava_suivant |
LLaVA-NeXT-Vidéo | 7B/34B | llava_next_video |
MiniCPM | 1B/2B/4B | cpm/cpm3 |
Mistral/Mistral | 7B/8x7B/8x22B | mistral |
OLMo | 1B/7B | - |
PaliGemma | 3B | paligemme |
Phi-1,5/Phi-2 | 1,3B/2,7B | - |
Phi-3 | 4B/7B/14B | phi |
Pixtral | 12B | pixellisé |
Qwen (1-2.5) (Code/Mathématiques/MoE) | 0,5B/1,5B/3B/7B/14B/32B/72B/110B | qwen |
Qwen2-VL | 2B/7B/72B | qwen2_vl |
StarCoder 2 | 3B/7B/15B | - |
XVERS | 7B/13B/65B | xvers |
Yi/Yi-1.5 (Code) | 1,5B/6B/9B/34B | ouais |
Yi-VL | 6B/34B | yi_vl |
Yuan 2 | 2B/51B/102B | yuan |
Note
Pour les modèles "de base", l'argument template
peut être choisi parmi default
, alpaca
, vicuna
etc. Mais assurez-vous d'utiliser le modèle correspondant pour les modèles "instruct/chat".
N'oubliez pas d'utiliser le MÊME modèle dans la formation et l'inférence.
Veuillez vous référer à constants.py pour une liste complète des modèles que nous prenons en charge.
Vous pouvez également ajouter un modèle de discussion personnalisé à template.py.
Approche | Réglage complet | Réglage gelé | LoRA | QLoRA |
---|---|---|---|---|
Pré-formation | ✅ | ✅ | ✅ | ✅ |
Mise au point supervisée | ✅ | ✅ | ✅ | ✅ |
Modélisation de récompense | ✅ | ✅ | ✅ | ✅ |
Formation OPP | ✅ | ✅ | ✅ | ✅ |
Formation DPO | ✅ | ✅ | ✅ | ✅ |
Formation KTO | ✅ | ✅ | ✅ | ✅ |
Formation ORPO | ✅ | ✅ | ✅ | ✅ |
Formation SimPO | ✅ | ✅ | ✅ | ✅ |
Conseil
Les détails de mise en œuvre de PPO peuvent être trouvés dans ce blog.
Démo Wiki (fr)
RefinedWeb (fr)
RedPajama V2 (fr)
Wikipédia (fr)
Wikipédia (zh)
Pile (fr)
SkyPile (zh)
FineWeb (fr)
FineWeb-Edu (fr)
La pile (fr)
StarCoder (fr)
Identité (en&zh)
Alpaga de Stanford (fr)
Alpaga de Stanford (zh)
Alpaga GPT4 (fr&zh)
Glaive Function Calling V2 (en&zh)
LIMA (fr)
Ensemble de données Guanaco (multilingue)
BELLE 2M (zh)
BELLE 1M (zh)
BELLE 0.5M (zh)
BELLE Dialogue 0,4M (zh)
Mathématiques de l'école BELLE 0,25M (zh)
BELLE Chat multitours 0,8M (zh)
UltraChat (fr)
OpenPlatypus (fr)
CodeAlpaca 20k (fr)
Alpaga CoT (multilingue)
OpenOrca (fr)
SlimOrca (fr)
MathInstruct (fr)
Luciole 1,1M (zh)
Wiki QA (fr)
Assurance qualité Web (zh)
WebRoman (zh)
Nectar (fr)
deepctrl (en&zh)
Génération de publicité (zh)
PartagerGPT Hyperfiltré (fr)
PartagerGPT4 (en&zh)
UltraChat 200k (fr)
AgentInstruct (fr)
LMSYS Chat 1M (fr)
Evol Instruct V2 (fr)
Cosmopédie (fr)
TIGE (zh)
Ruozhiba (zh)
Néo-sft (zh)
WebInstructSub (fr)
Magpie-Pro-300K-Filtered (fr)
Pie-ultra-v0.1 (fr)
LLaVA mixte (en&zh)
Pokemon-gpt4o-captions (fr&zh)
Assistant ouvert (de)
Chariot 15k (de)
Alpaga GPT4 (de)
OpenSchnabeltier (de)
Instruction Evol (de)
Dauphin (de)
Livresum (de)
Airoboros (de)
Ultrachat (de)
DPO mixte (en&zh)
UltraFeedback (fr)
RLHF-V (fr)
VLFeedback (fr)
Paires Orca DPO (fr)
HH-RLHF (fr)
Nectar (fr)
Orque DPO (de)
KTO mixte (fr)
Certains ensembles de données nécessitent une confirmation avant de les utiliser, nous vous recommandons donc de vous connecter avec votre compte Hugging Face à l'aide de ces commandes.
pip install --upgrade huggingface_hub connexion huggingface-cli
Obligatoire | Minimum | Recommander |
---|---|---|
python | 3.8 | 3.11 |
torche | 1.13.1 | 2.4.0 |
transformateurs | 4.41.2 | 4.43.4 |
ensembles de données | 2.16.0 | 2.20.0 |
accélérer | 0.30.1 | 0.32.0 |
peft | 0.11.1 | 0.12.0 |
trl | 0.8.6 | 0.9.6 |
Facultatif | Minimum | Recommander |
---|---|---|
CUDA | 11.6 | 12.2 |
vitesse profonde | 0.10.0 | 0.14.0 |
bits et octets | 0.39.0 | 0.43.1 |
vllm | 0.4.3 | 0.5.0 |
flash-attn | 2.3.0 | 2.6.3 |
* estimé
Méthode | Morceaux | 7B | 13B | 30B | 70B | 110B | 8x7B | 8x22B |
---|---|---|---|---|---|---|---|---|
Complet | AMP | 120 Go | 240 Go | 600 Go | 1200 Go | 2000 Go | 900 Go | 2400 Go |
Complet | 16 | 60 Go | 120 Go | 300 Go | 600 Go | 900 Go | 400 Go | 1200 Go |
Geler | 16 | 20 Go | 40 Go | 80 Go | 200 Go | 360 Go | 160 Go | 400 Go |
LoRA/GaLore/BAdam | 16 | 16 GB | 32 Go | 64 Go | 160 Go | 240 Go | 120 Go | 320 Go |
QLoRA | 8 | 10 Go | 20 Go | 40 Go | 80 Go | 140 Go | 60 Go | 160 Go |
QLoRA | 4 | 6 Go | 12 Go | 24 Go | 48 Go | 72 Go | 30 Go | 96 Go |
QLoRA | 2 | 4 Go | 8 Go | 16 GB | 24 Go | 48 Go | 18 Go | 48 Go |
Important
L'installation est obligatoire.
git clone --profondeur 1 https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factory pip install -e ".[torche, métriques]"
Dépendances supplémentaires disponibles : torch, torch-npu, metrics, deepspeed, liger-kernel, bitsandbytes, hqq, eetq, gptq, awq, aqlm, vllm, gogo, badam, adam-mini, qwen, modelscope, openmind, quality
Conseil
Utilisez pip install --no-deps -e .
pour résoudre les conflits de packages.
Si vous souhaitez activer la LoRA quantifiée (QLoRA) sur la plate-forme Windows, vous devez installer une version prédéfinie de la bibliothèque bitsandbytes
, qui prend en charge CUDA 11.1 à 12.2, veuillez sélectionner la version appropriée en fonction de votre version CUDA.
pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
Pour activer FlashAttention-2 sur la plate-forme Windows, vous devez installer la bibliothèque flash-attn
précompilée, qui prend en charge CUDA 12.1 à 12.2. Veuillez télécharger la version correspondante depuis flash-attention en fonction de vos besoins.
Pour installer LLaMA Factory sur les appareils Ascend NPU, veuillez spécifier des dépendances supplémentaires : pip install -e ".[torch-npu,metrics]"
. De plus, vous devez installer la boîte à outils et les noyaux Ascend CANN . Veuillez suivre le tutoriel d'installation ou utiliser les commandes suivantes :
# remplacez l'URL en fonction de votre version et de vos appareils CANN# installez 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
Exigence | Minimum | Recommander |
---|---|---|
CAN | 8.0.RC1 | 8.0.RC1 |
torche | 2.1.0 | 2.1.0 |
torche-npu | 2.1.0 | 2.1.0.post3 |
vitesse profonde | 0.13.2 | 0.13.2 |
N'oubliez pas d'utiliser ASCEND_RT_VISIBLE_DEVICES
au lieu de CUDA_VISIBLE_DEVICES
pour spécifier le périphérique à utiliser.
Si vous ne pouvez pas déduire le modèle sur les appareils NPU, essayez de définir do_sample: false
dans les configurations.
Téléchargez les images Docker prédéfinies : 32 Go | 64 Go
Veuillez vous référer à data/README.md pour vérifier les détails sur le format des fichiers de l'ensemble de données. Vous pouvez soit utiliser des ensembles de données sur le hub HuggingFace / ModelScope / Modelers, soit charger l'ensemble de données sur le disque local.
Note
Veuillez mettre à jour data/dataset_info.json
pour utiliser votre ensemble de données personnalisé.
Utilisez les 3 commandes suivantes pour exécuter le réglage fin , l'inférence et la fusion LoRA du modèle Llama3-8B-Instruct, respectivement.
exemples de train llamafactory-cli/train_lora/llama3_lora_sft.yaml exemples de chat llamafactory-cli/inference/llama3_lora_sft.yaml llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
Voir examples/README.md pour une utilisation avancée (y compris la formation distribuée).
Conseil
Utilisez llamafactory-cli help
pour afficher les informations d'aide.
lamafactory-cli webui
Pour les utilisateurs de CUDA :
cd docker/docker-cuda/ docker compose -d docker compose exec llamafactory bash
Pour les utilisateurs d'Ascend NPU :
cd docker/docker-npu/ docker compose -d docker compose exec llamafactory bash
Pour les utilisateurs d'AMD ROCm :
cd docker/docker-rocm/ docker compose -d docker compose exec llamafactory bash
Pour les utilisateurs de CUDA :
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 :dernière exécution de .docker -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 -p7860:7860 -p 8000:8000 --shm-taille 16G --name lamafactory lamafactory:dernière docker exec -it llamafactory bash
Pour les utilisateurs d'Ascend NPU :
# Choisissez l'image docker sur votre environnementdocker build -f ./docker/docker-npu/Dockerfile --build-arg INSTALL_DEEPSPEED=false --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:latest .# Changez `device` lors de l'exécution de votre resourcesdocker -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 /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 -p7860:7860 -p 8000:8000 --device /dev/davinci0 --device /dev/davinci_manager --device /dev/devmm_svm --device /dev/hisi_hdc --shm-taille 16G --name lamafactory lamafactory:dernière docker exec -it llamafactory bash
Pour les utilisateurs d'AMD ROCm :
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 :dernière exécution de .docker -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 -p7860:7860 -p 8000:8000 --device /dev/kfd --device /dev/dri --shm-taille 16G --name lamafactory lamafactory:dernière docker exec -it llamafactory bash
hf_cache
: utilise le cache Hugging Face sur la machine hôte. Réaffectable si un cache existe déjà dans un répertoire différent.
ms_cache
: similaire au cache Hugging Face mais pour les utilisateurs de ModelScope.
om_cache
: Similaire au cache Hugging Face mais pour les utilisateurs Modelers.
data
: placez les ensembles de données sur ce répertoire de la machine hôte afin qu'ils puissent être sélectionnés sur l'interface graphique de LLaMA Board.
output
: définissez le répertoire d'exportation à cet emplacement afin que le résultat fusionné soit accessible directement sur la machine hôte.
API_PORT=8000 exemples d'API llamafactory-cli/inference/llama3_vllm.yaml
Conseil
Visitez cette page pour le document API.
Exemples : Compréhension d'images | Appel de fonction
Si vous rencontrez des difficultés pour télécharger des modèles et des ensembles de données depuis Hugging Face, vous pouvez utiliser ModelScope.
export USE_MODELSCOPE_HUB=1 # `set USE_MODELSCOPE_HUB=1` pour Windows
Entraînez le modèle en spécifiant un ID de modèle du ModelScope Hub en tant que model_name_or_path
. Vous pouvez trouver une liste complète des ID de modèle sur ModelScope Hub, par exemple LLM-Research/Meta-Llama-3-8B-Instruct
.
Vous pouvez également utiliser Modelers Hub pour télécharger des modèles et des ensembles de données.
export USE_OPENMIND_HUB=1 # `set USE_OPENMIND_HUB=1` pour Windows
Entraînez le modèle en spécifiant un ID de modèle du Modelers Hub en tant que model_name_or_path
. Vous pouvez trouver une liste complète des ID de modèle sur Modelers Hub, par exemple TeleAI/TeleChat-7B-pt
.
Pour utiliser Weights & Biases pour enregistrer les résultats expérimentaux, vous devez ajouter les arguments suivants aux fichiers yaml.
report_to : wandbrun_name : test_run # facultatif
Définissez WANDB_API_KEY
sur votre clé lors du lancement des tâches de formation pour vous connecter avec votre compte W&B.
Si vous avez un projet qui doit être incorporé, veuillez nous contacter par e-mail ou créer une pull request.
Wang et coll. ESRL : Apprentissage par renforcement efficace basé sur l'échantillonnage pour la génération de séquences. 2023. [arxiv]
Yu et coll. Modèles de langage ouverts, fermés ou petits pour la classification de textes ? 2023. [arxiv]
Wang et coll. UbiPhysio : soutenez le fonctionnement quotidien, la forme physique et la rééducation grâce à la compréhension des actions et aux commentaires en langage naturel. 2023. [arxiv]
Lucéri et al. Tirer parti de grands modèles linguistiques pour détecter les campagnes d'influence sur les réseaux sociaux. 2023. [arxiv]
Zhang et coll. Atténuer les hallucinations des grands modèles de langage grâce aux hallucinations induites. 2023. [arxiv]
Wang et coll. Mieux connaître vos besoins : vers une compréhension structurée des demandes des spécialistes du marketing avec des LLM augmentés par raisonnement analogique. KDD 2024. [arxiv]
Wang et coll. CANDLE : Conceptualisation itérative et distillation d'instanciation à partir de grands modèles de langage pour le raisonnement de bon sens. ACL 2024. [arxiv]
Choi et coll. FACT-GPT : augmentation de la vérification des faits via la correspondance des réclamations avec les LLM. 2024. [arxiv]
Zhang et coll. AutoMathText : sélection autonome de données avec des modèles de langage pour les textes mathématiques. 2024. [arxiv]
Lyu et coll. KnowTuning : réglage fin prenant en compte les connaissances pour les grands modèles de langage. 2024. [arxiv]
Yang et coll. LaCo : Élagage de modèles de langage étendus via des regroupements de couches. 2024. [arxiv]
Bhardwaj et coll. Les modèles de langage sont Homer Simpson ! Réalignement de sécurité des modèles de langage affinés grâce à l'arithmétique des tâches. 2024. [arxiv]
Yang et coll. Améliorer la génération de réponses empathiques en augmentant les LLM avec des modèles empathiques à petite échelle. 2024. [arxiv]
Yi et coll. La génération rencontre la vérification : accélération de l’inférence de modèles de langage étendus grâce au décodage intelligent parallèle à correction automatique. Résultats de l’ACL 2024. [arxiv]
Cao et coll. Attention partageable au niveau de la tête pour les grands modèles de langage. 2024. [arxiv]
Zhang et coll. Améliorer les capacités multilingues des grands modèles linguistiques grâce à l'auto-distillation à partir de langues riches en ressources. 2024. [arxiv]
Kim et coll. Expansion efficace et efficiente du vocabulaire vers de grands modèles linguistiques multilingues. 2024. [arxiv]
Yu et coll. KIEval : un cadre d'évaluation interactif fondé sur les connaissances pour les grands modèles de langage. ACL 2024. [arxiv]
Huang et coll. Synthèse de données basée sur des points clés avec son amélioration du raisonnement mathématique. 2024. [arxiv]
Duan et coll. Négation des négatifs : alignement sans échantillons positifs humains via l'optimisation des dispréférences distributionnelles. 2024. [arxiv]
Xie et Schwertfeger. Renforcer la robotique avec de grands modèles de langage : compréhension de cartes osmAG avec des LLM. 2024. [arxiv]
Wu et coll. Les grands modèles linguistiques sont des apprenants multilingues parallèles. 2024. [arxiv]
Zhang et coll. EDT : Amélioration de la génération de modèles de langage étendus grâce à l'échantillonnage dynamique de la température basé sur l'entropie. 2024. [arxiv]
Weller et coll. FollowIR : évaluation et enseignement des modèles de recherche d'informations à suivre les instructions. 2024. [arxiv]
Hongbin Na. CBT-LLM : Un grand modèle linguistique chinois pour la réponse aux questions de santé mentale basées sur la thérapie cognitivo-comportementale. COLING 2024. [arxiv]
Zan et coll. CodeS : langage naturel vers référentiel de codes via une esquisse multicouche. 2024. [arxiv]
Liu et coll. Un contraste automatique étendu permet un alignement du modèle de langage sans retour. 2024. [arxiv]
Luo et coll. BAdam : une méthode de formation de paramètres complets et efficace en mémoire pour les grands modèles de langage. 2024. [arxiv]
Du et coll. Chinese Tiny LLM : préformation d'un grand modèle linguistique centré sur le chinois. 2024. [arxiv]
Ma et coll. Réglage fin quasi-orthogonal efficace des paramètres via la rotation Givens. ICML 2024. [arxiv]
Liu et coll. Génération dynamique de personnalités avec de grands modèles linguistiques. 2024. [arxiv]
Shang et coll. Jusqu'où sommes-nous allés dans la compréhension simplifiée du code binaire à l'aide de grands modèles de langage. 2024. [arxiv]
Huang et coll. LLMTune : accélérez le réglage des boutons de base de données avec de grands modèles de langage. 2024. [arxiv]
Deng et coll. Text-Tuple-Table : vers l'intégration des informations dans la génération de texte en table via l'extraction globale de tuples. 2024. [arxiv]
Acikgoz et al. Hippocrate : un cadre open source pour faire progresser les grands modèles linguistiques dans le domaine de la santé. 2024. [arxiv]
Zhang et coll. Les petits modèles de langage ont besoin de vérificateurs puissants pour auto-corriger le raisonnement. Résultats de l’ACL 2024. [arxiv]
Zhou et coll. FREB-TQA : une référence d'évaluation de robustesse à grain fin pour la réponse aux questions de table. NAACL 2024. [arxiv]
Xu et coll. Grands modèles linguistiques pour la cybersécurité : une revue systématique de la littérature. 2024. [arxiv]
Dammu et coll. "Ils sont incultes" : dévoiler les préjudices cachés et les menaces sociales dans les conversations générées par LLM. 2024. [arxiv]
Yi et coll. Un cadre de réalignement de la sécurité via la fusion de modèles orientés sous-espace pour les grands modèles de langage. 2024. [arxiv]
Lou et coll. SPO : alignement séquentiel de préférences multidimensionnelles avec modélisation implicite de récompense. 2024. [arxiv]
Zhang et coll. Obtenir plus avec moins : les grands modèles linguistiques sont de bons apprenants multilingues spontanés. 2024. [arxiv]
Zhang et coll. TS-Align : un cadre de collaboration enseignant-élève pour un réglage fin itératif évolutif de grands modèles de langage. 2024. [arxiv]
Zihong Chen. Segmentation des phrases et ponctuation des phrases basées sur XunziALLM. 2024. [papier]
Gao et coll. Le meilleur des deux mondes : vers un grand modèle linguistique honnête et utile. 2024. [arxiv]
Wang et Song. MARS : évaluation des capacités de raisonnement métaphysique des modèles de langage avec un ensemble de données d'évaluation multitâche. 2024. [arxiv]
Hu et coll. Limites informatiques de l'adaptation de bas rang (LoRA) pour les modèles basés sur des transformateurs. 2024. [arxiv]
Ge et coll. Édition des connaissances sensibles au temps grâce à un réglage fin efficace. ACL 2024. [arxiv]
Tan et coll. L'examen par les pairs en tant que dialogue à plusieurs tours et à long contexte avec des interactions basées sur les rôles. 2024. [arxiv]
Chanson et coll. Turbo Sparse : atteindre les performances LLM SOTA avec des paramètres activés minimaux. 2024. [arxiv]
Gu et coll. RWKV-CLIP : un apprenant robuste en représentation vision-langage. 2024. [arxiv]
Chen et coll. Faire progresser les grands modèles de langage augmentés par des outils : intégrer les informations provenant des erreurs dans les arbres d'inférence. 2024. [arxiv]
Zhu et coll. Les grands modèles linguistiques sont-ils de bons statisticiens ?. 2024. [arxiv]
Li et coll. Connaître l'inconnu : une méthode sensible à l'incertitude pour le réglage des instructions LLM. 2024. [arxiv]
Ding et coll. IntentionQA : une référence pour évaluer les capacités de compréhension des intentions d'achat des modèles linguistiques dans le commerce électronique. 2024. [arxiv]
Lui et coll. COMMUNITY-CROSS-INSTRUCT : génération d'instructions non supervisées pour l'alignement de grands modèles linguistiques sur les communautés en ligne. 2024. [arxiv]
Lin et coll. FVEL : Environnement de vérification formelle interactif avec de grands modèles de langage via la preuve de théorèmes. 2024. [arxiv]
Treutlein et coll. Relier les points : les LLM peuvent déduire et verbaliser une structure latente à partir de données de formation disparates. 2024. [arxiv]
Feng et coll. SS-Bench : une référence pour la génération et l'évaluation d'histoires sociales. 2024. [arxiv]
Feng et coll. Décompilation de contexte auto-construite avec amélioration de l'alignement à grain fin. 2024. [arxiv]
Liu et coll. Grands modèles linguistiques pour la mesure de la pression artérielle sans brassard à partir de biosignaux portables. 2024. [arxiv]
Iyer et coll. Explorer la traduction à très faibles ressources avec les LLM : soumission de l'Université d'Édimbourg à la tâche de traduction AmericasNLP 2024. AmériquesNLP 2024. [papier]
Li et coll. Calibrage des LLM avec optimisation des préférences sur les arbres de pensée pour générer une justification dans la notation des questions scientifiques. 2024. [arxiv]
Yang et coll. Modèle de langage étendu de connaissances financières. 2024. [arxiv]
Lin et coll. DogeRM : Équiper les modèles de récompense avec des connaissances de domaine grâce à la fusion de modèles. 2024. [arxiv]
Bako et coll. Évaluation des capacités de profilage sémantique des LLM pour les énoncés en langage naturel dans la visualisation de données. 2024. [arxiv]
Huang et coll. RoLoRA : Affinement des LLM rotatifs sans valeurs aberrantes pour une quantification efficace de l'activation du poids. 2024. [arxiv]
Jiang et coll. LLM-Collaboration sur le journalisme scientifique automatique pour le grand public. 2024. [arxiv]
Inouye et coll. Réglage automatique appliqué sur les hyperparamètres LoRA. 2024. [papier]
Qi et coll. Recherche sur le système de génération d'informations sur les points de vue touristiques tibétains basé sur LLM. 2024. [arxiv]
Xu et coll. Correction de cap : alignement de sécurité à l'aide de préférences synthétiques. 2024. [arxiv]
Sun et coll. LAMBDA : un agent de données basé sur un grand modèle. 2024. [arxiv]
Zhu et coll. CollectiveSFT : mise à l'échelle de grands modèles linguistiques pour une référence médicale chinoise avec des instructions collectives dans le domaine des soins de santé. 2024. [arxiv]
Yu et coll. Correction des biais négatifs dans les grands modèles linguistiques grâce à l'alignement des scores d'attention négative. 2024. [arxiv]
Xie et coll. La puissance des ensembles de données personnalisés : faire progresser la rédaction de compositions chinoises pour l'école primaire grâce à un réglage précis du modèle. IALP 2024. [papier]
Liu et coll. Instruct-Code-Llama : Amélioration des capacités du modèle linguistique dans la génération de code de niveau compétition grâce aux commentaires des juges en ligne. ICIC 2024. [document]
Wang et coll. Sentinelles cybernétiques : dévoilement de l'impact de la sélection des données de sécurité sur la sécurité des modèles dans le cadre d'un réglage fin supervisé. ICIC 2024. [document]
Xia et coll. Comprendre les performances et estimer le coût du réglage fin du LLM. 2024. [arxiv]
Zeng et coll. Percevoir, réfléchir et planifier : concevoir un agent LLM pour une navigation urbaine orientée vers un objectif sans instructions. 2024. [arxiv]
Xia et coll. Utilisation d'un modèle linguistique pré-entraîné pour une prévision ESG précise. FinNLP 2024. [papier]
Liang et coll. I-SHEEP : auto-alignement du LLM à partir de zéro grâce à un paradigme itératif d'auto-amélioration. 2024. [arxiv]
StarWhisper : Un grand modèle de langage pour l'astronomie, basé sur ChatGLM2-6B et Qwen-14B.
DISC-LawLLM : Un grand modèle de langage spécialisé dans le domaine juridique chinois, basé sur Baichuan-13B, est capable de récupérer et de raisonner sur des connaissances juridiques.
Sunsimiao : Un grand modèle de langage spécialisé dans le domaine médical chinois, basé sur Baichuan-7B et ChatGLM-6B.
CareGPT : Une série de grands modèles linguistiques pour le domaine médical chinois, basés sur LLaMA2-7B et Baichuan-13B.
MachineMindset : Une série de grands modèles de langage MBTI Personality, capables de donner à n'importe quel LLM 16 types de personnalité différents basés sur différents ensembles de données et méthodes de formation.
Luminia-13B-v3 : Un grand modèle de langage spécialisé dans la génération de métadonnées pour une diffusion stable. [démo]
Chinese-LLaVA-Med : Un grand modèle linguistique multimodal spécialisé dans le domaine médical chinois, basé sur LLaVA-1.5-7B.
AutoRE : Un système d'extraction de relations au niveau du document basé sur de grands modèles de langage.
NVIDIA RTX AI Toolkit : SDK pour affiner les LLM sur PC Windows pour NVIDIA RTX.
LazyLLM : Un moyen simple et paresseux de créer des applications LLM multi-agents et prend en charge le réglage fin du modèle via LLaMA Factory.
RAG-Retrieval : un pipeline complet pour le réglage fin, l'inférence et la distillation du modèle de récupération RAG. [blog]
Ce référentiel est sous licence Apache-2.0.
Veuillez suivre les licences de modèle pour utiliser les poids de modèle correspondants : 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
Si ce travail est utile, merci de bien vouloir citer comme suit :
@inproceedings{zheng2024llamafactory, title={LlamaFactory : réglage fin et efficace unifié de plus de 100 modèles de langage}, author={Yaowei Zheng et Richong Zhang et Junhao Zhang et Yanhan Ye et Zheyan Luo et Zhangchi Feng et Yongqiang Ma}, booktitle={ Actes de la 62e réunion annuelle de l'Association for Computational Linguistics (Volume 3 : Démonstrations du système)}, adresse={Bangkok, Thaïlande}, éditeur={Association for Computational Linguistics}, année={2024}, url={http://arxiv.org/abs/2403.13372}}
Ce dépôt bénéficie de PEFT, TRL, QLoRA et FastChat. Merci pour leurs merveilleux travaux.