SuperAPI AI 工具集

dspy-bootstrap-finetune

智能体与模型

查看项目

更新于 10-15 23:58

技能介绍

用途:dspy.BootstrapFinetune 是 DSPy 中最重的优化器,它调整 LM 的权重而不是提示词。流程分两阶段:先在每条训练样本上运行程序(或教师程序),保留度量通过的轨迹;再把这些成功轨迹送入模型提供方的微调 API(或本地训练循环),训练模型权重。结果是程序背后换成已内化推理模式的微调模型。

适用场景:已有 500+(1000+ 更好)标注样本;已试过提示优化(MIPROv2、BootstrapFewShot)并触及质量上限;想用更小更便宜的模型匹配大模型质量(模型蒸馏);领域有基础模型处理不佳的特殊模式。不宜用于:样本少于 500、尚未尝试提示优化、基线准确率低于 50%、任务定义仍在变动、或没有明确自动度量。

主要能力与参数:dspy.BootstrapFinetune(metric=None, multitask=True, train_kwargs=None, exclude_demos=False, num_threads=None)。metric 在 bootstrapping 时给每条轨迹打分,只有通过的轨迹成为训练数据;multitask=True 在各 predictor 间共享训练数据;train_kwargs 传微调超参(如 {"n_epochs": 2});exclude_demos=True 在微调后清空 few-shot 示例;num_threads 用于 bootstrapping,且须大于等于微调任务数(多个 predictor 共用同一 LM 算 1 个任务,否则各算一个)。compile(student, trainset, teacher=None):teacher 提供时由教师生成轨迹,用于蒸馏;否则由学生自己生成。要微调哪个模型取决于 compile 时配置的 LM,因此调 compile 前须先 dspy.configure(lm=student_lm),否则可能误微调教师模型。支持 OpenAI(gpt-4o-mini、gpt-4o)、Together AI(Llama、Mistral 等)及本地 HuggingFace 模型,模型须支持提供方微调 API。

成本与时间:最昂贵的优化器。bootstrapping 阶段每条样本一次 LM 调用;微调按提供方计费;微调后推理通常单价略高(OpenAI 约 1.5x),但从 GPT-4o 蒸馏到 GPT-4o-mini 净省 10-30x。总耗时 1-4 小时。

保存与加载:finetuned.save("finetuned_classify.json"),之后用 production.load(...) 加载,文件记录微调模型标识。

限制与注意事项:度量通过率过低会导致训练数据不足(建议 200+ 条通过轨迹);可能过拟合;微调结果未必优于提示优化。推荐渐进路线:BootstrapFewShot → MIPROv2 → BootstrapFinetune → BetterTogether。安装命令:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。具体价格数据以资料为准,其他未提供。