Herramienta de fine-tuning de LLM que entrena modelos densos al estilo MoE
Conversión Dense → MoE + pipeline LoRA. Un framework de fine-tuning orientado a investigación que inyecta LoRA en modelos HuggingFace y permite transformar un modelo denso en una estructura Mixture-of-LoRAs o MoE Expert LoRA para entrenarla.
Experimentos MoE reproducibles incluso con presupuestos de GPU modestos. Con programación por fases que descongela progresivamente router → LoRA → base FFN, abordamos la especialización de expertos, el enrutamiento y la estabilidad MoE en una sola GPU de consumo.
Pipeline completo desde un solo preset YAML, sin tocar el código. SFT → DPO/ORPO → RM → PPO en una sola secuencia — los experimentos se gestionan mediante configuración YAML, no cambiando el código.
¿Por qué los grandes modelos Mixture-of-Experts rinden tanto? Porque solo activan parámetros en las regiones de experto necesarias. EulerForge entrena el modelo que ya tienes en esa dirección.
Los cuatro pilares que hacen de EulerForge una buena opción para la investigación MoE
Mediante las inyecciones mixture_lora y moe_expert_lora — convierte cualquier Qwen / Llama / Gemma dense en un modelo entrenable estilo MoE. Sin reescribir código del modelo.
Descongelado por etapas (router → LoRA → base FFN) que hace que el fine-tuning de modelos grandes sea estable y reproducible.
SFT → DPO / ORPO → RM → PPO como una sola secuencia de comandos, con detección automática del modelo base y la configuración LoRA entre etapas.
Detecta errores de configuración y riesgo de colapso del router antes de consumir un solo ciclo de GPU.
Parte del mismo backbone dense y decide qué tipo de experimento MoE ejecutar en una sola línea YAML.
dense_loraAdaptadores LoRA clásicos — el camino más rápido a la adaptación de dominio. Ideal como control base frente a variantes MoE.
mixture_loraRouter + múltiples expertos LoRA. Convierte un modelo dense en una estructura con enrutamiento multitarea a nivel de token.
moe_expert_loraReemplaza el FFN por un bloque MoE e inyecta LoRA en cada experto (estilo DeepSeek). Convierte un backbone dense en un objetivo de entrenamiento MoE completo.
native_moe_expert_loraInyecta LoRA en cada experto de un modelo ya MoE como Mixtral o Gemma 4 MoE para un fine-tuning eficiente.
SFT → DPO / ORPO → RM → PPO. Los checkpoints de cada etapa fluyen automáticamente a la siguiente.
| Tipo de entrenamiento | Descripción |
|---|---|
| SFT | Supervised Fine-Tuning — etapa base de alineación |
| DPO | Direct Preference Optimization — sin modelo de referencia, eficiente en memoria |
| ORPO | Odds Ratio Preference Optimization — alineación con un solo forward pass |
| RM | Reward Model (Bradley-Terry) |
| PPO | Proximal Policy Optimization — etapa final de RLHF |
EulerForge automatiza cada paso necesario para convertir un modelo dense de HuggingFace en un objetivo de entrenamiento MoE.
Gestiona quién es entrenable a lo largo del tiempo — el fine-tuning de modelos grandes se vuelve estable y reproducible.
Al inicio del entrenamiento, solo el router es entrenable para que la distribución token-a-experto se estabilice. Sin esta fase, el colapso del router o de expertos es común.
Una vez estable el router, solo se entrenan los LoRA de los expertos. El FFN base permanece congelado.
Atenuar gradualmente los pesos LoRA mientras el conocimiento se traspasa al FFN base; en inferencia se conserva la estructura MoE reduciendo la dependencia de LoRA.
El mismo código de inyección / entrenamiento funciona en todas las familias de backbone.
| Backbone | Modelos |
|---|---|
| Qwen | Qwen2 / Qwen3 / Qwen3.5 (dense) |
| Llama | Llama 2 / Llama 3 / Llama 3.2, TinyLlama, Mistral |
| Gemma 3 | Gemma 3 1B / 4B (dense) |
| Gemma 4 | Gemma 4 dense (e2b / e4b) + native MoE (26b a4b) |
| Mixtral | Mixtral 8x7B / 8x22B (native MoE) |
| Entrenamiento cuantizado | nf4 / int4 / int8 vía bitsandbytes |
Los presets YAML listos para ejecutar viven en configs/presets/.
| Preset | Estrategia | Entrenamiento |
|---|---|---|
qwen3.5_0.8b_dense_lora_sft.yml | Dense LoRA | SFT |
qwen3.5_0.8b_mixture_lora_sft.yml | Mixture-of-LoRAs | SFT |
qwen3.5_0.8b_moe_expert_lora_sft.yml | MoE Expert LoRA | SFT |
qwen3.5_0.8b_moe_expert_lora_dpo.yml | MoE Expert LoRA | DPO |
llama3_1b_moe_expert_lora_sft_handoff.yml | MoE Expert LoRA + Handoff | SFT |
gemma3_4b_moe_expert_lora_orpo_handoff.yml | MoE Expert LoRA + Handoff | ORPO |
gemma4_26b_a4b_native_expert_lora_sft.yml | Native MoE Expert LoRA | SFT |
mixtral_native_expert_lora_sft.yml | Native MoE Expert LoRA | SFT |
v0.1.0 — Requisitos: Python ≥ 3.9, PyTorch ≥ 2.1, Transformers ≥ 5.5.
Guías paso a paso y la superficie completa de comandos
Nota: los tutoriales y la referencia CLI actualmente solo están disponibles en coreano e inglés. Los enlaces siguientes llevan a la versión en inglés.
Salida de logs en cinco idiomas — un equipo puede usar la misma herramienta en su propia lengua.
v0.1.0 publicado — código abierto, investigación reproducible.
Empezar en GitHub Contacto