Login

Un framework de ajuste fino e implementación de modelos de lenguaje grandes con cero código y bajo código, que admite el ajuste fino unificado y eficiente de más de 100 LLM/VLM.

Apache-2.0Python 54.6khiyougaLLaMA-Factory Last Updated: 2025-07-21

💡 Explicación del Proyecto LLaMA‑Factory

I. Resumen del Proyecto

LLaMA‑Factory es una plataforma de código abierto centrada en el ajuste fino, el entrenamiento y el despliegue de modelos de lenguaje grandes (LLM/VLM). Publicado por Yaowei Zheng y otros en ACL 2024, y recogido en arXiv ([gitee.com][1]). Este proyecto destaca las siguientes características:

  • Soporte para más de 100 modelos: Incluye modelos principales y emergentes como LLaMA, LLaVA, Mistral, Qwen, ChatGLM, Phi, etc.
  • Interfaz de código cero + código bajo: Modos CLI y Web UI (LLaMABoard), que cubren flujos de entrenamiento comunes, con una barrera técnica muy baja.
  • Integración de múltiples métodos de ajuste fino eficientes: Soporta LoRA, QLoRA (2/4/8 bit), congelación, parámetros completos de 16 bits, FlashAttention‑2, Unsloth, RoPE scaling, etc.
  • Amplios algoritmos de ajuste: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture‑of‑Depths, LoRA+, LoftQ, PiSSA, etc.
  • Múltiples métodos de entrenamiento: Pre-entrenamiento, ajuste fino supervisado (SFT), modelado de recompensas (RM), métodos de aprendizaje por refuerzo PPO/DPO/KTO/ORPO, etc.
  • Múltiples herramientas de monitorización de experimentos: Soporta LlamaBoard, TensorBoard, Wandb, MLflow, SwanLab, etc.
  • Compatibilidad con la inferencia y el despliegue: Soporta el despliegue al estilo de la API de OpenAI, la inferencia concurrente vLLM, la interfaz de usuario de Gradio, etc., con abundantes opciones de inferencia.

II. Aspectos Destacados de las Funciones Principales

1. Amplia Gama de Soporte de Modelos

Cubre más de cien modelos, incluyendo varios tamaños y arquitecturas, desde LLaMA, Phi hasta Qwen2-VL, Gemma, DeepSeek, etc.

2. Técnicas de Ajuste Fino Eficientes

  • LoRA / QLoRA: Soporta el ajuste fino adaptativo de baja cuantificación; 4-bit LoRA tiene una velocidad de inferencia más rápida y menores requisitos de memoria que los métodos tradicionales.
  • Operadores de optimización: FlashAttention-2, Unsloth mejoran la velocidad de entrenamiento y la utilización de la memoria.
  • RoPE Scaling: Amplía la capacidad de longitud del contexto.

3. Entrenamiento y Aprendizaje por Refuerzo

Integra flujos de entrenamiento comunes: desde el pre-entrenamiento, SFT, hasta el entrenamiento del modelo de recompensas, y luego el aprendizaje por refuerzo PPO/DPO.

4. Monitorización Visual

Visualiza el progreso del entrenamiento, las métricas y los registros en tiempo real a través de la Web UI (LLaMABoard), TensorBoard, Wandb, etc.

5. Capacidad de Inferencia y Despliegue

Soporta la exportación del modelo ajustado a formato de API de OpenAI, e implementa la inferencia concurrente (vLLM) o la construcción de un frontend Gradio.


III. Flujo de Uso y Inicio Rápido

Instalación / Inicio

pip install llama-factory   # O instalar desde GitHub clonando
  • Modo CLI:

    llama-factory train \
      --model llama-13b \
      --dataset mydata \
      --finetuning_type lora \
      ## Más parámetros consultar la documentación oficial
    
  • Modo Web UI:

    CUDA_VISIBLE_DEVICES=0 python src/train_web.py
    

    Inicia LLaMABoard, configuración integral de los hiperparámetros de entrenamiento


Preparación de Datos

El proyecto viene con más de 60 conjuntos de datos (directorio data), y también soporta archivos JSON personalizados, gestionando uniformemente dataset_info.json.


Monitorización y Evaluación

Durante el entrenamiento, soporta automáticamente la visualización de TensorBoard, Wandb; también se puede conectar a backends de monitorización como MLflow, SwanLab.


Inferencia y Despliegue

Después del entrenamiento, genera directamente el paquete de despliegue a través de CLI o script de exportación, soporta la inferencia concurrente y la visualización de Gradio.

V. Conclusión

LLaMA‑Factory es un framework de ajuste fino de LLM completo, fácil de usar y tecnológicamente avanzado. Tanto si eres un investigador como un ingeniero, puedes personalizar, entrenar y desplegar rápidamente una gran cantidad de modelos de código abierto, sin necesidad de escribir código complejo, lo que lo convierte en una herramienta valiosa para entrar en el campo del ajuste fino de LLM.

Star History Chart