Únase a nuestro grupo de usuarios de WeChat o NPU.
[ Inglés | 中文]
Ajustar un modelo de lenguaje grande puede ser tan fácil como...
Elige tu camino:
Colaboración : https://colab.research.google.com/drive/1eRTPn37ltBbYsISy9Aw2NuI2Aq5CQrD9?usp=sharing
PAI-DSW : Ejemplo de Llama3 | Ejemplo de Qwen2-VL
Máquina local : consulte el uso
Documentación (WIP) : https://llamafactory.readthedocs.io/zh-cn/latest/
Actividades recientes:
18/10/2024-30/11/2024 : Cree un robot de guía turístico personal utilizando PAI+LLaMA Factory. [sitio web]
Nota
A excepción de los enlaces anteriores, todos los demás sitios web son sitios web de terceros no autorizados. Úselos con cuidado.
Características
Punto de referencia
Registro de cambios
Modelos compatibles
Enfoques de capacitación apoyados
Conjuntos de datos proporcionados
Requisito
Empezando
Proyectos utilizando LLaMA Factory
Licencia
Citación
Reconocimiento
Varios modelos : LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Qwen2-VL, Yi, Gemma, Baichuan, ChatGLM, Phi, etc.
Métodos integrados : preentrenamiento (continuo), ajuste fino supervisado (multimodal), modelado de recompensa, PPO, DPO, KTO, ORPO, etc.
Recursos escalables : ajuste completo de 16 bits, ajuste congelado, LoRA y QLoRA de 2/3/4/5/6/8 bits a través de AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ.
Algoritmos avanzados : GaLore, BAdam, Adam-mini, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ, PiSSA y Agent tuning.
Trucos prácticos : FlashAttention-2, Unsloth, Liger Kernel, escalado RoPE, NEFTune y rsLoRA.
Monitores de experimentos : LlamaBoard, TensorBoard, Wandb, MLflow, etc.
Inferencia más rápida : API estilo OpenAI, interfaz de usuario de Gradio y CLI con trabajador vLLM.
En comparación con el P-Tuning de ChatGLM, el ajuste LoRA de LLaMA Factory ofrece una velocidad de entrenamiento hasta 3,7 veces más rápida con una mejor puntuación Rouge en la tarea de generación de texto publicitario. Al aprovechar la técnica de cuantificación de 4 bits, QLoRA de LLaMA Factory mejora aún más la eficiencia de la memoria de la GPU.
Velocidad de entrenamiento : la cantidad de muestras de entrenamiento procesadas por segundo durante el entrenamiento. (bs=4, longitud_corte=1024)
Puntuación Rouge : puntuación Rouge-2 en el conjunto de desarrollo de la tarea de generación de texto publicitario. (bs=4, longitud_corte=1024)
Memoria GPU : uso máximo de memoria GPU en entrenamiento cuantificado de 4 bits. (bs=1, longitud_corte=1024)
Adoptamos pre_seq_len=128
para el ajuste P de ChatGLM y lora_rank=32
para el ajuste LoRA de LLaMA Factory.
[24/10/09] Admitimos la descarga de modelos y conjuntos de datos previamente entrenados desde Modelers Hub . Consulte este tutorial para conocer su uso.
[24/09/19] Apoyamos el ajuste fino de los modelos Qwen2.5 .
[24/08/30] Apoyamos el ajuste fino de los modelos Qwen2-VL . Gracias a las relaciones públicas de @simonJJJ.
[24/08/27] Apoyamos Liger Kernel . Pruebe enable_liger_kernel: true
para un entrenamiento eficiente.
[24/08/09] Admitimos el optimizador Adam-mini . Ver ejemplos de uso. Gracias a las relaciones públicas de @relic-yuexi.
[24/07/04] Apoyamos la formación empaquetada libre de contaminación. Utilice neat_packing: true
para activarlo. Gracias al PR de @chuan298.
[24/06/16] Apoyamos el algoritmo PiSSA . Ver ejemplos de uso.
[24/06/07] Apoyamos el ajuste fino de los modelos Qwen2 y GLM-4 .
[24/05/26] Admitimos el algoritmo SimPO para el aprendizaje de preferencias. Ver ejemplos de uso.
[24/05/20] Apoyamos el ajuste de los modelos de la serie PaliGemma . Tenga en cuenta que los modelos PaliGemma son modelos previamente entrenados; debe ajustarlos con la plantilla paligemma
para completar el chat.
[24/05/18] Admitimos el algoritmo KTO para el aprendizaje de preferencias. Ver ejemplos de uso.
[24/05/14] Apoyamos la capacitación y la inferencia en los dispositivos Ascend NPU. Consulte la sección de instalación para obtener más detalles.
[24/04/26] Apoyamos el ajuste de los LLM multimodales LLaVA-1.5 . Ver ejemplos de uso.
[24/04/22] Proporcionamos una computadora portátil Colab para ajustar el modelo Llama-3 en una GPU T4 gratuita. Dos modelos derivados de Llama-3 ajustados con LLaMA Factory están disponibles en Hugging Face; consulte Llama3-8B-Chinese-Chat y Llama3-Chinese para obtener más detalles.
[24/04/21] Admitimos la mezcla de profundidades de acuerdo con la implementación de AstraMindAI. Ver ejemplos de uso.
[24/04/16] Admitimos el optimizador BAdam . Ver ejemplos de uso.
[24/04/16] Apoyamos el entrenamiento de secuencia larga de unsloth (Llama-2-7B-56k dentro de 24 GB). Alcanza un 117 % de velocidad y un 50 % de memoria en comparación con FlashAttention-2; se pueden encontrar más puntos de referencia en esta página.
[24/03/31] Apoyamos a ORPO . Ver ejemplos de uso.
[24/03/21] ¡Nuestro artículo "LlamaFactory: Ajuste fino unificado y eficiente de más de 100 modelos de lenguaje" está disponible en arXiv!
[24/03/20] Admitimos FSDP+QLoRA que ajusta un modelo 70B en GPU de 2x24 GB. Ver ejemplos de uso.
[24/03/13] Apoyamos LoRA+ . Ver ejemplos de uso.
[24/03/07] Apoyamos el optimizador GaLore . Ver ejemplos de uso.
[24/03/07] Integramos vLLM para una inferencia más rápida y concurrente. Pruebe infer_backend: vllm
para disfrutar de una velocidad de inferencia del 270% .
[24/02/28] Admitimos LoRA descompuesto en peso ( DoRA ). Pruebe use_dora: true
para activar el entrenamiento DoRA.
[24/02/15] Apoyamos la expansión de bloques propuesta por LLaMA Pro. Ver ejemplos de uso.
[24/02/05] Los modelos de la serie Qwen1.5 (versión beta de Qwen2) son compatibles con LLaMA-Factory. Consulte esta publicación de blog para obtener más detalles.
[24/01/18] Apoyamos el ajuste del agente para la mayoría de los modelos, equipando el modelo con herramientas de uso de capacidades mediante el ajuste con dataset: glaive_toolcall_en
.
[23/12/23] Apoyamos la implementación de unsloth para impulsar el ajuste de LoRA para los modelos LLaMA, Mistral y Yi. Pruebe use_unsloth: true
para activar el parche unsloth. Alcanza una velocidad del 170% en nuestro punto de referencia; consulte esta página para obtener más detalles.
[23/12/12] Apoyamos el ajuste del último modelo MoE Mixtral 8x7B en nuestro marco. Consulte los requisitos de hardware aquí.
[23/12/01] Admitimos la descarga de modelos y conjuntos de datos previamente entrenados desde ModelScope Hub . Consulte este tutorial para conocer su uso.
[23/10/21] Admitimos el truco NEFTune para realizar ajustes. Pruebe neftune_noise_alpha: 5
argumentos para activar NEFTune.
[23/09/27] Apoyamos shift_attn: true
para permitir el cambio de atención breve.
[23/09/23] Integramos los puntos de referencia MMLU, C-Eval y CMMLU en este repositorio. Ver ejemplos de uso.
[23/09/10] Admitimos FlashAttention-2 . Pruebe flash_attn: fa2
para habilitar FlashAttention-2 si está utilizando GPU RTX4090, A100 o H100.
[23/08/12] Apoyamos el escalado de RoPE para ampliar la longitud del contexto de los modelos LLaMA. Pruebe rope_scaling: linear
en el entrenamiento y rope_scaling: dynamic
en la inferencia para extrapolar las incrustaciones de posición.
[23/08/11] Apoyamos la capacitación de DPO para modelos ajustados a instrucciones. Ver ejemplos de uso.
[23/07/31] Admitimos la transmisión de conjuntos de datos . Pruebe streaming: true
y max_steps: 10000
argumentos para cargar su conjunto de datos en modo de transmisión.
[23/07/29] Lanzamos dos modelos 13B ajustados por instrucciones en Hugging Face. Consulte estos repositorios de Hugging Face (LLaMA-2 / Baichuan) para obtener más detalles.
[23/07/18] Desarrollamos una interfaz de usuario web todo en uno para capacitación, evaluación e inferencia. Pruebe train_web.py
para ajustar los modelos en su navegador web. Agradezca a @KanadeSiina y @codemayq por sus esfuerzos en el desarrollo.
[23/07/09] Lanzamos FastEdit ⚡?, un paquete fácil de usar para editar eficientemente el conocimiento factual de grandes modelos de lenguaje. Siga FastEdit si está interesado.
[23/06/29] Proporcionamos un ejemplo reproducible de entrenamiento de un modelo de chat utilizando conjuntos de datos de seguimiento de instrucciones; consulte Baichuan-7B-sft para obtener más detalles.
[23/06/22] Alineamos la API de demostración con el formato de OpenAI donde puede insertar el modelo ajustado en aplicaciones arbitrarias basadas en ChatGPT .
[23/06/03] Apoyamos el entrenamiento y la inferencia cuantificados (también conocido como QLoRA ). Ver ejemplos de uso.
Modelo | Tamaño del modelo | Plantilla |
---|---|---|
Baichuan 2 | 7B/13B | baichuan2 |
FLORECER/FLORECER | 560M/1.1B/1.7B/3B/7.1B/176B | - |
ChatGLM3 | 6B | chatglm3 |
Comando R | 35B/104B | adherirse |
DeepSeek (Código/MoE) | 7B/16B/67B/236B | búsqueda profunda |
Halcón | 7B/11B/40B/180B | halcón |
Gemma/Gemma 2/CódigoGemma | 2B/7B/9B/27B | gema |
GLM-4 | 9B | glm4 |
PasanteLM2/PasanteLM2.5 | 7B/20B | pasante2 |
Llama | 7B/13B/33B/65B | - |
Llama 2 | 7B/13B/70B | llama2 |
Llama 3-3.2 | 1B/3B/8B/70B | llama3 |
LLaVA-1.5 | 7B/13B | llama |
LLaVA-Siguiente | 7B/8B/13B/34B/72B/110B | llama_siguiente |
LLaVA-Siguiente-Video | 7B/34B | llama_siguiente_video |
MiniCPM | 1B/2B/4B | cpm/cpm3 |
Mistral/Mixtral | 7B/8x7B/8x22B | mistral |
OLMo | 1B/7B | - |
PaliGemma | 3B | paligema |
Fi-1.5/Fi-2 | 1,3 mil millones/2,7 mil millones | - |
fi-3 | 4B/7B/14B | fi |
Pixtral | 12B | pixtral |
Qwen (1-2.5) (Código/Matemáticas/MoE) | 0.5B/1.5B/3B/7B/14B/32B/72B/110B | qwen |
Qwen2-VL | 2B/7B/72B | qwen2_vl |
Codificador estrella 2 | 3B/7B/15B | - |
XVERSO | 7B/13B/65B | xverso |
Yi/Yi-1.5 (Código) | 1.5B/6B/9B/34B | yi |
Yi-VL | 6B/34B | yi_vl |
2 yuanes | 2B/51B/102B | yuan |
Nota
Para los modelos "base", el argumento template
se puede elegir entre default
, alpaca
, vicuna
, etc. Pero asegúrese de utilizar la plantilla correspondiente para los modelos "instruct/chat".
Recuerde utilizar la MISMA plantilla en entrenamiento e inferencia.
Consulte constantes.py para obtener una lista completa de los modelos que admitimos.
También puedes agregar una plantilla de chat personalizada a template.py.
Acercarse | Ajuste completo | Ajuste congelado | lora | QLoRA |
---|---|---|---|---|
Pre-entrenamiento | ✅ | ✅ | ✅ | ✅ |
Ajuste supervisado | ✅ | ✅ | ✅ | ✅ |
Modelado de recompensas | ✅ | ✅ | ✅ | ✅ |
Capacitación PPO | ✅ | ✅ | ✅ | ✅ |
Formación DPO | ✅ | ✅ | ✅ | ✅ |
Formación KTO | ✅ | ✅ | ✅ | ✅ |
Formación ORPO | ✅ | ✅ | ✅ | ✅ |
Formación SimPO | ✅ | ✅ | ✅ | ✅ |
Consejo
Los detalles de implementación de PPO se pueden encontrar en este blog.
Demostración Wiki (es)
RefinedWeb (es)
RedPijama V2 (es)
Wikipedia (es)
Wikipedia (zh)
Pila (es)
SkyPile (zh)
FineWeb (es)
FineWeb-Edu (es)
La Pila (es)
StarCoder (es)
Identidad (en&zh)
Stanford Alpaca (es)
Stanford Alpaca (zh)
Alpaca GPT4 (inglés)
Llamada a la función Glaive V2 (en&zh)
LIMA (es)
Conjunto de datos de Guanaco (multilingüe)
BELLA 2M (zh)
BELLA 1M (zh)
BELLA 0.5M (zh)
BELLE Diálogo 0.4M (zh)
BELLE Matemáticas escolares 0,25 millones (zh)
BELLE Chat multivuelta 0,8M (zh)
UltraChat (es)
OpenPlatypus (es)
CódigoAlpaca 20k (es)
CoT de alpaca (multilingüe)
OpenOrca (es)
SlimOrca (es)
MathInstruct (es)
Luciérnaga 1,1M (zh)
Control de calidad de Wiki (es)
Control de calidad web (zh)
Novela web (zh)
Néctar (es)
deepctrl (en&zh)
Generación de publicidad (zh)
ShareGPT Hiperfiltrado (es)
CompartirGPT4 (en&zh)
UltraChat 200k (es)
AgentInstruct (es)
LMSYS Chat 1M (es)
Evol Instruct V2 (es)
Cosmopedia (es)
VÁSTAGO (zh)
Ruozhiba (zh)
Neo-sft (zh)
WebInstructSub (es)
Magpie-Pro-300K-Filtered (es)
Urraca-ultra-v0.1 (es)
LLaVA mixta (ing&zh)
Pokemon-gpt4o-captions (en&zh)
Asistente abierto (de)
Carro 15k (de)
Alpaca GPT4 (de)
OpenSchnabeltier (de)
Instrucción Evol (de)
delfín (de)
suma de libros (inglés)
Airoboros (Delaware)
ultrachat (de)
DPO mixto (en&zh)
UltraFeedback (es)
RLHF-V (es)
VLFeedback (es)
Parejas de DPO Orca (es)
HH-RLHF (es)
Néctar (es)
Orca DPO (de)
KTO mixto (es)
Algunos conjuntos de datos requieren confirmación antes de usarlos, por lo que recomendamos iniciar sesión con su cuenta de Hugging Face usando estos comandos.
instalación de pip --actualizar huggingface_hub iniciar sesión en huggingface-cli
Obligatorio | Mínimo | Recomendar |
---|---|---|
pitón | 3.8 | 3.11 |
antorcha | 1.13.1 | 2.4.0 |
transformadores | 4.41.2 | 4.43.4 |
conjuntos de datos | 2.16.0 | 2.20.0 |
acelerar | 0.30.1 | 0.32.0 |
peft | 0.11.1 | 0.12.0 |
trl | 0.8.6 | 0.9.6 |
Opcional | Mínimo | Recomendar |
---|---|---|
CUDA | 11.6 | 12.2 |
velocidad profunda | 0.10.0 | 0.14.0 |
bits y bytes | 0.39.0 | 0.43.1 |
vllm | 0.4.3 | 0.5.0 |
atención flash | 2.3.0 | 2.6.3 |
* estimado
Método | bits | 7B | 13B | 30B | 70B | 110B | 8x7B | 8x22B |
---|---|---|---|---|---|---|---|---|
Lleno | AMPERIO | 120GB | 240GB | 600GB | 1200GB | 2000GB | 900GB | 2400GB |
Lleno | 16 | 60GB | 120GB | 300GB | 600GB | 900GB | 400GB | 1200GB |
Congelar | 16 | 20GB | 40GB | 80GB | 200GB | 360GB | 160GB | 400GB |
LoRA/GaLore/BAdam | 16 | 16GB | 32GB | 64GB | 160GB | 240GB | 120GB | 320GB |
QLoRA | 8 | 10GB | 20GB | 40GB | 80GB | 140GB | 60GB | 160GB |
QLoRA | 4 | 6GB | 12GB | 24GB | 48GB | 72GB | 30GB | 96GB |
QLoRA | 2 | 4GB | 8GB | 16GB | 24GB | 48GB | 18GB | 48GB |
Importante
La instalación es obligatoria.
git clone --profundidad 1 https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factory pip install -e ".[antorcha,métricas]"
Dependencias adicionales disponibles: torch, torch-npu, metrics, deepspeed, liger-kernel, bitsandbytes, hqq, eetq, gptq, awq, aqlm, vllm, galore, badam, adam-mini, qwen, modelscope, openmind, calidad
Consejo
Utilice pip install --no-deps -e .
para resolver conflictos de paquetes.
Si desea habilitar LoRA cuantificado (QLoRA) en la plataforma Windows, debe instalar una versión prediseñadas de la biblioteca bitsandbytes
, que admita CUDA 11.1 a 12.2; seleccione la versión de lanzamiento adecuada según su versión de CUDA.
instalación de pip https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
Para habilitar FlashAttention-2 en la plataforma Windows, debe instalar la biblioteca flash-attn
precompilada, que admite CUDA 12.1 a 12.2. Descargue la versión correspondiente de flash-attention según sus requisitos.
Para instalar LLaMA Factory en dispositivos Ascend NPU, especifique dependencias adicionales: pip install -e ".[torch-npu,metrics]"
. Además, debe instalar el kit de herramientas y los kernels de Ascend CANN . Siga el tutorial de instalación o utilice los siguientes comandos:
# reemplace la URL según su versión de CANN y sus dispositivos # instale 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)".ejecutar 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/ Milán-ASL/Milán-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
Requisito | Mínimo | Recomendar |
---|---|---|
GOLPE LIGERO | 8.0.RC1 | 8.0.RC1 |
antorcha | 2.1.0 | 2.1.0 |
antorcha-npu | 2.1.0 | 2.1.0.post3 |
velocidad profunda | 0.13.2 | 0.13.2 |
Recuerde usar ASCEND_RT_VISIBLE_DEVICES
en lugar de CUDA_VISIBLE_DEVICES
para especificar el dispositivo a usar.
Si no puede inferir el modelo en dispositivos NPU, intente configurar do_sample: false
en las configuraciones.
Descargue las imágenes de Docker prediseñadas: 32 GB | 64GB
Consulte data/README.md para verificar los detalles sobre el formato de los archivos del conjunto de datos. Puede utilizar conjuntos de datos en el centro HuggingFace / ModelScope / Modelers o cargar el conjunto de datos en el disco local.
Nota
Actualice data/dataset_info.json
para utilizar su conjunto de datos personalizado.
Utilice los siguientes 3 comandos para ejecutar el ajuste , la inferencia y la fusión de LoRA del modelo Llama3-8B-Instruct, respectivamente.
ejemplos de trenes llamafactory-cli/train_lora/llama3_lora_sft.yaml ejemplos de chat llamafactory-cli/inference/llama3_lora_sft.yaml ejemplos de exportación llamafactory-cli/merge_lora/llama3_lora_sft.yaml
Consulte ejemplos/README.md para uso avanzado (incluida la capacitación distribuida).
Consejo
Utilice llamafactory-cli help
para mostrar información de ayuda.
llamafactory-cli webui
Para usuarios de CUDA:
cd-docker/docker-cuda/ ventana acoplable componer -d ventana acoplable componer ejecutivo llamafactory bash
Para usuarios de Ascend NPU:
cd-docker/docker-npu/ ventana acoplable componer -d ventana acoplable componer ejecutivo llamafactory bash
Para usuarios de AMD ROCm:
cd docker/docker-rocm/ ventana acoplable componer -d ventana acoplable componer ejecutivo llamafactory bash
Para usuarios de CUDA:
compilación de ventana acoplable -f ./docker/docker-cuda/Dockerfile --build-arg INSTALL_BNB=falso --build-arg INSTALL_VLLM=falso --build-arg INSTALL_DEEPSPEED=falso --build-arg INSTALL_FLASHATTN=falso --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:última ejecución de .docker -dit --gpus=all -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./datos:/aplicación/datos -v ./salida:/aplicación/salida -p 7860:7860 -p 8000:8000 --shm-tamaño 16G --nombre llamafactory llamafactory: último ejecutivo de Docker -it llamafactory bash
Para usuarios de Ascend NPU:
# Elija la imagen de Docker según su entornodocker build -f ./docker/docker-npu/Dockerfile --build-arg INSTALL_DEEPSPEED=falso --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:latest .# Cambie el `dispositivo` al ejecutar la ventana acoplable de recursos -dit -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./datos:/aplicación/datos -v ./salida:/aplicación/salida -v /usr/local/dcmi:/usr/local/dcmi -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /usr/local/Ascend/controlador:/usr/local/Ascend/controlador -v /etc/ascend_install.info:/etc/ascend_install.info -p 7860:7860 -p 8000:8000 --dispositivo /dev/davinci0 --dispositivo /dev/davinci_manager --dispositivo /dev/devmm_svm --dispositivo /dev/hisi_hdc --shm-tamaño 16G --nombre llamafactory llamafactory: último ejecutivo de Docker -it llamafactory bash
Para usuarios de AMD ROCm:
compilación de ventana acoplable -f ./docker/docker-rocm/Dockerfile --build-arg INSTALL_BNB=falso --build-arg INSTALL_VLLM=falso --build-arg INSTALL_DEEPSPEED=falso --build-arg INSTALL_FLASHATTN=falso --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory: última ejecución de .docker -dit -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./datos:/aplicación/datos -v ./salida:/aplicación/salida -v ./saves:/app/saves -p 7860:7860 -p 8000:8000 --dispositivo /dev/kfd --dispositivo /dev/dri --shm-tamaño 16G --nombre llamafactory llamafactory: último ejecutivo de Docker -it llamafactory bash
hf_cache
: utiliza la caché Hugging Face en la máquina host. Reasignable si ya existe un caché en un directorio diferente.
ms_cache
: similar al caché de Hugging Face pero para usuarios de ModelScope.
om_cache
: similar al caché de Hugging Face pero para usuarios de Modelers.
data
: coloque conjuntos de datos en este directorio de la máquina host para que puedan seleccionarse en la GUI de LLaMA Board.
output
: establezca el directorio de exportación en esta ubicación para que se pueda acceder al resultado combinado directamente en la máquina host.
API_PORT=8000 ejemplos de API de llamafactory-cli/inferencia/llama3_vllm.yaml
Consejo
Visite esta página para obtener el documento API.
Ejemplos: Comprensión de imágenes | llamada de función
Si tiene problemas para descargar modelos y conjuntos de datos de Hugging Face, puede utilizar ModelScope.
exportar USE_MODELSCOPE_HUB=1 # `establecer USE_MODELSCOPE_HUB=1` para Windows
Entrene el modelo especificando un ID de modelo de ModelScope Hub como model_name_or_path
. Puede encontrar una lista completa de ID de modelos en ModelScope Hub, por ejemplo, LLM-Research/Meta-Llama-3-8B-Instruct
.
También puede utilizar Modelers Hub para descargar modelos y conjuntos de datos.
exportar USE_OPENMIND_HUB=1 # `establecer USE_OPENMIND_HUB=1` para Windows
Entrene el modelo especificando un ID de modelo de Modelers Hub como model_name_or_path
. Puede encontrar una lista completa de ID de modelo en Modelers Hub, por ejemplo, TeleAI/TeleChat-7B-pt
.
Para utilizar Weights & Biases para registrar resultados experimentales, debe agregar los siguientes argumentos a los archivos yaml.
report_to: wandbrun_name: test_run # opcional
Configure WANDB_API_KEY
en su clave al iniciar tareas de capacitación para iniciar sesión con su cuenta de W&B.
Si tiene un proyecto que deba incorporarse, comuníquese por correo electrónico o cree una solicitud de extracción.
Wang y cols. ESRL: Aprendizaje por refuerzo eficiente basado en muestreo para la generación de secuencias. 2023. [arxiv]
Yu et al. ¿Modelos de lenguaje abiertos, cerrados o pequeños para la clasificación de textos? 2023. [arxiv]
Wang y cols. UbiPhysio: respalde el funcionamiento diario, el estado físico y la rehabilitación con comprensión de acciones y retroalimentación en lenguaje natural. 2023. [arxiv]
Luceri et al. Aprovechamiento de grandes modelos de lenguaje para detectar campañas de influencia en las redes sociales. 2023. [arxiv]
Zhang et al. Aliviar las alucinaciones de modelos de lenguaje grandes mediante alucinaciones inducidas. 2023. [arxiv]
Wang y cols. Conozca mejor sus necesidades: hacia una comprensión estructurada de las demandas de los especialistas en marketing con LLM aumentados de razonamiento analógico. KDD 2024. [arxiv]
Wang y cols. CANDLE: Conceptualización iterativa y destilación de instancias a partir de modelos de lenguaje grandes para el razonamiento de sentido común. ACL 2024. [arxiv]
Choi et al. FACT-GPT: Aumento de la verificación de hechos mediante la comparación de reclamos con LLM. 2024. [arxiv]
Zhang et al. AutoMathText: Selección autónoma de datos con modelos de lenguaje para textos matemáticos. 2024. [arxiv]
Liu y col. KnowTuning: ajuste preciso basado en el conocimiento para modelos de lenguaje grandes. 2024. [arxiv]
Yang et al. LaCo: poda de modelos de lenguaje grande mediante colapso de capas. 2024. [arxiv]
Bhardwaj et al. ¡Los modelos de lenguaje son Homero Simpson! Realineación de seguridad de modelos de lenguaje perfeccionados mediante aritmética de tareas. 2024. [arxiv]
Yang et al. Mejora de la generación de respuestas empáticas mediante el aumento de los LLM con modelos empáticos a pequeña escala. 2024. [arxiv]
Yi et al. La generación se encuentra con la verificación: aceleración de la inferencia de modelos de lenguaje grandes con decodificación inteligente de autocorrección paralela. Hallazgos de ACL 2024. [arxiv]
Cao et al. Atención compartible desde la cabeza para modelos de lenguaje grandes. 2024. [arxiv]
Zhang et al. Mejora de las capacidades multilingües de modelos lingüísticos grandes mediante la autodestilación de lenguajes ricos en recursos. 2024. [arxiv]
Kim y cols. Ampliación eficiente y eficaz del vocabulario hacia modelos multilingües de lenguajes grandes. 2024. [arxiv]
Yu et al. KIEval: un marco de evaluación interactivo basado en el conocimiento para modelos de lenguaje grandes. ACL 2024. [arxiv]
Huang et al. Síntesis de datos basada en puntos clave con su mejora en el razonamiento matemático. 2024. [arxiv]
Duan et al. Negación de negativos: alineación sin muestras positivas humanas mediante optimización de la diferencia distributiva. 2024. [arxiv]
Xie y Schwertfeger. Potenciando la robótica con modelos de lenguaje grandes: comprensión de mapas osmAG con LLM. 2024. [arxiv]
Wu et al. Los modelos de lenguajes grandes son estudiantes multilingües paralelos. 2024. [arxiv]
Zhang et al. EDT: Mejora de la generación de modelos de lenguaje grandes mediante muestreo dinámico de temperatura basado en entropía. 2024. [arxiv]
Weller y cols. FollowIR: evaluación y enseñanza de modelos de recuperación de información para seguir instrucciones. 2024. [arxiv]
Hongbin Na. CBT-LLM: un modelo de lenguaje chino amplio para responder preguntas sobre salud mental basado en terapia cognitivo-conductual. ENTREGA 2024. [arxiv]
Zan et al. CodeS: repositorio de lenguaje natural a código a través de un boceto multicapa. 2024. [arxiv]
Liu y cols. El amplio autocontraste permite la alineación del modelo de lenguaje sin comentarios. 2024. [arxiv]
Luo y col. BAdam: un método de entrenamiento de parámetros completos con eficiencia de memoria para modelos de lenguaje grandes. 2024. [arxiv]
Du et al. Chinese Tiny LLM: preparación previa de un modelo de lenguaje grande centrado en el chino. 2024. [arxiv]
Ma et al. Ajuste cuasi ortogonal eficiente de parámetros mediante rotación dada. ICML 2024. [arxiv]
Liu y cols. Generación dinámica de personalidades con grandes modelos de lenguaje. 2024. [arxiv]
Shang et al. ¿Hasta dónde hemos llegado en la comprensión del código binario simplificado utilizando modelos de lenguaje grandes? 2024. [arxiv]
Huang et al. LLMTune: acelere el ajuste de perillas de la base de datos con modelos de lenguaje grandes. 2024. [arxiv]
Deng et al. Tabla de tuplas de texto: hacia la integración de la información en la generación de texto a tabla mediante la extracción global de tuplas. 2024. [arxiv]
Acikgoz et al. Hipócrates: un marco de código abierto para promover modelos de lenguaje grandes en la atención médica. 2024. [arxiv]
Zhang et al. Los modelos de lenguaje pequeño necesitan verificadores sólidos para autocorregir el razonamiento. Hallazgos de ACL 2024. [arxiv]
Zhou y col. FREB-TQA: un punto de referencia de evaluación de robustez detallada para responder preguntas en tablas. NAACL 2024. [arxiv]
Xu et al. Grandes modelos de lenguaje para la seguridad cibernética: una revisión sistemática de la literatura. 2024. [arxiv]
Dammu et al. "Son incultos": revelando daños encubiertos y amenazas sociales en conversaciones generadas por LLM. 2024. [arxiv]
Yi et al. Un marco de realineación de seguridad mediante la fusión de modelos orientados al subespacio para modelos de lenguaje grandes. 2024. [arxiv]
Lou et al. SPO: Alineación secuencial de preferencias multidimensional con modelado de recompensa implícita. 2024. [arxiv]
Zhang et al. Obtener más con menos: los modelos de lenguaje grandes son buenos estudiantes multilingües espontáneos. 2024. [arxiv]
Zhang et al. TS-Align: un marco de colaboración entre profesores y estudiantes para el ajuste iterativo escalable de modelos de lenguaje grandes. 2024. [arxiv]
Zihong Chen. Segmentación y puntuación de oraciones basadas en XunziALLM. 2024. [papel]
Gao et al. Lo mejor de ambos mundos: hacia un modelo de lenguaje amplio honesto y útil. 2024. [arxiv]
Wang y Song. MARS: Evaluación comparativa de las capacidades de razonamiento metafísico de los modelos lingüísticos con un conjunto de datos de evaluación multitarea. 2024. [arxiv]
Hu et al. Límites computacionales de adaptación de bajo rango (LoRA) para modelos basados en transformadores. 2024. [arxiv]
Ge et al. Edición de conocimientos urgente mediante un ajuste eficiente. ACL 2024. [arxiv]
Tan et al. La revisión por pares como un diálogo de múltiples turnos y de contexto prolongado con interacciones basadas en roles. 2024. [arxiv]
Canción y col. Turbo Sparse: lograr el rendimiento LLM SOTA con parámetros mínimos activados. 2024. [arxiv]
Gu et al. RWKV-CLIP: un alumno robusto de representación del lenguaje y la visión. 2024. [arxiv]
Chen et al. Avance de modelos de lenguaje grandes mejorados con herramientas: integración de conocimientos a partir de errores en árboles de inferencia. 2024. [arxiv]
Zhu et al. ¿Son los modelos de lenguaje grandes buenos estadísticos? 2024. [arxiv]
Li y col. Conozca lo desconocido: un método sensible a la incertidumbre para ajustar las instrucciones de LLM. 2024. [arxiv]
Ding et al. IntentionQA: un punto de referencia para evaluar las capacidades de comprensión de la intención de compra de los modelos lingüísticos en el comercio electrónico. 2024. [arxiv]
Él y otros. COMMUNITY-CROSS-INSTRUCT: Generación de instrucción no supervisada para alinear modelos lingüísticos grandes con comunidades en línea. 2024. [arxiv]
Lin et al. FVEL: entorno de verificación formal interactivo con modelos de lenguaje grandes mediante demostración de teoremas. 2024. [arxiv]
Treutlein et al. Conectando los puntos: los LLM pueden inferir y verbalizar la estructura latente a partir de datos de capacitación dispares. 2024. [arxiv]
Feng et al. SS-Bench: un punto de referencia para la generación y evaluación de historias sociales. 2024. [arxiv]
Feng et al. Descompilación de contexto autoconstruida con mejora de alineación detallada. 2024. [arxiv]
Liu y cols. Modelos de lenguaje grandes para la medición de la presión arterial sin manguitos a partir de bioseñales portátiles. 2024. [arxiv]
Iyer et al. Exploración de la traducción con muy pocos recursos con LLM: presentación de la Universidad de Edimburgo a la tarea de traducción AmericasNLP 2024. AméricasNLP 2024. [artículo]
Li y col. Calibración de LLM con optimización de preferencias en árboles de pensamiento para generar fundamentos en la puntuación de preguntas científicas. 2024. [arxiv]
Yang et al. Modelo de lenguaje grande de conocimiento financiero. 2024. [arxiv]
Lin et al. DogeRM: Equipar modelos de recompensa con conocimiento de dominio mediante la fusión de modelos. 2024. [arxiv]
Bako et al. Evaluación de las capacidades de creación de perfiles semánticos de los LLM para expresiones en lenguaje natural en visualización de datos. 2024. [arxiv]
Huang et al. RoLoRA: Ajuste fino de LLM rotados sin valores atípicos para una cuantificación eficaz de la activación del peso. 2024. [arxiv]
Jiang et al. LLM-Colaboración en Periodismo Científico Automático para el Público General. 2024. [arxiv]
Inouye et al. Ajuste automático aplicado a los hiperparámetros LoRA. 2024. [papel]
Qi y col. Investigación sobre el sistema de generación de información sobre puntos de vista turísticos tibetanos basado en LLM. 2024. [arxiv]
Xu et al. Corrección de rumbo: alineación de seguridad mediante preferencias sintéticas. 2024. [arxiv]
Sol y col. LAMBDA: un agente de datos basado en modelos grandes. 2024. [arxiv]
Zhu et al. CollectiveSFT: Ampliación de modelos de lenguaje grandes para el punto de referencia médico chino con instrucciones colectivas en atención médica. 2024. [arxiv]
Yu et al. Corrección del sesgo negativo en modelos de lenguaje grandes mediante la alineación de la puntuación de atención negativa. 2024. [arxiv]
Xie et al. El poder de los conjuntos de datos personalizados: avance de la escritura de composiciones chinas para la escuela primaria mediante el ajuste preciso de modelos específicos. IALP 2024. [artículo]
Liu y cols. Instruct-Code-Llama: mejora de las capacidades del modelo de lenguaje en la generación de código a nivel de competencia mediante comentarios de jueces en línea. ICIC 2024. [artículo]
Wang y cols. Centinelas cibernéticos: revelando el impacto de la selección de datos de seguridad en la seguridad del modelo en el ajuste supervisado. ICIC 2024. [artículo]
Xia y col. Comprender el rendimiento y estimar el costo del ajuste de LLM. 2024. [arxiv]
Zeng et al. Percibir, reflexionar y planificar: diseño de un agente LLM para navegación urbana dirigida a objetivos sin instrucciones. 2024. [arxiv]
Xia y col. Uso de un modelo de lenguaje previamente entrenado para una predicción ESG precisa. FinNLP 2024. [artículo]
Liang et al. I-SHEEP: Autoalineación de LLM desde cero mediante un paradigma iterativo de mejora personal. 2024. [arxiv]
StarWhisper : un modelo de lenguaje grande para astronomía, basado en ChatGLM2-6B y Qwen-14B.
DISC-LawLLM : Un gran modelo de lenguaje especializado en el ámbito jurídico chino, basado en Baichuan-13B, es capaz de recuperar y razonar sobre conocimientos jurídicos.
Sunsimiao : un modelo de lenguaje grande especializado en el dominio médico chino, basado en Baichuan-7B y ChatGLM-6B.
CareGPT : una serie de grandes modelos de lenguaje para el dominio médico chino, basados en LLaMA2-7B y Baichuan-13B.
MachineMindset : una serie de modelos de lenguaje grande de personalidad MBTI, capaces de brindarle a cualquier LLM 16 tipos de personalidad diferentes basados en diferentes conjuntos de datos y métodos de capacitación.
Luminia-13B-v3 : un modelo de lenguaje grande especializado en generar metadatos para una difusión estable. [manifestación]
Chinese-LLaVA-Med : un modelo de lenguaje grande multimodal especializado en el dominio médico chino, basado en LLaVA-1.5-7B.
AutoRE : un sistema de extracción de relaciones a nivel de documento basado en grandes modelos de lenguaje.
NVIDIA RTX AI Toolkit : SDK para ajustar los LLM en PC con Windows para NVIDIA RTX.
LazyLLM : una forma fácil y sencilla de crear aplicaciones LLM de múltiples agentes y admite el ajuste de modelos a través de LLaMA Factory.
RAG-Retrieval : un proceso completo para el ajuste, la inferencia y la destilación del modelo de recuperación RAG. [blog]
Este repositorio tiene la licencia Apache-2.0.
Siga las licencias de modelo para utilizar los pesos de modelo correspondientes: 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 este trabajo es útil, cítelo como:
@inproceedings{zheng2024llamafactory, title={LlamaFactory: Ajuste eficiente y unificado de más de 100 modelos de lenguaje}, autor={Yaowei Zheng y Richong Zhang y Junhao Zhang y Yanhan Ye y Zheyan Luo y Zhangchi Feng y Yongqiang Ma}, booktitle={ Actas de la 62.ª reunión anual de la Asociación de Lingüística Computacional (Volumen 3: Demostraciones de sistemas)}, dirección={Bangkok, Tailandia}, editor={Asociación de Lingüística Computacional}, año={2024}, url={http:/ /arxiv.org/abs/2403.13372}}
Este repositorio se beneficia de PEFT, TRL, QLoRA y FastChat. Gracias por sus maravillosos trabajos.