SFTMill:轻松使用 OpenAI 兼容端点进行[离策略]蒸馏任何现有大型语言模型。将任何行为目标转化为全面的数据集。

Reddit r/LocalLLaMA 工具

摘要

SFTMill 是一款开源工具,支持使用 OpenAI 兼容端点对大型语言模型进行离策略蒸馏,允许用户从课程中定义的行为目标创建训练数据集。

大家好 - 这是一半教程/指南,一半是我构建了这个工具,所以我去寻找资源。这是我最近为自己创建的,因为我找不到任何好的现有解决方案。我自己写了这篇文章,没有 AI!可能很多人已经看过我关于根据自己的合成数据集微调 AliceAI 80B A3B 的帖子。如果你看过,我现在还在直播中微调它 - 请查看 https://figure-bios-expect-cio.trycloudflare.com/ -- 它会让你检查我用这个引擎生成的所有训练数据。如果你有兴趣,这很酷!不幸的是,该链接仅针对桌面优化,我必须停止运行才能重置,所以你可能需要旋转手机。那个帖子在 https://www.reddit.com/r/LocalLLaMA/comments/1wslgkw/comment/pcw4kgw/?context=1&screen_view_count=1 那次运行使用了离策略蒸馏,这就是我制作这个工具的目的。我用这个仓库为那个项目生成了训练数据,并针对开源发布进行了定制。基本上,你为你的目标创建一个“课程” - 例如,如果我正在训练一个代理模型,我需要诸如工具调用、错误修复、在工作空间中工作、跟踪错误等。你在 YAML 文件中定义你的课程,然后一个 LLM 根据你定义的课程创建任务,你选择的用于蒸馏的 LLM 随后解决每个任务,为你提供一个完整的问答集,涵盖你的微调目标。我使用了 qwen 3.8 27b 在中等设置下生成任务 - 我建议避免使用任何比这更弱的模型。我把我私有仓库的这个版本分叉成 SFTMill,它基本上是相同的东西,但有很好的文档和几个步骤,以帮助任何人快速上手。我创建它[和我最初的版本]是因为我找不到任何为此目的设计的现有软件。我发布它是因为我喜欢为社区做出贡献,并且有一种模糊的希望,有人最终会看到我的作品并想雇佣我(如果你正在阅读这个,你喜欢这个项目,并且你需要一个软件/ML工程师远程工作或在纽约市,请告诉我 <3)。当我的软件帮助他人时,我会感到高兴,所以如果你能告诉我它是否帮助了你,我会很乐意。干杯!感谢 u/FullOf_Bad_Ideas 在我经验不足的领域帮助我进行 alice 训练 - 我在 README 中专门为你添加了多轮混合推理(用户 <> 助手)部分,希望对你有帮助。https://github.com/jackjusko/sftmill
查看原文

相似文章

论SFT的泛化:强化学习视角与奖励修正

Papers with Code Trending

本文从强化学习的视角分析了标准监督微调(SFT)的局限性,并提出了一种简单的梯度重新缩放方法——动态微调(DFT),该方法提高了LLM的泛化能力,并与离线RL性能相匹配。

@maximelabonne: 优质文章:SFT 泛化能力弱于 RL 的原因在于数据是离策略(off-policy)的,而非 SFT 目标函数本身。重写专…

X AI KOLs Timeline

Maxime Labonne 分享了 Aayush Karan 的研究,该研究认为 SFT 泛化能力弱于 RL 的根源在于离策略数据,而非目标函数本身——将专家轨迹重写为与基模型自身输出一致的形式,其效果可媲美甚至超越 RL 与在线策略蒸馏(on-policy distillation),同时遗忘更少。