让 Dense 模型以 MoE 风格训练的 LLM 微调工具
Dense → MoE 转换 + LoRA 流水线。一个面向研究的微调框架,可向 HuggingFace 模型注入 LoRA,并把 Dense 模型转换为 Mixture-of-LoRAs · MoE Expert LoRA 结构进行训练。
让 MoE 实验在小型 GPU 预算下也可复现。通过阶段调度按 router → LoRA → base FFN 的顺序逐步解冻,使专家特化、路由与 MoE 稳定性在单张消费级 GPU 上也能被认真研究。
无需改动代码,一份 YAML 预设贯通全流水线。SFT → DPO/ORPO → RM → PPO 一条序列完成 —— 实验由 YAML 配置管理,而不是修改模型代码。
大型 Mixture-of-Experts 模型为什么快?因为只在需要的专家区域激活参数。EulerForge 把你手上的 Dense 模型训练为这种方向。
让 EulerForge 适合 MoE 研究的四个支柱
通过mixture_lora与moe_expert_lora注入,把任意稠密 Qwen / Llama / Gemma 转换为 MoE 风格的可训练模型,无需改写模型代码。
按阶段解冻(router → LoRA → base FFN),让大模型微调稳定且可复现。
SFT → DPO / ORPO → RM → PPO 一条命令序列完成,阶段之间自动检测 base 模型与 LoRA 配置。
在烧掉哪怕一个 GPU 周期之前捕捉配置错误与 MoE 路由崩溃风险。
从同一个稠密骨干出发,用一行 YAML 决定做哪种 MoE 实验。
dense_lora经典 LoRA 适配器 —— 最快的领域适配路径,适合作为 MoE 变体的基线对照。
mixture_lora路由器 + 多个 LoRA 专家,把稠密模型改造为 token 级多任务路由结构。
moe_expert_lora把 FFN 替换为 MoE 块,并为每个专家注入 LoRA(DeepSeek 风格),将稠密骨干转为完整 MoE 训练对象。
native_moe_expert_lora向 Mixtral、Gemma 4 MoE 等原生 MoE 模型的每个专家注入 LoRA 以高效微调。
SFT → DPO / ORPO → RM → PPO。每一阶段的检查点自动衔接下一阶段。
| 训练类型 | 说明 |
|---|---|
| SFT | Supervised Fine-Tuning —— 基础对齐阶段 |
| DPO | Direct Preference Optimization —— 无需参考模型,显存友好 |
| ORPO | Odds Ratio Preference Optimization —— 单次 forward 对齐 |
| RM | Reward Model(Bradley-Terry) |
| PPO | Proximal Policy Optimization —— RLHF 最终阶段 |
EulerForge自动完成把HuggingFace稠密模型变为MoE训练对象的每一步。
按时间阶段控制谁可训练——大模型微调因此变得稳定可复现。
训练早期只训练路由器,稳定token到专家的分布。缺少该阶段极易出现路由/专家崩溃。
路由器稳定后只训练各专家的LoRA,base FFN保持冻结。
逐步衰减LoRA权重,将知识交接到base FFN;推理时保留MoE结构并降低对LoRA的依赖。
同一套注入/训练代码适用于所有骨干系列。
| 骨干 | 模型 |
|---|---|
| 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) |
| 量化训练 | nf4 / int4 / int8(基于bitsandbytes) |
开箱即用的YAML预设位于configs/presets/。
| 预设 | 策略 | 训练 |
|---|---|---|
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 —— 要求:Python ≥ 3.9、PyTorch ≥ 2.1、Transformers ≥ 5.5。
分步指南与完整命令说明
注:教程与CLI参考目前仅提供韩语与英语版本。以下链接将跳转到英文页面。
5种语言的日志输出——团队成员可用各自语言使用同一工具。