Soup 新增 Kimi-K2.5 DPO / GRPO 配方为 ~1T MoE 基座模型补齐 SFT-DPO-GRPO 任务三件套【免费下载链接】SoupFine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.项目地址: https://gitcode.com/GitHub_Trending/soup12/Soup本篇技术指南介绍 Soup一个从单个 YAML 微调大模型的训练框架在 0.75.0 版本中新增的kimi-k2.5-dpo与kimi-k2.5-grpo两个开箱即用配方它们与既有的kimi-k2.5-sft共同构成针对moonshotai/Kimi-K2.5约 1T 参数 / 32B 激活的 MoE 模型的 SFT → DPO → GRPO 完整任务三件套。读完本文你将掌握这两个配方的完整 YAML 结构、每个关键超参数的语义与取值依据、与 Kimi-K2.6 模板的继承关系以及在大规模 MoE 模型上运行时的多节点 DeepSpeed 前提与数据格式要求。变更背景一次补齐任务变体的目录扩展本次变更记录于 changelog.d/0.75.0/872.added.mdPR #872对应 Issue #275 / #851由 Areen-09 提交其核心动作是为moonshotai/Kimi-K2.5新增开箱即用的kimi-k2.5-dpo和kimi-k2.5-grpo配方使基座模型的任务三件套SFT / DPO / GRPO得以补全。在此之前Kimi-K2.5 只有 SFT 形态随 v0.71.24 发布即 目录中的kimi-k2.5-sft。本次新增的 DPO 与 GRPO 配方在 配方目录src/soup_cli/recipes/catalog.py中与 K2.6 对应条目并排注册模型 ID 固定为moonshotai/Kimi-K2.5任务分别为dpo与grpo规模标记为size: 1T。变更完成后配方目录总数由167 增至 169该计数被 tests/test_recipes.py 以len(RECIPES) 174的方式持续追踪随后续版本继续演进。从 docs/models.md 的模型支持矩阵可以看到Kimi 系列Kimi-K2、Kimi-K2.5、Kimi-K2.6在本仓库中被归入~1T (MoE)、长上下文 Agentic这一类目这也解释了为什么这些配方无一例外地需要多节点 DeepSpeed 才能实际训练。配方总览同一基座、三种任务形态下表汇总了 Kimi-K2.5 家族三个配方在目录中的注册信息均来自 catalog.py配方名任务基座模型LoRA 配置学习率关键任务参数kimi-k2.5-sftsftmoonshotai/Kimi-K2.5r32 / a641e-5moe_aux_loss_coeff: 0.01kimi-k2.5-dpodpomoonshotai/Kimi-K2.5r32 / a645e-6dpo_beta: 0.1kimi-k2.5-grpogrpomoonshotai/Kimi-K2.5r16 / a321e-5grpo_beta: 0.1、num_generations: 4、reward_fn: accuracy三者共享的 MoE 训练骨架包括4-bit 量化quantization: 4bit、moe_lora: true、gradient_checkpointing: true、max_length: 8192、batch_size: 1配合gradient_accumulation_steps: 16。正如变更说明所述这些超参数继承自 Kimi-K2.6 模板kimi-k2.6-dpo/kimi-k2.6-grpo而非针对 K2.5 单独调优——因为 ~1T 的 MoE 模型需要多节点 DeepSpeed仓库并未实际训练验证过这两份新配方。逐字段解析kimi-k2.5-dpo完整 YAML以下为目录中kimi-k2.5-dpo配方的完整 YAML 原文可直接复制使用base: moonshotai/Kimi-K2.5 task: dpo data: train: ./data/preference_train.jsonl format: dpo max_length: 8192 training: epochs: 1 lr: 5e-6 batch_size: 1 gradient_accumulation_steps: 16 lora: r: 32 alpha: 64 target_modules: auto quantization: 4bit dpo_beta: 0.1 moe_lora: true moe_aux_loss_coeff: 0.01 gradient_checkpointing: true output: ./output各字段语义与取值依据如下base/task基座模型 ID 与任务类型。测试 tests/test_recipes.py 特意在目录元数据RecipeMeta.model与YAML 正文parsed[base]两个独立表面分别断言模型 ID 与任务一致防止两处漂移。data.train偏好数据文件格式须为 DPO 形态chosen / rejected 成对偏好样本路径指向./data/preference_train.jsonl。data.format: dpo显式声明偏好数据格式与 DPO 任务配套data.max_length: 8192对应 Kimi-K2.5 的长上下文能力。training.lr: 5e-6DPO 对齐阶段的学习率显著低于 SFT1e-5这是偏好优化阶段的常见做法避免破坏基座已学知识。training.lora: r: 32, alpha: 64DPO 与 SFT 共享 r32/a64 的 LoRA 秩配置对应测试test_shares_base_and_size_with_its_sft_sibling中与 SFT 兄弟配方共享基座与规模的断言。training.quantization: 4bit基座以 4-bit 量化加载配合 LoRA 即 QLoRA 式训练大幅压缩 ~1T 参数模型的显存/内存占用。training.dpo_beta: 0.1DPO 损失中的 KL 正则系数控制对参考策略的偏离程度。training.moe_lora: true对 MoE 模型的专家expert层施加 LoRA 的关键开关moe_aux_loss_coeff: 0.01为专家负载均衡辅助损失的权重是 MoE 训练中防止路由坍缩的标准手段。training.gradient_checkpointing: true以计算换显存进一步降低 ~1T 模型的可训练门槛。batch_size: 1gradient_accumulation_steps: 16单卡批大小 1、梯度累积 16 步等效批大小 16——在无法单机容纳大 batch 时兼顾稳定与显存。逐字段解析kimi-k2.5-grpo完整 YAMLGRPO 配方面向推理reasoning任务完整 YAML 如下base: moonshotai/Kimi-K2.5 task: grpo data: train: ./data/reasoning_train.jsonl format: auto max_length: 8192 training: epochs: 3 lr: 1e-5 batch_size: 1 gradient_accumulation_steps: 16 lora: r: 16 alpha: 32 target_modules: auto quantization: 4bit grpo_beta: 0.1 num_generations: 4 reward_fn: accuracy moe_lora: true gradient_checkpointing: true output: ./output与 DPO 配方的差异点及原因training.lora: r: 16, alpha: 32GRPO 采用更低的 LoRA 秩r16/a32与 K2.6 GRPO 模板保持一致——推理优化阶段通常更倾向于轻量约束避免过度更新。training.epochs: 3GRPO 训练轮数多于 DPO/SFT 的 1 轮配合多代采样逐步优化推理策略。training.grpo_beta: 0.1GRPO 的 KL 正则系数num_generations: 4表示每个提示采样 4 条轨迹作为组内基线reward_fn: accuracy指定以准确率为奖励信号。data.format: auto自动推断推理数据格式训练文件指向./data/reasoning_train.jsonl。以上所有字段均被测试 TestKimiK25GrpoRecipe 通过load_config_from_string加载并逐项断言且与 配方快照tests/fixtures/recipe_config_snapshots.json中的期望配置对齐可作为修改参数后的回归基准。任务三件套的验证逻辑仓库用测试而非训练结果来保证这两个配方的正确性核心验证点有三类模型 ID 双表面锁定RecipeMeta.model与 YAMLbase:必须同时等于moonshotai/Kimi-K2.5见 tests/test_recipes.py。任务三件套完整性test_completes_the_task_trio_for_this_base断言同一基座下{sft, grpo, dpo} tasks即任何一个 Kimi-K2.5 的 SFT/DPO/GRPO 配方缺失都会导致测试失败tests/test_recipes.py。与 SFT 兄弟配方的血缘关系test_shares_base_and_size_with_its_sft_sibling验证 DPO/GRPO 与 SFT 共享model与size、仅task不同tests/test_recipes.py。此外tests/test_v07124.py 对这批 Kimi-K2.5/K2.6 大模型配方做了统一回归覆盖含size 1T断言说明新配方已进入常规测试矩阵。如何拉取并使用这两个配方Soup 的配方通过recipes命令族管理典型使用流程对应测试中的test_show_and_use_recipe路径# 查看配方的元信息与 YAML 全文 soup recipes show kimi-k2.5-dpo soup recipes show kimi-k2.5-grpo # 将配方写入当前目录的 soup.yaml--yes 跳过交互确认 soup recipes use kimi-k2.5-dpo --yes soup recipes use kimi-k2.5-grpo --yesrecipes use会把配方正文写入soup.yaml随后你只需按配方内data.train的路径放置对应格式的偏好/推理数据集即可进入训练流程。搜索功能search_recipes支持按模型关键词与任务类型过滤例如按kimi关键词即可同时命中这三个 K2.5 配方。适用前提与明确限制在真正运行这两个配方之前有三条必须知悉的边界未经过实际训练验证变更说明明确指出 The recipes are not trained两个配方的全部超参数均从 K2.6 模板继承inherited而非针对 K2.5 调优tuned。首次使用时应把训练曲线视为超参验证过程而不是已验证的既定事实。必须多节点 DeepSpeed~1T 参数 / 32B 激活的 MoE 规模决定了单机即使多卡无法承载配方描述中统一标注 Requires multi-node DeepSpeed。这与仓库中面向 4GB 笔记本 GPU 的 layer streaming 训练路径见项目整体定位属于完全不同的算力量级切勿混用。许可证提示配方描述中标注 Kimi-K2.5 采用 Modified MIT 许可与 K2.6 一致使用前应自行确认基座模型的许可条款与商用边界。总结kimi-k2.5-dpo与kimi-k2.5-grpo的落地使 Soup 的配方目录在 Kimi-K2.5 这个 ~1T MoE 基座上实现了 SFT / DPO / GRPO 的任务全覆盖DPO 走 r32/a64 dpo_beta: 0.1的偏好对齐路线GRPO 走 r16/a32 4 代采样 accuracy 奖励的推理强化路线二者共享 4-bit 量化、moe_lora、梯度检查点与 8192 上下文窗口的 MoE 训练骨架。它们与kimi-k2.5-sft、K2.6 全家族配方共同构成了一份可搜索、可复用、可被测试持续守护的大模型对齐配置资产——对于需要在大规模 MoE 基座上启动 DPO/GRPO 实验的团队这两份配方提供了开箱即用的起点模板。【免费下载链接】SoupFine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.项目地址: https://gitcode.com/GitHub_Trending/soup12/Soup创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考