Un toolkit de fine-tuning de LLM que entrena modelos densos en estilo MoE
Un framework de fine-tuning orientado a investigación que inyecta LoRA en modelos HuggingFace y permite entrenar un modelo denso como una estructura Mixture-of-LoRAs o MoE Expert LoRA. Sobre un flujo habitual de SFT denso, EulerForge añade conversión Dense → MoE y programación por fases, de modo que la especialización de expertos, el enrutamiento y la estabilidad MoE puedan estudiarse de forma reproducible con un presupuesto de GPU modesto, sin reescribir el código del modelo. Un mismo preset YAML lleva el recorrido SFT → DPO/ORPO → RM → PPO.
En lugar de apuntar a un framework SFT de propósito general, hemos puesto el peso en expresar un flujo de investigación MoE como una configuración estandarizada.
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