SuperAPI AI 工具集

dspy-finetune-bootstrap

智能体与模型

查看项目

更新于 10-16 02:38

技能介绍

用途:把已可用的 DSPy 程序(通常由大模型驱动)蒸馏为微调后的模型权重,用于低成本、低延迟的生产部署,适合需要降低推理成本、加快响应或部署到资源受限环境的场景。

主要能力:提供 BootstrapFinetune 优化器,支持教师-学生蒸馏与权重优化;可接收 program(dspy.Module 教师程序)、trainset(dspy.Example 列表)、metric(可选验证指标)和 train_kwargs(训练超参数);输出微调后的 finetuned_program 与 model_path。

使用方式:先用强教师模型配置 dspy.configure(lm=dspy.LM("openai/gpt-4o")) 并定义教师模块;微调前需将 LM 直接赋给预测器(teacher.set_lm(dspy.settings.lm));再构造 BootstrapFinetune(metric=..., train_kwargs={...}),调用 optimizer.compile(teacher, trainset=trainset) 完成微调;最后用 finetuned.save("finetuned_qa_model.json") 保存(默认仅保存状态),加载时须先重建架构再 loaded.load(...)。train_kwargs 常见项包括 learning_rate(1e-5 至 5e-5)、num_train_epochs(3-5)、per_device_train_batch_size(4-16)、gradient_accumulation_steps(2-8)、warmup_ratio(0.1)、weight_decay(0.01)、max_grad_norm(1.0)等。也可用于 RAG 流程微调,需配置检索器(如 ColBERTv2)与 LM。

适用场景:分类、问答等 DSPy 程序的蒸馏部署;用 Evaluate 在留出集上对比教师与学生得分以验证改进。

限制:需要支持微调的提供商与模型;训练需 GPU 资源;学生模型未必在所有输入上达到教师质量;微调耗时数小时至数天,取决于数据规模;模型缩小可能带来能力损失。官方文档见 https://dspy.ai/ 与 https://github.com/stanfordnlp/dspy。