Saltar al contenido principal

Entrenamiento LLM

El comando aitraining llm entrena modelos de lenguaje grandes con soporte para múltiples trainers y técnicas.

Inicio Rápido

Trainers Disponibles

generic es un alias para default. Los tres (default, sft, generic) producen el mismo comportamiento.
Requisitos del Trainer PPO: PPO requiere --rl-reward-model-path (ruta a un modelo de recompensa entrenado) o --model-ref (modelo de referencia para divergencia KL). Ver Entrenamiento PPO para documentación completa.
Requisitos del Trainer GRPO: GRPO requiere --rl-env-module (ruta del módulo Python) y --rl-env-class (nombre de la clase) para el entorno personalizado. Ver Entrenamiento GRPO para documentación completa.

Grupos de Parámetros

Los parámetros están organizados en grupos lógicos:

Parámetros Básicos

Siempre especifica estos parámetros: Aunque --model, --data-path y --project-name tienen valores predeterminados, siempre debes establecerlos explícitamente para tu caso de uso. El parámetro --project-name establece la carpeta de salida - usa una ruta como --project-name ./models/my-experiment para controlar dónde se guarda el modelo entrenado.

Configuración de Entrenamiento

Checkpointing y Evaluación

Rendimiento y Memoria

Requisitos de Unsloth: Unsloth solo funciona con trainers sft/default y arquitecturas de modelo específicas (llama, mistral, gemma, qwen2). Ver Integración Unsloth para detalles.

Backend y Distribución

Comportamiento Multi-GPU: Con múltiples GPUs y --distributed-backend no establecido, DDP se usa automáticamente. Establece --distributed-backend deepspeed para optimización DeepSpeed Zero-3. El entrenamiento se lanza vía Accelerate.
Checkpointing DeepSpeed: Al usar DeepSpeed, el guardado del modelo usa accelerator.get_state_dict() y desempaqueta el modelo. El guardado del adaptador PEFT se maneja de forma diferente bajo DeepSpeed.

Parámetros PEFT/LoRA

Procesamiento de Datos

Selección Automática de Plantilla de Chat: Los trainers SFT/DPO/ORPO/Reward usan tokenizer (plantilla integrada del modelo) por defecto. Usa --chat-template none para entrenamiento de texto plano.
Guardado de Datos Procesados: Por defecto (auto), los datos procesados se guardan localmente en {project}/data_processed/. Si el dataset fuente era del Hub, también se sube como dataset privado. Las columnas originales se renombran a _original_* para prevenir conflictos.

Ejemplos de Entrenamiento

SFT with LoRA

Entrenamiento DPO

Para DPO, debes especificar los nombres de las columnas para prompt, respuesta elegida y respuesta rechazada:
DPO y ORPO requieren que se especifiquen --prompt-text-column y --rejected-text-column.

Entrenamiento ORPO

ORPO combina SFT y optimización de preferencias:

Entrenamiento GRPO

Entrena con Group Relative Policy Optimization usando tu propio entorno de recompensa:
GRPO genera múltiples completaciones por prompt, las puntúa mediante tu entorno (0-1), y optimiza la política. Ver Entrenamiento GRPO para detalles de la interfaz del entorno.

Distilación de Conocimiento

Entrena un modelo más pequeño para imitar uno más grande:
Valores predeterminados de distilación: --distill-temperature 3.0, --distill-alpha 0.7, --distill-max-teacher-length 512

Logging y Monitorización

Weights & Biases (Predeterminado)

El logging W&B con visualizador LEET está habilitado por defecto. El visualizador LEET muestra métricas de entrenamiento en tiempo real directamente en tu terminal.
Para deshabilitar W&B o el visualizador:

TensorBoard

Push a Hugging Face Hub

Sube tu modelo entrenado:
El repositorio se crea como privado por defecto. Por defecto, el repositorio se nombrará {username}/{project-name}.

Nombre de Repositorio Personalizado u Organización

Usa --repo-id para subir a un repositorio específico, útil para:
  • Subir a una organización en lugar de tu cuenta personal
  • Usar un nombre de repo diferente a tu project-name local
Al usar --repo-id, no necesitas --username ya que el ID del repo ya especifica el destino. Sin embargo, aún necesitas --token para autenticación.

Opciones Avanzadas

Barridos de Hiperparámetros

Evaluación Mejorada

Ver Todos los Parámetros

Ver todos los parámetros para un trainer específico:

Próximos Pasos

Configuraciones YAML

Usar archivos de configuración

Entrenamiento DPO

Inmersión profunda en DPO

LoRA/PEFT

Fine-tuning eficiente

Distilación

Distilación de conocimiento

Entrenamiento GRPO

RL con entornos personalizados